:root{--bg:#1b1b2f;--surface:#25253f;--surface-2:#2d2d4c;--line:#3f3f66;--text:#eee;--text-2:#cfcde3;--muted:#b7b4cf;--green:#3fcf7a;--green-light:#8ff0a0;--green-pale:#c9ffd0;--purple:#7a3fc2;--purple-dark:#55299a;--purple-light:#c9b3f2;--gold:#ffd84a;--pink:#ff5fa2;--line-strong:#6e6eaa;--line-soft:#34345a;--track:#3a3a5c;--on-purple:#e6dbf7;--fill-pass:#3fcf7a29;--fill-ref:#7a3fc238;--fill-sel:#eeeeee14;--font-wordmark:"Pixelify Sans", ui-monospace, monospace;--font-display:"Space Grotesk", system-ui, sans-serif;--font-body:Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", Consolas, monospace;--radius:6px;--radius-card:10px;--header-h:65px;color-scheme:dark;font-family:var(--font-body);color:var(--text);background:var(--bg);font-size:16px;line-height:1.5}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);overflow-wrap:break-word;flex-direction:column;min-height:100vh;margin:0;display:flex}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.01em;font-weight:700;line-height:1.15}a{color:var(--green-light)}a:hover{color:var(--green-pale)}:focus-visible{outline:2px solid var(--gold);outline-offset:2px}button,summary,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit}code,kbd,pre{font-family:var(--font-mono);font-variant-ligatures:none}code{color:var(--green-light);background:var(--surface-2);overflow-wrap:anywhere;border-radius:4px;padding:1px 6px;font-size:.9em}kbd{color:var(--text);background:var(--surface-2);border:1px solid var(--line-strong);white-space:nowrap;border-radius:4px;padding:1px 6px;font-size:.85em}kbd.reserved{text-decoration:underline dotted var(--gold);text-underline-offset:3px;cursor:help}strong{font-weight:600}.muted{color:var(--muted)}.small{font-size:13px}@media not ((hover:none) and (pointer:coarse)){.touch-only{display:none!important}}@media (hover:none) and (pointer:coarse){.kbd-only{display:none!important}body .formula-bar input,body .cell-editor{font-size:16px}}.btn,.actions button,.key-row button{border-radius:var(--radius);border:1px solid var(--line-strong);min-height:44px;color:var(--text);box-shadow:none;background:0 0;justify-content:center;align-items:center;gap:6px;padding:0 18px;font-weight:500;text-decoration:none;display:inline-flex}.btn:hover,.actions button:hover{background:var(--surface-2);color:var(--text)}.btn-primary,.actions button.primary{background:var(--green);border-color:var(--green);color:var(--bg);font-weight:700}.btn-primary:hover,.actions button.primary:hover{background:var(--green-light);border-color:var(--green-light);color:var(--bg)}.btn-login{background:var(--purple);border-color:var(--purple);color:var(--text);font-weight:700}.btn-login:hover{background:var(--purple-dark);border-color:var(--purple-dark);color:var(--text)}.btn-lg{min-height:52px;padding:0 22px;font-size:17px}.actions button.ghost{color:var(--muted);border-color:#0000}.actions button.ghost:hover{color:var(--text);background:0 0;text-decoration:underline}button.link{color:var(--green-light);font-size:inherit;background:0 0;border:0;min-height:0;padding:0;text-decoration:underline}.site-header{z-index:20;background:var(--bg);border-bottom:1px solid var(--line-soft);position:sticky;top:0}.header-inner{max-width:1280px;min-height:var(--header-h);justify-content:space-between;align-items:center;gap:16px;margin:0 auto;padding:12px 24px;display:flex}.brand{color:var(--text);flex-shrink:0;align-items:center;gap:10px;text-decoration:none;display:flex}.brand:hover{color:var(--text)}.brand svg{display:block}.wordmark{font-family:var(--font-wordmark);letter-spacing:.02em;font-size:22px;font-weight:700;line-height:1}.wordmark span{color:var(--green)}.main-nav{align-items:center;gap:22px;font-size:15px;display:flex}.main-nav>a:not(.btn){color:var(--text-2);text-decoration:none}.main-nav>a:not(.btn):hover{color:var(--text)}.phone-login{display:none}@media (width<=359px){.site-header .header-inner{gap:8px;padding:8px 12px}.brand{gap:6px}.header-inner .wordmark{font-size:16px}.header-inner .phone-login{padding:0 10px}}.menu{display:none;position:relative}.menu summary{border:1px solid var(--line-strong);background:var(--surface);cursor:pointer;border-radius:8px;place-items:center;width:44px;height:44px;list-style:none;display:grid}.menu summary::-webkit-details-marker{display:none}.menu[open] summary{background:var(--surface-2)}.menu-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);flex-direction:column;gap:4px;width:min(320px,100vw - 32px);padding:8px;display:flex;position:absolute;top:52px;right:0;box-shadow:0 16px 40px #00000073}.menu-panel>a{color:var(--text);border-radius:var(--radius);min-height:44px;padding:12px;text-decoration:none}.menu-panel>a:hover{background:var(--surface-2);color:var(--text)}.menu-panel .top-controls{border-top:1px solid var(--line);justify-content:space-between;margin-top:4px;padding:12px}.top-controls{align-items:center;gap:14px;display:flex}.segmented{border:1px solid var(--line-strong);border-radius:var(--radius);display:inline-flex;overflow:hidden}.segmented button{color:var(--text-2);background:0 0;border:0;min-height:34px;padding:6px 12px;font-size:13px}.segmented button+button{border-left:1px solid var(--line-strong)}.segmented button.on{background:var(--surface-2);color:var(--text);box-shadow:inset 0 -2px 0 var(--green);font-weight:600}.segmented button{flex-direction:column;align-items:center;display:inline-flex}.segmented button:after{content:attr(data-label);visibility:hidden;height:0;font-weight:600;overflow:hidden}.practice-btn{border:1px solid var(--line-strong);border-radius:var(--radius);color:var(--text-2);background:0 0;min-height:34px;padding:6px 12px;font-size:13px}.practice-btn:hover{background:var(--surface-2)}.practice-btn.on{background:var(--purple);border-color:var(--purple);color:#fff}.points{font-family:var(--font-display);color:var(--gold);white-space:nowrap;font-weight:600}.main-nav .points{text-align:right;font-variant-numeric:tabular-nums;min-width:11ch}@media (hover:none) and (pointer:coarse){.practice-btn{display:none}}.banner{border-bottom:1px solid var(--line-soft);background:var(--surface);padding:8px 24px;font-size:14px}.banner.ok{box-shadow:inset 3px 0 0 var(--green);color:var(--green-pale)}.banner.warn{box-shadow:inset 3px 0 0 var(--gold);color:var(--text-2)}.page-body{flex:1;width:100%}.with-sidebar{grid-template-columns:272px minmax(0,1fr);max-width:1440px;margin:0 auto;display:grid}main{min-width:0}.lesson-list{top:var(--header-h);max-height:calc(100vh - var(--header-h));border-right:1px solid var(--line-soft);align-self:start;padding:16px 12px;position:sticky;overflow-y:auto}.list-title{font-family:var(--font-mono);font-variant-ligatures:none;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:4px 8px 10px;font-size:12px;text-decoration:none;display:block}a.list-title:hover{color:var(--text)}.list-title.spaced{margin-top:20px}.lesson-item{color:var(--text);border:1px solid #0000;border-radius:8px;gap:12px;padding:10px;text-decoration:none;display:flex}.lesson-item:hover{background:var(--surface);color:var(--text)}.lesson-item.active{background:var(--surface);border-color:var(--line)}.lesson-item.open .lesson-name{color:var(--gold)}.topic-lessons{border-left:1px solid var(--line-soft);margin:2px 0 6px 22px;padding-left:8px}.tick{width:26px;height:26px;font-family:var(--font-display);background:var(--surface-2);color:var(--muted);border:1px solid var(--line);border-radius:50%;flex-shrink:0;place-items:center;font-size:13px;font-weight:700;display:grid}.tick.done{background:var(--green);border-color:var(--green);color:var(--bg)}.lesson-name{font-size:14px;font-weight:600;line-height:1.35;display:block}.lesson-summary{color:var(--muted);margin-top:3px;font-size:12px;line-height:1.4;display:block}.site-footer{border-top:1px solid var(--line-soft);margin-top:40px}.footer-inner{max-width:1160px;color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:12px 24px;margin:0 auto;padding:24px;font-size:14px;display:flex}.site-footer a{color:var(--muted);text-decoration:none}.site-footer a:hover{color:var(--text)}@media (width<=900px){:root{--header-h:61px}.header-inner{padding:8px 16px}.wordmark{font-size:19px}.main-nav{display:none}.menu{display:block}.phone-login{margin-left:auto;padding:0 14px;display:inline-flex}.with-sidebar{display:block}.lesson-list{display:none}.banner{padding:8px 16px}.footer-inner{flex-direction:column-reverse;padding:20px;font-size:13px}}.section{max-width:1160px;margin:0 auto;padding:48px 24px}.section-title{margin:0 0 8px;font-size:34px}.section-lede{color:var(--text-2);max-width:680px;margin:0 0 28px;font-size:17px}.prose{max-width:680px}.login-form{flex-wrap:wrap;align-items:flex-end;gap:10px 12px;margin:20px 0;display:flex}.login-form label{color:var(--text-2);flex-basis:100%;font-size:14px;font-weight:600}.login-form input[type=email]{min-width:0;min-height:44px;font:16px var(--font-body);color:var(--text);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius);flex:260px;padding:0 14px}.login-form input[type=email]:focus{outline:2px solid var(--purple-light);outline-offset:1px}.login-form .btn{flex:none}.login-actions{flex-wrap:wrap;gap:12px;display:flex}.check{color:var(--text-2);cursor:pointer;align-items:flex-start;gap:10px;font-size:14px;line-height:1.5;display:flex}.login-form .check{flex-basis:100%;margin:4px 0;font-weight:400}.check input{width:18px;height:18px;accent-color:var(--purple);flex-shrink:0;margin:2px 0 0}@media (width<=600px){.login-form .btn,.login-actions .btn{flex:100%}}.hero{flex-wrap:wrap;align-items:center;gap:48px;max-width:1160px;margin:0 auto;padding:72px 24px 56px;display:flex}.hero-copy{flex:420px;min-width:0}.hero h1{letter-spacing:-.02em;margin:0 0 20px;font-size:60px;line-height:1.02}.hero-lede{color:var(--text-2);max-width:520px;margin:0 0 28px;font-size:19px}.hero-buttons{flex-wrap:wrap;gap:12px;display:flex}.hero-preview{flex:460px;min-width:0;position:relative}.preview-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:0 24px 60px #00000073}.preview-strip{background:var(--surface-2);border-bottom:1px solid var(--line);color:var(--muted);align-items:center;gap:8px;padding:10px 14px;font-size:13px;display:flex}.code-tag{background:var(--purple);color:#fff;font-weight:600;font-family:var(--font-mono);font-variant-ligatures:none;border-radius:4px;padding:2px 8px;font-size:12px}.preview-points{color:var(--gold);font-family:var(--font-mono);font-variant-ligatures:none;margin-left:auto}.preview-grid{width:100%}.preview-grid .cell{cursor:default}.preview-grid .head{font-weight:600}.hero-wizard{pointer-events:none;line-height:0;position:absolute;bottom:-84px;right:-28px}.lesson-cards{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.lesson-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);height:100%;color:var(--text);gap:14px;padding:18px;text-decoration:none;display:flex}.lesson-card:hover{border-color:var(--line-strong);background:var(--surface-2);color:var(--text)}.card-body{flex-direction:column;flex:1;gap:10px;min-width:0;display:flex}.card-title{font-size:17px;font-weight:700;line-height:1.3}.card-summary{color:var(--muted);font-size:14px}.needs-kb{color:var(--muted);font-size:13px;font-family:var(--font-mono);font-variant-ligatures:none}.tag{font-family:var(--font-mono);font-variant-ligatures:none;letter-spacing:.02em;font-size:12px}.card-num{font-family:var(--font-display);flex-shrink:0;width:28px;font-size:26px;font-weight:700;line-height:1.1;display:none}.tag-short{display:none}.access-open .tag,.access-open .card-num{color:var(--green-light)}.access-login .tag,.access-login .card-num{color:var(--purple-light)}.access-pass .tag,.access-pass .card-num{color:var(--gold)}.access-open .card-num{color:var(--green)}.lesson-card-more,.lesson-card-more:hover{background:var(--purple);border-color:var(--purple);color:var(--text)}.lesson-card-more:hover{filter:brightness(1.08)}.lesson-card-more .tag,.lesson-card-more .card-num,.lesson-card-more .card-summary{color:var(--on-purple)}.pass-panel{background:var(--purple-dark);border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:32px;padding:40px;display:flex}.pass-copy{flex:380px;min-width:0}.pass-copy h2{color:#fff;margin:0 0 10px;font-size:36px}.pass-copy p{color:var(--on-purple);margin:0;font-size:17px}.pass-buy{flex-wrap:wrap;align-items:center;gap:24px;display:flex}.price{font-family:var(--font-display);color:var(--gold);font-size:56px;font-weight:600;line-height:1}.pass-soon{border-color:var(--on-purple);color:#fff;cursor:default}.pass-soon:hover{color:#fff;background:0 0}@media (width<=900px){.hero{gap:28px;padding:32px 20px 8px}.hero h1{margin-bottom:14px;font-size:40px;line-height:1.04}.hero-lede{margin-bottom:22px;font-size:17px}.hero-buttons{flex-direction:column;gap:10px}.hero-buttons .btn{width:100%}.hero-preview{flex-basis:100%;padding-bottom:76px}.preview-card{box-shadow:0 16px 40px #00000073}.preview-grid .phone-hide{display:none}.hero-wizard{bottom:0;right:4px}.hero-wizard svg{width:100px;height:80px}.section{padding:24px 20px}.section-title{font-size:28px}.section-lede{margin-bottom:18px;font-size:15px}.lesson-cards{grid-template-columns:1fr;gap:10px}.lesson-card{align-items:center;padding:14px 16px}.card-num{display:block}.card-body{gap:2px}.card-title{font-size:16px}.card-summary{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;display:-webkit-box;overflow:hidden}.tag-long{display:none}.tag-short{flex-shrink:0;font-size:11px;display:block}.pass-panel{flex-direction:column;align-items:stretch;gap:14px;padding:26px 22px}.pass-copy{flex-basis:auto}.pass-copy h2{font-size:30px}.pass-copy p{font-size:16px}.pass-buy{flex-direction:column;align-items:stretch;gap:14px}.price{font-size:48px}}.lesson-layout{flex-direction:column;display:flex}.lesson-page{max-width:860px;padding:28px 28px 0}.about-label{display:none}.lesson-page .lesson-meta{align-items:center;gap:10px;display:flex}.lesson-page h1{margin:12px 0;font-size:34px}.lesson-page h2{margin:32px 0 10px;font-size:20px}.lesson-page .answer{color:var(--text-2);max-width:720px;margin:0 0 16px;font-size:18px}.formula{margin:0 0 8px}.formula code{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:10px 14px;font-size:17px;display:inline-block}.static-table{border-collapse:collapse;background:var(--surface);border:1px solid var(--line);font-size:14px}.static-table th,.static-table td{border:1px solid var(--line);text-align:left;padding:6px 10px}.static-table th{background:var(--surface-2);color:var(--muted);font-size:12px;font-weight:500}.example-column{color:var(--muted);font-size:12px;display:block}.static-table td.num{text-align:right;font-variant-numeric:tabular-nums}.static-table code{overflow-wrap:anywhere;background:0 0;padding:0}.table-scroll{max-width:100%;overflow-x:auto}.sheet-table tbody th{text-align:center}.try-it{margin-bottom:0}.callout{background:var(--surface);border:1px solid var(--line);border-left-width:3px;border-radius:8px;margin:0 0 12px;padding:10px 14px;font-size:14px;line-height:1.55}.callout.success{border-left-color:var(--green)}.callout.success>strong:first-child{color:var(--green-light)}.callout.error{border-left-color:var(--pink)}.callout.error>strong:first-child{color:var(--pink)}.callout.hint,.callout.info{border-left-color:var(--purple-light)}.callout.hint>strong:first-child{color:var(--purple-light)}.engine-status{background:var(--surface);border:1px solid var(--line);color:var(--muted);border-radius:12px;max-width:560px;margin:20px 28px;padding:16px 18px;font-size:15px}.engine-status:before{content:"";background:linear-gradient(90deg, var(--track) 0%, var(--purple-light) 50%, var(--track) 100%);background-size:200% 100%;border-radius:2px;height:4px;margin-bottom:12px;animation:1.4s linear infinite engine-pulse;display:block}.engine-status.failed{color:var(--pink)}.engine-status.failed:before{display:none}@keyframes engine-pulse{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion:reduce){.engine-status:before{background:var(--purple-light);opacity:.5;animation:none}}.practice-facts{color:var(--gold);font-family:var(--font-mono);font-variant-ligatures:none;margin:0 0 10px;font-size:13px}.skill-list{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.skill-list li{border:1px solid var(--line-strong);color:var(--text-2);border-radius:999px;padding:3px 10px;font-size:13px}.static-table td.to-fill{box-shadow:inset 0 0 0 2px var(--gold)}.locked-panel{background:var(--purple-dark);border-radius:14px;max-width:760px;margin:24px 28px 32px;padding:28px 30px}.locked-kicker{font-family:var(--font-mono);font-variant-ligatures:none;text-transform:uppercase;letter-spacing:.06em;color:var(--gold);margin:0 0 6px;font-size:12px}.locked-panel h2{color:#fff;margin:0 0 8px;font-size:24px}.locked-panel p{color:var(--on-purple);margin:0}.locked-actions{flex-wrap:wrap;align-items:center;gap:14px 24px;margin-top:20px;display:flex}.locked-free{color:#fff}.locked-login{background:var(--surface);border:1px solid var(--purple)}.locked-login .locked-kicker{color:var(--purple-light)}.locked-login p{color:var(--text-2)}.link-button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}@media (width<=900px){.trainer{order:-1}.trainer:has(.locked-panel){order:0}.locked-panel{margin:24px 16px;padding:22px 20px}.locked-panel h2{font-size:21px}.locked-actions{flex-direction:column;align-items:stretch}.locked-actions .btn{text-align:center}.lesson-page{border-top:1px solid var(--line-soft);margin-top:16px;padding:24px 16px 0}.about-label{font-family:var(--font-mono);font-variant-ligatures:none;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:0 0 8px;font-size:12px;display:block}.lesson-page h1{font-size:26px}.lesson-page .answer{font-size:16px}.formula code{white-space:pre-wrap;word-break:break-all;font-size:15px}.static-table{font-size:13px}.static-table th,.static-table td{padding:5px 7px}.try-it{display:none}.engine-status{margin:16px}}.lesson{align-items:flex-start;gap:24px;padding:24px 28px;display:flex}.panel{background:var(--surface);border:1px solid var(--line);width:360px;top:calc(var(--header-h) + 16px);border-radius:12px;flex-shrink:0;padding:20px;position:sticky}.lesson-head{align-items:flex-start;gap:10px;display:flex}.lesson-head-text{flex-direction:column;flex:1;min-width:0;display:flex}.back{width:44px;height:44px;color:var(--text);border-radius:8px;flex-shrink:0;place-items:center;margin-left:-10px;display:none}.back:hover{background:var(--surface-2);color:var(--text)}.lesson-meta{font-family:var(--font-mono);font-variant-ligatures:none;text-transform:uppercase;letter-spacing:.02em;color:var(--green-light);font-size:12px}.lesson-title{margin:4px 0 0;font-size:20px}.lesson-points{font-family:var(--font-display);color:var(--gold);white-space:nowrap;font-size:18px;font-weight:600}.progress-bar{gap:6px;margin:16px 0;display:flex}.seg{background:var(--track);border-radius:3px;flex:1;height:6px}.seg.current{background:var(--gold)}.seg.done{background:var(--green)}.instruction-row{align-items:flex-start;gap:12px;display:flex}.instruction-wizard{flex-shrink:0;margin-top:4px;line-height:0;display:none}.instruction{color:var(--text);margin:0 0 16px}.instruction strong{color:var(--gold)}.actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.done-banner{width:100%;font-family:var(--font-display);margin-bottom:4px;font-size:18px;font-weight:700}.done-points{color:var(--gold)}.shortcut-note{color:var(--muted);margin:16px 0 0;font-size:13px}.workspace{flex:1;min-width:0}.sheet{background:var(--surface);border:1px solid var(--line);vertical-align:top;border-radius:12px;max-width:100%;display:inline-block;overflow:hidden}.formula-bar{border-bottom:1px solid var(--line);font-family:var(--font-mono);font-variant-ligatures:none;align-items:stretch;font-size:14px;display:flex}.name-box{border-right:1px solid var(--line);width:90px;color:var(--muted);flex-shrink:0;padding:9px 12px}.fx{color:var(--muted);border-right:1px solid var(--line);padding:9px 12px;font-style:italic}.formula-bar input{font:14px var(--font-mono);font-variant-ligatures:none;color:var(--text);background:0 0;border:0;outline:none;flex:1;min-width:120px;padding:9px 12px}.formula-bar input:focus{background:var(--surface-2)}.formula-text,.formula-bar input.formula-text{color:var(--green-light)}.formula-bar.static .formula-text{padding:9px 12px}.grid-wrap{outline:none;overflow:auto}.grid{border-collapse:collapse;table-layout:fixed;-webkit-user-select:none;user-select:none;font-size:14px}.grid th{background:var(--surface-2);color:var(--muted);border:1px solid var(--line);height:26px;font-size:12px;font-weight:500}.grid th.corner,.grid th.row-hdr{width:40px;min-width:40px}.grid th.hdr-sel{background:var(--line);color:var(--text)}.cell{border:1px solid var(--line);white-space:nowrap;cursor:cell;font-variant-numeric:tabular-nums;height:32px;padding:0 8px;position:relative;overflow:hidden}.cell.num{text-align:right}.cell.in-sel{background:var(--fill-sel)}.cell.ref{background:var(--fill-ref)}.cell.target{box-shadow:inset 0 0 0 2px var(--gold)}.cell.passed{box-shadow:inset 0 0 0 2px var(--green);background:var(--fill-pass);color:var(--green-pale);font-weight:700}.cell.passed .cell-text:after{content:" ✓"}.cell.anchor{outline:2px solid var(--text);outline-offset:-2px}.cell.anchor.target{box-shadow:inset 0 0 0 2px var(--text), inset 0 0 0 4px var(--gold);outline:0}.cell.anchor.passed{box-shadow:inset 0 0 0 2px var(--text), inset 0 0 0 4px var(--green);outline:0}.cell-editor{width:100%;font:14px var(--font-mono);font-variant-ligatures:none;color:var(--green-light);background:var(--surface-2);outline:2px solid var(--text);outline-offset:-2px;border:0;padding:0 8px;position:absolute;inset:0}.key-row{gap:6px;padding:10px 0 6px;display:flex;overflow-x:auto}.key-row button{background:var(--surface-2);min-width:40px;min-height:44px;font-family:var(--font-mono);font-variant-ligatures:none;flex-shrink:0;padding:0 12px;font-size:15px}.key-row button:active{background:var(--line)}@media (width<=900px){.lesson{flex-direction:column;align-items:stretch;gap:0;padding:0 16px}.panel{display:contents}.lesson-head{order:1;align-items:center;margin:0 -4px;padding:8px 0}.back{margin-left:-6px;display:grid}.lesson-meta{font-size:11px}.lesson-title{font-family:var(--font-body);margin:0;font-size:15px;font-weight:600;line-height:1.3}.progress-bar{order:2;margin:2px 0 14px}.instruction-row{order:3}.instruction-wizard{display:block}.instruction{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);color:var(--text-2);margin-bottom:14px;padding:10px 12px;font-size:15px}.workspace{order:4}.callouts{order:5;margin-top:8px}.actions{order:6;gap:10px;padding:6px 0 8px}.actions .enter-btn{flex:1;order:2;min-height:48px;font-size:16px}.actions .hint-btn{order:1;min-height:48px}.actions .restart{order:3;width:100%;min-height:36px;font-size:14px}.actions button.primary:not(.enter-btn){flex:1;min-height:48px}.sheet{width:100%;display:block}.grid-wrap{max-height:60vh}.name-box{width:56px;padding:9px 10px}.fx{display:none}.key-row{background:var(--bg);z-index:2;position:sticky;bottom:0}.kb-open .key-row{left:0;right:0;bottom:var(--kb);border-top:1px solid var(--line);z-index:10;padding:6px 12px;position:fixed}.kb-open .workspace{padding-bottom:64px}}.reference{max-width:920px;padding:28px}.reference h1{margin:0 0 10px;font-size:34px}.reference>p{color:var(--text-2);max-width:680px;margin:0 0 8px}.reference h2{margin:32px 0 10px;font-size:20px}.ref-table{border-collapse:separate;border-spacing:0;table-layout:fixed;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);width:100%;font-size:15px;overflow:hidden}.ref-table td{border-top:1px solid var(--line);vertical-align:top;padding:10px 14px}.ref-table tr:first-child td{border-top:0}.ref-table td:first-child{width:40%}.ref-table td.keys{width:28%}.ref-table td.keys kbd{font-size:13px}.ref-table td.muted{color:var(--muted)}.reference>p.tips-flag{color:var(--text);margin:16px 0 0}.tips-platform{margin-top:24px}.tips-platform>summary{cursor:pointer;align-items:center;gap:10px;list-style:none;display:flex}.tips-platform>summary::-webkit-details-marker{display:none}.tips-platform>summary:before{content:"▸";color:var(--muted);transition:transform .15s}.tips-platform[open]>summary:before{transform:rotate(90deg)}.tips-platform>summary h2{margin:0}.tip{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);margin-top:12px;padding:16px 20px}.tip h3{margin:0 0 6px;font-size:17px}.tip-why{color:var(--text-2);margin:0 0 10px}.tip ol{margin:0;padding-left:22px}.tip li{margin:4px 0}.tip kbd{font-size:13px}@media (width<=900px){.reference{padding:24px 16px}.reference h1{font-size:28px}.ref-table,.ref-table tbody,.ref-table tr,.ref-table td{display:block;width:auto!important}.ref-table tr{border-top:1px solid var(--line);padding:10px 14px}.ref-table tr:first-child{border-top:0}.ref-table td{border:0;padding:2px 0}.ref-table td.keys{padding:6px 0 2px}.ref-table td:empty{display:none}}
