@font-face{font-family:NotoSansTC;src:url('fonts/NotoSansTC-subset.woff?v=7415ef63ce78') format('woff');font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:ZenMaru;src:url('fonts/ZenMaruGothic-subset.woff?v=cc68d69e9378') format('woff');font-weight:500;font-style:normal;font-display:swap}
:root{color-scheme:only light;--paper:#fff4dc;--ink:#4b3a2e;--text:#244f50;--mint:#A8E0CF;--deep-mint:#98cdb9;--gold:#FFD966;--wood:#E2C08F}*{box-sizing:border-box}html,body,header,main,.workspace,.viewer,.lens,.readings,button,input,details{color-scheme:only light}body{margin:0;background:var(--paper) url('img/paper-paint.svg?v=2efa40ab91ad') repeat;color:var(--text);font:400 14px/1.65 NotoSansTC,sans-serif}body:after{content:'';position:fixed;inset:0;pointer-events:none;box-shadow:inset 0 0 80px 20px #a68b5e08;z-index:30}button,a,input,summary{touch-action:manipulation}button{font:500 13px/1.3 NotoSansTC,sans-serif;color:var(--text);cursor:pointer;min-height:44px;padding:9px 16px;background:var(--paper) url('img/paper-paint.svg?v=2efa40ab91ad');border:1.6px solid var(--ink);border-radius:16px 19px 15px 18px/14px 14px 19px 17px}button.selected,button[aria-pressed=true]{background-color:var(--mint);border-width:2.4px}button:disabled{opacity:.48;cursor:not-allowed}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,#scene:focus-visible{outline:2px dashed var(--ink);outline-offset:4px}button:hover{background-color:#e5edde}header{height:59px;max-width:1400px;margin:auto;padding:0 32px;display:flex;align-items:center;gap:22px;border-bottom:1px solid #bca98a66}.brand{font:500 18px ZenMaru,NotoSansTC,sans-serif;color:var(--text);text-decoration:none;letter-spacing:.08em}.brand span{margin-left:15px;font-size:14px}.edition{margin-left:auto;font-size:11px;letter-spacing:.12em;color:#786a55}header button{font-size:11px;min-height:38px;padding:7px 13px}main{max-width:1400px;margin:auto}.workspace{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 350px;min-height:650px}.scene-column{position:relative;height:620px;min-width:0;overflow:hidden}.scene-column h1{position:absolute;left:40px;top:18px;font:500 28px/1.55 ZenMaru,NotoSansTC,sans-serif;letter-spacing:.07em;z-index:3;margin:0;pointer-events:none}#scene{position:absolute;inset:0;touch-action:pan-y pinch-zoom;outline-offset:-5px;z-index:0}#scene>canvas,#scene>svg{width:100%;height:100%;display:block}#loading{padding:100px;text-align:center}.scene-paper{position:absolute;inset:0;background:url('img/paper-paint.svg?v=2efa40ab91ad') repeat;mix-blend-mode:multiply;opacity:.18;pointer-events:none;z-index:2}.teacher-scene{position:absolute;left:32px;bottom:82px;height:217px;width:150px;z-index:4;pointer-events:none}.teacher-scene img{height:100%;width:auto;max-width:none;object-fit:contain}.view-controls{position:absolute;right:18px;bottom:16px;display:flex;gap:8px;z-index:6}.view-controls button{font-size:11px;min-height:40px;padding:8px 13px;border-radius:22px 24px 21px 25px}.renderer-label{position:absolute;bottom:19px;left:24px;font-size:9px;color:#756953;z-index:3}.viewer{position:relative;align-self:start;padding:28px 22px 0 0;min-width:0;z-index:5;background:transparent}.viewer-caption{display:block;text-align:center;font:500 15px ZenMaru,NotoSansTC,sans-serif;margin:0 0 12px}.lens{position:relative;width:328px;height:328px;max-width:100%;aspect-ratio:1;isolation:isolate;background:var(--paper);border-radius:50%;overflow:hidden}.lens canvas{display:block;width:100%;height:100%;background:var(--paper);border-radius:50%}.lens-ink{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;fill:none;stroke:var(--ink);stroke-width:1.6;stroke-linecap:round}.lens-ink .gold-ring{stroke:var(--gold);stroke-width:2.5}.lens-ink #lensHatch{stroke-width:1;opacity:.65}.readings{position:relative;margin:23px 6px 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;background:var(--gold) url('img/paper-paint.svg?v=2efa40ab91ad');border:1.4px solid var(--ink);padding:25px 13px 14px;transform:rotate(-2.2deg);color:var(--text)}.readings .note-title{position:absolute;left:12px;top:5px;font:500 11px ZenMaru,NotoSansTC,sans-serif}.readings>div{text-align:center;min-width:0}.readings strong{font:600 22px/1.4 NotoSansTC,sans-serif;white-space:nowrap;letter-spacing:-.035em;font-variant-numeric:tabular-nums}.readings strong small{font-size:10px;margin-left:2px}.readings>div>span{display:block;font-size:9px}.fold{position:absolute;right:-1px;top:-1px;width:18px;height:18px;background:var(--paper);border-left:1px solid var(--ink);border-bottom:1px solid var(--ink);clip-path:polygon(0 0,100% 100%,0 100%)}.drawing-note{font-size:9px;margin:14px 10px 0;text-align:center;color:#766b55}.focus-track{display:none}.teacher-dialogue{position:absolute;left:200px;bottom:14px;max-width:550px;display:flex;gap:14px;align-items:center;z-index:8;border:1.6px solid var(--ink);border-radius:18px 21px 17px 20px;padding:12px 14px;background:var(--paper) url('img/paper-paint.svg?v=2efa40ab91ad')}.teacher-dialogue:before{content:'';position:absolute;left:-20px;bottom:21px;width:22px;height:1.6px;background:var(--ink);transform:rotate(-28deg)}.teacher-name{font:500 11px ZenMaru,NotoSansTC,sans-serif;white-space:nowrap}.teacher-dialogue p{font-size:12px;line-height:1.6;margin:0;max-width:235px}.teacher-dialogue button{font-size:11px;white-space:nowrap;min-height:42px;background-color:var(--mint)}.hotspot{position:absolute;z-index:4;width:48px;height:48px;padding:0;min-height:48px;border:0;background:none!important;transform:translate(-50%,-50%);border-radius:0;touch-action:none;color:var(--ink);font:500 29px/1 ZenMaru,sans-serif;cursor:ns-resize}.hotspot[hidden]{display:none}.hotspot[data-action=slide]{cursor:move}.hotspot[data-action=turret]{cursor:pointer}.hotspot:before,.hotspot:after{content:none}.hotspot .cue-arrow{display:block;text-shadow:none;transform:rotate(-5deg)}.hotspot.locked{color:#8c816d}.hotspot:focus-visible{outline-offset:0}.control-drawer{margin:0 30px;border-top:1px solid #b6a487;position:relative;z-index:5}.control-drawer>summary{list-style:none;cursor:pointer;padding:12px 0;font-size:12px;min-height:45px}.control-drawer>summary:before{content:'＋';margin-right:10px}.control-drawer[open]>summary:before{content:'−'}.control-drawer>summary>span{font-size:10px;color:#7b6b56;margin-left:16px}.bench{display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:25px;padding:14px 0 22px}.control-caption{display:block;font-size:12px;margin-bottom:9px}.segmented{display:flex;gap:7px}.segmented button{min-width:48px}.bench small{font-size:10px}.focus-controls label{display:flex;justify-content:space-between;font-size:11px}.focus-controls input{width:100%;height:36px;margin:0;accent-color:#6e9f8c}.arrows{display:flex;gap:5px}.arrows button{min-width:44px;padding:8px 10px}.bench output{font-variant-numeric:tabular-nums}#status{font-size:11px;min-height:0;margin:0 30px;color:#78512e}#status:empty{display:none}footer{display:flex;justify-content:space-between;padding:8px 30px 20px;gap:30px;font-size:9px;color:#786b55}footer details{max-width:500px}footer summary{cursor:pointer}footer a{color:inherit}footer p{font-size:11px}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1000px) and (min-width:601px){.workspace{grid-template-columns:minmax(0,1fr) 300px}.viewer{padding-right:15px}.lens{width:285px;height:285px}.scene-column h1{font-size:23px;left:24px}.teacher-scene{left:15px;width:125px;height:190px}.teacher-dialogue{left:150px;right:315px;max-width:none;gap:8px}.teacher-dialogue p{font-size:11px}.teacher-dialogue .teacher-name{display:none}.teacher-dialogue button{padding:8px}.readings strong{font-size:19px}}
@media(max-width:600px){header{height:36px;padding:0 16px;gap:10px}.brand{font-size:13px;letter-spacing:.02em}.brand span{font-size:10px;margin-left:7px}.edition{display:none}header button{margin-left:auto;min-height:29px;font-size:9px;padding:4px 9px}.workspace{display:flex;flex-direction:column;min-height:0}.viewer{order:0;position:sticky;top:0;padding:0 16px 4px;width:100%;background:var(--paper);z-index:12}.viewer-caption,.drawing-note{display:none}.lens{width:calc(100vw - 32px);height:calc(100vw - 32px);max-width:none}.readings{margin:4px 4px 3px;transform:rotate(-1deg);padding:6px 9px 5px;gap:2px}.readings .note-title{display:none}.readings strong{font-size:20px}.readings>div>span{font-size:8px}.readings strong small{font-size:9px}.fold{width:12px;height:12px}.scene-column{order:1;height:300px;width:100%;flex:none}.scene-column h1{display:none}.teacher-scene{display:none}.view-controls{right:12px;bottom:9px;gap:5px}.view-controls button{font-size:10px;min-height:35px;padding:7px 12px}.renderer-label{left:12px;bottom:12px;max-width:115px;font-size:7px;line-height:1.4}.teacher-dialogue{order:2;position:relative;left:auto;bottom:auto;max-width:none;margin:0 12px 8px;padding:8px 10px;gap:8px;min-height:62px;border-radius:15px 17px 14px 18px}.teacher-dialogue:before{left:16px;top:-9px;bottom:auto;width:16px;transform:rotate(60deg)}.teacher-name{font-size:10px}.teacher-dialogue p{font-size:10px;max-width:none;flex:1;line-height:1.5}.teacher-dialogue button{font-size:10px;padding:7px 10px;min-height:42px}.control-drawer{margin:0 16px}.control-drawer>summary{font-size:10px;min-height:36px;padding:8px 0}.control-drawer>summary>span{font-size:8px}.bench{grid-template-columns:1fr;gap:15px}.focus-controls input{height:44px}.arrows button{min-width:48px}.teacher-dialogue:after{content:'';flex:none;width:0}footer{padding:8px 16px 15px;font-size:8px;flex-wrap:wrap;gap:8px}#status{font-size:10px;margin:0 16px 8px}}
@media(orientation:landscape) and (max-height:600px){header{height:36px}.workspace{display:grid;grid-template-columns:minmax(0,1fr) min(40vw,320px);min-height:0}.scene-column{height:calc(100vh - 95px)}.viewer{position:relative;order:0;padding:7px 16px 0 0;width:auto}.lens{width:min(35vw,calc(100vh - 120px));height:auto;margin:auto}.readings{max-width:280px;margin:7px auto 0;padding:7px}.note-title,.viewer-caption,.drawing-note,.teacher-scene,.scene-column h1{display:none}.teacher-dialogue{position:relative;grid-column:1/-1;left:auto;right:auto;bottom:auto;max-width:none;margin:0 16px 8px;padding:7px 12px;min-height:0}.teacher-dialogue p{max-width:none;flex:1}.teacher-dialogue:before{display:none}.control-drawer{margin:0 16px}.readings strong{font-size:18px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
@media(max-width:600px) and (orientation:portrait){.teacher-scene{display:block;height:105px;width:65px;left:18px;bottom:55px}}
.view-controls button,.teacher-dialogue button,header button{min-height:48px}.view-controls button{min-width:48px}.arrows button{min-height:48px}header{height:63px}
@media(max-width:600px) and (orientation:portrait){header{height:52px}header button{min-height:48px}.scene-column{height:290px}.teacher-scene{height:101.5px;bottom:63px}.view-controls{bottom:8px}.view-controls button{min-height:48px;padding:8px 12px}.teacher-dialogue{padding:5px 9px;min-height:62px}.teacher-dialogue button{min-height:48px}.teacher-dialogue p{font-size:10px}.teacher-name{font-size:9px}}
body,button,.teacher-dialogue,.readings{background-blend-mode:multiply}.viewer{z-index:40}

/* Clarity correction: one paper layer beneath ink, opaque image-backed base paints. */
body{background:#FFF4DC url('img/paper-paint.svg?v=2efa40ab91ad');color:#244F50}.scene-paper{display:none}body:after{display:none}
header,.viewer,.teacher-dialogue,button,.control-drawer,footer{background-color:#FFF4DC;background-image:url('img/paper-paint.svg?v=2efa40ab91ad');color:#244F50}
body:before{content:'';position:fixed;inset:0;pointer-events:none;background:url('img/paper10.svg?v=21aed8cb2222');z-index:-1}
.viewer{background:#FFF4DC url('img/paper-paint.svg?v=2efa40ab91ad');padding-bottom:105px}.lens{background:#FFF4DC url('img/paper-paint.svg?v=2efa40ab91ad')}
.readings{position:absolute;right:18px;top:350px;width:215px;margin:0;transform:rotate(-3deg);padding:18px 8px 9px;background:#FFD966 url('img/gold-paint.svg?v=6e1367535f33');color:#244F50;gap:3px}.readings strong{font-size:19px}.readings>div>span{font-size:8px}.readings strong small{font-size:9px}.drawing-note{margin-top:110px}.fold{background:#FFF4DC url('img/paper-paint.svg?v=2efa40ab91ad')}
@media(max-width:600px) and (orientation:portrait){.viewer{position:relative;top:auto;padding-bottom:92px}.lens{width:calc(100vw - 32px);height:calc(100vw - 32px)}.readings{top:calc(100vw - 24px);right:20px;width:215px;padding:10px 8px 8px}.scene-column{height:55vh;min-height:430px}.teacher-scene{height:35%;width:auto;left:12px;bottom:64px}.renderer-label{max-width:110px}.teacher-dialogue{margin-top:0}}
@media(prefers-color-scheme:dark){html,body,.viewer,.teacher-dialogue,header,button{color-scheme:only light;background-color:#FFF4DC;color:#244F50}.readings{background-color:#FFD966;color:#244F50}}

body{background-image:url('img/paper10.svg?v=21aed8cb2222'),url('img/paper-paint.svg?v=2efa40ab91ad')}body:before{display:none}.scene-paper{display:none}
.readings{padding:0;height:78px;border:0;background:none;display:block}.note-paint{display:block;width:215px;height:78px;overflow:visible}.note-paint text{fill:#244F50}.readings>div,.readings>.note-title,.readings>.fold{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}

.viewer{padding-bottom:0}.readings{top:300px;right:4px;width:180px;height:65px}.note-paint{width:180px;height:65px}.drawing-note{margin-top:38px}
@media(max-width:600px) and (orientation:portrait){.viewer{padding-bottom:4px}.readings{top:calc(100vw - 88px);right:16px;width:160px;height:58px}.note-paint{width:160px;height:58px}}

/* Lively paper edition: texture belongs to the3D wall/table, not UI or apparatus. */
body{background-image:url('img/paper-paint.svg?v=2efa40ab91ad')}.teacher-scene{left:9%;bottom:62px;height:40%;width:auto;aspect-ratio:948/1659}.teacher-scene #teacherArt{position:relative;z-index:2;width:100%;height:100%;display:block}.teacher-scene #teacherArm{position:absolute;z-index:1;left:49.04%;top:32.80%;width:54.27%;height:auto;transform-origin:10.71% 41.15%;transform:rotate(var(--point-angle,-20deg));max-width:none}
#resolutionDiagnostic{position:absolute;top:8px;left:10px;max-width:90%;font:10px/1.3 monospace;color:#244F50;background:#FFF4DC;padding:3px 5px;z-index:10;pointer-events:none;border:1px solid #c5b58f;border-radius:4px}.scene-column h1{top:35px}.title-glass{width:30px;height:30px;margin-right:8px;vertical-align:middle}
#sceneFeedback{position:absolute;inset:0;width:100%;height:100%;z-index:5;pointer-events:none;fill:none;stroke:#4B3A2E;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}#sceneFeedback [hidden]{display:none}#clearStar{fill:#FFD966;stroke:#4B3A2E}.teacher-dialogue{border-radius:28px 35px 26px 32px/27px 22px 32px 25px;border-width:1.5px;box-shadow:none}.teacher-dialogue:before{width:18px;height:18px;border:1.5px solid #4B3A2E;border-radius:50%;background:#FFF4DC;left:-12px;bottom:9px;transform:none}.teacher-dialogue:after{content:'';position:absolute;width:9px;height:9px;border:1.3px solid #4B3A2E;border-radius:50%;background:#FFF4DC;left:-24px;bottom:1px}
@media(max-width:600px) and (orientation:portrait){.teacher-scene{height:40%;left:7%;bottom:55px}.teacher-dialogue:before{left:15px;top:-11px;bottom:auto}.teacher-dialogue:after{left:10px;top:-22px;bottom:auto}.teacher-dialogue{margin-top:6px}#resolutionDiagnostic{font-size:8px;max-width:95%}}
/* Keep the left glass clip visible in the dedicated stage view. */
.workspace[data-view=stage] .teacher-scene{bottom:12px}

/* Mechanical revision: A-view teacher stands before the table, shoulder near stage. */
.workspace[data-view=table] .teacher-scene{height:75%;left:2%;bottom:12px}

.workspace[data-view=focus] .teacher-scene{height:28%;left:3%;bottom:8px}

/* Regression guard: body has a definite box; never show an unattached arm. */
.teacher-scene #teacherArt{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.teacher-scene #teacherArm[hidden]{display:none!important}
.hotspot:not(.is-cue) .cue-arrow{visibility:hidden}

#teacherFallback{position:absolute;z-index:3;left:0;top:40%;padding:6px;background:#FFF4DC;color:#244F50;font-size:12px}#teacherFallback[hidden]{display:none!important}

.control-label{display:none}.hotspot.focus-grip .cue-arrow{visibility:visible;width:34px;height:34px;margin:auto}.hotspot.focus-grip .control-label{display:block;font-size:10px;line-height:12px;color:#4B3A2E}.hotspot.focus-grip .cue-rays{display:none}

/* Operable controls: visible touch grips and a tap-only path, no canvas scroll lock. */
.hotspot .cue-arrow,.hotspot:not(.is-cue) .cue-arrow{visibility:visible;width:34px;height:34px;margin:auto}.hotspot .control-label{display:block;font-size:10px;line-height:12px;color:#4B3A2E}.hotspot:not(.is-cue) .cue-rays{display:none}
.focus-step-buttons{display:flex;gap:8px;margin:6px 0}.focus-step-buttons button{min-width:80px;min-height:48px}.mobile-control-title{display:none}.control-help{font-size:12px;margin:8px 0}.controls-link{display:flex;align-items:center;min-height:48px;padding:0 8px;color:#4B3A2E;font-size:11px;text-decoration:underline}
@media(max-width:600px){.control-drawer>summary{display:none}.mobile-control-title{display:block;font-size:16px;margin:12px 0 4px}.view-controls{gap:2px;right:6px}.view-controls button{padding:8px 9px}.controls-link{font-size:10px;padding:0 5px}.control-drawer{scroll-margin-top:12px}}

/* In-flow observation cards: no overlay, scroll interception or apparatus restyling. */
.course{margin:18px 24px;padding:16px 18px;border:1.6px solid #4B3A2E;border-radius:18px 22px 19px 16px;background:#FFF4DC;color:#244F50}.course-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.course-kicker{margin:0;font-size:11px}.course h2{font:600 20px/1.5 ZenMaru,NotoSansTC,sans-serif;margin:2px 0 10px}.course-progress{font-weight:700;white-space:nowrap}.course-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;list-style:none;margin:0 0 12px;padding:0}.course-cards button{width:100%;min-height:60px;padding:8px;border-radius:12px 15px 13px 16px}.course-cards .current button{background:#A8E0CF;border-width:2px}.course-cards .complete button{background:#FFF4DC;border-style:dashed}.course-panel h3{font:600 16px/1.5 ZenMaru,NotoSansTC,sans-serif;margin:8px 0}.course-panel p{margin:6px 0;font-size:13px;line-height:1.65}.course-panel button,.course-tools button,.course-tools a{min-height:44px}.course-actions,.course-tools{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.course-tools a{display:inline-flex;align-items:center;color:#244F50;padding:8px}.course-feedback,.course-evidence{padding:8px 10px;border-left:3px solid #E8C57A}.course-condition{color:#655344}.course button:disabled{opacity:.65}.course-panel h3:focus{outline:2px dashed #4B3A2E;outline-offset:3px}
@media(max-width:600px){.course{margin:10px 12px;padding:12px}.course h2{font-size:17px}.course-cards{gap:6px}.course-cards button{font-size:11px;min-height:62px}.course-panel p{font-size:12px}.course-tools button{font-size:11px}.course-progress{font-size:12px}}

.course-checklist{padding:8px 8px 8px 24px;margin:8px 0;border-left:3px solid #E8C57A;font-size:12px;line-height:1.7}.course-recovery button{min-height:44px}

/* Bounded notebook, normal document flow below the accepted controls. */
.notebook{margin:18px 24px;padding:16px 18px;border:1.6px solid #4B3A2E;border-radius:18px;background:#FFF4DC;color:#244F50;scroll-margin-top:12px}.notebook h2{font:600 20px/1.5 ZenMaru,NotoSansTC,sans-serif;margin:0 0 8px}.notebook h3{font-size:14px;margin:6px 0}.notebook p,.notebook label{font-size:12px;line-height:1.6;overflow-wrap:anywhere}.notebook-warning{border-left:3px solid #E8C57A;padding-left:10px}.notebook-actions,.notebook-confirm{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.notebook button,.notebook select{min-height:44px;max-width:100%;font:inherit;font-size:12px}.notebook-confirm p{flex-basis:100%}.notebook-pair{border-block:1px dashed #4B3A2E;padding:10px 0;margin:12px 0}.notebook-pair label{display:inline-flex;flex-direction:column;margin:4px 12px 4px 0;max-width:100%}.notebook-rows{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.notebook-rows li{min-width:0;border:1px solid #4B3A2E;border-radius:12px;padding:10px}.notebook button:disabled{opacity:.6}.notebook h2:focus{outline:2px dashed #4B3A2E}@media(max-width:600px){.notebook{margin:12px;padding:12px}.notebook-rows{grid-template-columns:1fr}.notebook h2{font-size:17px}.notebook select{width:100%}}

.specimen-switch,.cell-summary{margin:12px 24px;padding:12px;border:1.6px solid #4B3A2E;border-radius:14px;background:#FFF4DC;color:#244F50}.specimen-switch>div{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.specimen-switch button,.cell-summary summary{min-height:44px}.specimen-switch button[aria-pressed=true]{background:#A8E0CF}.specimen-switch p,.cell-summary p,.cell-checks,.cell-notice{font-size:12px;line-height:1.6}.cell-summary>div{display:grid;grid-template-columns:1fr 1fr;gap:16px}.cell-summary h3{font-size:14px}.cell-summary a{color:#244F50}.course[hidden]{display:none!important}#cellCourse .course-actions a{display:inline-flex;align-items:center;min-height:44px;color:#244F50}@media(max-width:600px){.specimen-switch,.cell-summary{margin:10px 12px}.specimen-switch button{font-size:12px}.cell-summary>div{grid-template-columns:1fr}}

.specimen-caption,.structure-caption{color:#244F50;font-size:12px;line-height:1.5;margin:3px 0;max-width:100%;overflow-wrap:anywhere}.specimen-caption{font-weight:700}.cell-answer-choices{flex-basis:100%;border:1px dashed #4B3A2E;padding:8px;display:flex;flex-wrap:wrap;gap:8px}.cell-answer-choices legend{font-size:12px;font-weight:700}

.cell-answer-choices{border:2px solid #4B3A2E;border-radius:12px;background:#FFF4DC;padding:12px}.cell-answer-choices legend{font-size:16px;padding:0 6px}.cell-question{flex-basis:100%;font-weight:700;font-size:14px!important}.cell-quiz-feedback{flex-basis:100%;border-top:1px dashed #4B3A2E;padding-top:8px;font-size:12px}

.instrument-switch,.illumination-controls,.stereo-controls,.instrument-summary{margin:12px 24px;padding:12px;border:1.6px solid #4B3A2E;border-radius:14px;background:#FFF4DC;color:#244F50}.instrument-switch button,.illumination-controls button,.stereo-controls button{min-height:44px;margin:4px}.instrument-switch p,.illumination-controls p,.stereo-controls p,.instrument-summary p{font-size:12px;line-height:1.6}.illumination-controls h2,.stereo-controls h2{font-size:16px}.illumination-controls input,.stereo-controls input{min-height:44px;max-width:100%}.aperture-buttons,.mirror-buttons{display:flex;flex-wrap:wrap;gap:4px}.instrument-summary>div{display:grid;grid-template-columns:1fr 1fr;gap:16px}.instrument-summary a{color:#244F50}.instrument-switch [aria-pressed=true],.aperture-buttons [aria-pressed=true]{background:#A8E0CF}.stereo-controls[hidden]{display:none!important}@media(max-width:600px){.instrument-switch,.illumination-controls,.stereo-controls,.instrument-summary{margin:10px 12px}.instrument-summary>div{grid-template-columns:1fr}}
.extra-grip{font-size:12px;font-weight:700;line-height:1.2;background:transparent;color:#4B3A2E;border:1px dashed #4B3A2E;border-radius:12px;min-width:48px;min-height:48px}.instrument-switch[hidden],.specimen-switch[hidden],.illumination-controls[hidden],.control-drawer[hidden]{display:none!important}
.extra-grip .control-label{position:static;display:inline;font-size:12px;transform:none;white-space:normal;color:inherit}
/* Five optical controls remain separate above the view bar on short landscape screens. */
@media(orientation:landscape) and (max-height:600px){.scene-column{height:max(430px,calc(100vh - 95px));min-height:430px}}
/* SVG has CSS width/height and predeclared touch-action; blank space hits canvas pan-y. */
.body-touch{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;pointer-events:none;touch-action:none;z-index:2}.body-touch path{pointer-events:fill;touch-action:none}
