
:root{color-scheme:dark;--bg:#091923;--panel:#102834;--line:#355361;--ink:#e8f2f0;--muted:#afc2ca;--mint:#a5eadb;--gold:#efd298}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:radial-gradient(ellipse at 20% 0,#1c3b43,var(--bg) 60%);color:var(--ink);font:1rem/1.45 system-ui,-apple-system,"Segoe UI",sans-serif}button,input{font:inherit}button{border:1px solid #54727e;background:#183643;color:var(--ink);padding:8px 13px;min-height:44px;border-radius:8px;cursor:pointer}button:hover:not(:disabled){background:#284e59}button:disabled{opacity:.5;cursor:default}a{color:var(--mint)}button:focus-visible,a:focus-visible,input:focus-visible,canvas:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.primary{background:var(--mint);color:#10312f;border-color:var(--mint);font-weight:720}.primary:hover:not(:disabled){background:#c7fff0}.skip{position:absolute;left:12px;top:-100px;z-index:8;background:var(--mint);color:#09212a;padding:10px}.skip:focus{top:5px}.top{display:flex;align-items:center;justify-content:space-between;height:56px;padding:8px max(24px,calc((100vw - 1360px)/2));border-bottom:1px solid #29414a}.brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font-weight:750;letter-spacing:.02em}.top nav{display:flex;gap:24px;font-size:.875rem}.top nav a{text-decoration:none}main{max-width:1400px;margin:auto;padding:18px 24px 12px}.heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px}.eyebrow{font-size:.7rem;letter-spacing:.13em;color:var(--mint);font-weight:700;margin:0 0 4px}h1{font-size:2.5rem;line-height:1.07;letter-spacing:-.05em;margin:0}h1 em{font:italic 1.08em Georgia,serif;color:var(--gold)}.heading p:not(.eyebrow){font-size:.875rem;color:var(--muted);margin:4px 0 0}.round{display:flex;align-items:center;gap:14px;font-size:.875rem}.round>span{color:var(--mint)}.game-panel{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#0d232e;box-shadow:0 22px 80px #0002}.game-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;font-size:.875rem;background:#183740}.game-bar>span{color:var(--gold);white-space:nowrap}.view-switch{display:flex;align-items:center;gap:6px;padding:7px 12px;border-bottom:1px solid var(--line);background:#102932}.view-switch button{font-size:.8125rem;min-height:36px;padding:6px 12px;background:transparent;border-color:transparent;color:var(--muted)}.view-switch button[aria-pressed=true]{color:#0f312f;background:var(--mint);border-color:var(--mint)}.view-switch span{display:inline-grid;place-items:center;min-width:18px;margin-left:4px;font-size:.75rem;border:1px solid currentColor;border-radius:20px}.workbench{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(220px,.85fr) 280px;align-items:stretch}.stage-panel{min-width:0;background:#10242d;border-right:1px solid var(--line);display:flex;flex-direction:column}.view-title{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 13px;min-height:40px}.view-title h2{font-size:.9rem;font-weight:650;margin:0}.view-title>span{font-size:.65rem;letter-spacing:.055em;color:var(--muted);text-align:right}.stage-shell{position:relative;height:clamp(185px,calc(100svh - 560px),310px);min-height:185px;background:#112a35}.slice-scene,.stage-shell>canvas{width:100%;height:100%;display:block}.slice-scene canvas{width:100%;height:100%;display:block;touch-action:none;outline-offset:-4px}.face-depth{position:absolute;top:9px;left:12px;background:#0c202be8;border:1px solid #6a899766;border-radius:5px;color:#d7e7e9;padding:4px 7px;pointer-events:none;font-size:.7rem}.scene-loading{position:absolute;inset:0;display:grid;place-items:center;background:#0c2433b8;font-size:.875rem;pointer-events:none}.scene-tools{display:flex;align-items:center;justify-content:space-between;gap:7px;padding:7px 12px;background:#102732}.orbit{display:flex;gap:5px}.scene-tools button{min-height:34px;font-size:.7rem;padding:5px 9px;background:#162f39;border-color:#41606b}.orbit button:first-child,.orbit button:last-child{font-size:1.2rem;min-width:36px;padding:0 6px}.scene-caption{font-size:.75rem;line-height:1.45;color:#c3d5d8;margin:0;padding:0 13px 10px;min-height:45px}.scene-status{font-size:.75rem;color:var(--gold);margin:0;padding:0 13px}.scene-status:empty{display:none}.section-panel{min-width:0;background:#0b1c26;display:flex;flex-direction:column;border-right:1px solid var(--line)}.section-panel>canvas{display:block;width:100%;height:clamp(170px,calc(100svh - 570px),295px)}#section-description{font-size:.8125rem;color:#d0e0e3;margin:0;padding:8px 14px}.image-key{font-size:.7rem;display:flex;gap:5px;align-items:center;flex-wrap:wrap;color:var(--muted);padding:0 14px}.image-key i{width:8px;height:8px;display:inline-block;background:#e0e8ea}.image-key i:nth-of-type(2){background:#263540;border:1px solid #81959e;margin-left:5px}.image-note{font-size:.7rem;color:var(--muted);margin:7px 14px 10px}.controls{padding:14px;display:flex;flex-direction:column;gap:12px;min-width:0;background:#102b35}.controls label{font-size:.875rem;font-weight:650;display:block}.controls output{color:var(--gold);font-size:.8125rem;font-weight:500;display:block;margin-top:4px}input[type=range]{width:100%;min-height:32px;margin:4px 0 0;accent-color:var(--mint);cursor:pointer}.ends{display:flex;justify-content:space-between;color:var(--muted);font-size:.7rem;gap:8px}.removal-note{font-size:.8125rem;color:var(--gold);margin:9px 0 5px}.help{font-size:.75rem;color:var(--muted);line-height:1.45;margin:5px 0 10px}#cut{width:100%;display:flex;align-items:center;justify-content:space-between;font-size:.875rem;margin-top:8px}.feedback{font-size:.8125rem;line-height:1.5;color:#d9e9e8;padding-left:10px;border-left:2px solid #739a91}.support{display:flex;gap:7px;flex-wrap:wrap;margin-top:auto}.support button{font-size:.75rem;flex:1;padding-inline:5px}.lab-link{font-size:.8125rem}.evidence{padding:10px 16px;border-block:1px solid var(--line);background:#0e2630}.evidence-heading{display:flex;align-items:baseline;gap:12px;justify-content:space-between}.evidence-heading h2{font-size:.875rem;margin:0}.evidence-heading p{font-size:.75rem;color:var(--muted);margin:0}.depth-map{display:grid;grid-template-columns:repeat(11,minmax(0,1fr));gap:4px;margin:8px 0 4px}.depth-cell{min-height:27px;display:grid;place-items:center;border:1px solid #34505a;background:#102c37;border-radius:4px;color:#a4bcc5;font-size:.7rem;padding:3px;min-width:0}.depth-cell.recorded{border-color:#8dccbf;background:#254d4c;color:#e4fbf3;cursor:pointer}.depth-cell[aria-pressed=true]{outline:2px solid var(--gold);outline-offset:-1px}.depth-cell.lost{background:repeating-linear-gradient(135deg,#253640 0 5px,#142730 5px 7px);border-color:#52616a;color:#bdcbd1}.depth-cell.planned{border-color:var(--gold);color:var(--gold)}.depth-key{display:flex;gap:14px;flex-wrap:wrap;font-size:.65rem;color:var(--muted)}.depth-key span{display:inline-flex;gap:5px;align-items:center}.depth-key i{width:8px;height:8px;border:1px solid #77979f}.key-recorded{background:#9de3d0}.key-lost{background:repeating-linear-gradient(135deg,#687778 0 2px,#152a33 2px 4px)}.key-future{background:#102c37}#history{display:flex;gap:8px;align-items:center;overflow-x:auto;padding:7px 1px 0;min-height:0}.empty-history{font-size:.75rem;color:var(--muted)}.history-shot{padding:0 6px 0 0;display:flex;align-items:center;gap:5px;flex-shrink:0;background:#152f39;min-height:44px;border-color:#43616b;font-size:.7rem}.history-shot canvas{display:block;width:45px;height:38px}.history-shot[aria-pressed=true]{border-color:var(--gold);background:#2a4144}.history-shot span{white-space:nowrap}fieldset{margin:0;padding:9px 16px 12px;border:0;min-width:0;position:relative}legend{font-size:.875rem;font-weight:650;padding-top:6px;padding-right:140px}#turn-candidates{position:absolute;right:16px;top:-28px;font-size:.7rem;min-height:32px;background:none;border-color:transparent;text-decoration:underline;text-underline-offset:3px;padding:4px 7px}.candidate-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.candidate{display:flex;align-items:center;justify-content:center;gap:12px;padding:0 12px 0 0;text-align:left;min-height:66px;background:#132e39}.candidate canvas{width:100px;height:66px;max-width:45%;flex-shrink:0}.candidate span{font-size:.875rem}.candidate.confirmed{border-color:var(--mint);background:#1e4843}.game-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:.75rem;margin-top:7px}.game-footer button{background:none;border-color:transparent;text-decoration:underline;text-underline-offset:4px;font-size:.75rem;min-height:34px;padding:5px}.load-error:empty,#share-status:empty{display:none}.load-error,#share-status{font-size:.875rem}#share-url{width:100%;padding:10px;background:#122c36;color:var(--ink);border:1px solid var(--line)}dialog{background:#102a34;color:var(--ink);border:1px solid #5a7b83;border-radius:14px;width:min(92vw,660px);max-height:85svh;padding:26px;line-height:1.6}dialog::backdrop{background:#03151bdd;backdrop-filter:blur(5px)}dialog h2{font-size:1.6rem;line-height:1.2;margin:0 35px 15px 0}dialog p{font-size:.9375rem}.close{float:right;background:transparent;border:0;font-size:1.5rem}.enlarge{font-size:.75rem;align-self:flex-start;background:none;border-color:transparent;text-decoration:underline;text-underline-offset:3px;padding:4px 14px;min-height:34px}#enlarged-section{width:100%;height:min(65vw,460px);display:block}.large-image-note{color:var(--muted)}
@media(max-width:1050px){.workbench{grid-template-columns:minmax(0,1.2fr) minmax(180px,.8fr) 240px}.controls{padding:12px}.view-title{flex-wrap:wrap}.image-key{gap:4px}.round{gap:8px}.stage-shell{height:260px}.section-panel>canvas{height:210px}}
@media(max-width:800px){main{padding:12px}.top{padding:8px 14px}.top nav{gap:16px}.heading{margin-bottom:10px}.heading h1{font-size:2rem}.round{align-items:flex-end;flex-direction:column;gap:6px}.round button{min-height:36px;padding:5px 10px}.workbench{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}.stage-panel{grid-column:1/-1;border-right:0;border-bottom:1px solid var(--line)}.stage-shell{height:250px;min-height:180px}.scene-caption{min-height:0;padding-bottom:9px}.scene-tools button{min-height:40px}.stage-panel .view-title{min-height:35px;padding-block:7px}.section-panel{grid-column:1}.controls{grid-column:2;padding:12px}.section-panel>canvas{height:210px}.section-panel .view-title{display:block}.section-panel .view-title>span{display:block;margin-top:3px}.evidence-heading{display:block}.evidence-heading p{margin-top:3px}.depth-key{gap:9px}.candidate{flex-direction:column;gap:0;padding:0 4px 7px;text-align:center}.candidate canvas{width:100%;max-width:100%;height:75px}.candidate span{font-size:.8125rem}.heading .eyebrow{font-size:.65rem}.heading p:not(.eyebrow){font-size:.8125rem}.game-bar{padding:8px 12px}.view-switch{padding:5px 9px}.view-switch button{min-height:40px;padding:6px 10px}.candidate-grid{gap:6px}legend{padding-right:0;width:100%;margin-bottom:3px}#turn-candidates{position:static;float:right;margin-top:-5px;margin-bottom:4px;min-height:40px}.candidate-grid{clear:both}.support button{min-height:44px}.game-footer{justify-content:flex-start}.game-footer>span{width:100%}}
@media(max-width:450px){.top{height:50px}.brand{font-size:.875rem;gap:6px}.brand img{width:25px;height:25px}.top nav{font-size:.75rem;gap:12px}main{padding:10px}.heading h1{font-size:1.8rem}.heading .eyebrow{max-width:175px;line-height:1.5;font-size:.6rem}.heading p:not(.eyebrow){max-width:200px}.round{font-size:.75rem;flex-shrink:0}.game-bar{font-size:.75rem;gap:8px}.game-bar strong{max-width:65%}.view-switch{gap:3px}.view-switch button{font-size:.75rem;padding:5px 7px;flex:1}.view-switch span{display:none}.stage-shell{height:210px}.stage-panel .view-title>span{font-size:.6rem}.view-title h2{font-size:.8125rem}.face-depth{font-size:.65rem}.scene-tools{padding:5px 10px}.scene-tools button{font-size:.7rem;padding:4px 7px}.scene-caption{font-size:.75rem;padding-inline:11px}.section-panel>canvas{height:145px}#section-description{font-size:.75rem;padding:5px 10px}.image-key,.image-note{font-size:.65rem}.image-key{padding:0 10px}.image-note{margin:7px 10px}.controls{padding:10px;gap:10px}.controls label{font-size:.8125rem}.controls output{font-size:.75rem}.removal-note{font-size:.75rem;margin-top:7px}.ends{font-size:.65rem}.help{font-size:.7rem}.feedback{font-size:.75rem;padding-left:7px}.support{gap:5px}.support button{font-size:.7rem}#cut{font-size:.8125rem;padding:8px}.evidence{padding:10px}.depth-map{gap:3px}.depth-cell{font-size:.65rem;min-height:28px}.depth-key{font-size:.6rem}.evidence-heading h2{font-size:.8125rem}.evidence-heading p{font-size:.7rem}fieldset{padding:8px 10px 10px}legend{font-size:.8125rem}.candidate span{font-size:.75rem}.candidate canvas{height:60px}dialog{padding:18px}.scene-tools .orbit button:first-child,.scene-tools .orbit button:last-child{font-size:1.15rem;min-width:32px}.scene-tools .orbit{gap:3px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* Keep the first action near the specimen; mechanical details remain in its accessible description. */
#depth-help{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(min-width:1051px){.top{height:50px}main{padding-top:12px}.heading{margin-bottom:10px}.heading h1{font-size:2.1rem}.stage-shell{height:clamp(185px,calc(100svh - 660px),300px)}.section-panel>canvas{height:clamp(170px,calc(100svh - 660px),285px)}.controls{gap:10px}.scene-caption{min-height:0}.evidence{padding-block:8px}.candidate,.candidate canvas{min-height:58px;height:58px}.game-footer{margin-top:4px}}
@media(max-width:450px){.stage-shell{height:185px}.heading .eyebrow{max-width:none;font-size:.6rem}.heading p:not(.eyebrow){font-size:.75rem}.scene-tools button{min-height:44px}.depth-cell.recorded{min-height:44px}.enlarge{min-height:44px}.view-switch button{min-height:44px}}

.view-actions{display:flex;gap:5px}.view-actions button{white-space:nowrap}#workbench-dialog{width:min(94vw,1100px);max-height:94svh;padding:18px}#workbench-dialog .stage-shell{height:min(64svh,640px);min-height:190px}#workbench-dialog .scene-tools{border-radius:0 0 8px 8px}#workbench-dialog #enlarge-workbench{display:none}#workbench-description{margin:12px 2px 0;font-size:.875rem}
@media(min-width:1051px){.evidence{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:16px;align-items:center}.evidence-heading{display:block;grid-column:1;grid-row:1}.evidence-heading p{margin-top:3px}#history{grid-column:2;grid-row:1;max-width:600px;padding-top:0}.depth-map{grid-column:1/-1;grid-row:2}.depth-key{grid-column:1/-1;grid-row:3}}
@media(max-width:450px){.scene-tools{gap:4px;padding-inline:8px}.scene-tools button{padding-inline:6px}.scene-tools .orbit{gap:2px}.view-actions{gap:3px}.scene-tools .orbit button:first-child,.scene-tools .orbit button:last-child{min-width:28px}.scene-tools #reset-view{font-size:.65rem}.scene-tools .view-actions button{font-size:.65rem}}

@media(max-width:360px){.heading .eyebrow{display:none}.stage-shell{height:170px;min-height:170px}}

@media(max-width:450px){#workbench-dialog .stage-shell{height:48svh;min-height:240px}}
