:root{color-scheme:only light;--ink:#233c41;--muted:#556e73;--teal:#176e69;--paper:#fbfcf9;--border:#c8d9cf;font-family:system-ui,"Malgun Gothic",sans-serif;background:#edf2ee;color:var(--ink)}
*{box-sizing:border-box}body{margin:0;height:100vh;height:100dvh;min-height:560px;display:flex;flex-direction:column}button,select,a{font:inherit}button,select,a.home{min-height:48px;border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--ink);padding:9px 14px}button{cursor:pointer;font-weight:700;touch-action:manipulation}button:hover:enabled{background:#e8f2ec}button:disabled{cursor:default;color:#6c7c72;background:#e7ede8}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #965117;outline-offset:3px}.primary{background:var(--teal);color:#fff;border-color:var(--teal)}button.primary:hover:enabled{background:#0b5854}.primary:disabled{background:#d5e3da;color:#536b5c}
.topbar{min-height:50px;flex-shrink:0;padding:8px 24px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #d4dfd9;background:#fff}.identity{display:flex;align-items:center;gap:10px;white-space:nowrap}h1{font-size:21px;margin:0;letter-spacing:-.7px}.brand{background:#176e69;color:white;font-size:27px;border-radius:9px;line-height:32px;width:32px;text-align:center}.prototype{font-size:12px;color:#5f766d;border-left:1px solid #d5dfd9;padding-left:10px}.current-activity{margin:0;font-size:15px;color:#40655b;font-weight:700}
main{width:100%;max-width:1640px;margin:0 auto;padding:10px 24px 0;flex:1;min-height:0;display:flex;flex-direction:column}.question{display:flex;align-items:center;gap:16px;flex-shrink:0;min-height:86px;margin:0 4px 10px}.major{min-width:53px;min-height:53px;display:grid;place-items:center;border-radius:15px;background:#dcebe1;color:#225e4c;font-size:26px;font-weight:750}.eyebrow{margin:0 0 4px;font-size:14px;color:var(--teal);font-weight:750}h2{font-size:clamp(21px,1.7vw,28px);margin:0 0 5px;letter-spacing:-.6px}#note{font-size:16px;margin:0;color:var(--muted);line-height:1.4}.board-wrap{background:var(--paper);border:1px solid #ccdcd3;border-radius:16px;box-shadow:0 4px 18px #1f554408;flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}#board{display:block;width:100%;height:0;min-height:0;flex:1 1 0}.legend{display:flex;justify-content:center;gap:25px;font-size:12px;color:#52686d;padding:0 8px 9px;flex-shrink:0}.legend span:before{content:"";display:inline-block;vertical-align:middle;width:22px;margin-right:7px;border-top:2px solid #34474c}.legend .aux:before{border-top:2px dashed #527e95}.legend .result:before{border-top:4px solid #b23c38}.notice{min-height:20px;font-size:13px;margin:4px 4px 0;color:#8a382b;flex-shrink:0}
.dock{flex-shrink:0;width:100%;padding:9px max(20px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));border-top:1px solid #c8d9ce;background:#e7eee7;display:flex;flex-direction:column;gap:9px}.preferences,.transport{width:100%;max-width:1592px;margin:0 auto}.preferences{display:flex;gap:12px;align-items:center}.activities{display:flex;gap:8px;align-items:center}.activities button{min-width:106px;white-space:nowrap}.activities button[aria-pressed=true]{color:white;background:var(--teal);border-color:var(--teal)}.motion-choice{display:flex;gap:12px;align-items:center;min-height:54px;padding:7px 15px;background:#fff;border:1px solid var(--border);border-radius:11px;cursor:pointer;touch-action:manipulation}.motion-choice:has(input:checked){background:#e2eee4;border-color:#4d7a5c}.motion-choice input{width:24px;height:24px;flex-shrink:0;accent-color:var(--teal);margin:0}.motion-choice strong{font-size:16px;display:block}.motion-choice small{display:block;font-size:12px;color:#536b60;margin-top:2px}.menu-toggle{margin-left:auto;white-space:nowrap}.home{display:flex;align-items:center;justify-content:center;text-decoration:none;white-space:nowrap;color:#2b5d58!important;font-size:14px}
.transport{display:grid;grid-template-columns:minmax(220px,1fr) minmax(260px,1.35fr) minmax(220px,1fr);gap:16px;align-items:center}.nav-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.nav{font-size:22px;min-height:64px;white-space:nowrap;padding:10px 14px}.playback{text-align:center}.stage-status{display:flex;justify-content:center;gap:12px;font-size:14px;min-height:20px;margin-bottom:7px}#counter{color:#1c5f55;font-variant-numeric:tabular-nums}#state{color:#4d6557}.secondary{display:flex;justify-content:center;gap:8px}.secondary button{min-height:48px;font-size:14px;padding:8px 11px;white-space:nowrap}#pause:not(:disabled){background:#fff1dd;color:#69400f;border-color:#cfaa6b}
.bottom-sheet{position:fixed;inset:auto 0 max(12px,env(safe-area-inset-bottom));margin:0 auto;width:min(900px,calc(100vw - 32px));max-height:76dvh;border:1px solid #b8cec0;border-radius:18px;padding:0;color:var(--ink);box-shadow:0 20px 80px #18392d40;overflow:hidden}.bottom-sheet[open]{display:flex;flex-direction:column}.bottom-sheet::backdrop{background:#173a355c}.sheet-content{overflow:auto;padding:22px 24px 12px;min-height:0}.sheet-content h2{font-size:24px;margin:0 0 12px}.sheet-content p{font-size:17px;line-height:1.6;margin:10px 0}.sheet-content .subtle{font-size:14px;color:#536b60}.sheet-actions{flex-shrink:0;display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:16px 20px;background:#e7eee7;border-top:1px solid #c8d9ce}.sheet-actions button,.sheet-actions select{min-height:54px;font-size:17px}.speed-choice{display:flex;gap:10px;align-items:center;font-size:15px}.close-button{margin-left:auto;min-width:90px}.fs-actions{justify-content:flex-end}.sheet-activities button{min-width:115px}
@media(min-width:701px) and (max-height:650px){.topbar{min-height:42px;padding:5px 18px}.brand{line-height:28px;width:28px;font-size:24px}h1{font-size:19px}main{padding:6px 18px 0}.question{min-height:72px;margin-bottom:6px;gap:12px}.major{min-width:44px;min-height:44px;font-size:23px}h2{font-size:22px}#note{font-size:15px}.legend{padding-bottom:6px}.notice{min-height:18px;margin-top:3px}.dock{padding-top:7px;padding-bottom:max(8px,env(safe-area-inset-bottom));gap:7px}.stage-status{margin-bottom:4px;font-size:13px}.nav{min-height:62px}.preferences{gap:10px}.motion-choice{min-height:52px;padding:6px 12px}.transport{gap:12px}.secondary button{font-size:13px;padding:8px 9px}.sheet-content{padding-top:16px}.sheet-content p{font-size:16px}}
@media(max-width:1000px) and (min-width:701px){.dock{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}.transport{grid-template-columns:minmax(200px,1fr) minmax(240px,1.2fr) minmax(200px,1fr);gap:12px}.nav-pair{gap:10px}.nav{font-size:20px;padding:9px 10px}.activities button{min-width:98px;padding:9px 10px}.motion-choice{gap:9px;padding:7px 10px}.motion-choice strong{font-size:15px}.motion-choice small{font-size:11px}.home{font-size:13px;padding:8px 10px}.menu-toggle{padding:9px 11px}}
@media(max-width:700px){body{min-height:560px}.topbar{padding:8px 12px;min-height:46px}h1{font-size:19px}.brand{font-size:24px;width:29px;line-height:29px}.prototype{display:none}.current-activity{font-size:13px}main{overflow:auto;padding:8px 12px 0;display:block}.question{gap:10px;align-items:flex-start;min-height:0;padding-top:4px;margin:0 0 12px}.major{min-width:42px;min-height:42px;font-size:21px;border-radius:12px}h2{font-size:21px;line-height:1.3}#note{font-size:15px}.eyebrow{font-size:13px}.board-wrap{min-height:0;overflow:hidden;display:block}#board{height:auto;aspect-ratio:550/900;width:100%;display:block}.legend{font-size:11px;gap:12px;padding:2px 5px 11px}.notice{font-size:12px;min-height:16px;margin:5px 0}
.dock{padding:8px max(12px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));gap:6px}.preferences{display:grid;grid-template-columns:1fr auto;gap:6px 10px}.activities-main{display:none}.motion-choice{min-height:50px;padding:6px 10px;gap:10px}.motion-choice strong{font-size:15px}.motion-choice small{font-size:11px}.menu-toggle{margin:0;font-size:14px;min-height:50px;padding:8px 10px}.home{grid-column:1/-1;justify-self:end;font-size:12px;min-height:40px!important;padding:5px 10px!important}.transport{grid-template-columns:1fr 1fr;gap:8px 12px}.playback{grid-row:1;grid-column:1/-1}.nav-pair{grid-row:2;gap:8px}.left{grid-column:1}.right{grid-column:2}.nav{font-size:17px;min-height:60px;padding:8px 6px}.stage-status{font-size:12px;margin-bottom:5px;gap:9px}.secondary{gap:8px}.secondary button{min-height:44px;font-size:13px;padding:7px 13px}
.bottom-sheet{width:calc(100vw - 20px);bottom:max(10px,env(safe-area-inset-bottom));max-height:84dvh;border-radius:15px}.sheet-content{padding:17px 16px 8px}.sheet-content h2{font-size:22px}.sheet-content p{font-size:15px}.sheet-actions{padding:12px;gap:10px}.sheet-activities{width:100%}.sheet-activities button{flex:1;min-width:0;font-size:16px}.speed-choice{flex:1}.speed-choice select{flex:1;min-width:0;font-size:16px}.sheet-actions button{min-height:52px;font-size:16px}.close-button{margin-left:0;min-width:74px}.fs-actions button{flex:1}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}
@media(forced-colors:active){.activities button[aria-pressed=true],.primary{border:3px solid ButtonText}.motion-choice{border:1px solid ButtonText}.board-wrap{border:1px solid CanvasText}.major{border:1px solid CanvasText}svg .aux-line{stroke-dasharray:6 5}}

svg text{font-family:system-ui,"Malgun Gothic",sans-serif;fill:#263f43;font-size:22px}svg .panel-title{font-size:18px;fill:#60766a;font-weight:650}svg .point-label{font-family:Georgia,serif;font-style:italic;font-size:24px;paint-order:stroke;stroke:var(--paper);stroke-width:6px;stroke-linejoin:round}svg .given-line{stroke:#34474c;stroke-width:2.6;fill:none}svg .aux-line{stroke:#527e95;stroke-width:2.2;stroke-dasharray:6 5;fill:none}svg .new-arc{stroke:#087a76;stroke-width:3.3;fill:none}svg .final-line{stroke:#b23c38;stroke-width:3.8;fill:none}svg .equality{stroke:#9d5924;stroke-width:2.8;stroke-dasharray:3 5;fill:none}svg .point{fill:#263f43}svg .tool-shadow{stroke:#fff;stroke-width:12px;stroke-linecap:round;opacity:.7}svg .leg-pin{stroke:#647a88;stroke-width:8px;stroke-linecap:round}svg .leg-pencil{stroke:#427866;stroke-width:10px;stroke-linecap:round}svg .hinge{fill:#c3d3cf;stroke:#365c55;stroke-width:2}svg .tool-handle{stroke:#365c55;stroke-width:7;stroke-linecap:round}

/* 004: fixed activity cameras; larger labels; eight low-position activities. */
main{max-width:none;padding:6px 20px 0}.topbar{min-height:42px;padding:5px 20px}.question{min-height:72px;margin-bottom:6px;gap:12px}.major{min-width:45px;min-height:45px;font-size:24px}#note{font-size:16px}.legend{padding-bottom:5px}.notice{min-height:17px;margin-top:2px}.dock{padding-top:7px;gap:7px}.activity-strip{width:100%;max-width:1760px;margin:0 auto;display:grid;grid-template-columns:repeat(4,minmax(145px,1fr));gap:12px;overflow-x:auto;padding:1px 0 2px}.activity-group{padding:0 8px;border-right:1px solid #c4d4c9}.activity-group:last-child{border-right:0}.activity-group>span{font-size:12px;font-weight:750;display:block;margin-bottom:4px;color:#456052}.activity-group>div{display:flex;gap:8px}.activity-group button{flex:1;min-height:43px;padding:7px 12px;font-size:16px}.activity-group button[aria-pressed=true]{background:var(--teal);color:white;border-color:var(--teal)}.preferences,.transport{max-width:1760px}.motion-choice{min-height:48px;padding:5px 13px}.motion-choice small{display:inline;margin-left:8px}.motion-choice strong{display:inline}.preferences>button,.preferences>a.home{min-height:46px}.nav[data-next-activity=true]{font-size:16px;white-space:normal;line-height:1.2}svg .point-label{font-size:28px}svg .panel-label{font-size:22px;fill:#60766a;font-weight:650}svg .length-label{font-size:29px;font-family:Georgia,serif;font-style:italic;paint-order:stroke;stroke:var(--paper);stroke-width:5px}svg .guide-line{stroke:#7c8e86;stroke-width:2;stroke-dasharray:4 5;fill:none}svg .active-arc-line{stroke:#087a76;stroke-width:3.4;fill:none}svg .result-line{stroke:#b23c38;stroke-width:4;fill:none}
@media(max-width:1000px) and (min-width:701px){.dock{gap:6px}.activity-strip{gap:8px}.activity-group{padding:0 5px}.activity-group button{min-height:42px}.preferences{gap:10px}.motion-choice small{font-size:11px}.transport{grid-template-columns:minmax(205px,1fr) minmax(230px,1.1fr) minmax(205px,1fr)}.secondary button{font-size:13px;padding:7px 9px}}
@media(max-width:700px){main{padding:6px 10px 0}.question{min-height:0;margin-bottom:8px}.activity-strip{grid-template-columns:repeat(4,156px);gap:8px;padding-bottom:5px}.activity-group{padding:0 3px}.activity-group>span{font-size:11px}.activity-group button{font-size:15px;padding:7px 8px;min-height:42px}.preferences{display:flex;flex-wrap:wrap;gap:6px 8px}.motion-choice{flex:1;min-height:48px}.motion-choice strong{display:block}.motion-choice small{display:block;margin:1px 0 0}.home{margin-left:auto;min-height:34px!important;padding:3px 8px!important}.preferences .menu-toggle{min-height:48px}.dock{gap:5px}.transport{gap:5px 12px}.stage-status{margin-bottom:4px}.secondary button{min-height:40px}.nav{min-height:60px}.nav[data-next-activity=true]{font-size:12px}}

svg .equality-line{stroke:#9d5924;stroke-width:3;stroke-dasharray:3 5;fill:none}

.canvas-scroll{flex:1 1 0;min-height:0;overflow:auto;overscroll-behavior:contain}.canvas-scroll>#board{display:block;flex:none;max-width:none}svg[data-type=triangle] .point-label{font-size:34px}svg[data-type=triangle] .length-label{font-size:34px}.zoom-controls{display:flex;gap:8px}.zoom-controls button{min-height:46px;white-space:nowrap;font-size:14px}
@media(max-width:1000px) and (min-width:701px){.motion-choice small{display:none}.zoom-controls button{padding:7px 9px;font-size:13px}.preferences{gap:8px}}
@media(max-width:700px){.canvas-scroll{height:auto;overflow:auto}.canvas-scroll>#board{height:auto!important}.zoom-controls{order:2}.zoom-controls button{min-height:42px;font-size:12px;padding:6px 10px}.preferences .home{order:3}.preferences{gap:5px 8px}}

svg .faint-line{stroke:#879994;stroke-width:1.7;stroke-dasharray:3 6;opacity:.35;fill:none}

/* 005: two compact information rows, no upper interactive controls. */
.lesson-heading{flex-shrink:0;padding:8px 20px 7px;border-bottom:1px solid #d4dfd9;background:#fff}
.heading-context{display:flex;gap:12px;align-items:baseline;min-height:23px;flex-wrap:wrap;line-height:1.3}
.heading-context h1{font-size:18px;letter-spacing:-.4px}.heading-context .current-activity{font-size:15px}
.stage-label{display:inline-flex;gap:7px;align-items:baseline;font-size:15px;color:#4b6257;flex-wrap:wrap}.stage-major{font-weight:750;color:#176e69}
.heading-instruction{display:flex;align-items:baseline;gap:6px 14px;flex-wrap:wrap;margin-top:3px}
.heading-instruction .compact-question{font-size:21px;line-height:1.3;margin:0;letter-spacing:-.4px}
.heading-instruction #note{font-size:15px;line-height:1.4;margin:0;color:#4f675b}
main{padding-top:5px}.main-speed{margin-left:auto;white-space:nowrap;gap:8px}.main-speed select{min-height:46px;font-size:15px;padding:7px 10px}.main-fullscreen{white-space:nowrap;font-size:15px}.preferences{gap:10px}
@media(max-width:1000px) and (min-width:701px){.lesson-heading{padding:7px 18px 6px}.heading-context{gap:10px}.heading-context h1{font-size:17px}.heading-instruction .compact-question{font-size:20px}.heading-instruction #note{font-size:15px}.main-speed{font-size:14px;gap:6px}.main-speed select{font-size:14px;padding:7px 8px;max-width:132px}.main-fullscreen{font-size:14px;padding:8px 10px}.preferences{gap:8px}}
@media(max-width:700px){.lesson-heading{padding:8px 12px}.heading-context{gap:4px 10px}.heading-context h1{font-size:17px}.heading-context .current-activity{font-size:14px}.stage-label{font-size:13px}.heading-instruction{gap:4px}.heading-instruction .compact-question{font-size:20px;line-height:1.35}.heading-instruction #note{font-size:14px}.preferences{gap:6px 8px}.main-speed{margin-left:0;flex:1;font-size:13px;gap:6px;order:1}.main-speed select{flex:1;min-width:0;min-height:44px}.main-fullscreen{order:1;min-height:44px!important;font-size:14px}.preferences .motion-choice{order:0;flex:1}.zoom-controls{order:0}.preferences .home{order:2}.preferences .zoom-controls{order:0}.zoom-controls button{font-size:12px}.motion-choice small{display:none}.motion-choice strong{font-size:14px}}
