/* 2026-09-21 외부 CDN 제거: Google Fonts → 로컬 woff2 */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/DMSans-latin-ext-0.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/DMSans-latin-1.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('fonts/DMSans-latin-ext-0.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('fonts/DMSans-latin-1.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('fonts/DMSans-latin-ext-0.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('fonts/DMSans-latin-1.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('fonts/DMSans-latin-ext-0.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('fonts/DMSans-latin-1.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'NanumSquareNeo';
  src: url('/font/NanumSquareNeo-Variable.woff2') format('woff2');
  font-weight: 300 900;
  font-style: normal;
  font-display: swap;
}
:root{--ink:#192529;--muted:#687479;--line:#dce1e2;--paper:#f4f6f5;--white:#fff;--yellow:#f4c64b;--green:#167b59;--ring:#a9b3b2;--accent:#236e57}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 'DM Sans','NanumSquareNeo',sans-serif}button,select,input{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.36;cursor:not-allowed}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #2687c8;outline-offset:4px}a{color:inherit;text-decoration:none}button{color:inherit}h1,h2,h3,p{margin:0}button{transition:background .18s,transform .18s}button:not(:disabled):active{transform:translateY(1px)}.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 4%;background:#192529;color:white;border-bottom:1px solid #344144}.wordmark{display:flex;gap:12px;align-items:center;font-size:16px;letter-spacing:1px}.wordmark b{color:var(--yellow);font-weight:600}.brand-mark{display:grid;place-items:center;width:40px;height:40px;border:1px solid #91a3a4;border-radius:50%;letter-spacing:-2px;font-size:15px}.topbar nav{display:flex;gap:32px;font-size:14px}.topbar nav a{color:#d1dada}.topbar nav a:hover{color:var(--yellow)}.edition{color:#9aafad;font-size:13px;letter-spacing:2px}main{max-width:1512px;padding:0 4%;margin:auto}.lab{padding-top:38px}.lab-title{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:30px}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:600;color:var(--muted)}h1{font-size:36px;letter-spacing:-1.8px;line-height:1.45;font-weight:800}.title-dot{color:#c18c17;padding-left:3px}.intro{color:var(--muted);font-size:14px}.stage-rail{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:22px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.stage-button{display:flex;align-items:center;gap:10px;padding:15px 8px;background:transparent;border:0;text-align:left;font-size:14px;position:relative;white-space:nowrap}.stage-button::after{position:absolute;content:'';bottom:-1px;left:0;right:0;height:3px;background:transparent}.stage-button[aria-current=step]::after{background:var(--ink)}.stage-button[aria-current=step]{font-weight:700}.stage-no{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}.stage-button.done .stage-no{color:var(--green)}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:22px;align-items:start}.visual-panel{background:white;border:1px solid var(--line);border-radius:18px;overflow:hidden}.board-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 24px 8px}.status-tag{font-size:14px;color:var(--muted)}.board-actions{display:flex;gap:8px}.button{border:1px solid #ccd4d4;background:white;border-radius:7px;padding:9px 15px;font-size:14px;font-weight:600;white-space:nowrap}.button:hover{background:#eff3f0}.button.dark{background:var(--ink);color:white;border-color:var(--ink)}.button.dark:hover{background:#34464b}.button.yellow{background:var(--yellow);border-color:var(--yellow);color:#28230f}.button.yellow:hover{background:#ffdb73}.button.icon{padding:9px 13px}.boards{display:grid;grid-template-columns:1fr 1.1fr;gap:8px;padding:16px 20px 0}.board{min-width:0}.board-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 6px}.board-head h2{font-size:16px;letter-spacing:-.4px}.board-head span{font-size:12px;color:var(--muted)}#cube,#rings{width:100%;display:block}#cube{cursor:grab;touch-action:pan-y}#cube.dragging{cursor:grabbing;touch-action:none}.view-presets{display:flex;justify-content:center;gap:6px}.view-presets button{border:0;border-radius:5px;background:transparent;color:var(--muted);font-size:12px;padding:6px 10px}.view-presets button[aria-pressed=true]{background:#edf1ef;color:var(--ink)}.graph-key{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:6px;font-size:12px;color:var(--muted)}.graph-key span{display:flex;gap:4px;align-items:center}.graph-key i{display:inline-block;width:9px;height:9px;border-radius:50%}.key-target{background:var(--yellow);border:2px solid var(--ink)}.key-stay{border:1px dashed var(--green)}.graph-key .key-path{border-top:2px solid var(--ink);width:13px;height:1px;border-radius:0}.manual-controls{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin:22px 24px 18px;padding:15px 0;border-top:1px solid #edf0ef;border-bottom:1px solid #edf0ef;font-size:13px;color:var(--muted)}.face-buttons{display:flex;gap:6px}.face-buttons button{min-width:33px;min-height:33px;border:1px solid #d6dddd;border-radius:5px;background:#fff;font-weight:600;font-size:14px}.face-buttons button:hover{border-color:var(--ink);background:#f4f6f5}.reverse{display:flex;align-items:center;gap:5px;margin-left:auto;font-size:12px}.reverse input{accent-color:var(--ink)}.playback{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:0 24px}.speed{margin-left:auto;display:flex;gap:6px;align-items:center;font-size:12px;color:var(--muted)}.speed select{border:0;background:transparent;padding:4px;font-size:12px;color:var(--ink)}.move-count{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}.timeline{display:flex;gap:6px;flex-wrap:wrap;margin:16px 24px;min-height:36px;align-items:center}.move-token{background:#f2f4f2;border:1px solid transparent;border-radius:5px;min-width:34px;padding:4px 6px;line-height:1.5;text-align:center;font-size:14px;font-weight:500}.move-token.current{background:var(--yellow);border-color:#d3a729}.move-token.past{color:#91a19a}.chart-title{display:flex;justify-content:space-between;margin:18px 24px 0;font-size:12px}.chart-title h3{font-size:13px;font-weight:500;color:var(--muted)}.chart-title span{font-variant-numeric:tabular-nums}.chart-title b{font-size:17px}#progress-chart{width:calc(100% - 40px);margin:0 20px;display:block;height:110px}.chart-note{margin:0 24px 22px;color:var(--muted);font-size:12px}.coach{padding:25px 26px;background:var(--ink);color:white;border-radius:18px}.coach-top{display:flex;justify-content:space-between;gap:8px;align-items:center}.coach-top .eyebrow{color:var(--yellow)}#method-label{font-size:11px;color:#b1c4c0}.coach h2{margin-top:16px;font-size:26px;letter-spacing:-1px;line-height:1.45}.coach-goal{margin-top:9px;font-size:15px;color:#d6e0de;line-height:1.75}.target-count{margin:22px 0 24px}.target-count>div:first-child{display:flex;justify-content:space-between;align-items:baseline;font-size:12px;color:#b0c1be}.target-count strong{color:var(--yellow);font-size:22px;font-weight:500}.count-track{height:4px;background:#43504e;margin-top:7px}.count-track span{height:100%;display:block;width:0;background:var(--yellow);transition:width .3s}.coach-section{margin-bottom:20px}.coach-section h3{font-size:13px;font-weight:600;color:#f3f7f4;margin-bottom:6px}.coach-section p{font-size:14px;color:#b7cac4;line-height:1.8}.formula-box{background:#26383b;border:1px solid #3f5152;padding:17px;border-radius:10px;margin-top:25px}.formula-label{display:flex;justify-content:space-between;font-size:11px;color:#a7bfba;gap:6px}.formula{font:500 19px/1.7 'DM Sans',sans-serif;letter-spacing:1px;color:#f2d77a;margin-top:12px;overflow-wrap:anywhere}.formula-box p{font-size:12px;color:#bdceca;margin:12px 0 15px}.formula-box .button{width:100%}.completion-check{margin-top:20px}.completion-check span{color:#adbfbb;font-size:12px}.completion-check p{font-size:13px;color:#e0e9e7;margin-top:3px}.fast-mode{border-top:1px solid #40504f;margin-top:22px;padding-top:18px}.fast-mode button{background:none;border:0;color:var(--yellow);font-size:13px;padding:0;text-align:left}.fast-mode p{font-size:11px;color:#92aca6;margin-top:5px}.notice{font-size:14px;padding:14px 2px;color:var(--green);min-height:48px}.notice.error{color:#b2332a}.notation{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;font-size:13px;color:var(--muted);padding:14px 0 30px;border-bottom:1px solid var(--line)}.notation b{font-weight:600;color:var(--ink)}.understand{padding:72px 0 40px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:35px}.section-heading h2,.read-graph h2{font-size:28px;letter-spacing:-1px;font-weight:700;margin-top:9px;line-height:1.55}.section-heading>p{font-size:14px;color:var(--muted)}.lesson-list{display:grid;grid-template-columns:1fr 1fr;gap:18px}.lesson{border-top:1px solid #bac5c1;padding:22px 0 12px;display:grid;grid-template-columns:42px 1fr;gap:14px}.lesson-num{font-size:24px;color:#8a9c97;line-height:1.6;font-weight:400}.lesson h3{font-size:19px;letter-spacing:-.4px}.lesson p{font-size:14px;line-height:1.9;color:var(--muted);margin-top:9px}.lesson .lesson-formula{margin-top:13px;background:#e9eeea;border-left:3px solid #809c8e;padding:9px 13px;font-family:'DM Sans',sans-serif;color:#294c3f;line-height:1.7;letter-spacing:.5px;word-break:keep-all}.lesson small{display:block;margin-top:9px;font-size:12px;color:var(--muted)}.read-graph{padding:48px 0 64px;display:grid;grid-template-columns:1fr 1.2fr;gap:10%;border-bottom:1px solid var(--line)}.read-graph>div>p{font-size:15px;line-height:1.9;color:var(--muted);margin-top:20px}.read-graph .eyebrow{margin-top:0;font-size:12px}.graph-explanation table{border-collapse:collapse;width:100%;font-size:14px;margin-top:12px}.graph-explanation th{text-align:left;background:#e4ebe5;padding:14px 16px;font-size:13px;font-weight:600}.graph-explanation td{padding:15px 16px;border-bottom:1px solid #d8dfdb;vertical-align:top}.graph-explanation>p{font-size:13px!important}.sources{padding:28px 0 36px;display:flex;flex-wrap:wrap;gap:12px 24px}.sources h2{width:100%;font-size:14px}.sources a{font-size:12px;color:#4e6d60;text-decoration:underline;text-underline-offset:3px}.sources p{width:100%;font-size:12px;color:var(--muted)}footer{padding:22px 4%;border-top:1px solid var(--line);display:flex;justify-content:space-between;color:var(--muted);font-size:12px}footer span:first-child{letter-spacing:1px}svg text{font-family:'DM Sans','NanumSquareNeo',sans-serif}svg{user-select:none}#progress-chart{cursor:crosshair}
@media(min-width:1600px){.workspace{grid-template-columns:minmax(0,1fr) 360px}.coach{padding:28px}}
@media(max-width:1150px){main{padding:0 3%}.workspace{grid-template-columns:minmax(0,1fr) 305px;gap:16px}.coach{padding:22px 20px}.board-head{flex-wrap:wrap;gap:0}.board-head span{width:100%}.boards{padding:14px 12px 0}.board-toolbar{padding:16px 16px 8px}.manual-controls{margin-left:16px;margin-right:16px;gap:10px}.playback{padding:0 16px}.speed{margin-left:0}.stage-button{gap:6px;font-size:12px}.board-actions .button{padding:8px 11px}.status-tag{font-size:12px}.intro{font-size:13px}}
@media(max-width:900px){.workspace{grid-template-columns:1fr}.coach{display:grid;grid-template-columns:1fr 1fr;gap:0 28px}.coach-top,.coach h2,.coach-goal{grid-column:1}.coach .target-count{grid-column:1}.coach-section{grid-column:1}.formula-box{grid-column:2;grid-row:2/6;align-self:start;margin-top:16px}.completion-check,.fast-mode{grid-column:2;margin-top:0;margin-bottom:18px}.coach .fast-mode{grid-row:7}.stage-rail{grid-template-columns:repeat(4,1fr)}.stage-button{font-size:13px}.boards{padding:20px}.board-head{flex-wrap:nowrap}.board-head span{width:auto}.section-heading{align-items:start;flex-direction:column;gap:14px}.read-graph{gap:5%}}
@media(max-width:600px){.topbar{height:64px;padding:0 18px}.wordmark{font-size:13px;gap:8px}.brand-mark{width:32px;height:32px;font-size:12px}.topbar nav{gap:13px;font-size:12px}.topbar nav a:first-child{display:none}.edition{display:none}main{padding:0 16px}.lab{padding-top:25px}.lab-title{display:block;margin-bottom:21px}h1{font-size:29px}.eyebrow{font-size:10px;letter-spacing:1.7px}.intro{margin-top:8px;font-size:13px}.intro br{display:none}.stage-rail{grid-template-columns:repeat(4,1fr);margin-bottom:16px}.stage-button{font-size:11px;padding:11px 3px;gap:5px;white-space:normal}.stage-no{font-size:10px}.board-toolbar{align-items:start;flex-wrap:wrap;padding:16px}.status-tag{width:100%;font-size:12px}.board-actions{width:100%;justify-content:space-between}.boards{grid-template-columns:1fr;padding:10px 18px 0;gap:24px}.board-head h2{font-size:16px}.board-head span{font-size:12px}.manual-controls{font-size:12px;gap:9px}.face-buttons{gap:5px}.face-buttons button{min-width:36px;min-height:40px}.manual-controls>span{width:100%}.reverse{margin-left:0}.playback{gap:7px}.playback .button{padding:10px 11px;font-size:13px}.speed{margin-top:6px}.move-count{margin-left:auto}.timeline{margin:15px 16px}.chart-title{margin-left:16px;margin-right:16px}.chart-note{margin:0 16px 18px;font-size:11px}.coach{display:block;padding:24px}.coach h2{font-size:26px}.coach-section p,.coach-goal{font-size:15px}.formula-box{margin-top:22px}.completion-check{margin-top:20px}.fast-mode{margin-top:20px}.notation{gap:8px 14px;font-size:12px}.notation b{width:100%}.notice{font-size:13px}.understand{padding-top:48px}.section-heading h2,.read-graph h2{font-size:24px}.section-heading>p{font-size:14px}.lesson-list{grid-template-columns:1fr;gap:8px}.lesson{grid-template-columns:32px 1fr;gap:12px;padding-top:18px}.lesson p{font-size:15px}.read-graph{grid-template-columns:1fr;gap:28px;padding:35px 0}.read-graph h2 br{display:none}.graph-explanation table{font-size:13px}.graph-explanation td,.graph-explanation th{padding:12px 10px}.sources{gap:12px}.sources a{font-size:12px}footer{font-size:10px;gap:10px}.button{min-height:40px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
/* Keep learning controls legible at every width. */
.stage-button{font-size:14px}.coach-goal,.coach-section p{font-size:15px}.lesson p{font-size:16px}
@media(max-width:600px){.stage-rail{grid-template-columns:repeat(3,1fr)}.stage-button{font-size:14px;padding:12px 5px}.stage-no{font-size:12px}.coach-goal,.coach-section p{font-size:16px}.manual-controls,.reverse{font-size:13px}.face-buttons button{min-width:38px;min-height:42px}}

/* The explanation lives beside the action it describes. */
.move-guide{margin:24px;padding:22px;background:#f5f8f5;border:1px solid #d5dfd9;border-radius:12px}.move-guide-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.move-guide h3{font-size:19px;line-height:1.5;margin-top:5px;letter-spacing:-.5px}.move-badge{display:grid;place-items:center;min-width:58px;height:58px;border-radius:12px;background:var(--yellow);font-size:26px;font-weight:700}.turn-explainer{display:grid;grid-template-columns:150px minmax(0,1fr);gap:22px;align-items:center;margin-top:18px}.turn-face{width:150px;min-height:150px;display:grid;place-items:center}.turn-face svg{width:100%;height:auto;display:block}.move-instruction{font-size:18px;font-weight:600;line-height:1.7;word-break:keep-all}.move-cue{font-size:14px;color:#66786f;margin-top:7px}.step-buttons{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.step-buttons .button{font-size:15px;min-height:44px}.guide-done{font-size:64px;color:#287956}.move-comparison{display:grid;grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr);align-items:center;gap:12px;margin-top:22px;padding-top:20px;border-top:1px solid #d7e0da}.move-comparison figure{margin:0;min-width:0}.move-comparison figcaption{font-size:14px;font-weight:600;text-align:center;margin-bottom:7px}.move-comparison svg{display:block;max-width:290px;width:100%;margin:auto}.comparison-arrow{font-size:26px;color:#62796c;text-align:center}.diagram-note{font-size:14px;color:#607468;line-height:1.75;margin-top:10px}.stage-playback{display:flex;flex-wrap:wrap;gap:8px;border-top:1px solid #d7e0da;padding-top:18px;margin-top:18px}.stage-playback .button{font-size:14px;min-height:42px}.manual-details{margin:16px 24px;border:1px solid #dce3de;border-radius:8px;padding:12px 15px;font-size:14px}.manual-details summary{cursor:pointer;color:#5a6d62}.manual-details .manual-controls{margin:12px 0 0;padding:0;border:0}.goal-diagram{background:#f5f8f5;color:var(--ink);border-radius:10px;padding:16px;margin:20px 0}.goal-diagram h3{font-size:16px}.goal-diagram svg{width:100%;max-width:300px;display:block;margin:auto}.goal-diagram p{font-size:13px;line-height:1.8;color:#5b7063}.coach-section p{font-size:16px}.lesson-list{gap:24px}.lesson{display:block;background:white;border:1px solid var(--line);border-radius:14px;padding:24px}.lesson header{display:flex;align-items:center;gap:14px}.lesson-num{color:#758a80;font-size:22px}.lesson h3{font-size:21px}.lesson-body{display:grid;grid-template-columns:minmax(140px,1fr) minmax(0,1.25fr);gap:22px;align-items:center;margin-top:18px}.lesson-goal{margin:0;min-width:0}.lesson-goal svg{display:block;width:100%;max-width:296px;margin:auto}.lesson-goal figcaption{font-size:13px;color:#63796a;line-height:1.6;text-align:center;margin-top:8px}.lesson-copy p{font-size:16px;margin:0;line-height:1.8;word-break:keep-all}.lesson-copy .lesson-caption{font-weight:600;color:var(--ink);margin-bottom:12px}.lesson-copy button{font-size:14px;white-space:normal;margin-top:18px;text-align:left;min-height:44px}.lesson small{font-size:13px;line-height:1.7}.lesson:last-child{grid-column:1/-1;max-width:none}.lesson:last-child .lesson-body{grid-template-columns:minmax(150px,296px) minmax(0,1fr);gap:32px}.speed,.speed select,.move-count{font-size:14px}.coach{position:sticky;top:16px}.formula-box p,.completion-check p{font-size:14px}.formula-label{font-size:13px}
@media(max-width:1200px){.lesson-body{grid-template-columns:1fr;gap:18px}.lesson-goal svg{max-width:260px}.turn-explainer{grid-template-columns:120px minmax(0,1fr);gap:16px}.turn-face{width:120px;min-height:120px}.move-guide{padding:18px}.step-buttons .button{font-size:14px;padding:8px 10px}}
@media(max-width:900px){.coach{position:static;display:block}.goal-diagram{float:right;width:43%;margin:0 0 20px 25px}.coach-top,.coach h2,.coach-goal{max-width:100%}.formula-box,.completion-check,.fast-mode{clear:both}.turn-explainer{grid-template-columns:150px minmax(0,1fr)}.turn-face{width:150px}.lesson:last-child .lesson-body{grid-template-columns:minmax(150px,260px) minmax(0,1fr)}}
@media(max-width:600px){.move-guide{margin:20px 12px;padding:16px 12px}.move-guide h3{font-size:17px}.move-badge{min-width:46px;height:46px;font-size:23px}.move-guide .eyebrow{font-size:12px}.turn-explainer{grid-template-columns:94px minmax(0,1fr);gap:10px;align-items:start}.turn-face{width:94px;min-height:94px}.move-instruction{font-size:16px}.move-cue{font-size:14px}.step-buttons{margin-left:-104px;padding-top:12px;justify-content:center}.step-buttons .button{font-size:15px}.move-comparison{grid-template-columns:1fr;gap:12px}.move-comparison svg{max-width:280px}.comparison-arrow{transform:rotate(90deg);line-height:1}.diagram-note{font-size:14px}.stage-playback{justify-content:center}.goal-diagram{float:none;width:auto;margin:20px 0}.goal-diagram p{font-size:14px}.lesson{padding:20px 18px}.lesson-body,.lesson:last-child .lesson-body{grid-template-columns:1fr;gap:20px}.lesson h3{font-size:20px}.lesson:last-child{grid-column:auto}.manual-details{margin:16px}.coach{padding:22px}.playback{gap:12px}}
.visual-panel{overflow:visible}.boards{position:sticky;top:0;z-index:4;background:white;padding-bottom:14px;border-bottom:1px solid #e8ede9}.move-guide{scroll-margin-top:360px}
@media(max-width:600px){.boards{grid-template-columns:1fr 1fr;gap:8px;padding:12px 8px}.board-head{display:block;padding:0 4px}.board-head h2{font-size:14px}.board-head span{display:none}.view-presets{gap:0;flex-wrap:wrap}.view-presets button{font-size:12px;padding:5px 6px}.graph-key{display:none}.move-guide{scroll-margin-top:230px}}
