/* Living Engine / edition 03. Scientific workspace with an editorial reading layer. */
:root{color-scheme:light;--bg:#f4f3ef;--panel:#faf9f6;--ink:#191b1e;--muted:#62666b;--soft:#74797e;--line:#d9d9d4;--accent:#285ea8;--mint:#e6edf7;--gold:#c5b382;--mono:'IBM Plex Mono',monospace;--serif:'Newsreader',Georgia,serif;--sans:Arial,Helvetica,sans-serif;--header:64px;--intro:112px;--sidebar:228px;--inspector:380px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.6 var(--sans)}button,input,select,textarea{font:inherit;color:inherit}button,a{touch-action:manipulation}button{cursor:pointer;border-radius:3px}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,canvas:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:4px}[hidden]{display:none!important}::selection{background:#ccdbee;color:#111}h1,h2,h3,h4,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;letter-spacing:-.025em;line-height:1.1}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:fixed;z-index:100;top:-100px;left:16px;padding:12px 16px;background:var(--ink);color:#fff;border-radius:3px}.skip:focus{top:12px}.skip-inspector:focus{left:190px}.eyebrow{font:10px/1.6 var(--mono);letter-spacing:.1em;color:var(--soft);text-transform:uppercase}.muted{color:var(--muted)}
/* The site and the workbench have separate visual hierarchies. */
.engine-header{height:var(--header);display:flex;align-items:center;justify-content:space-between;gap:28px;padding:0 28px;border-bottom:1px solid var(--line);background:var(--panel)}.brand{display:flex;align-items:center;gap:11px;font:16px/1 var(--mono);letter-spacing:-.04em;white-space:nowrap}.brand img{width:29px;height:29px}.brand .muted{font-size:11px;letter-spacing:0;margin-left:10px}.site-nav{display:flex;align-self:stretch;align-items:center;gap:28px;margin-left:auto;margin-right:28px;font-size:12px;color:var(--muted)}.site-nav a{height:100%;display:flex;align-items:center;border-bottom:2px solid transparent;position:relative;top:1px}.site-nav a[aria-current=page]{border-color:var(--ink);color:var(--ink)}.site-nav a:hover{color:var(--ink)}.header-actions{display:flex;align-items:center;gap:8px}.header-actions button{height:36px;min-width:36px;display:flex;align-items:center;justify-content:center;gap:8px;background:transparent;border:1px solid var(--line);font:13px var(--mono)}.header-actions #help-open{padding:0 12px}.header-actions .button-label{font:12px var(--sans)}.header-actions button:hover{background:#eeefeb;border-color:#a3a7ab}.workbench-intro{height:var(--intro);display:flex;align-items:center;justify-content:space-between;gap:32px;padding:24px 28px;border-bottom:1px solid var(--line)}.workbench-heading{flex-shrink:0}.workbench-heading .eyebrow{font-size:9px;letter-spacing:.1em}.workbench-heading h1{font-size:40px;line-height:1;margin-top:10px;letter-spacing:-.035em}.workbench-heading h1>span{color:var(--accent)}.workbench-description{max-width:420px;color:var(--muted);font-size:13px;line-height:1.75}.workbench-process{display:grid;gap:5px;margin:0;padding:0;list-style:none;white-space:nowrap;font-size:11px;line-height:1.6}.workbench-process li{display:flex;align-items:center;gap:12px}.workbench-process span{color:var(--soft);font:9px var(--mono)}
/* Desktop: instrument library / dark model space / readable explanatory panel. */
.engine-layout{height:calc(100dvh - var(--header) - var(--intro));min-height:570px;display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr) var(--inspector);position:relative}.experiments,.inspector{min-height:0;background:var(--panel);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#b8bcbf transparent;overscroll-behavior:contain}.experiments{padding:24px 18px 20px;border-right:1px solid var(--line);display:flex;flex-direction:column}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-heading .eyebrow{font-size:9px;letter-spacing:.08em}.panel-heading h2{font-size:25px;margin-top:8px}.aside-intro{font-size:12px;line-height:1.65;color:var(--muted);margin-top:13px}.instrument-search{display:flex;align-items:center;gap:9px;border:1px solid var(--line);background:#fff;padding:0 10px;border-radius:3px;margin-top:20px}.instrument-search>span:not(.sr-only){font-size:21px;color:var(--muted);line-height:1}.instrument-search:focus-within{outline:2px solid var(--accent);outline-offset:2px}.instrument-search input{width:100%;min-width:0;padding:10px 0;border:0;background:transparent;font-size:12px;outline:none}.instrument-search input:focus-visible{outline:none}.instrument-search input::placeholder{color:#85898c}.instrument-count{font:9px/1.5 var(--mono);color:var(--soft);margin-top:12px}.experiment-list{display:flex;flex-direction:column;gap:4px;margin:10px -8px 20px}.experiment-button{position:relative;padding:11px 9px;background:transparent;border:1px solid transparent;text-align:left;display:grid;grid-template-columns:22px minmax(0,1fr) 5px;align-items:center;gap:9px;color:#373c42;font-size:12px;line-height:1.4;min-height:57px}.experiment-button>.instrument-number{font:9px var(--mono);align-self:start;margin-top:3px;color:var(--soft)}.experiment-button small{display:block;font-size:10px;line-height:1.45;margin-top:4px;color:var(--soft)}.experiment-button>i{width:4px;height:4px;border-radius:50%;background:#8e9295;opacity:.5}.experiment-button:hover{background:#efefeb;border-color:#e2e3df}.experiment-button[aria-pressed=true]{background:#e9edf2;border-color:#ccd4df;color:#122c4c}.experiment-button[aria-pressed=true]::before{content:'';position:absolute;top:10px;bottom:10px;left:-1px;width:3px;background:var(--accent)}.experiment-button[aria-pressed=true]>.instrument-number{color:var(--accent)}.experiment-button[aria-pressed=true] small{color:#526680}.experiment-button[aria-pressed=true]>i{background:var(--accent);opacity:1}.library-links{margin-top:0;border-top:1px solid var(--line)}.world-button{display:flex;align-items:center;gap:12px;width:100%;background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;font-size:11px;text-align:left;padding:15px 0;color:#3d434a;min-height:54px}.world-button>span:first-child{font:20px var(--mono);color:#7c8289}.world-button small{display:block;font-size:10px;color:var(--soft);margin-top:3px}.world-button:hover{color:var(--accent)}.aside-foot{margin-top:auto;padding-top:24px}.aside-foot .eyebrow{font-size:8px}.aside-foot a{display:flex;justify-content:space-between;gap:10px;font-size:12px;margin-top:9px}.aside-foot a:hover{color:var(--accent)}.aside-foot>p:last-child{font-size:11px;color:var(--soft);margin-top:10px;line-height:1.65}
.world{position:relative;min-width:0;overflow:hidden;background:#090b0e;color:#f1f3f5}.world>canvas{position:absolute;inset:0;width:100%;height:100%;outline-offset:-4px;touch-action:none}.world::after{content:'';pointer-events:none;position:absolute;inset:0;background:linear-gradient(#090b0e99,transparent 22%,transparent 64%,#090b0e66);z-index:0}.world-top{position:absolute;z-index:2;top:26px;left:28px;right:24px;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;pointer-events:none}.scene-heading{min-width:0;max-width:75%}.scene-heading .eyebrow{font-size:9px;color:#9ca8b8;letter-spacing:.08em}.scene-heading h2{font-size:clamp(27px,2.6vw,43px);margin-top:11px;max-width:600px;text-shadow:0 2px 16px #090b0e;line-height:1.08}.scene-heading p{font:10px/1.7 var(--mono);color:#a0abb8;margin-top:11px;max-width:540px}.scene-tools{display:flex;align-items:center;gap:8px;pointer-events:auto}.small-button{font-size:11px;border:1px solid #ffffff30;background:#171c23dd;color:#dbe0e6;padding:10px 12px;pointer-events:auto;min-height:40px;white-space:nowrap}.small-button:hover{background:#262e39;border-color:#8191a6}.scene-note{position:absolute;top:165px;left:28px;display:flex;align-items:center;gap:8px;z-index:1;color:#7e8996;font:9px/1.7 var(--mono);pointer-events:none}.scene-cross{font:16px var(--mono);color:#a3b5cb}.scene-note-secondary{display:inline}.world-bottom{position:absolute;z-index:3;left:24px;right:24px;bottom:17px;pointer-events:none}.camera-strip{display:flex;gap:14px;align-items:center;margin-bottom:12px;flex-wrap:wrap}.camera-mode{display:inline-flex;border:1px solid #ffffff2b;border-radius:3px;background:#11161dd9;pointer-events:auto;padding:3px;gap:2px}.camera-mode button{background:transparent;border:0;padding:6px 11px;font-size:10px;color:#b1bdcd;min-height:31px}.camera-mode button[aria-pressed=true]{background:#343c48;color:#fff}.focus-button{font-size:10px;padding:7px 0;border:0;background:transparent;color:#c3ccd6;pointer-events:auto;text-decoration:underline;text-underline-offset:4px;min-height:38px}.camera-strip>span{font:9px/1.7 var(--mono);color:#8e9bab;text-shadow:0 1px 5px #000}.transport{display:flex;align-items:center;gap:7px;padding:10px;background:#141920ed;border:1px solid #ffffff2e;backdrop-filter:blur(16px);border-radius:5px;pointer-events:auto;flex-wrap:wrap;box-shadow:0 10px 30px #0003}.transport>button{border:0;background:transparent;color:#d5dce6;font-size:17px;min-height:38px;min-width:32px}.transport>button:hover{background:#283240}.transport .play-button{width:38px;height:38px;flex-shrink:0;background:#edf1f6;color:#10161d;border-radius:3px}.transport .play-button:hover{background:#cddcf1}.transport-state{display:flex;align-items:center;gap:7px;font:9px var(--mono);color:#b2bdcc}.signal-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:#cfddf0;flex-shrink:0}.transport-state>span:last-child{font-size:10px;margin-left:7px;font-variant-numeric:tabular-nums;color:#e0e6ef}.speed-control{margin-left:auto;font-size:9px;display:flex;align-items:center;gap:5px;color:#a3afbf}.speed-control select{background:#1e2631;border:1px solid #ffffff21;border-radius:3px;min-height:32px;padding:3px;color:#eef2f7;font:10px var(--mono);color-scheme:dark}.transport .capture-button{font-size:10px;display:flex;gap:7px;align-items:center;border:1px solid #44536a;padding:0 10px;margin-left:3px;color:#e3ebf5}.capture-button>span{font-size:17px;color:#a9c0e2}.clock-note{font:8px/1.7 var(--mono);color:#7f8a99;margin-top:9px;padding-left:2px}.world-labels{position:absolute;inset:0;pointer-events:none;z-index:1}.world-label{position:absolute;pointer-events:auto;transform:translate(-50%,-50%);background:#131b26ed;border:1px solid #ffffff25;color:#c1ccd8;padding:5px 9px;font:9px var(--mono);white-space:nowrap;border-radius:2px;box-shadow:0 3px 12px #0003}.world-label[aria-pressed=true]{border-color:#748ba8;color:#e5edf8}.world-label:hover{background:#26364a;color:#fff}
/* Inspector: the question, the method, the controls, the recorded result. */
.inspector{border-left:1px solid var(--line);padding:0 26px 30px;scroll-padding-top:80px}.inspector-tabs{display:flex;gap:24px;position:sticky;top:0;z-index:5;background:var(--panel);border-bottom:1px solid var(--line);padding-top:7px}.inspector-tabs button{border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;font-size:12px;padding:16px 0;color:var(--muted);line-height:1.5;min-height:53px}.inspector-tabs button[aria-selected=true]{border-color:var(--ink);color:var(--ink);font-weight:600}.inspector-tabs button span{font:9px var(--mono);margin-left:6px;background:#e8e8e3;padding:3px 6px;border-radius:3px;color:#666c73}.question-box{padding:25px 0 20px}.question-kicker{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.question-kicker .eyebrow{font-size:9px;white-space:nowrap;padding-top:3px}.evidence-label{border:1px solid #cbd5df;background:#edf1f5;color:#365472;font:8px/1.6 var(--mono);padding:3px 6px;text-align:right;border-radius:2px;max-width:70%;text-transform:uppercase;letter-spacing:.02em}.question-box h3{font-size:29px;line-height:1.15;margin-top:15px;letter-spacing:-.025em}.question-box>p:not(.eyebrow){font-size:13px;line-height:1.7;color:var(--muted);margin-top:15px}.instrument-guide{padding-bottom:24px;border-bottom:1px solid var(--line)}.guide-intro{font-size:13px;line-height:1.75;color:#535c65}.guide-steps{display:grid;gap:17px;margin-top:22px}.guide-steps>div{display:grid;grid-template-columns:20px minmax(0,1fr);gap:10px}.guide-number{font:9px/1.8 var(--mono);color:#708398;padding-top:2px}.guide-steps h4{font-size:12px;line-height:1.5;font-weight:600;margin-bottom:5px}.guide-steps p{font-size:12px;line-height:1.75;color:var(--muted)}.guide-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:23px}.primary-button{display:inline-flex;align-items:center;justify-content:space-between;gap:12px;background:var(--ink);color:#fff;border:1px solid var(--ink);padding:11px 13px;font-size:11px;min-height:41px}.primary-button:hover{background:#3a414a;border-color:#3a414a}.primary-button:disabled{opacity:.5;cursor:wait}.text-button{border:0;background:transparent;font-size:11px;padding:9px 0;color:var(--accent);text-decoration:underline;text-underline-offset:4px;min-height:38px}.guide-limit{margin-top:22px;border-left:2px solid #bbc7d5;padding:0 0 0 13px}.guide-limit summary{font-size:11px;font-weight:600;cursor:pointer;color:#414c59}.guide-limit p{font-size:11px;line-height:1.75;color:#69727d;margin-top:8px}.guide-glossary{margin-top:18px;padding-top:14px;border-top:1px solid #e2e3de}.guide-glossary summary{cursor:pointer;font-size:11px;color:#535d67;display:flex;align-items:center;justify-content:space-between;gap:12px}.guide-glossary dl{margin:14px 0 0}.guide-glossary dt{font-size:11px;font-weight:600;margin-top:12px}.guide-glossary dd{font-size:11px;line-height:1.75;color:var(--muted);margin:4px 0 0}.guide-article{font-size:11px;color:var(--accent);display:inline-flex;gap:9px;margin-top:17px;text-decoration:underline;text-underline-offset:4px}.inputs-section{padding-top:25px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.section-heading .eyebrow{font-size:9px}.section-heading>span{font-size:10px;color:#8c9196}.controls{padding:0 0 9px}.control{margin-top:22px;display:block}.control-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;font-size:12px;line-height:1.5;color:#424b54}.control-head>span{padding-top:2px}.control-head output{color:#263d58;font:10px/1.5 var(--mono);text-align:right;background:#edf0f3;padding:3px 6px;border-radius:2px;flex-shrink:0;max-width:56%;overflow-wrap:anywhere}.control select{width:100%;min-height:41px;background:#fff;border:1px solid #cbd0d4;padding:9px 10px;margin-top:9px;border-radius:3px;font-size:12px;line-height:1.5;text-overflow:ellipsis}.control input[type=range]{width:100%;margin:11px 0 0;accent-color:var(--accent);height:22px;cursor:pointer}.control-unit,.control-help{display:block;color:#747c84;font-size:11px;line-height:1.7;margin-top:8px}.controls>.control-unit{padding-top:12px;margin-top:10px;border-top:1px solid #e4e5e0}.extra-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:10px}.extra-actions:empty{display:none}.extra-actions button{border:1px solid #bac6d3;background:#f1f4f7;padding:10px 12px;color:#3b5879;font-size:11px;min-height:39px}.extra-actions button:hover{background:#e4ebf3}.extra-actions .source-link{margin-top:0}.readings{padding-top:25px;border-top:1px solid var(--line);margin-top:25px}.reading-heading{display:flex;justify-content:space-between;gap:10px;align-items:center}.reading-heading .eyebrow{font-size:9px}.reading-heading>span{font:8px/1.6 var(--mono);color:#647a90;background:#eaf0f5;padding:3px 6px;border-radius:2px;text-align:right}.measurements{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:17px;border-radius:3px;overflow:hidden}.measurement{min-width:0;background:#f8f8f4;padding:15px 12px;display:flex;flex-direction:column}.measurement strong{font:26px/1.15 var(--serif);display:block;letter-spacing:-.02em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;order:2;margin-top:7px}.measurement label{font-size:10px;line-height:1.4;color:#5e6976;display:block;text-transform:capitalize;order:1}.measurement small{display:block;font:8px/1.6 var(--mono);color:#7b838b;margin-top:6px;order:3;overflow-wrap:anywhere}.measurements>.muted{grid-column:1/-1;background:#f8f8f4;padding:16px;font-size:12px}.reading-note{font-size:10px;line-height:1.65;color:var(--soft);margin-top:13px}#plot-wrap{margin:21px 0 0}#measurement-plot{display:block;width:100%;height:122px;border:1px solid #343b44;background:#10151c;border-radius:3px}#plot-wrap figcaption{font:9px/1.75 var(--mono);color:#727c88;margin-top:10px}.equation{border-top:1px solid var(--line);margin-top:24px;padding-top:19px}.equation summary,.scope summary{cursor:pointer;font-size:12px;color:#39434f;display:flex;justify-content:space-between;gap:14px;list-style:none;min-height:26px;align-items:center}.equation summary::-webkit-details-marker,.scope summary::-webkit-details-marker,.guide-glossary summary::-webkit-details-marker{display:none}.equation summary>span,.scope summary>span,.guide-glossary summary>span{color:#7d8792;transition:transform .15s}.equation[open] summary>span,.scope[open] summary>span,.guide-glossary[open] summary>span{transform:rotate(90deg)}.equation pre{font:10px/1.9 var(--mono);white-space:pre-wrap;overflow-wrap:anywhere;color:#32567d;margin:15px 0 0;padding:14px;background:#edf0f3;border:1px solid #dbe0e5;border-radius:3px}.reference{white-space:pre-wrap;font:10px/1.85 var(--mono);color:#66717e;margin-top:21px;padding:14px;border-left:2px solid #a7b7ca;background:#eff1ef}.research-context{margin-top:25px;padding-top:22px;border-top:1px solid var(--line)}.research-context .eyebrow{font-size:9px}.research-context>p:not(.eyebrow){font-size:12px;color:var(--muted);line-height:1.75;margin-top:12px}.neighbors{display:flex;flex-wrap:wrap;gap:7px;margin-top:16px}.neighbors button{border:1px solid #cfd5d9;background:#f6f7f4;color:#526577;font-size:10px;padding:7px 9px;min-height:33px}.neighbors button:hover{background:#e6edf4;border-color:#a4b5c8;color:var(--accent)}.source-link{display:block;font-size:11px;color:#466789;text-decoration:underline;text-underline-offset:4px;line-height:1.8;margin-top:16px;overflow-wrap:anywhere}.source-link:hover{color:#193d68}.scope{margin-top:25px;padding-top:18px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.scope p{line-height:1.8;margin-top:14px}.scope-time{color:#7b848e}
/* The notebook is an observation record, not a hidden secondary utility. */
.note-label{display:block;margin-top:3px;font-size:12px;color:#4b5765}#observation-note{width:100%;resize:vertical;min-height:105px;background:#fff;border:1px solid #cbd0d4;border-radius:3px;padding:12px;margin-top:9px;line-height:1.75;font-size:13px}#observation-note::placeholder{color:#8a9199}.notebook-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:13px}.notebook-actions button,.import-label{background:transparent;border:1px solid #cbd0d4;padding:9px 12px;font-size:11px;color:#536477;cursor:pointer;min-height:39px;border-radius:3px}.notebook-actions .primary-button{width:100%;justify-content:center;font-size:12px;background:var(--ink);color:#fff;border-color:var(--ink);min-height:43px}.notebook-actions button:hover,.import-label:hover{border-color:#8495a9}.import-label input{position:absolute;width:1px;height:1px;opacity:0}.import-label:focus-within{outline:2px solid var(--accent);outline-offset:3px}.storage-state{font:9px/1.8 var(--mono);color:var(--soft);margin-top:15px}.notebook-entries{margin-top:24px}.notebook-entries>.muted{border:1px dashed #c5cbd0;border-radius:3px;padding:20px;font-size:12px;line-height:1.8}.notebook-entry{border-top:1px solid var(--line);padding:20px 0}.notebook-entry h4{font:24px/1.2 var(--serif);font-weight:400;margin:9px 0 13px}.notebook-entry p{font-size:12px;line-height:1.75;color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere}.notebook-entry .eyebrow{font-size:9px}.notebook-entry .entry-summary{font:10px/1.85 var(--mono);color:#738090;background:#eff1f2;padding:12px;border-radius:3px;margin-bottom:12px}.entry-actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:13px}.entry-actions button{border:0;background:transparent;padding:6px 0;font-size:11px;color:var(--accent);text-decoration:underline;text-underline-offset:4px;min-height:35px}.entry-actions button:last-child{margin-left:auto;color:var(--soft)}.comparison{padding:17px;background:#e9eff5;border:1px solid #bacbdb;border-radius:3px;margin-top:20px}.comparison h4{margin:0 0 12px;font:24px/1.2 var(--serif)}.comparison p{font:10px/1.9 var(--mono);color:#52677e;white-space:pre-wrap;overflow-wrap:anywhere}.comparison button{padding:7px 0;border:0;background:transparent;font-size:11px;color:var(--accent);margin-top:10px;text-decoration:underline;text-underline-offset:4px}
/* Status layers sit above the scene and never prevent access to the guide. */
.load-state{position:absolute;inset:0;z-index:6;background:#10151cf5;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px}.load-state>.eyebrow{color:#8a9bb0;font-size:9px;margin-top:25px}.load-state h2{font-size:34px;margin-top:14px}.load-state>p:last-child{font-size:13px;color:#a4b1c2;max-width:340px;margin-top:16px;line-height:1.8}.loading-orbit{height:44px;width:44px;border:1px solid #48607d;border-top-color:#b9cce5;border-radius:50%;animation:spin 2s linear infinite}.engine-error{position:absolute;left:22px;right:22px;top:140px;z-index:8;background:#24272c;border:1px solid #a4a09b;border-radius:4px;padding:22px;color:#e1deda;font-size:13px;line-height:1.8;overflow:auto;max-height:calc(100% - 300px)}.engine-error h2{font-size:26px;margin-bottom:12px}.engine-error .source-link{color:#b6cde9}.scene-fallback{position:absolute;inset:175px 25px 180px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:1px solid #ffffff1c;background:repeating-linear-gradient(45deg,#11172033,#11172033 1px,transparent 1px,transparent 18px);padding:25px;border-radius:4px}.scene-fallback .eyebrow{color:#889ab0;font-size:9px}.scene-fallback h3{font-size:32px;margin-top:15px}.scene-fallback p{color:#9caabb;max-width:340px;font-size:13px;line-height:1.8;margin-top:15px}.scene-fallback a{color:#c3d7f1;display:inline-flex;gap:10px;font-size:12px;margin-top:22px;text-decoration:underline;text-underline-offset:5px;position:relative;z-index:2}.toast{position:absolute;left:50%;bottom:170px;transform:translateX(-50%);padding:13px 18px;background:#e2eaf5;color:#203449;border:1px solid #a8bed7;border-radius:4px;z-index:9;font-size:12px;min-width:220px;max-width:90%;text-align:center;box-shadow:0 8px 35px #0004}.touch-flight{position:absolute;bottom:180px;left:24px;z-index:4;display:flex;flex-direction:column;align-items:center;gap:5px}.touch-flight>div{display:flex;gap:5px}.touch-flight button{min-width:42px;min-height:42px;padding:9px;border:1px solid #8094ae55;background:#192535e6;font-size:11px;color:#d4e1f0;touch-action:none}.drawer-backdrop{position:fixed;inset:0;z-index:19;background:#0c142c70;border:0;border-radius:0;backdrop-filter:blur(2px)}.inspector-closed .engine-layout{grid-template-columns:var(--sidebar) minmax(0,1fr)}.inspector-closed .inspector{display:none}#mobile-experiments,#mobile-close{display:none}.noscript-notice{position:fixed;bottom:20px;left:20px;right:20px;z-index:20;padding:20px;background:#fff;border:1px solid #b5bec9;color:var(--ink)}.noscript-notice a{text-decoration:underline}
/* Guides are typeset for reading, with one consistent sequence. */
dialog{width:min(780px,calc(100% - 40px));max-height:90dvh;overflow:auto;overscroll-behavior:contain;background:var(--panel);border:1px solid #aab2ba;color:var(--ink);padding:30px 38px 35px;border-radius:5px;box-shadow:0 25px 100px #0005}dialog::backdrop{background:#0c111bcc;backdrop-filter:blur(7px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:21px}.dialog-head button{background:transparent;border:1px solid var(--line);width:40px;height:40px;font-size:25px;color:#65717e}.dialog-head button:hover{background:#e9edf0}dialog h2{font-size:43px;line-height:1.08}.dialog-intro{color:var(--muted);max-width:570px;line-height:1.8;margin-top:20px;font-size:14px}.help-workflow{list-style:none;margin:27px 0 0;padding:0;display:grid;border-top:1px solid var(--line)}.help-workflow li{display:grid;grid-template-columns:30px minmax(0,1fr);gap:16px;padding:20px 0;border-bottom:1px solid var(--line)}.help-workflow li>span{font:10px/1.8 var(--mono);color:#637e9b;padding-top:3px}.help-workflow h3{font-family:var(--sans);font-size:14px;font-weight:600;letter-spacing:0;line-height:1.5;margin-bottom:7px}.help-workflow p{font-size:13px;color:var(--muted);line-height:1.8}.help-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin:27px 0}.help-grid h3{font-size:24px;margin-bottom:12px}.help-grid p{font-size:12px;color:var(--muted);line-height:1.8}.help-grid p+p{margin-top:12px}.help-grid strong{font-weight:600;color:#424f5e}.help-scope{font-size:11px;color:#6d7987;line-height:1.8;border-left:2px solid #a9b9cb;padding-left:14px;margin-bottom:24px}.path-intro{font-size:14px;line-height:1.8;color:var(--muted);margin-top:20px}.thread-list{display:grid;gap:0;margin-top:25px}.thread-list button{display:flex;justify-content:space-between;gap:25px;align-items:center;background:transparent;border:0;border-top:1px solid var(--line);border-radius:0;color:var(--ink);font-size:13px;padding:17px 0;text-align:left}.thread-list small{display:block;font-size:11px;color:var(--soft);margin-top:6px}.thread-list i{font-size:20px;color:var(--accent);font-style:normal}.thread-list button:hover{color:var(--accent)}@keyframes spin{to{transform:rotate(360deg)}}
@media(min-width:1700px){:root{--sidebar:250px;--inspector:430px;--intro:122px}.engine-header,.workbench-intro{padding-inline:35px}.experiments{padding-inline:23px}.inspector{padding-inline:32px}.workbench-heading h1{font-size:46px}.workbench-description{font-size:14px;max-width:460px}.scene-heading h2{font-size:46px}.world-top{top:33px;left:36px;right:30px}.world-bottom{left:30px;right:30px;bottom:22px}.scene-note{left:36px;top:174px}.question-box h3{font-size:32px}.guide-intro,.guide-steps p{font-size:14px}.control-head{font-size:13px}.control select{font-size:13px}.experiment-button{font-size:13px}.experiment-button small{font-size:11px}.experiment-list{gap:5px}}
@media(max-width:1280px){:root{--sidebar:208px;--inspector:350px;--intro:108px}.engine-header,.workbench-intro{padding-inline:22px}.workbench-intro{gap:22px}.workbench-heading h1{font-size:36px}.workbench-description{font-size:12px;max-width:350px}.workbench-process{font-size:10px}.experiments{padding:22px 15px 18px}.panel-heading h2{font-size:23px}.inspector{padding-inline:22px}.scene-heading h2{font-size:30px}.world-top{left:22px;right:18px}.scene-note{left:22px;top:158px}.scene-note-secondary{display:none}.world-bottom{left:18px;right:18px}.transport{gap:6px;padding:8px}.transport .capture-button{width:100%;justify-content:center;margin-left:0;border-top-color:#44536a;min-height:37px;margin-top:2px}.transport-state>span:last-child{margin-left:4px}.camera-strip>span{font-size:8px}.clock-note{font-size:7px}.guide-actions{gap:11px}.guide-actions .primary-button{font-size:10px;padding-inline:10px}.question-box h3{font-size:27px}}
@media(max-width:1100px){:root{--inspector:350px;--intro:108px}.site-nav{gap:22px;margin-right:10px}.workbench-process{display:none}.workbench-description{font-size:13px;max-width:420px}.engine-layout,.inspector-closed .engine-layout{grid-template-columns:minmax(0,1fr) var(--inspector)}.inspector-closed .engine-layout{grid-template-columns:minmax(0,1fr)}.experiments{display:none;position:fixed;top:0;bottom:0;left:0;width:290px;padding:25px 23px;z-index:20;box-shadow:20px 0 50px #0003}.show-experiments .experiments{display:flex}#mobile-experiments{display:inline-flex;align-items:center}#mobile-close{display:flex;align-items:center;justify-content:center;flex-shrink:0;border:1px solid var(--line);background:transparent;width:38px;height:38px;font-size:24px;color:var(--muted)}.scene-heading{max-width:100%}.world-top{flex-wrap:wrap;gap:16px}.scene-tools{order:-1;justify-content:space-between;width:100%}.scene-heading h2{font-size:35px;margin-top:9px}.scene-heading .eyebrow{font-size:8px}.scene-heading p{font-size:9px}.scene-note{top:209px}.world-bottom{left:20px;right:20px}.transport .capture-button{width:auto;margin-top:0;margin-left:auto}.speed-control{margin-left:0}.transport-state>span:last-child{margin-left:3px}.camera-strip>span{width:100%}.scene-fallback{top:235px}.engine-error{top:210px}.toast{bottom:190px}.touch-flight{bottom:200px}}
@media(min-width:761px) and (max-width:940px){:root{--inspector:340px}.workbench-description{max-width:350px;font-size:12px}.engine-layout{min-height:620px}.scene-heading h2{font-size:30px}.world-top{left:18px;right:18px}.world-bottom{left:14px;right:14px}.transport .capture-button{width:100%;justify-content:center;margin-left:0;margin-top:2px}.camera-strip{gap:12px}.inspector{padding-inline:20px}.transport-state{font-size:8px}.workbench-heading h1{font-size:34px}.scene-note{left:18px;font-size:8px}}
/* On phones the guide follows the scene: no overlapping panels or hidden explanation. */
@media(max-width:760px){:root{--header:64px;--intro:auto}.engine-header{height:calc(var(--header) + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) 17px 0;gap:14px}.brand{font-size:14px;gap:8px}.brand img{height:27px;width:27px}.brand .muted{display:none}.site-nav{gap:17px;margin:0 0 0 auto;font-size:11px}.site-nav a[aria-current=page]{display:none}.header-actions{gap:5px}.header-actions #help-open{padding:0;width:39px;height:39px}.header-actions .button-label{display:none}.header-actions #fullscreen{display:none}.workbench-intro{height:auto;padding:24px 20px 25px;display:block}.workbench-heading .eyebrow{font-size:8px;letter-spacing:.09em}.workbench-heading h1{font-size:38px;margin-top:11px}.workbench-description{font-size:12px;line-height:1.75;margin-top:13px;max-width:500px}.workbench-process{display:flex;gap:15px;margin-top:18px;font-size:9px;flex-wrap:wrap;row-gap:7px}.workbench-process li{gap:6px}.workbench-process span{font-size:8px}.engine-layout,.inspector-closed .engine-layout{height:auto;min-height:0;display:flex;flex-direction:column}.world{height:680px;min-height:580px;max-height:92svh;width:100%;flex-shrink:0;border-bottom:1px solid #323a46}.world-top{top:18px;left:20px;right:20px;gap:18px}.scene-tools{width:100%}.small-button{min-height:44px;font-size:11px;padding:10px 13px}.scene-heading h2{font-size:34px;max-width:540px}.scene-heading .eyebrow{font-size:8px}.scene-heading p{font-size:9px;line-height:1.75;margin-top:10px}.scene-note{left:20px;top:204px;font-size:8px}.scene-note-secondary{display:none}.world-bottom{left:15px;right:15px;bottom:17px}.camera-strip{gap:13px;margin-bottom:10px}.camera-mode button{min-height:35px;font-size:11px;padding:7px 14px}.focus-button{min-height:42px;font-size:11px}.camera-strip>span{font-size:8px;line-height:1.6}.transport{gap:7px;padding:9px}.transport>button{min-height:44px;min-width:34px}.transport .play-button{width:44px;height:44px}.transport-state{font-size:9px;gap:6px}.transport-state>span:last-child{font-size:10px;margin-left:4px}.speed-control{margin-left:auto;font-size:9px}.speed-control select{min-height:38px;font-size:11px}.transport .capture-button{width:100%;border:1px solid #566a85;padding:8px 10px;margin-left:0;justify-content:center;font-size:12px;min-height:43px;margin-top:3px}.clock-note{font-size:7px;max-width:340px;line-height:1.75}.touch-flight{left:18px;bottom:244px}.touch-flight button{min-width:44px;min-height:44px}.toast{bottom:230px;min-width:230px;font-size:12px}.world-label{font-size:8px;padding:5px 7px}.inspector,.inspector-closed .inspector{display:block;position:relative;width:100%;max-width:none;overflow:visible;border-left:0;padding:0 24px calc(38px + env(safe-area-inset-bottom,0px));scroll-margin-top:0;scroll-padding-top:64px}.inspector-tabs{top:0;padding-top:5px;gap:27px;min-height:62px;z-index:8}.inspector-tabs button{font-size:13px;padding:18px 0;min-height:57px}.question-box{padding:28px 0 20px}.question-box h3{font-size:32px;max-width:600px}.question-kicker .eyebrow{font-size:10px}.evidence-label{font-size:9px}.guide-intro{font-size:14px;line-height:1.8}.guide-steps{gap:20px;margin-top:24px}.guide-steps>div{grid-template-columns:24px minmax(0,1fr);gap:12px}.guide-number{font-size:10px}.guide-steps h4{font-size:13px}.guide-steps p{font-size:13px;line-height:1.8}.guide-actions{gap:18px;margin-top:24px}.guide-actions .primary-button{font-size:12px;padding:12px 15px;min-height:45px}.text-button{min-height:44px;font-size:12px}.guide-limit summary{font-size:12px}.guide-limit p{font-size:12px;line-height:1.8}.guide-glossary summary,.guide-glossary dt,.guide-glossary dd,.guide-article{font-size:12px}.guide-glossary summary{min-height:36px}.instrument-guide{padding-bottom:28px}.section-heading .eyebrow{font-size:10px}.section-heading>span{font-size:11px}.inputs-section{padding-top:28px}.control{margin-top:24px}.control-head{font-size:14px}.control-head output{font-size:11px;padding:4px 7px}.control select{min-height:47px;font-size:16px;padding:11px}.control input[type=range]{height:30px;margin-top:12px}.control-unit,.control-help{font-size:12px;line-height:1.8}.extra-actions button{font-size:12px;min-height:44px}.reading-heading .eyebrow{font-size:10px}.reading-heading>span{font-size:9px}.readings{margin-top:28px;padding-top:27px}.measurements{margin-top:20px}.measurement{padding:18px 16px}.measurement strong{font-size:31px}.measurement label{font-size:11px}.measurement small{font-size:9px}.reading-note{font-size:11px}#measurement-plot{height:145px}#plot-wrap figcaption{font-size:10px}.equation summary,.scope summary{font-size:13px;min-height:34px}.equation pre{font-size:11px;padding:16px}.reference{font-size:11px;padding:16px}.research-context>p:not(.eyebrow){font-size:13px;line-height:1.8}.research-context .eyebrow{font-size:10px}.neighbors button{font-size:12px;min-height:40px}.source-link{font-size:12px;line-height:1.9}.scope p{font-size:12px;line-height:1.9}.note-label{font-size:13px}#observation-note{font-size:16px;padding:13px;min-height:120px}.notebook-actions button,.import-label{font-size:12px;min-height:44px}.notebook-actions .primary-button{font-size:13px;min-height:47px}.storage-state{font-size:10px}.notebook-entry h4{font-size:27px}.notebook-entry p{font-size:13px}.notebook-entry .entry-summary{font-size:11px}.entry-actions button{font-size:12px;min-height:40px}.comparison p{font-size:11px}.experiments{width:min(340px,calc(100% - 44px));padding:calc(24px + env(safe-area-inset-top,0px)) 22px calc(25px + env(safe-area-inset-bottom,0px))}.experiments .panel-heading h2{font-size:29px}.aside-intro{font-size:13px}.instrument-search input{font-size:16px;padding:12px 0}.instrument-count{font-size:10px}.experiment-button{font-size:14px;min-height:63px;padding:12px 11px}.experiment-button small{font-size:11px}.experiment-button>.instrument-number{font-size:10px}.world-button{font-size:12px;min-height:60px}.world-button small{font-size:11px}.aside-foot a{font-size:13px}.aside-foot>p:last-child{font-size:12px}.scene-fallback{inset:235px 20px 240px;padding:15px}.scene-fallback h3{font-size:25px}.scene-fallback p{font-size:12px;margin-top:9px}.scene-fallback .eyebrow{font-size:8px}.scene-fallback a{font-size:11px;margin-top:13px}.engine-error{top:210px;left:20px;right:20px;max-height:calc(100% - 450px);padding:18px;font-size:12px}.load-state h2{font-size:31px}.load-state>p:last-child{font-size:12px}dialog{width:calc(100% - 24px);max-height:calc(100dvh - 30px);padding:24px 22px calc(27px + env(safe-area-inset-bottom,0px))}dialog h2{font-size:35px}.dialog-head .eyebrow{font-size:9px}.dialog-head button{width:44px;height:44px}.dialog-intro{font-size:13px}.help-workflow li{gap:12px;grid-template-columns:24px minmax(0,1fr)}.help-grid{grid-template-columns:1fr;gap:25px}.help-grid p{font-size:13px}.help-scope{font-size:12px}.path-intro{font-size:13px}.thread-list button{font-size:12px;gap:16px}.thread-list small{font-size:11px}.skip-inspector:focus{left:16px;top:60px}}
@media(max-width:380px){.engine-header{padding-inline:14px;gap:10px}.site-nav{gap:13px;font-size:10px}.workbench-intro{padding-inline:18px}.workbench-heading h1{font-size:35px}.workbench-process{gap:11px;font-size:8px}.world{height:690px;max-height:none}.world-top{left:18px;right:18px}.scene-heading h2{font-size:30px}.scene-heading p{font-size:8px}.transport{gap:5px}.transport-state{font-size:8px}.transport-state>span:last-child{font-size:9px;margin-left:2px}.speed-control>span{display:none}.inspector{padding-inline:19px}.question-box h3{font-size:30px}.guide-actions{gap:13px}.guide-actions .primary-button{font-size:11px;padding-inline:12px}.text-button{font-size:11px}.scene-note{left:18px;font-size:7px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.loading-orbit{animation:none}*,*::before,*::after{transition:none!important}}
@media print{.engine-header,.workbench-process,.world,.experiments,.guide-actions,.controls,.extra-actions,.notebook-actions,.header-actions,.site-nav{display:none!important}.workbench-intro{height:auto;padding:20px 0}.engine-layout{display:block;height:auto;min-height:0}.inspector,.inspector-closed .inspector{display:block;border:0;overflow:visible;padding:0}.inspector-tabs{position:static}.guide-glossary:not([open])>*,.scope:not([open])>*{display:block}body{background:white;color:black}.source-link{color:black}}

/* Dynamic annotations supplied by the instrument guide. */
.measurement-label{display:block;font-size:10px;line-height:1.4;color:#5e6976;text-transform:capitalize;order:1}.reading-help{font-size:10px;line-height:1.7;color:#7b838b;order:4;margin-top:8px}.evidence-explanation{padding-top:10px;border-top:1px solid #dce1e5}.guide-limit .evidence-explanation{font-size:10px;color:#7b848d}.control-help{display:block;font-size:11px;line-height:1.7;color:#747c84;margin-top:8px}.scene-fallback h3{max-width:100%}.world .scene-fallback{z-index:2}.brand img{filter:brightness(0)}
@media(max-width:760px){.measurement-label{font-size:11px}.reading-help{font-size:11px;line-height:1.75}.guide-limit .evidence-explanation{font-size:11px}.control-help{font-size:12px;line-height:1.8}}

/* Reading ergonomics: supporting copy has the same contrast standard as primary text. */
:root{--soft:#687078;--muted:#5f656c}
.inspector-sections{position:sticky;top:61px;z-index:4;display:flex;gap:20px;background:var(--panel);border-bottom:1px solid #e2e3de;padding:10px 0}
.inspector-sections a{font-size:11px;line-height:1.7;color:#52677f;text-decoration:underline;text-underline-offset:4px;min-height:20px}
.inspector-sections a:hover{color:var(--accent)}
#instrument-guide,#controls,#measurements{scroll-margin-top:118px}
.panel-heading .eyebrow,.question-kicker .eyebrow,.section-heading .eyebrow,.reading-heading .eyebrow,.research-context .eyebrow{font-size:10px}
.evidence-label{font-size:9px;color:#365472}
.guide-limit summary,.guide-limit p,.guide-glossary summary,.guide-glossary dt,.guide-glossary dd,.guide-article{font-size:12px}
.guide-limit p,.guide-limit .evidence-explanation{color:#626b75;font-size:12px;line-height:1.8}
.reading-help{color:#626b75;font-size:12px;line-height:1.65}
.control-unit,.control-help{font-size:12px;line-height:1.7;color:#626b75}
.measurement small{color:#65707c;font-size:9px;line-height:1.7}
.measurement-label{font-size:11px;color:#576576}
.source-link{font-size:12px}.scope p{font-size:12px;color:#626b75}.scope-time{color:#626b75}
.reference{font-size:11px;color:#626e7c}.reading-note{font-size:11px;color:#66707b}
.storage-state{font-size:10px;color:#626b75}.world-button small{font-size:11px}.experiment-button small{font-size:11px}
@media(max-width:760px){.inspector-sections{top:62px;gap:25px;padding:11px 0}.inspector-sections a{font-size:12px;min-height:24px}.guide-limit p,.guide-limit .evidence-explanation,.guide-glossary dd,.control-help,.control-unit,.reading-help,.scope p{font-size:13px}.evidence-label{font-size:10px}.measurement-label{font-size:12px}.reading-note{font-size:12px}.control-head{font-size:14px}}

/* A tall touch canvas must not trap normal page scrolling. */
.touch-scene-toggle{display:none}
@media(max-width:760px){.scene-fallback{inset:120px 22px 180px;overflow:auto;justify-content:flex-start;padding:24px 18px}.scene-fallback h3{margin-top:15px}.scene-fallback p{font-size:13px;line-height:1.75}.scene-fallback a{font-size:12px;margin-top:18px}.scene-fallback+.world-bottom{z-index:3}}
@media(max-width:760px) and (pointer:coarse){
 .world{touch-action:pan-y}
 #world-canvas{pointer-events:none;touch-action:pan-y}
 .scene-interactive #world-canvas{pointer-events:auto;touch-action:none}
 .touch-scene-toggle{display:inline-flex;position:absolute;z-index:4;top:209px;left:20px;align-items:center;justify-content:center;min-height:44px;border:1px solid #5c7290;background:#1c293bdc;color:#dfeaf9;padding:10px 14px;font-size:11px}
 .touch-scene-toggle[aria-pressed=true]{background:#d8e5f6;color:#1a344e;border-color:#d8e5f6}
 .scene-note{display:none}
 .scene-interactive .world{touch-action:none}
 .world:has(.scene-fallback:not([hidden])) .touch-scene-toggle{display:none}
}
