:root{--lesson-width:90%;--ink:#25313b;--muted:#6b7380;--muted-strong:#636b77;--paper:#fffaf0;--paper-deep:#f4ead8;--line:#3f372b24;--shadow:0 24px 80px #1d232b38;--accent:#2f9f8f;--accent-strong:#18786c;--accent-soft:#2f9f8f29;--rail:#24343a;--page-bg:radial-gradient(circle at top left, #ef705c38, transparent 28rem), linear-gradient(135deg, #f8efe1 0%, #edf3f2 48%, #f7f0f8 100%);--surface:#fff;--surface-2:#f1f5f9;--surface-glass:#ffffffc7;--surface-glass-soft:#ffffff94;--surface-glass-faint:#ffffff1f;--border:#e5e7eb;--ink-soft:#3f4852;--ed-serif:"Iowan Old Style", "Palatino Linotype", Palatino, Georgia, "Times New Roman", serif;--bordeaux:#7a2436;--bordeaux-strong:#5e1a29;--bordeaux-soft:#7a243617;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--accent:#3fb8a6;--accent-strong:#5fd0be;--accent-soft:#3fb8a638;--ink:#e7ecf1;--ink-soft:#c3cbd4;--muted:#94a1ae;--muted-strong:#94a1ae;--paper:#222a31;--paper-deep:#1a2127;--line:#ffffff24;--border:#ffffff29;--surface:#1e242b;--surface-2:#262e37;--surface-glass:#1e242cb8;--surface-glass-soft:#1e242c85;--surface-glass-faint:#ffffff0f;--rail:#12181d;--shadow:0 24px 80px #00000080;--page-bg:radial-gradient(circle at top left, #ef705c1a, transparent 28rem), linear-gradient(135deg, #14191e 0%, #12171c 48%, #171319 100%);--bordeaux:#9a3145;--bordeaux-strong:#7a2436;--bordeaux-soft:#9a314529}[data-theme=dark] body{background:var(--page-bg)}[data-theme=dark] .theme-jade{--accent:#3fb8a6;--accent-strong:#5fd0be;--accent-soft:#3fb8a638}[data-theme=dark] .theme-coral{--accent:#f0806b;--accent-strong:#f6a08c;--accent-soft:#f0806b38}[data-theme=dark] .theme-blue{--accent:#5aa0e0;--accent-strong:#7ebef2;--accent-soft:#5aa0e038}[data-theme=dark] .theme-gold{--accent:#d9a441;--accent-strong:#e8c064;--accent-soft:#d9a44138}[data-theme=dark] .theme-violet{--accent:#a382d8;--accent-strong:#bfa0ea;--accent-soft:#a382d838}[data-theme=dark] .practice-option.correct{color:#7ee2a8;background:#22c55e2e;border-color:#4aad6373}[data-theme=dark] .practice-option.incorrect{color:#f4a3a3;background:#d6545433;border-color:#d6545473}[data-theme=dark] .dashboard-band.tone-advanced{color:#4ade80;background:#16653466}[data-theme=dark] .dashboard-band.tone-proficient{color:#7ab7ff;background:#1e40af66}[data-theme=dark] .dashboard-band.tone-developing{color:#fbbf5a;background:#92400e66}[data-theme=dark] .dashboard-band.tone-beginner{color:#fb7194;background:#9f123966}[data-theme=dark] .pretest-review-card.correct .pretest-review-badge{color:#4ade80}[data-theme=dark] .pretest-review-card.incorrect .pretest-review-badge{color:#f4a3a3}[data-theme=dark] .pretest-perfect{color:#7ee2a8;background:#16653459}[data-theme=dark] .pretest-timer.over{color:#f4a3a3;background:#9f123959}[data-theme=dark] .strategy-level.advanced{color:#fbbf5a;background:#92400e59}[data-theme=dark] .topic-doc-note.warning{background:#d1495b33}*{box-sizing:border-box}body{background:var(--page-bg);color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif}button{font:inherit}.app-shell{min-height:100vh;padding:28px}.theme-jade{--accent:#2f9f8f;--accent-strong:#18786c;--accent-soft:#2f9f8f29}.theme-coral{--accent:#df654f;--accent-strong:#b7412f;--accent-soft:#df654f26}.theme-blue{--accent:#347fbf;--accent-strong:#215f96;--accent-soft:#347fbf29}.theme-gold{--accent:#c48a26;--accent-strong:#926212;--accent-soft:#c48a262e}.theme-violet{--accent:#8461bd;--accent-strong:#65439e;--accent-soft:#8461bd26}.bookcase{grid-template-columns:minmax(260px,320px) minmax(0,1fr);gap:24px;max-width:min(1800px,96vw);margin:0 auto;display:grid}.chapter-rail{min-height:calc(100vh - 56px);color:var(--ink);background:var(--surface);border:1px solid var(--border);border-radius:10px;align-self:start;padding:20px 16px;position:sticky;top:28px;box-shadow:0 1px 2px #1423280a}.chapter-rail .brand-lockup h1{letter-spacing:-.01em;font-size:17px;line-height:1.2}.brand-lockup{align-items:center;gap:14px;margin-bottom:26px;display:flex}.brand-mark{flex-shrink:0;width:50px;height:58px;display:block}.eyebrow,.mini-label{color:var(--accent-strong);text-transform:uppercase;margin:0 0 6px;font-size:12px;font-weight:800}h1,h2,h3,h4,p{margin-top:0}h1{margin-bottom:0;font-size:28px;line-height:1.1}.chapter-list{gap:2px;display:grid}.chapter-tab{width:100%;color:var(--ink-soft);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;grid-template-columns:12px 1fr;gap:10px;padding:9px 10px;display:grid}.chapter-tab:hover{background:var(--surface-2)}.chapter-tab.active{color:var(--ink);background:var(--accent-soft);border-color:#0000;font-weight:700}.chapter-tab strong,.chapter-tab small{display:block}.chapter-tab small{color:var(--muted);margin-top:3px;font-size:11.5px;font-weight:400;line-height:1.3}.tab-dot{opacity:.45;background:#2f9f8f;border-radius:50%;width:9px;height:9px;margin-top:6px}.chapter-tab.active .tab-dot,.chapter-tab:hover .tab-dot{opacity:1}.tab-dot.coral{background:#df654f}.tab-dot.blue{background:#347fbf}.tab-dot.gold{background:#c48a26}.tab-dot.violet{background:#8461bd}.chapter-node{gap:1px;display:grid}.rail-units{gap:1px;margin:1px 0 6px;padding:0 0 0 22px;list-style:none;display:grid}.rail-unit{text-align:left;width:100%;font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:baseline;gap:8px;padding:6px 9px;font-size:12.5px;display:flex}.rail-unit:hover{background:var(--surface-2);color:var(--ink-soft)}.rail-unit.active{background:var(--surface-2);color:var(--ink);box-shadow:inset 2px 0 0 var(--accent);font-weight:600}.rail-unit-num{min-width:11px;color:var(--muted);font-variant-numeric:tabular-nums}.rail-unit-title{flex:1;line-height:1.35}.rail-unit-check{color:var(--accent-strong);font-weight:700}.chapter-group{gap:8px;display:grid}.chapter-group-toggle{width:100%;color:var(--ink);text-align:left;font:inherit;background:var(--surface-2);border:1px solid var(--border);cursor:pointer;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;font-weight:700;display:flex}.chapter-group-toggle:hover{border-color:var(--accent)}.chapter-group-count{color:var(--muted);font-weight:400}.rail-chevron{flex:none;width:14px;height:14px;position:relative}.rail-chevron:before,.rail-chevron:after{content:"";background:var(--muted);border-radius:2px;width:8px;height:2px;transition:transform .18s;position:absolute;top:6px}.rail-chevron:before{left:1px;transform:rotate(45deg)}.rail-chevron:after{right:1px;transform:rotate(-45deg)}.chapter-group.open .rail-chevron:before{transform:rotate(-45deg)}.chapter-group.open .rail-chevron:after{transform:rotate(45deg)}.chapter-group-list{gap:10px;margin-top:8px;display:grid}.rail-pagination{justify-content:space-between;align-items:center;gap:8px;margin-top:4px;display:flex}.rail-pagination span{color:var(--muted);font-size:12px}.rail-page-btn{min-height:34px;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:8px;padding:6px 14px;font-size:12px;font-weight:600}.rail-page-btn:hover:not(:disabled){border-color:var(--accent)}.rail-page-btn:disabled{opacity:.4;cursor:not-allowed}.study-card{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;margin-top:18px;padding:14px}.study-card strong{margin-bottom:6px;font-size:15px;line-height:1.3;display:block}.study-card p{color:var(--muted);margin-bottom:0;font-size:13px;line-height:1.5}.book-panel{background:var(--surface);border:1px solid var(--border);min-height:calc(100vh - 56px);box-shadow:var(--shadow);border-radius:8px;padding:40px}@media (min-width:1041px){.book-panel{min-height:0;max-height:calc(100vh - 120px);overflow:hidden auto}.chapter-rail{max-height:calc(100vh - 120px);overflow-y:auto}}.book-top{border-bottom:1px solid var(--line);justify-content:space-between;gap:24px;margin-bottom:18px;padding-bottom:20px;display:flex}.book-top h2{margin-bottom:8px;font-size:38px;line-height:1.08}.book-top p:not(.eyebrow){max-width:680px;color:var(--muted);margin-bottom:0;line-height:1.55}.book-spread{grid-template-columns:minmax(0,1fr);gap:30px;min-height:560px;scroll-margin-top:16px;display:grid}.unit-strip{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:18px;display:grid}.unit-strip button{color:#394550;text-align:left;background:var(--surface-glass-soft);border:1px solid var(--line);cursor:pointer;border-radius:8px;min-height:82px;padding:13px}.unit-strip button.active{color:#fff;background:var(--accent-strong);border-color:var(--accent-strong);box-shadow:0 14px 34px #222d3429}.unit-strip span{color:var(--accent-strong);text-transform:uppercase;margin-bottom:7px;font-size:11px;font-weight:800;display:block}.unit-strip button.active span{color:#ffffffbd}.unit-intro{background:var(--surface-glass-soft);border:1px solid var(--line);border-radius:8px;margin-bottom:20px;padding:12px 20px 18px}.unit-intro.collapsed{padding-bottom:12px}.unit-intro-toggle{text-align:left;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:4px 0;display:flex}.unit-intro-toggle .mini-label{margin-bottom:2px;display:block}.unit-intro-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 18px;display:flex}.unit-intro-head .unit-intro-toggle{flex:240px;justify-content:flex-start;gap:10px;width:auto}.unit-intro-head .learning-map.compact{flex:none}.learning-map.compact{background:var(--surface);border:1px solid var(--border);border-radius:999px;align-items:center;gap:2px;margin:0;padding:3px;display:inline-flex}.learning-map.compact .mini-label{display:none}.learning-map.compact button{width:auto;min-height:0;color:var(--muted);white-space:nowrap;background:0 0;border:0;border-radius:999px;align-items:center;gap:7px;padding:6px 12px;font-size:12.5px;font-weight:600;display:inline-flex}.learning-map.compact button:hover{color:var(--ink)}.learning-map.compact button>span{background:var(--surface-2);width:18px;height:18px;color:var(--muted);border-radius:50%;place-items:center;padding:0;font-size:11px;font-weight:700;display:grid}.learning-map.compact button.active{background:var(--accent-strong);color:#fff}.learning-map.compact button.active>span{color:#fff;background:#ffffff3d}.unit-intro-title{font-family:var(--serif,inherit);color:#22303c;font-size:22px;font-weight:700;line-height:1.2;display:block}.unit-intro-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:10px;display:flex}.unit-intro-complete{padding:6px 14px;font-size:.9rem}.unit-intro-body{grid-template-columns:minmax(0,1fr) minmax(220px,.42fr);align-items:start;gap:20px;margin-top:10px;display:grid}.rail-chevron.dark:before,.rail-chevron.dark:after{background:#4c5864}.rail-chevron.open:before{transform:rotate(-45deg)}.rail-chevron.open:after{transform:rotate(45deg)}.unit-intro p{color:#4c5864;margin-bottom:0;line-height:1.5}.unit-intro strong{color:var(--accent-strong);background:var(--accent-soft);border-radius:8px;padding:14px 16px;line-height:1.45;display:block}.learning-map{background:linear-gradient(145deg, #ffffffb8, #ffffff47), var(--accent-soft);border:1px solid var(--line);border-radius:8px;grid-template-columns:auto repeat(3,minmax(0,1fr));align-items:center;gap:10px;margin-bottom:16px;padding:10px 14px;display:grid}.learning-map .mini-label{white-space:nowrap;margin:0 6px 0 0}.learning-map button{color:#394550;text-align:left;background:var(--surface-glass-soft);cursor:pointer;border:1px solid #2028301a;border-radius:8px;grid-template-columns:30px 1fr;align-items:center;gap:10px;width:100%;min-height:48px;padding:8px 10px;display:grid}.learning-map button.active{color:#fff;background:var(--accent-strong);border-color:var(--accent-strong)}.learning-map button span{width:30px;height:30px;color:var(--accent-strong);background:var(--surface);border-radius:50%;place-items:center;font-size:12px;font-weight:800;display:grid}.page-art{background:linear-gradient(145deg, #ffffffb3, #ffffff40), var(--accent-soft);border:1px solid var(--line);border-radius:8px;min-height:440px;position:relative;overflow:hidden}.grid-paper{background-image:linear-gradient(#293a441c 1px,#0000 1px),linear-gradient(90deg,#293a441c 1px,#0000 1px);background-size:28px 28px;border-radius:8px;position:absolute;inset:28px}.axis{background:#25313b6b;position:absolute}.x-axis{height:2px;top:54%;left:0;right:0}.y-axis{width:2px;top:0;bottom:0;left:42%}.point{background:var(--accent);border:4px solid #fff;border-radius:50%;width:18px;height:18px;position:absolute;box-shadow:0 8px 20px #232d3733}.point-one{top:26%;left:38%}.point-two{top:54%;left:66%}.angle-shape{border-left:7px solid var(--accent-strong);border-bottom:7px solid var(--accent-strong);width:110px;height:110px;position:absolute;bottom:12%;right:14%;transform:rotate(-18deg)}.lesson-copy{box-sizing:border-box;width:100%;max-width:var(--lesson-width);margin-inline:auto;padding:4px 0 18px}.lesson-copy.primary-learn{max-width:min(1440px, var(--lesson-width))}.lesson-copy h3{letter-spacing:-.015em;margin-bottom:12px;font-size:28px;line-height:1.15}.focus-line{color:#47525e;margin-bottom:22px;font-size:18px;line-height:1.55}.app-shell .focus-line{color:var(--muted);font-size:16px}.lesson-idea{margin:0 0 26px}.lesson-idea>h4{letter-spacing:0;color:var(--ink-soft);margin:0 0 10px;font-size:16px;font-weight:400;line-height:1.7}.lesson-explain{color:var(--ink-soft);margin:0 0 14px;font-size:16px;line-height:1.7}.lesson-standalone{border-left:2px solid var(--accent-soft);color:var(--ink-soft);margin:0 0 20px;padding-left:14px;font-size:16px;line-height:1.7}.lesson-block{background:var(--surface-2);border-left:2px solid var(--accent);border-radius:0 8px 8px 0;margin:0 0 14px;padding:12px 16px}.lesson-block .mini-label{color:var(--muted);margin-bottom:6px;display:block}.lesson-block p{margin:0 0 8px;font-size:16px;line-height:1.7}.lesson-block p:last-child{margin-bottom:0}.lesson-block ol{gap:6px;margin:0;padding-left:18px;display:grid}.lesson-block ol li{font-size:16px;line-height:1.7}.math-inline .katex{font-size:1em}.math-block{margin:10px 0;display:block;overflow-x:auto}.math-block .katex-display{margin:0}.worked-example{background:var(--surface);border:1px solid var(--line);border-left:6px solid var(--accent);border-radius:8px;padding:20px}.worked-example>span,.question-card>div>span,.teacher-note>span{color:var(--accent-strong);text-transform:uppercase;margin-bottom:7px;font-size:12px;font-weight:800;display:block}.teacher-note{background:var(--accent-soft);border:0;border-left:3px solid var(--accent);border-radius:0 10px 10px 0;padding:15px 18px}.teacher-note>span{color:var(--accent-strong);align-items:center;gap:7px;display:inline-flex}.teacher-note-icon{fill:none;stroke:currentColor;stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:15px;height:15px}.teacher-note p{color:var(--ink-soft);margin-bottom:0;line-height:1.55}.worked-example h4{margin-bottom:12px;font-size:16px;font-weight:400;line-height:1.7}.worked-example ol{color:var(--ink-soft);gap:8px;margin:0;padding-left:22px;line-height:1.5;display:grid}.application-grid,.strategy-grid{gap:16px;display:grid}.strategy-card{background:var(--surface);border:1px solid var(--line);border-left:6px solid var(--accent);border-radius:8px;padding:20px}.strategy-card h4{margin:8px 0 10px;font-size:19px}.strategy-level{letter-spacing:.03em;text-transform:uppercase;border-radius:999px;padding:2px 10px;font-size:11px;font-weight:800;display:inline-block}.strategy-level.core{color:var(--accent-strong);background:#0f172a0d}.strategy-level.advanced{color:#7a4d00;background:#ffc40029}.strategy-when,.strategy-idea{color:var(--ink-soft);margin-bottom:10px;line-height:1.55}.strategy-when .mini-label{margin-right:6px}.strategy-steps{color:var(--ink-soft);gap:8px;margin:0 0 12px;padding-left:22px;line-height:1.5;display:grid}.strategy-example{color:var(--ink-soft);background:#ffd7001a;border-radius:6px;margin-bottom:10px;padding:10px 14px;line-height:1.5}.strategy-example .mini-label{color:#8a6d00;margin-right:6px}.strategy-pitfall{color:#7a2b22;background:#fc62551a;border-radius:6px;margin-bottom:0;padding:10px 14px;line-height:1.5}.strategy-pitfall .mini-label{color:#c0392b;margin-right:6px}.strategy-divider{margin-top:22px}.practice-copy{max-width:880px}.question-stack{gap:12px;display:grid}.question-card{background:var(--surface-glass);border:1px solid var(--line);border-radius:8px;grid-template-columns:1fr auto;align-items:start;gap:12px;padding:18px;display:grid}.question-card p{margin-bottom:0;line-height:1.45}.question-card button{min-width:124px;color:var(--accent-strong);background:var(--surface);cursor:pointer;border:1px solid #20283024;border-radius:8px;padding:10px 12px}.solution{background:var(--accent-soft);color:#2f3840;white-space:pre-line;border-radius:8px;grid-column:1/-1;padding:12px 14px}.practice-tier-tabs{flex-wrap:wrap;gap:8px;margin:14px 0 18px;display:flex}.practice-tier-tab{color:var(--accent-strong);background:var(--surface);cursor:pointer;border:1px solid #20283024;border-radius:999px;padding:8px 16px}.practice-tier-tab.active{color:#fff;background:var(--accent-strong);border-color:var(--accent-strong)}.lesson-tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:stretch;gap:2px;margin-bottom:0;display:flex}.lesson-tab{font:inherit;color:var(--muted);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 14px;font-size:13.5px;font-weight:600}.lesson-tab:hover{color:var(--ink)}.lesson-tab.active{color:var(--accent-strong);border-bottom-color:var(--accent)}.lesson-progress{background:var(--surface-2);border-radius:999px;height:3px;margin-bottom:18px;overflow:hidden}.lesson-progress>span{border-radius:inherit;background:var(--accent);height:100%;transition:width .25s;display:block}.practice-options{grid-column:1/-1;gap:8px;display:grid}.practice-option{text-align:left;color:var(--ink);background:var(--surface);cursor:pointer;border:1px solid #20283024;border-radius:8px;padding:10px 12px}.practice-option.correct{color:#1f5e2e;background:#4aad6329;border-color:#4aad6366}.practice-option.incorrect{color:#7a2424;background:#d6545424;border-color:#d6545466}.practice-explanation{border:1px solid var(--line);color:#2f3840;white-space:pre-line;background:#2028300a;border-radius:8px;grid-column:1/-1;padding:12px 14px}.practice-pagination{justify-content:center;align-items:center;gap:16px;margin-top:18px;display:flex}.practice-pagination .nav-button{min-width:110px;min-height:40px}.book-actions{border-top:1px solid var(--line);grid-template-columns:140px 1fr 140px;align-items:center;gap:18px;margin-top:24px;padding-top:22px;display:grid}.nav-button{min-height:46px;color:var(--ink);background:var(--surface);border:1px solid var(--line);cursor:pointer;border-radius:8px}.nav-button.primary{color:#fff;background:var(--accent-strong);border-color:var(--accent-strong)}.nav-button:disabled{opacity:.45;cursor:not-allowed}.back-to-top{z-index:40;color:#fff;background:var(--accent-strong);width:48px;height:48px;box-shadow:0 6px 18px var(--shadow,#0000002e);cursor:pointer;opacity:0;pointer-events:none;border:none;border-radius:999px;place-items:center;padding:0;transition:opacity .2s,transform .2s,background .2s;display:grid;position:fixed;bottom:24px;right:24px;transform:translateY(8px)}.back-to-top.visible{opacity:1;pointer-events:auto;transform:none}.back-to-top:hover{background:var(--ink);transform:translateY(-2px)}.back-to-top:focus-visible{outline:2px solid var(--accent-strong);outline-offset:2px}@media (max-width:700px){.back-to-top{bottom:16px;right:16px}}@media (prefers-reduced-motion:reduce){.back-to-top{transition:none}}@media print{.back-to-top{display:none}}.pretest-toggle{color:#fff;background:var(--accent-strong);border:1px solid var(--accent-strong);cursor:pointer;white-space:nowrap;border-radius:8px;align-self:start;padding:12px 16px;font-weight:700}.pretest-toggle.active{color:var(--accent-strong);background:var(--accent-soft)}.pretest-view{max-width:var(--lesson-width);margin-top:4px;margin-inline:auto}.pretest-intro{background:var(--surface);border:1px solid var(--line);border-radius:12px;max-width:620px;padding:28px}.pretest-intro h3{margin:4px 0 10px;font-size:26px}.pretest-intro p{color:var(--ink-soft);margin-bottom:14px;line-height:1.55}.pretest-last{background:var(--accent-soft);border-radius:8px;padding:10px 12px}.pretest-bar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;display:flex}.pretest-progress{color:var(--muted);font-size:14px;font-weight:700}.pretest-timer{font-variant-numeric:tabular-nums;color:var(--accent-strong);background:var(--accent-soft);border-radius:999px;padding:6px 12px;font-weight:800}.pretest-timer.over{color:#7a2424;background:#d6545424}.pretest-question{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:20px}.pretest-qtext{margin-bottom:14px;font-size:18px;line-height:1.5}.pretest-options{gap:10px;display:grid}.pretest-option.selected{color:var(--accent-strong);background:var(--accent-soft);border-color:var(--accent)}.pretest-nav{justify-content:space-between;align-items:center;gap:12px;margin-top:18px;display:flex}.pretest-dots{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.pretest-dots button{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:999px;width:12px;height:12px;padding:0}.pretest-dots button.done{background:var(--accent);border-color:var(--accent)}.pretest-dots button.active{outline:2px solid var(--accent-strong);outline-offset:1px}.pretest-hint{color:var(--muted);margin-top:12px;font-size:14px}.pretest-submit-row{margin-top:18px}.pretest-score{border-left:8px solid var(--accent);background:var(--accent-soft);border-radius:12px;justify-content:space-between;align-items:center;gap:20px;padding:22px 26px;display:flex}.pretest-score.band-advanced{border-left-color:#1f9d55}.pretest-score.band-proficient{border-left-color:#2563eb}.pretest-score.band-developing{border-left-color:#d98a00}.pretest-score.band-beginner{border-left-color:#d65454}.pretest-score-num strong{font-size:44px;line-height:1}.pretest-score-num span{color:var(--muted);font-size:14px;display:block}.pretest-score-band{text-align:right}.pretest-score-band strong{color:var(--accent-strong);font-size:24px}.pretest-levels,.pretest-focus,.pretest-review{margin-top:22px}.pretest-levels h4,.pretest-focus h4,.pretest-review h4{margin-bottom:12px;font-size:17px}.pretest-level-row{grid-template-columns:110px 1fr 96px;align-items:center;gap:12px;margin-bottom:8px;display:grid}.pretest-level-name{font-weight:700}.pretest-level-bar{background:#20283014;border-radius:999px;height:12px;overflow:hidden}.pretest-level-bar span{border-radius:inherit;background:var(--accent);height:100%;display:block}.pretest-level-bar .fill-advanced{background:#1f9d55}.pretest-level-bar .fill-proficient{background:#2563eb}.pretest-level-bar .fill-developing{background:#d98a00}.pretest-level-bar .fill-beginner{background:#d65454}.pretest-level-val{text-align:right;color:var(--muted);font-variant-numeric:tabular-nums;font-size:14px}.pretest-focus ul{margin:0;padding-left:20px}.pretest-focus li{margin-bottom:6px}.pretest-focus-count{color:var(--muted);font-size:13px}.pretest-review-card{background:var(--surface);border:1px solid var(--line);border-left:5px solid var(--border);border-radius:8px;margin-bottom:12px;padding:16px 18px}.pretest-review-card.correct{border-left-color:#4aad63}.pretest-review-card.incorrect{border-left-color:#d65454}.pretest-review-q{gap:8px;margin-bottom:10px;font-weight:600;line-height:1.5;display:flex}.pretest-review-badge{flex-shrink:0;font-weight:800}.pretest-review-card.correct .pretest-review-badge{color:#1f5e2e}.pretest-review-card.incorrect .pretest-review-badge{color:#7a2424}.pretest-review-options{gap:6px;margin-bottom:10px;display:grid}.pretest-review-options .practice-option{cursor:default;justify-content:space-between;align-items:center;gap:8px;display:flex}.pretest-tag{text-transform:uppercase;letter-spacing:.03em;opacity:.75;flex-shrink:0;font-size:11px;font-weight:800}.pretest-skipped{color:#7a2424;font-size:13px;font-style:italic}.pretest-review-expl{color:var(--ink-soft);white-space:pre-line;background:#2028300a;border-radius:8px;padding:10px 12px;line-height:1.5}.pretest-perfect{color:#1f5e2e;background:#4aad6324;border-radius:8px;margin-top:20px;padding:12px 14px}@media (max-width:700px){.pretest-level-row{grid-template-columns:80px 1fr 78px}.pretest-score{flex-direction:column;align-items:flex-start;gap:10px}.pretest-score-band{text-align:left}}.book-crumb{min-width:0;color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:flex}.book-crumb strong{color:var(--ink-soft);font-weight:700}.book-crumb-sep{color:var(--line)}.book-actions{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.book-actions .learning-map{flex:auto;min-width:0;margin:0}.book-actions-pager{align-items:center;gap:10px;margin-left:auto;display:flex}.book-top-actions{align-items:flex-start;gap:12px;display:flex}.revision-toggle{color:var(--accent-strong);background:var(--accent-soft);border:1px solid var(--accent);cursor:pointer;white-space:nowrap;border-radius:8px;align-self:start;padding:12px 16px;font-weight:700}.revision-toggle.active{color:#fff;background:var(--accent)}.revision-view{max-width:var(--lesson-width);margin-top:4px;margin-inline:auto}.revision-tabs{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.revision-tabs button{color:var(--accent-strong);background:var(--surface);cursor:pointer;border:1px solid #20283024;border-radius:999px;padding:8px 18px;font-weight:700}.revision-tabs button.active{color:#fff;background:var(--accent);border-color:var(--accent)}.revision-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.revision-card{background:var(--surface);border:1px solid var(--line);border-left:6px solid var(--accent);break-inside:avoid;border-radius:8px;padding:18px 20px}.revision-card h4{color:var(--accent-strong);margin:0 0 12px;font-size:18px}.revision-points{gap:9px;margin:0;padding:0;list-style:none;display:grid}.revision-points li{color:var(--ink-soft);padding-left:18px;line-height:1.5;position:relative}.revision-points li:before{content:"▸";color:var(--accent);position:absolute;left:0}.revision-card .figure{margin-top:12px}.topic-doc-cards{margin:22px 0}.topic-doc-cards-title{margin-bottom:14px}.summary-card-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;display:grid}.summary-card{background:var(--surface);border:1px solid var(--line);border-left:6px solid var(--accent);break-inside:avoid;border-radius:8px;flex-direction:column;padding:16px 18px;display:flex}.summary-card h4{color:var(--accent-strong);margin:0 0 10px;font-size:16px}.summary-card-points{gap:7px;margin:0;padding:0;list-style:none;display:grid}.summary-card-points li{color:var(--ink-soft);padding-left:18px;line-height:1.5;position:relative}.summary-card-points li:before{content:"▸";color:var(--accent);position:absolute;left:0}.summary-card-formula{max-width:100%;margin-top:8px;overflow:auto hidden}.summary-card .figure{margin-top:auto;padding-top:12px}.chapter-tab.summary strong{align-items:center;gap:6px;display:inline-flex}.chapter-tab.summary strong:before{content:"★";color:var(--accent);font-size:12px}.chapter-list-divider{background:var(--line);height:1px;margin:8px 12px}.revision-hint{color:var(--muted);margin-bottom:14px;font-size:14px}.flashcard-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;display:grid}.flashcard{text-align:left;background:var(--surface);border:1px solid var(--line);cursor:pointer;border-radius:10px;flex-direction:column;gap:8px;min-height:120px;padding:16px;transition:border-color .16s,box-shadow .16s;display:flex}.flashcard:hover{border-color:var(--accent);box-shadow:0 4px 14px #0f172a14}.flashcard.flipped{background:var(--accent-soft);border-color:var(--accent)}.flashcard-face-label{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:800}.flashcard.flipped .flashcard-face-label{color:var(--accent-strong)}.flashcard-body{flex:1;align-items:center;line-height:1.5;display:flex}@media print{.revision-toggle,.revision-tabs,.revision-hint{display:none}.revision-grid,.flashcard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.flashcard{break-inside:avoid}.summary-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:1040px){.bookcase{grid-template-columns:1fr}.chapter-rail{min-height:0;position:static}.chapter-list{grid-template-columns:repeat(2,minmax(0,1fr))}.chapter-list-grouped{grid-template-columns:1fr}.rail-units,.study-card{display:none}.book-spread{grid-template-columns:1fr}.unit-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.unit-intro-body{grid-template-columns:1fr}.learning-map{grid-template-columns:repeat(3,minmax(0,1fr))}.learning-map .mini-label{grid-column:1/-1}.learning-map button{text-align:center;grid-template-columns:1fr;justify-items:center}.page-art{min-height:240px}}@media (max-width:700px){.app-shell{padding:14px}.app-shell .app-topbar{flex-direction:column;align-items:stretch;gap:10px;width:100%}.app-shell .app-topbar .shell-nav{gap:8px;width:100%}.app-shell .app-topbar .band-tab-bar{flex:none;width:100%;max-width:none;margin:0}.app-shell .app-topbar .course-control{width:100%}.app-shell .app-topbar .course-select{flex:1 1 0}.app-shell .app-topbar .course-select select{width:100%}.app-shell .app-topbar .account-bar{box-sizing:border-box;flex-wrap:wrap;justify-content:flex-start;row-gap:8px;width:100%;margin-left:0}.account-bar .state-control{flex:100%;order:2;min-width:0}.account-bar .state-control-label{display:none}.account-bar .state-control-select{flex:auto;width:100%;min-width:0;max-width:100%}.app-shell .account-bar>span.account-email{display:none}.app-shell .account-bar>span{flex:100%;order:3;max-width:none}.app-shell .app-topbar .account-bar{justify-content:space-between}.revision-grid{grid-template-columns:1fr}.chapter-rail,.book-panel{padding:18px}.chapter-list{grid-template-columns:1fr}.book-top{display:grid}.book-top h2{font-size:30px}.lesson-copy h3{font-size:28px}.book-actions,.unit-strip,.learning-map{grid-template-columns:1fr}.unit-strip button{min-height:0}.learning-map button{text-align:left;grid-template-columns:30px 1fr;justify-items:stretch}.question-card{grid-template-columns:1fr}.question-card button{width:100%}}.auth-shell{place-items:center;min-height:100vh;padding:28px;display:grid}.auth-card{background:var(--paper);border:1px solid var(--line);width:min(420px,100%);box-shadow:var(--shadow);border-radius:12px;padding:32px}.auth-card h2{margin:18px 0 6px}.auth-form{gap:6px;margin-top:20px;display:grid}.auth-form label{color:var(--muted);margin-top:10px;font-size:.85rem}.auth-form input{border:1px solid var(--line);background:var(--surface);min-height:44px;color:var(--ink);font:inherit;border-radius:8px;padding:0 12px}.auth-actions{gap:12px;margin-top:18px;display:grid}.auth-spinner{vertical-align:-2px;border:2px solid;border-right-color:#0000;border-radius:50%;width:14px;height:14px;margin-right:8px;animation:.6s linear infinite auth-spin;display:inline-block}@keyframes auth-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.auth-spinner{animation-duration:1.4s}}.auth-alert{border-radius:8px;margin-top:14px;padding:10px 14px;font-size:.9rem}.auth-alert-error{color:#b7412f;background:#df654f26}.auth-alert-success{background:var(--accent-soft);color:var(--accent-strong)}.auth-switch{color:var(--muted);margin:18px 0 0;font-size:.9rem}.auth-switch a{color:var(--accent-strong);font-weight:700;text-decoration:none}.auth-switch a:hover{text-decoration:underline}.auth-back{color:var(--accent-strong);margin-top:18px;font-size:.9rem;text-decoration:none;display:inline-block}.auth-shell--editorial{background:var(--surface-2)}.auth-shell--editorial .auth-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:0 4px 20px #0f172a0f}.auth-shell--editorial .brand-lockup{border-bottom:1px solid var(--border);margin-bottom:22px;padding-bottom:20px}.auth-shell--editorial .auth-card h2{font-family:var(--ed-serif);letter-spacing:-.01em;color:var(--ink);font-size:26px;font-weight:600;line-height:1.15}.auth-shell--editorial .auth-form input{border-color:var(--border);border-radius:10px}.auth-shell--editorial .auth-form input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.auth-shell--editorial .nav-button.primary{background:var(--ink);border-color:var(--ink);color:var(--surface);border-radius:999px}.auth-shell--editorial .nav-button.primary:hover{opacity:.9}.auth-shell--editorial .auth-switch a,.auth-shell--editorial .auth-back{color:var(--ink)}.account-bar{background:var(--surface-glass-soft);border:1px solid var(--line);color:var(--ink);border-radius:999px;flex:none;align-items:center;gap:8px;padding:5px 8px;font-size:.85rem;display:flex}.account-icon{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:14px;height:14px}.account-email{border-right:1px solid var(--line);margin-right:2px;padding-right:2px}.account-bar a,.account-bar button:not(.theme-toggle){color:#fff;background:var(--bordeaux);border:1px solid var(--bordeaux-strong);cursor:pointer;font:inherit;white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-weight:600;text-decoration:none;display:inline-flex}.account-bar a:hover,.account-bar button:not(.theme-toggle):hover{background:var(--bordeaux-strong);border-color:var(--bordeaux-strong)}.account-bar span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:160px;overflow:hidden}.state-control{background:var(--surface-glass-soft);border:1px solid var(--line);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:2px 4px 2px 10px;display:inline-flex}.state-control-label{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:.72rem;font-weight:700}.state-control-select{font:inherit;color:var(--ink);cursor:pointer;background:0 0;border:none;border-radius:999px;max-width:200px;padding:5px 6px;font-weight:600}.state-control-select:focus-visible{outline:2px solid var(--bordeaux);outline-offset:1px}.unit-strip button.completed{border-color:var(--accent-strong)}.unit-strip button .unit-check{color:var(--accent-strong);margin-left:6px}.landing{flex-direction:column;gap:56px;max-width:1040px;margin:0 auto;padding:32px 28px 56px;display:flex}.landing-nav{justify-content:space-between;align-items:center;gap:16px;display:flex}.landing-nav .brand-lockup{margin-bottom:0}.landing-nav h1{margin:0;font-size:22px}.landing-nav .nav-button{align-items:center;padding:0 20px;text-decoration:none;display:inline-flex}.landing-hero{text-align:center;flex-direction:column;align-items:center;gap:18px;max-width:720px;margin:0 auto;display:flex}.landing-hero h2{color:var(--ink);margin:0;font-size:clamp(32px,5vw,48px);line-height:1.1}.landing-lede{color:var(--muted);margin:0;font-size:18px;line-height:1.6}.landing-cta{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:6px;display:flex}.landing-cta .nav-button{align-items:center;padding:0 24px;text-decoration:none;display:inline-flex}.landing-fineprint{color:var(--muted);margin:0;font-size:13px}.landing-features{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;display:grid}.landing-feature{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:24px;box-shadow:0 12px 40px #1d232b14}.landing-feature h3{margin:0 0 8px;font-size:18px}.landing-feature p{color:var(--muted);margin:0;line-height:1.55}.landing-chapters{text-align:center}.landing-chapters h3{margin:4px 0 24px;font-size:26px}.landing-chapter-grid{text-align:left;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;margin:0;padding:0;list-style:none;display:grid}.landing-chapter{background:var(--surface-glass-soft);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:10px;flex-direction:column;gap:6px;padding:18px 20px;display:flex}.landing-chapter strong{font-size:16px}.landing-chapter span{color:var(--muted);line-height:1.5}.landing-final{text-align:center;background:var(--rail);color:#fff;border-radius:16px;flex-direction:column;align-items:center;gap:14px;padding:44px 28px;display:flex}.landing-final h3{margin:0;font-size:28px}.landing-final p{opacity:.85;margin:0}.landing-final .nav-button{align-items:center;margin-top:6px;padding:0 26px;text-decoration:none;display:inline-flex}.landing-footer{text-align:center;color:var(--muted);font-size:13px}.landing-footer p{margin:0}.landing--neutral{color:var(--ink)}.landing--neutral:before{content:"";z-index:-1;background:var(--surface-2);position:fixed;inset:0}.brand-tagline{letter-spacing:.04em;color:var(--muted);margin:2px 0 0;font-size:12px;font-weight:700}.landing-trust{color:var(--muted);margin:4px 0 0;font-size:13px;font-weight:600}.landing-audience{text-align:center}.landing-audience h3{margin:4px 0 24px;font-size:26px}.landing-audience-grid{text-align:left;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;display:grid}.landing-audience-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:10px;padding:24px;display:flex;box-shadow:0 4px 14px #0f172a0f}.landing-audience-card h4{color:var(--accent-strong);margin:0;font-size:18px}.landing-audience-card p{color:var(--muted);flex:1;margin:0;line-height:1.55}.landing-audience-link{color:var(--accent-strong);align-self:flex-start;font-size:14px;font-weight:700;text-decoration:none}.landing-audience-link:hover{text-decoration:underline}.landing--neutral .landing-feature{background:var(--surface);border-color:var(--border);box-shadow:0 4px 14px #0f172a0f}.landing--neutral .landing-chapter{background:var(--surface);border-color:var(--border)}.site-footer{border-top:1px solid var(--border);color:var(--muted);flex-direction:column;gap:24px;padding-top:32px;display:flex}.site-footer-cols{grid-template-columns:minmax(220px,1.4fr) repeat(auto-fit,minmax(140px,1fr));gap:28px;display:grid}.site-footer-brand .brand-lockup{margin-bottom:12px}.site-footer-brand h2{color:var(--ink);margin:0;font-size:20px}.site-footer-blurb{max-width:320px;margin:0;font-size:14px;line-height:1.55}.site-footer-group{flex-direction:column;gap:8px;display:flex}.site-footer-heading{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 4px;font-size:11px;font-weight:800}.site-footer-group a{color:var(--muted);font-size:14px;text-decoration:none}.site-footer-group a:hover{color:var(--accent-strong)}.site-footer-bottom{border-top:1px solid var(--border);flex-direction:column;gap:8px;padding-top:18px;font-size:12px;display:flex}.site-footer-bottom p{margin:0}.site-footer-disclaimer{max-width:720px;color:var(--muted);line-height:1.5}.legal-page{gap:32px}.legal-home-link{color:inherit;text-decoration:none}.legal-doc{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:32px clamp(20px,4vw,44px);box-shadow:0 4px 14px #0f172a0f}.legal-updated{color:var(--muted);margin:12px 0 0;font-size:13px}.legal-doc ul.topic-doc-prose{padding-left:22px}.legal-doc ul.topic-doc-prose li{margin-bottom:8px}.landing--editorial{gap:40px;max-width:960px}.landing--editorial .landing-nav{border-bottom:1px solid var(--border);padding-bottom:22px}.landing--editorial .nav-button{border-color:var(--border);border-radius:999px}.landing--editorial .nav-button.primary{background:var(--ink);border-color:var(--ink);color:var(--surface)}.landing--editorial .nav-button.primary:hover{opacity:.9}.ed-hero{flex-direction:column;align-items:flex-start;gap:18px;max-width:720px;padding:8px 0 4px;display:flex}.ed-eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);align-items:center;gap:8px;margin:0;font-size:12px;font-weight:700;display:inline-flex}.ed-dot{background:var(--accent-strong);border-radius:999px;width:7px;height:7px}.ed-display{font-family:var(--ed-serif);letter-spacing:-.01em;color:var(--ink);margin:0;font-size:clamp(32px,5vw,50px);font-weight:600;line-height:1.08}.ed-lede{max-width:620px;color:var(--ink-soft);margin:0;font-size:18px;line-height:1.6}.ed-cta{flex-wrap:wrap;align-items:center;gap:18px;margin-top:6px;display:flex}.ed-cta .nav-button{align-items:center;padding:0 24px;text-decoration:none;display:inline-flex}.ed-textlink{color:var(--ink);border-bottom:1px solid var(--border);padding-bottom:2px;font-size:15px;font-weight:600;text-decoration:none}.ed-textlink:hover{border-bottom-color:var(--ink)}.ed-fineprint{color:var(--muted);margin:2px 0 0;font-size:13px}.ed-panel{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:clamp(24px,4vw,36px)}.ed-label{border-bottom:1px solid var(--border);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 22px;padding-bottom:14px;font-size:11px;font-weight:800}.ed-panel-title{font-family:var(--ed-serif);color:var(--ink);margin:0 0 22px;font-size:clamp(22px,3vw,30px);font-weight:600;line-height:1.15}.ed-grid{gap:30px;display:grid}.ed-grid--3{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.ed-item{flex-direction:column;gap:10px;display:flex}.ed-item h3{color:var(--ink);margin:0;font-size:17px;font-weight:700}.ed-item p{color:var(--muted);flex:1;margin:0;line-height:1.6}.ed-item .ed-textlink{align-self:flex-start;font-size:14px}.ed-coverage{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:0 32px;margin:0;padding:0;list-style:none;display:grid}.ed-coverage li{border-top:1px solid var(--border);justify-content:space-between;align-items:baseline;gap:16px;padding:15px 0;display:flex}.ed-coverage strong{color:var(--ink);font-size:15px;font-weight:600}.ed-coverage span{color:var(--muted);text-align:right;font-size:13px}.ed-final{text-align:center;border:1px solid var(--border);background:var(--surface);border-radius:16px;flex-direction:column;align-items:center;gap:14px;padding:clamp(36px,6vw,56px) 28px;display:flex}.ed-final .ed-display{align-items:center;font-size:clamp(26px,4vw,36px)}.ed-final p{color:var(--muted);margin:0}.ed-final .nav-button{align-items:center;margin-top:6px;padding:0 26px;text-decoration:none;display:inline-flex}.app-topbar{flex-direction:column;align-items:flex-start;gap:10px;max-width:min(1800px,96vw);margin:0 auto 12px;display:flex}.app-topbar .account-bar{align-self:flex-end}.band-tab-bar{flex-wrap:wrap;gap:8px;max-width:1440px;margin:0 auto 10px;display:flex}.band-tab{border:1px solid var(--line);background:var(--surface-glass-soft);color:var(--ink);letter-spacing:.01em;cursor:pointer;border-radius:999px;padding:8px 22px;font-weight:800}.band-tab.active{background:var(--accent-strong);border-color:var(--accent-strong);color:#fff}.app-topbar .band-tab-bar{max-width:none;margin:0}.shell-nav{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;display:flex}.course-control{align-items:center;gap:6px;display:flex}.course-select{border:1px solid var(--line);background:var(--surface);border-radius:999px;align-items:center;display:inline-flex}.course-select select{appearance:none;border-radius:inherit;color:var(--ink);font:inherit;cursor:pointer;background-color:#0000;background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:calc(100% - 16px) calc(50% + 1px),calc(100% - 11px) calc(50% + 1px);background-repeat:no-repeat;background-size:5px 5px,5px 5px;background-attachment:scroll;background-origin:padding-box;background-clip:border-box;border:0;padding:7px 30px 7px 14px;font-size:13.5px;font-weight:700}.course-select select:focus-visible{outline:2px solid var(--accent-strong);outline-offset:1px}.course-placeholder{text-align:center;background:var(--surface-glass);border:1px solid var(--line);max-width:720px;box-shadow:var(--shadow);border-radius:12px;margin:80px auto;padding:40px}.course-placeholder .eyebrow{color:var(--accent-strong)}.placeholder-message{color:var(--muted);margin-top:16px}.figure{background:var(--surface,#fff);border:1px solid var(--border,#e5e7eb);--ink:#25313b;--muted:#6b7380;--surface:#fff;--border:#e5e7eb;color:#25313b;background:#fff;border-radius:12px;max-width:620px;margin:14px 0 4px;margin-inline:auto;padding:10px}.figure>svg{width:100%;height:auto;display:block}.figure figcaption{color:var(--muted);text-align:center;margin-top:6px;font-size:.8rem}.fig-grid{stroke:var(--border,#e5e7eb);stroke-width:1px;opacity:.6}.fig-axis{stroke:#1f2937;stroke-width:1.4px}.fig-tick{fill:#374151;font-size:12.5px}.fig-curve{stroke-width:2.25px;stroke-linejoin:round;stroke-linecap:round}.fig-curvelabel{font-size:14px;font-style:italic;font-weight:700}.fig-point{fill:#1f2937}.fig-plabel,.fig-vlabel,.fig-sidelabel,.fig-anglabel{fill:var(--ink,#111827);font-size:13.5px;font-weight:600}.fig-plabel{paint-order:stroke;stroke:var(--surface,#fff);stroke-width:3.5px;stroke-linejoin:round}.fig-axislabel{fill:var(--muted,#6b7280);font-size:13.5px;font-style:italic;font-weight:700}.fig-axis-arrow{fill:var(--muted,#6b7280)}.fig-vtable-line{stroke:var(--muted,#6b7280);stroke-width:1.2px}.fig-vtable-head{fill:var(--accent-strong,#2563eb);font-size:14.5px;font-weight:700}.fig-vtable-cell{fill:var(--ink,#111827);font-size:14.5px}.fig-shape{stroke:#1f2937;stroke-width:2px;fill:none;stroke-linejoin:round}.fig-arc,.fig-right{stroke:var(--muted,#6b7280);stroke-width:1.5px}.fig-image{stroke:#1f2937;stroke-width:2px;stroke-dasharray:6 4;fill:none;opacity:.75}.fig-mirror{stroke:var(--muted,#6b7280);stroke-width:1.5px;stroke-dasharray:5 4}.fig-point-open{fill:#fff;stroke:#1f2937;stroke-width:2px}.fig-hidden{stroke:#1f2937;stroke-width:1.5px;fill:none;stroke-dasharray:5 4;opacity:.55}.figure-geometry{max-width:600px}@media (max-width:700px){.figure,.figure-geometry,.figure-plot{max-width:100%}}.topic-doc{max-width:var(--lesson-width);color:var(--ink,#1f2937);margin:0 auto}.topic-doc.summary{max-width:none}.topic-doc-head{border-bottom:1px solid var(--line);margin-bottom:28px;padding-bottom:20px}.topic-doc-head h2{margin:0 0 8px;font-size:36px;line-height:1.1}.topic-doc-lede{max-width:680px;color:var(--muted);margin:0;font-size:17px;line-height:1.55}.topic-doc-h2{color:var(--accent-strong);margin:34px 0 12px;font-size:24px;line-height:1.2}.topic-doc-h3{margin:24px 0 10px;font-size:18px;font-weight:800}.topic-doc-prose{margin:0 0 16px;font-size:16.5px;line-height:1.7}.topic-doc-figure{justify-content:center;margin:18px 0;display:flex}.topic-doc-formula{background:var(--accent-soft);text-align:center;border-radius:10px;margin:18px 0;padding:16px 18px}.topic-doc-formula-caption{color:var(--muted);margin-top:6px;font-size:13px;display:block}.topic-doc-note{border-left:4px solid var(--accent-strong);background:var(--accent-soft);border-radius:10px;margin:18px 0;padding:14px 16px;line-height:1.6}.topic-doc-note.warning{background:#d1495b1a;border-left-color:#d1495b}.topic-doc-note .mini-label{margin-bottom:4px}.topic-doc-example{border:1px solid var(--line);background:var(--surface);border-radius:10px;margin:20px 0;padding:16px 18px}.topic-doc-example-problem{margin:4px 0 10px;font-weight:600}.topic-doc-example ol,.topic-doc-form ol{margin:0;padding-left:22px;line-height:1.65}.topic-doc-example ol li,.topic-doc-form ol li{margin-bottom:6px}.topic-doc-recognition{border:1px solid var(--accent-strong);background:var(--accent-soft);border-radius:10px;margin:22px 0;padding:16px 18px}.topic-doc-recognition table{border-collapse:collapse;width:100%;margin-top:8px}.topic-doc-recognition th,.topic-doc-recognition td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:9px 12px;line-height:1.5}.topic-doc-recognition th{text-transform:uppercase;color:var(--accent-strong);font-size:12px}.topic-doc-recognition td:first-child{width:45%;font-weight:600}.topic-doc-recognition{overflow-x:auto}.topic-doc table{max-width:100%}@media (max-width:700px){.topic-doc-recognition table{min-width:420px}.topic-doc .math-block{max-width:100%;overflow-x:auto}.topic-doc-toc-links{overflow-x:auto}}.topic-doc-form{border:1px solid var(--line);border-left:4px solid var(--accent);background:var(--surface);border-radius:10px;margin:18px 0;padding:16px 18px}.topic-doc-form-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.topic-doc-form-head h4{margin:0;font-size:18px}.topic-doc-badge{text-transform:uppercase;color:#fff;background:var(--accent);border-radius:999px;flex:none;padding:3px 10px;font-size:11px;font-weight:800}.topic-doc-badge.simple{background:#2f9f8f}.topic-doc-badge.advanced{background:#347fbf}.topic-doc-badge.complex{background:#c48a26}.topic-doc-badge.hard{background:#d1495b}.topic-doc-form-recognise{margin:0 0 10px;line-height:1.6}.topic-doc-form .mini-label{margin-top:6px}.topic-doc-form-example{background:var(--accent-soft);border-radius:8px;margin:10px 0 0;padding:10px 12px;line-height:1.6}.topic-doc-form-pitfall{background:#d1495b1a;border-radius:8px;margin:10px 0 0;padding:10px 12px;line-height:1.6}.topic-doc-form-pitfall .mini-label{color:#d1495b}.topic-doc-tabs{margin:4px 0 24px}.topic-doc-tab-count{opacity:.7;margin-left:3px;font-weight:500}.topic-doc-panel.is-hidden{display:none}@media print{.topic-doc-panel.is-hidden{display:block!important}}.topic-doc-practice{margin-top:30px}.topic-doc-practice-tabs{flex-wrap:wrap;gap:6px;margin:12px 0 18px;display:flex}.topic-doc-practice-tab{font:inherit;color:var(--muted,#64748b);background:var(--surface-2,#f1f5f9);border:1px solid var(--border,#e2e8f0);cursor:pointer;border-radius:999px;padding:5px 14px;font-size:.85rem;font-weight:600}.topic-doc-practice-tab:hover:not(.active){border-color:var(--accent,#0f766e);color:var(--accent,#0f766e)}.topic-doc-practice-tab.active{color:#fff;background:var(--accent,#0f766e);border-color:var(--accent,#0f766e)}.topic-doc-practice-tab-count{opacity:.75;font-weight:500}.topic-doc-pagination{justify-content:center;align-items:center;gap:16px;margin-top:20px;display:flex}.topic-doc-pagination span{color:var(--muted,#64748b);font-size:.9rem}.topic-doc-pagination .nav-button{min-width:104px;min-height:40px;padding:0 16px}.topic-doc-practice-list,.topic-doc-solution-list{padding-left:24px;line-height:1.7}.topic-doc-practice-list li,.topic-doc-solution-list li{margin-bottom:12px}.topic-doc-solution-list li{color:var(--muted)}.topic-doc-marks{color:var(--accent);background:var(--accent-soft);border:1px solid var(--accent);border-radius:999px;flex:none;padding:3px 10px;font-size:11px;font-weight:700}.topic-doc-reveal{border:1px solid var(--accent);color:var(--accent);font:inherit;cursor:pointer;background:0 0;border-radius:999px;margin-top:10px;padding:7px 14px;font-size:13px;font-weight:600;display:inline-block}.topic-doc-reveal:hover{background:var(--accent-soft)}.topic-doc-reveal.small{margin-top:6px;padding:4px 12px;font-size:12px}.topic-doc-worked-body{border-left:3px solid var(--accent);white-space:pre-line;background:#0f172a09;border-radius:0 8px 8px 0;margin-top:10px;padding:12px 14px;line-height:1.7}.topic-doc-worked-body.collapsed{display:none}.topic-doc-bandtip{background:#c48a261f;border-radius:8px;margin:10px 0 0;padding:10px 12px;line-height:1.6}.topic-doc-bandtip .mini-label{color:#a06f14}.topic-doc-practice-q{flex-wrap:wrap;align-items:baseline;gap:8px 12px;display:flex}.topic-doc-practice-q-text{flex:auto;min-width:0}.topic-doc-practice-q-text .math-block{text-align:left;margin:0;display:inline-block}.topic-doc-practice-q .topic-doc-badge{flex:none;margin-left:auto;transform:translateY(2px)}.topic-doc-toc{background:#0f172a06;border:1px solid #0f172a1a;border-radius:8px;margin:0 0 22px;padding:12px 14px}.topic-doc-toc-links{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.topic-doc-toc-link{background:var(--surface);color:inherit;border:1px solid #0f172a1f;border-radius:999px;padding:4px 11px;font-size:12.5px;line-height:1.4;text-decoration:none}.topic-doc-toc-link:hover{border-color:var(--accent);color:var(--accent)}.topic-doc-toc-link.section{background:var(--accent-soft);border-color:var(--accent);font-weight:700}.topic-doc-h2,.topic-doc-form{scroll-margin-top:24px}@media print{.topic-doc{max-width:none}.topic-doc-form,.topic-doc-example,.topic-doc-recognition,.topic-doc-note{break-inside:avoid}.topic-doc-reveal,.topic-doc-toc{display:none!important}.topic-doc-worked-body.collapsed{display:block!important}}.test-section-tabs{background:var(--surface-2,#f1f5f9);border-radius:999px;gap:4px;padding:3px;display:inline-flex}.test-section-tab{color:var(--muted,#64748b);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:4px 14px;font-size:.85rem;font-weight:600}.test-section-tab.active{background:var(--accent,#0f766e);color:#fff}.test-qnum{color:var(--accent,#0f766e);margin-right:4px;font-weight:700;display:inline-block}.test-opt-letter{background:var(--surface-2,#f1f5f9);border-radius:50%;flex:none;justify-content:center;align-items:center;width:1.4em;height:1.4em;margin-right:8px;font-size:.8em;font-weight:700;display:inline-flex}.test-longlist{flex-direction:column;gap:22px;display:flex}.test-longq,.test-review-longq{border:1px solid var(--border,#e2e8f0);background:var(--surface,#fff);border-radius:12px;padding:16px 18px}.test-longq-title{margin:0 0 8px;font-size:1.05rem}.test-longq-marks{color:var(--muted,#64748b);font-size:.85rem;font-weight:500}.test-longq-stem{margin:0 0 12px}.test-part{border-top:1px dashed var(--border,#e2e8f0);padding:12px 0}.test-part:first-of-type{border-top:none}.test-part-prompt{flex-wrap:wrap;align-items:baseline;gap:6px;margin:0 0 8px;display:flex}.test-part-letter{font-weight:700}.test-part-marks{color:var(--muted,#64748b);white-space:nowrap;margin-left:auto;font-size:.8rem;font-weight:600}.test-reveal{border:1px solid var(--accent,#0f766e);color:var(--accent,#0f766e);cursor:pointer;background:0 0;border-radius:8px;padding:5px 12px;font-size:.85rem;font-weight:600}.test-reveal:hover{background:var(--accent,#0f766e);color:#fff}.test-solution{background:var(--surface-2,#f8fafc);border-left:3px solid var(--accent,#0f766e);border-radius:0 8px 8px 0;margin-top:10px;padding:12px 14px}.test-solution-body{white-space:pre-line}.test-approach{background:#b4781412;border:1px solid #b478144d;border-radius:8px;margin:0 0 12px;padding:9px 12px}.test-approach .mini-label{color:#b45309}.test-approach-body{white-space:pre-line;font-size:.92rem}.test-selfmark{flex-wrap:wrap;align-items:center;gap:6px;margin-top:12px;display:flex}.test-selfmark-label{color:var(--muted,#64748b);margin-right:2px;font-size:.82rem;font-weight:600}.test-mark-btn{border:1px solid var(--border,#cbd5e1);background:var(--surface);cursor:pointer;border-radius:8px;width:30px;height:30px;font-weight:700}.test-mark-btn.selected{background:var(--accent,#0f766e);color:#fff;border-color:var(--accent,#0f766e)}.test-selfmark-of{color:var(--muted,#64748b);margin-left:2px;font-size:.82rem}@media print{.test-section-tabs,.test-reveal,.test-selfmark,.print-noprint,.print-menu,.test-print-link{display:none!important}.test-solution{display:block!important}}.print-menu{display:inline-block;position:relative}.print-menu-btn{font:inherit;border:1px solid var(--border,#e5e7eb);background:var(--surface,#fff);cursor:pointer;border-radius:6px;padding:4px 10px}.print-menu-panel{z-index:20;background:var(--surface,#fff);border:1px solid var(--border,#e5e7eb);border-radius:8px;flex-direction:column;gap:6px;width:240px;margin-top:4px;padding:10px;font-size:.85rem;display:flex;position:absolute;left:0;box-shadow:0 6px 18px #0000001f}.print-menu-panel button{font:inherit;border:1px solid var(--border,#e5e7eb);background:var(--paper,#fbf7ee);cursor:pointer;text-align:left;border-radius:6px;padding:5px 8px}.print-menu-tiers{flex-direction:column;gap:2px;margin:4px 0;display:flex}.print-menu-worksheet{flex-direction:column;gap:4px;display:flex}.print-menu-worksheet-actions{gap:6px;display:flex}.print-menu-worksheet-actions button{text-align:center;flex:1}.print-menu-group-label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted,#6b7280);margin-top:2px;font-size:.7rem;font-weight:700}.theme-toggle{border:1px solid var(--line);background:var(--surface-glass-soft);width:30px;height:30px;color:inherit;cursor:pointer;border-radius:999px;justify-content:center;align-items:center;padding:0;font-size:15px;line-height:1;display:inline-flex}.theme-toggle:hover{background:var(--surface)}.landing-nav-actions{align-items:center;gap:12px;display:inline-flex}.print-link-btn{font:inherit;border:1px solid var(--border,#e5e7eb);background:var(--surface,#fff);color:inherit;cursor:pointer;border-radius:6px;padding:5px 12px;font-size:.85rem;text-decoration:none;display:inline-block}.print-link-btn:hover{background:var(--paper,#fbf7ee)}.doc-print-actions{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.dashboard{flex-direction:column;gap:24px;max-width:1040px;margin:0 auto;display:flex}.dashboard-continue{color:inherit;background:linear-gradient(145deg, #ffffffb3, #ffffff40), var(--accent-soft);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:12px;padding:20px 24px;text-decoration:none;transition:border-color .16s,box-shadow .16s;display:block}.dashboard-continue:hover{border-color:var(--accent)}.dashboard-continue-line{color:#22303c;margin:0 0 4px;font-size:22px;font-weight:700;line-height:1.25}.dashboard-continue-sub{color:var(--muted);margin:0;font-size:14px}.dashboard-continue-cta{color:#fff;background:var(--accent-strong);border-radius:999px;margin-top:14px;padding:8px 16px;font-size:14px;font-weight:700;display:inline-block}.dashboard-empty{background:var(--surface-glass-soft);border:1px solid var(--line);border-radius:12px;padding:20px 24px}.dashboard-empty p{color:var(--muted);margin-bottom:12px}.dashboard-empty a{color:#fff;background:var(--accent-strong);border-radius:999px;padding:8px 16px;font-size:14px;font-weight:700;text-decoration:none;display:inline-block}.dashboard-courses{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;display:grid}.dashboard-course-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;flex-direction:column;padding:16px 18px;display:flex;box-shadow:0 4px 14px #0f172a0f}.dashboard-course-card h2{margin:0 0 12px;font-size:18px;line-height:1.25}.dashboard-bar{background:var(--accent-soft);border-radius:999px;height:8px;margin-bottom:8px;overflow:hidden}.dashboard-bar>span{background:var(--accent);border-radius:999px;height:100%;display:block}.dashboard-course-stats{color:var(--muted);margin:0 0 10px;font-size:13px}.dashboard-course-next{color:var(--accent-strong);margin-top:auto;font-size:14px;font-weight:700;text-decoration:none;display:inline-block}a.dashboard-course-next:hover{text-decoration:underline}.dashboard-browse{color:var(--accent-strong);align-self:flex-start;font-weight:700;text-decoration:none}.dashboard-browse:hover{text-decoration:underline}.dashboard-perf{flex-direction:column;gap:18px;display:flex}.dashboard-section-h{margin:8px 0 0;font-size:18px}.dashboard-perf-empty{color:var(--muted);background:var(--surface-glass-soft);border:1px solid var(--line);border-radius:12px;padding:16px 20px}.dashboard-perf-group>h3{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:0 0 10px;font-size:13px;font-weight:700}.dashboard-perf-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;display:grid}.dashboard-perf-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:8px;padding:14px 16px;display:flex;box-shadow:0 4px 14px #0f172a0f}.dashboard-perf-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.dashboard-perf-name{margin:0;font-weight:700;line-height:1.25}.dashboard-perf-body{justify-content:space-between;align-items:center;gap:8px;display:flex}.dashboard-perf-pct{font-size:22px;font-weight:800}.dashboard-trend{margin-left:6px;font-size:13px;font-weight:700}.dashboard-trend.up{color:#15803d}.dashboard-trend.down{color:#b91c1c}.dashboard-trend.flat{color:var(--muted)}.dashboard-sparkline{color:var(--accent-strong);flex:none}.dashboard-perf-sub{color:var(--muted);margin:0;font-size:12px}.dashboard-band{white-space:nowrap;border:1px solid #0000;border-radius:999px;flex:none;padding:2px 10px;font-size:12px;font-weight:700}.dashboard-band.tone-advanced{color:#166534;background:#dcfce7}.dashboard-band.tone-proficient{color:#1e40af;background:#dbeafe}.dashboard-band.tone-developing{color:#92400e;background:#fef3c7}.dashboard-band.tone-beginner{color:#9f1239;background:#ffe4e6}.dashboard-perf-levels{flex-wrap:wrap;gap:6px 14px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.dashboard-perf-level-name{text-transform:capitalize;color:var(--muted)}.dashboard-focus{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.dashboard-perf-hint{color:var(--muted);margin:0 0 10px;font-size:13px}.dashboard-focus-item{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--accent-strong);border-radius:8px;justify-content:space-between;align-items:baseline;gap:10px;padding:10px 14px;display:flex}.dashboard-focus-topic{font-weight:700}.dashboard-focus-meta{color:var(--muted);flex:none;font-size:12px}@media (max-width:700px){.dashboard-courses,.dashboard-perf-grid{grid-template-columns:1fr}}[data-theme=dark] .unit-strip button,[data-theme=dark] .learning-map button,[data-theme=dark] .unit-intro p,[data-theme=dark] .focus-line,[data-theme=dark] .solution,[data-theme=dark] .practice-explanation,[data-theme=dark] .dashboard-continue-line{color:var(--ink-soft)}[data-theme=dark] .unit-intro-title{color:var(--ink)}[data-theme=dark] .strategy-pitfall{color:#fca5a5}[data-theme=dark] .strategy-example .mini-label{color:#e6c34d}[data-theme=dark] .pretest-skipped{color:#f0a0a0}[data-theme=dark] .learning-map,[data-theme=dark] .dashboard-continue{background:var(--accent-soft)}[data-theme=dark] .unit-strip button.active,[data-theme=dark] .learning-map button.active{background:var(--accent-soft);border-color:var(--accent);color:var(--ink)}[data-theme=dark] .unit-strip button.active span{color:var(--accent)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.iw{background:#fffdf7;border:2px solid #ffe3a3;border-radius:16px;flex-direction:column;align-items:center;gap:12px;max-width:460px;padding:16px;display:flex}.iw.iw-place-value{width:100%;max-width:760px}.iw.iw-number-line{width:100%;max-width:620px}.iw.iw-number-line .iw-nl-track{max-width:100%}.iw.iw-number-line .iw-nl-tick{min-width:0}.iw-compare-size-row{align-items:flex-end;gap:24px;display:flex}.iw-compare-size-row.vertical{align-items:flex-end}.iw-compare-size-item{cursor:pointer;background:0 0;border:none;border-radius:12px;flex-direction:column;align-items:center;gap:8px;padding:6px;display:flex;position:relative}.iw-compare-size-item:focus-visible{outline-offset:2px;outline:3px solid #378add}.iw-compare-size-item.iw-winner{background:#eafaf0}.iw-compare-size-shelf{align-items:flex-end;height:150px;display:flex}.iw-compare-size-bar{background:var(--iw-c);border-radius:8px;height:34px;display:block}.iw-compare-size-row.vertical .iw-compare-size-bar{width:40px;height:34px}.iw-compare-size-label{color:#333;font-weight:700}.iw-pick-one-choices{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}.iw-pick-one-choice{cursor:pointer;color:#334;background:#fff;border:2px solid #e2e8f0;border-radius:16px;flex-direction:column;align-items:center;gap:6px;padding:12px 18px;font-size:18px;font-weight:800;display:flex;position:relative}.iw-pick-one-choice:focus-visible{outline-offset:2px;outline:3px solid #378add}.iw-pick-one-choice.iw-winner{border-color:var(--iw-c);background:#eafaf0}.iw-sort-tray{flex-wrap:wrap;justify-content:center;gap:10px;min-height:48px;display:flex}.iw-sort-chip{border:2px solid var(--iw-c);background:color-mix(in srgb, var(--iw-c) 18%, #fff);color:#222;cursor:pointer;border-radius:999px;padding:8px 16px;font-weight:700}.iw-sort-chip.selected{outline-offset:2px;outline:3px solid #ef9f27}.iw-sort-chip.placed{cursor:default;padding:4px 10px;font-size:13px}.iw-sort-bins{gap:16px;display:flex}.iw-sort-bin-drop{cursor:pointer;background:#fff;border:3px dashed #cbd5e1;border-radius:14px;flex-direction:column;align-items:center;gap:6px;min-width:130px;min-height:90px;padding:10px;display:flex}.iw-sort-bin-drop:focus-visible{outline-offset:2px;outline:3px solid #378add}.iw-sort-bin-title{color:#334;font-weight:800}.iw-sort-bin-items{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.iw-sort-empty{color:#666;font-weight:700}.learn-play-toggle{gap:14px;max-width:1440px;margin:0 auto 16px;display:flex}.learn-play-toggle button{color:#7a5a12;cursor:pointer;background:#fff;border:3px solid #ffd66b;border-radius:999px;align-items:center;gap:10px;padding:14px 28px;font-size:20px;font-weight:800;display:inline-flex}.learn-play-toggle button.active{color:#5a3d00;background:#ffcf4d;border-color:#f0a500}.learn-play-toggle button:focus-visible{outline-offset:2px;outline:3px solid #378add}.primary-learn .primary-cards{flex-direction:column;gap:28px;margin-top:16px;display:flex}.primary-card{background:linear-gradient(#fffdf7 0%,#fff 42%);border:2px solid #ffe3a3;border-radius:26px;flex-direction:column;align-items:center;gap:18px;padding:28px 28px 30px;display:flex;box-shadow:0 2px #ffeec6,0 10px 28px -18px #7a5a1280}.primary-card-head{align-items:center;gap:12px;display:flex}.primary-card-head h3{color:#4a3b12;text-align:center;margin:0;font-size:28px;line-height:1.15}.primary-card-note{color:#555;text-align:center;margin:0;font-size:19px}.primary-card-ideas{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:12px;width:100%;margin:2px 0 0;padding:0;list-style:none;display:grid}.primary-card-ideas li{color:#4a3b12;background:#fffaf0;border:2px solid #ffe3a3;border-radius:16px;align-items:center;gap:12px;padding:14px 16px;font-size:19px;line-height:1.45;display:flex}.primary-card-ideas li span{flex:1}.primary-card-example{background:#eef6ff;border:2px solid #bcddf7;border-radius:16px;align-items:center;gap:12px;width:100%;padding:14px 18px;display:flex}.primary-card-example-tag{text-transform:uppercase;letter-spacing:.5px;color:#2f7fc4;flex:none;font-size:12px;font-weight:800}.primary-card-example-text{color:#234;flex:1;font-size:19px;line-height:1.45}.primary-card-why{color:#6b5a33;margin-top:4px;font-size:17px;font-style:normal;line-height:1.45;display:block}.primary-card-steps{background:#fff7e6;border:2px solid #ffd98a;border-radius:18px;width:100%;padding:16px 18px 18px}.primary-card-steps-tag{text-transform:uppercase;letter-spacing:.6px;color:#a06b00;margin:0 0 10px;font-size:13px;font-weight:800}.primary-card-steps ol{counter-reset:none;flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.primary-card-steps li{background:#fff;border:2px solid #ffe3a3;border-radius:14px;align-items:center;gap:12px;padding:12px 14px;display:flex}.primary-card-step-num{color:#5a3d00;background:#ffcf4d;border-radius:50%;flex:none;justify-content:center;align-items:center;width:34px;height:34px;font-size:17px;font-weight:800;display:inline-flex}.primary-card-step-text{color:#4a3b12;flex:1;font-size:19px;line-height:1.45}.iw-column{flex-direction:column;align-items:center;gap:14px;width:100%;display:flex}.iw-col-grid{font-variant-numeric:tabular-nums;background:#fff;border:2px solid #ffe3a3;border-radius:18px;flex-direction:column;align-items:center;gap:3px;width:min(100%,560px);padding:24px 32px;display:flex}.iw-col-row,.iw-col-cells{align-items:flex-end;gap:2px;display:flex}.iw-col-cells.ruled{border-bottom:3px solid #4a3b12;margin-bottom:4px;padding-bottom:4px}.iw-col-prefix{text-align:right;color:#4a3b12;white-space:nowrap;min-width:30px;font-size:26px;font-weight:800}.iw-col-bracket{text-align:left;color:#4a3b12;width:14px;font-size:34px;font-weight:400;line-height:.9}.iw-col-sup{color:#c2410c;vertical-align:super;margin-right:1px;font-size:15px;font-weight:800}.iw-col-cell{text-align:center;color:#234;border-radius:8px;width:40px;font-size:30px;font-weight:700;line-height:1.25}.iw-col-cell.lit{background:#fff2c9}.iw-col-cell.struck{color:#b0653a;text-decoration:line-through}.iw-col-carry .iw-col-cell{color:#c2410c;font-size:17px;font-weight:800}.iw-col-result .iw-col-cell{color:#1f6f43}.iw-col-partial .iw-col-cell{color:#2f7fc4}.iw-col-working .iw-col-cell{color:#6b5a33}.iw-col-caption{color:#4a3b12;text-align:left;align-items:center;gap:10px;max-width:620px;margin:0;font-size:19px;line-height:1.45;display:flex}.iw-col-controls{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;display:flex}.iw-col-next{color:#5a3d00;cursor:pointer;background:#ffcf4d;border:3px solid #f0a500;border-radius:999px;padding:10px 22px;font-size:18px;font-weight:800}.iw-col-next:hover{background:#ffc42e}.iw-col-next:focus-visible,.iw-column .iw-reset:focus-visible{outline-offset:2px;outline:3px solid #378add}.iw-column .iw-reset:disabled{opacity:.45;cursor:default}.iw-col-progress{color:#6b5a33;font-size:15px;font-weight:700}.iw-times{flex-direction:column;align-items:center;gap:12px;width:100%;display:flex}.iw-times-modes{gap:8px;display:inline-flex}.iw-times-mode{color:#7a5a12;cursor:pointer;background:#fff;border:2px solid #ffd66b;border-radius:999px;padding:7px 18px;font-size:15px;font-weight:800}.iw-times-mode.on{color:#5a3d00;background:#ffcf4d;border-color:#f0a500}.iw-times-mode:focus-visible,.iw-times-cell:focus-visible{outline-offset:1px;outline:3px solid #378add}.iw-times-grid{border-collapse:collapse;font-variant-numeric:tabular-nums;background:#fff;border-radius:14px;overflow:hidden}.iw-times-grid th{color:#5a3d00;text-align:center;background:#fff3d0;width:38px;height:34px;padding:0;font-size:15px;font-weight:800}.iw-times-grid th.lit{background:#ffcf4d}.iw-times-grid td{border:1px solid #f2e6c8;padding:0}.iw-times-grid tr.dim td{opacity:.3}.iw-times-cell{width:38px;height:34px;font:inherit;color:#234;cursor:pointer;background:0 0;border:0;font-size:15px;font-weight:700}.iw-times-cell.shown{color:#1f6f43}.iw-times-cell.lit{background:#fff7e0}.iw-times-cell:hover{background:#fff2c9}@media (max-width:620px){.iw-times-grid th,.iw-times-cell{width:26px;height:26px;font-size:12px}}.read-aloud{color:#2f7fc4;cursor:pointer;background:#fff;border:2px solid #cbd5e1;border-radius:50%;flex:none;justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex}.read-aloud:hover{background:#eef6ff}.read-aloud:focus-visible{outline-offset:2px;outline:3px solid #378add}.iw-prompt{color:#4a3b12;text-align:center;margin:0;font-size:18px;font-weight:700}.iw-objects{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.iw-glyph{cursor:pointer;background:0 0;border:none;border-radius:12px;padding:4px;line-height:0}.iw-glyph:focus-visible{outline-offset:2px;outline:3px solid #378add}.iw-readout{color:#333;font-size:20px}.iw-reset{color:#333;cursor:pointer;background:#fff;border:2px solid #cbd5e1;border-radius:999px;padding:8px 18px;font-weight:700}.iw-caption{color:#666;margin:0;font-size:14px}.iw-burst,.iw-burst-static{display:inline-block;position:relative}@media (prefers-reduced-motion:no-preference){.iw-glyph.filled svg{animation:.24s iw-pop}.iw-spark{width:8px;height:8px;transform:rotate(calc(var(--i) * 45deg)) translateY(0);background:#ef9f27;border-radius:50%;animation:.6s ease-out forwards iw-spark;position:absolute}@keyframes iw-pop{0%{transform:scale(.6)}60%{transform:scale(1.2)}to{transform:scale(1)}}@keyframes iw-spark{to{transform:rotate(calc(var(--i) * 45deg)) translateY(-22px);opacity:0}}}.iw-frame-grid{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.iw-frame-cell{cursor:pointer;background:#fff;border:3px solid #4a3b12;border-radius:8px;width:48px;height:48px;padding:0}.iw-frame-cell.filled{background:var(--iw-c)}.iw-frame-cell:focus-visible{outline-offset:2px;outline:3px solid #378add}@media (prefers-reduced-motion:no-preference){.iw-frame-cell.filled{animation:.24s iw-pop}}.iw-compare-rows{flex-direction:column;gap:12px;width:100%;display:flex}.iw-compare-row{border-radius:12px;flex-wrap:wrap;gap:6px;min-height:32px;padding:8px;display:flex;position:relative}.iw-compare-row.iw-winner{background:#fff6d8;box-shadow:0 0 0 3px #ef9f27}.iw-dot{background:var(--iw-c);border-radius:50%;width:24px;height:24px;display:inline-block}.iw-combine-row{flex-wrap:wrap;justify-content:center;padding:8px;display:flex}.iw-combine-group{flex-wrap:wrap;gap:6px;display:flex}.iw-combine-group.iw-gap{margin-right:28px}@media (prefers-reduced-motion:no-preference){.iw-combine-group{transition:margin-right .4s}}.iw-takeaway-row{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.iw-takeaway-item{border:3px solid var(--iw-c);background:var(--iw-c);cursor:pointer;border-radius:50%;width:44px;height:44px;padding:0}.iw-takeaway-item.iw-removed{opacity:0;pointer-events:none}.iw-takeaway-item:focus-visible{outline-offset:2px;outline:3px solid #378add}@media (prefers-reduced-motion:no-preference){.iw-takeaway-item{transition:opacity .3s,transform .3s}.iw-takeaway-item.iw-removed{transform:scale(.3)}}.iw-pool{flex-wrap:wrap;justify-content:center;gap:8px;min-height:24px;display:flex}.iw-pool-dot{background:var(--iw-c);border-radius:50%;width:20px;height:20px;display:inline-block}.iw-plates{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}.iw-plate{background:#fff;border:4px solid #cbd5e1;border-radius:50%;flex-wrap:wrap;justify-content:center;align-items:center;gap:3px;width:76px;height:76px;padding:6px;display:flex}.iw-plate-dot{background:var(--iw-c);border-radius:50%;width:14px;height:14px}.iw-pattern-row{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.iw-pattern-tile{background:var(--iw-c);color:#fff;text-transform:capitalize;border:3px solid #0000;border-radius:10px;justify-content:center;align-items:center;width:56px;height:56px;font-size:12px;font-weight:700;display:inline-flex}.iw-pattern-slot{color:#4a3b12;background:#fff;border:3px dashed #cbd5e1;font-size:22px}.iw-pattern-slot.filled{background:var(--iw-c);color:#fff;border-style:solid}.iw-pattern-choices{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.iw-pattern-choice{background:var(--iw-c);color:#fff;text-transform:capitalize;cursor:pointer;border:3px solid #4a3b12;border-radius:10px;width:56px;height:56px;font-size:12px;font-weight:700}.iw-pattern-choice:focus-visible{outline-offset:2px;outline:3px solid #378add}@media (prefers-reduced-motion:no-preference){.iw-pattern-slot.filled{animation:.24s iw-pop}.iw-pattern-choice.iw-wobble,.iw-compare-size-item.iw-wobble,.iw-pick-one-choice.iw-wobble,.iw-sort-bin-drop.iw-wobble{animation:.3s iw-wobble-choice}@keyframes iw-wobble-choice{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}}.iw-pv-columns{justify-content:center;align-items:flex-end;gap:12px;max-width:100%;padding-bottom:4px;display:flex;overflow-x:auto}.iw-pv-col{flex-direction:column;flex:none;align-items:center;gap:6px;min-width:78px;display:flex}.iw-pv-label{color:#7a5312;text-align:center;align-items:flex-end;min-height:2.4em;font-size:12px;font-weight:700;line-height:1.2;display:flex}.iw-pv-stack{flex-direction:column-reverse;justify-content:flex-start;align-items:center;gap:3px;min-height:90px;display:flex}.iw-pv-block{background:var(--iw-c);border-radius:3px;display:block}.iw-pv-o{width:16px;height:16px}.iw-pv-t{width:16px;height:40px}.iw-pv-h{width:40px;height:40px}.iw-pv-th{border:2px solid #fff;width:40px;height:40px}.iw-pv-tth{border:2px solid #fff;width:16px;height:40px}.iw-pv-hth{border:2px solid #fff;border-radius:6px;width:40px;height:40px}.iw-pv-m{border:3px double #fff;border-radius:6px;width:40px;height:40px}.iw-pv-buttons{gap:6px;display:flex}.iw-pv-btn{color:#4a3b12;cursor:pointer;background:#fff;border:2px solid #cbd5e1;border-radius:8px;width:34px;height:34px;font-size:20px;font-weight:700;line-height:1}.iw-pv-btn:focus-visible{outline-offset:2px;outline:3px solid #378add}.iw-number-line{width:100%;max-width:440px}.iw-nl-track{--nl-pad-top:18px;--nl-tick-pad:4px;--nl-dot:16px;--nl-rule:3px;width:100%;padding:var(--nl-pad-top) 6px 4px;justify-content:space-between;display:flex;position:relative}.iw-nl-rule{left:6px;right:6px;top:calc(var(--nl-pad-top) + var(--nl-tick-pad) + var(--nl-dot) / 2 - var(--nl-rule) / 2);height:var(--nl-rule);background:#c9a24b;border-radius:3px;position:absolute}.iw-nl-tick{cursor:pointer;padding:var(--nl-tick-pad) 2px;background:0 0;border:none;flex-direction:column;align-items:center;gap:4px;display:flex;position:relative}.iw-nl-dot{width:var(--nl-dot);height:var(--nl-dot);border:3px solid var(--iw-c);z-index:1;background:#fff;border-radius:50%}.iw-nl-num{color:#4a3b12;font-size:12px;font-weight:700}.iw-nl-tick:focus-visible{outline-offset:2px;border-radius:8px;outline:3px solid #378add}.iw-nl-tick.right .iw-nl-dot{background:var(--iw-c)}.iw-nl-tick.wrong .iw-nl-dot{border-color:#e24b4a}@media (prefers-reduced-motion:no-preference){.iw-nl-tick.right .iw-nl-dot{animation:.24s iw-pop}.iw-nl-tick.wrong{animation:.3s iw-wobble-choice}}.iw-array-grid{grid-template-columns:repeat(var(--iw-cols), 1fr);gap:6px;display:grid}.iw-array-cell{border:3px solid var(--iw-c);cursor:pointer;background:#fff;border-radius:50%;width:30px;height:30px;padding:0}.iw-array-cell.on{background:var(--iw-c)}.iw-array-cell:focus-visible{outline-offset:2px;outline:3px solid #378add}@media (prefers-reduced-motion:no-preference){.iw-array-cell.on{animation:.2s iw-pop}}.iw-fb-bar{border:3px solid #4a3b12;border-radius:10px;width:100%;max-width:380px;height:56px;display:flex;overflow:hidden}.iw-fb-part{cursor:pointer;background:#fff;border:none;border-right:2px solid #4a3b12;flex:1;padding:0}.iw-fb-part:last-child{border-right:none}.iw-fb-part.on{background:var(--iw-c)}.iw-fb-part:focus-visible{outline-offset:-3px;outline:3px solid #378add}.iw-money-bank,.iw-money-tray{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.iw-money-tray{border:2px dashed #cbd5e1;border-radius:12px;align-items:center;width:100%;min-height:52px;padding:8px}.iw-money-empty{color:#999;font-size:14px}.iw-coin{cursor:pointer;color:#3b2f0d;border:2px solid #00000026;justify-content:center;align-items:center;font-weight:800;display:inline-flex}.iw-coin.c5,.iw-coin.c10,.iw-coin.c20,.iw-coin.c50{border-radius:50%;width:44px;height:44px;font-size:13px}.iw-coin.c5{background:#d9c9a3}.iw-coin.c10{background:#c9b489}.iw-coin.c20{background:#bfa876}.iw-coin.c50{background:#b39a63}.iw-coin.d1{background:#e0b23a;border-radius:50%;width:46px;height:46px;font-size:15px}.iw-coin.d2{color:#fff;background:#c98a2a;border-radius:50%;width:40px;height:40px;font-size:14px}.iw-coin.n5{color:#063;background:#7db07d;border-radius:6px;width:60px;height:38px;font-size:15px}.iw-coin.n10{color:#024;background:#6fa3d0;border-radius:6px;width:60px;height:38px;font-size:15px}.iw-coin:focus-visible{outline-offset:2px;outline:3px solid #378add}.iw-clock-face{touch-action:manipulation}.iw-clock-controls{gap:22px;display:flex}.iw-clock-group{color:#4a3b12;align-items:center;gap:6px;font-size:13px;font-weight:700;display:flex}.phase-primary .practice-option{border-radius:14px;padding:14px 18px;font-size:18px}.phase-primary .practice-option.correct{position:relative}@media (prefers-reduced-motion:no-preference){.phase-primary .practice-option.correct{animation:.3s iw-pop}.phase-primary .practice-option.incorrect{animation:.3s iw-wobble}@keyframes iw-wobble{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}}.band-tab-story{color:#8a6a2a;background:#b8862f1a;border-color:#b8862f80;align-items:center;gap:6px;text-decoration:none;display:inline-flex}.band-tab-story:hover{border-color:#b8862f}.story-root{--story-ink:#1c1a17;--story-body:#3a352d;--story-muted:#6a6155;--story-paper:#f6f1e7;--story-paper2:#efe7d6;--story-card:#fffdf8;--story-line:#c9b58c;--story-border:#e7dcc4;--story-gold:#b8862f;--story-gold-soft:#8a6a2a;--story-shadow:0 10px 30px #281e0a1a;--story-era:var(--story-gold);background:var(--story-paper);min-height:100vh;color:var(--story-body);font-family:var(--ed-serif);overflow-x:hidden}[data-theme=dark] .story-root{--story-ink:#f3ead6;--story-body:#e4dcc9;--story-muted:#b3a689;--story-paper:#17140f;--story-paper2:#1e1a13;--story-card:#221d15;--story-line:#574a30;--story-border:#3a3220;--story-gold:#e0ac4b;--story-gold-soft:#c69a52;--story-shadow:0 10px 30px #00000073}.story-topbar{z-index:20;background:color-mix(in srgb, var(--story-paper) 88%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--story-border);justify-content:space-between;align-items:center;gap:16px;padding:12px clamp(16px,4vw,40px);display:flex;position:sticky;top:0}.story-back{color:var(--story-gold-soft);font-size:14px;font-weight:700;text-decoration:none}.story-back:hover{color:var(--story-gold)}.story-topbar-brand{align-items:center;gap:8px;display:inline-flex}.story-topbar-brand .brand-mark{width:26px;height:30px}.story-topbar-name{color:var(--story-ink);letter-spacing:.01em;font-weight:800}.story-hero{text-align:center;background:radial-gradient(circle at 50% 0%, #b8862f24, transparent 60%), linear-gradient(180deg, var(--story-paper2), var(--story-paper));padding:clamp(56px,12vh,130px) 20px clamp(40px,8vh,80px);position:relative;overflow:hidden}.story-glyphs{pointer-events:none;position:absolute;inset:0}.story-glyph{color:var(--story-gold);opacity:.13;will-change:transform;-webkit-user-select:none;user-select:none;font-family:Georgia,Times New Roman,serif;font-size:clamp(48px,8vw,104px);position:absolute}.story-kicker{text-transform:uppercase;letter-spacing:.28em;color:var(--story-gold-soft);margin:0 0 14px;font-size:12px;font-weight:700}.story-hero h1{letter-spacing:-.01em;max-width:15ch;color:var(--story-ink);margin:0 auto;font-size:clamp(38px,7vw,78px);font-weight:600;line-height:1.04}.story-hero h1 .accent{color:var(--story-gold);font-style:italic}.story-sub{max-width:60ch;color:var(--story-muted);margin:22px auto 0;font-size:clamp(16px,2.2vw,20px);line-height:1.6}.story-scroll-hint{text-transform:uppercase;letter-spacing:.2em;color:var(--story-gold-soft);margin-top:30px;font-size:11px;font-weight:700}.story-rule{background:linear-gradient(90deg, transparent, var(--story-gold), transparent);border-radius:3px;width:64px;height:3px;margin:26px auto 0}.story-timeline{max-width:960px;margin:0 auto;padding:clamp(40px,8vh,80px) 20px 40px;position:relative}.story-spine{background:linear-gradient(180deg, transparent, var(--story-line) 8%, var(--story-line) 92%, transparent);width:2px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-1px)}.story-era{margin-bottom:clamp(36px,7vh,72px)}.story-era-head{text-align:center;max-width:640px;margin:0 auto clamp(24px,4vh,44px)}.story-badge{text-transform:uppercase;letter-spacing:.24em;color:#fff;background:var(--story-era);border-radius:999px;padding:4px 12px;font-size:11px;font-weight:800;display:inline-block}.story-era-head h2{color:var(--story-ink);margin:14px 0 6px;font-size:clamp(26px,4.4vw,40px);font-weight:600}.story-years{text-transform:uppercase;letter-spacing:.12em;color:var(--story-gold-soft);font-size:12px;font-weight:700}.story-blurb{color:var(--story-muted);margin:14px 0 0;font-size:16px;line-height:1.6}.story-events{position:relative}.story-event{background:var(--story-card);border:1px solid var(--story-border);border-left:4px solid var(--story-era);width:calc(50% - 42px);box-shadow:var(--story-shadow);opacity:0;border-radius:12px;margin-bottom:26px;padding:20px 22px;transition:opacity .7s,transform .7s;position:relative;transform:translateY(24px)}.story-event.in{opacity:1;transform:none}.story-event.left{margin-right:auto}.story-event.right{margin-left:calc(50% + 42px)}.story-event:before{content:"";background:var(--story-era);border:3px solid var(--story-paper);border-radius:50%;width:14px;height:14px;position:absolute;top:26px}.story-event.left:before{right:-50px}.story-event.right:before{left:-50px}.story-event:after{content:"";background:var(--story-line);width:32px;height:2px;position:absolute;top:32px}.story-event.left:after{right:-34px}.story-event.right:after{left:-34px}.story-date{text-transform:uppercase;letter-spacing:.1em;color:var(--story-era);font-size:11px;font-weight:800}.story-event h3{color:var(--story-ink);margin:6px 0 4px;font-size:19px;font-weight:700}.story-who{color:var(--story-gold-soft);margin-bottom:10px;font-size:13px;font-style:italic;display:block}.story-event p{color:var(--story-body);margin:0;font-size:15.5px;line-height:1.62}.story-event em{color:var(--story-ink);font-style:italic}.story-formula{text-align:center;background:#b8862f17;border-radius:8px;margin:14px 0 4px;padding:10px 12px;font-size:17px}.story-figure{background:var(--story-paper2);border:1px solid var(--story-border);border-radius:10px;justify-content:center;margin:14px 0 2px;padding:12px;display:flex}.story-figure .figure{max-width:100%}.story-figure figcaption{color:var(--story-muted)}.story-coda{text-align:center;max-width:640px;margin:0 auto;padding:clamp(40px,8vh,80px) 20px clamp(30px,5vh,56px)}.story-infinity{color:var(--story-gold);margin:8px 0 4px;font-size:clamp(56px,10vw,96px);line-height:1}.story-coda h2{color:var(--story-ink);margin:0 0 14px;font-size:clamp(24px,4vw,34px);font-weight:600}.story-coda p{color:var(--story-muted);margin:0 auto;font-size:16.5px;line-height:1.7}.story-cta{margin-top:26px;text-decoration:none;display:inline-flex}.story-footer{text-align:center;letter-spacing:.02em;color:var(--story-muted);border-top:1px solid var(--story-border);padding:26px 20px 40px;font-size:12.5px}@media (max-width:720px){.story-spine{left:22px}.story-event,.story-event.left,.story-event.right{width:auto;margin-left:44px;margin-right:0}.story-event:before,.story-event.left:before,.story-event.right:before{left:-37px;right:auto}.story-event:after,.story-event.left:after,.story-event.right:after{left:-22px;right:auto}}.qsim{--q-curve:var(--accent-strong);--q-max:#dc2626;--q-min:#059669;--q-xint:#d97706;--q-yint:#2563eb;--q-transition:#ca8a04;--q-graph-bg:var(--surface-2);color:var(--ink);width:100%;margin:12px 0}[data-theme=dark] .qsim{--q-curve:var(--accent);--q-max:#fb7185;--q-min:#34d399;--q-xint:#fbbf24;--q-yint:#60a5fa;--q-transition:#fde047}.qsim-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.qsim-eq{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;flex-wrap:wrap;align-items:center;gap:3px;padding:6px 12px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:14px;display:flex}.qsim-eq b{color:var(--accent-strong);font-weight:700}.qsim-eq i{color:var(--muted);font-style:normal}.qsim-eq .qsim-op{color:var(--muted);margin:0 4px}.qsim-tags{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.qsim-badge{border:1px solid var(--border);background:var(--surface-2);color:var(--muted);border-radius:999px;align-items:center;gap:7px;padding:5px 12px;font-size:12px;font-weight:600;transition:all .18s;display:inline-flex}.qsim-badge .qsim-dot{background:currentColor;border-radius:50%;width:8px;height:8px}.qsim-badge.on{border-color:var(--q-transition);color:var(--q-transition);background:color-mix(in oklab, var(--q-transition) 16%, transparent);box-shadow:0 0 12px color-mix(in oklab, var(--q-transition) 35%, transparent);font-weight:800}.qsim-badge.on .qsim-dot{animation:1.4s ease-in-out infinite qsim-pulse}.qsim-shape{background:var(--surface-2);border:1px solid var(--border);color:var(--muted);border-radius:6px;padding:5px 10px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:12px}.qsim-body{grid-template-columns:minmax(280px,330px) minmax(0,1fr);grid-auto-flow:dense;align-items:start;gap:18px;display:grid}.qsim-left{flex-direction:column;grid-column:1;gap:14px;display:flex}.qsim-graphbox{grid-column:2}@media (max-width:900px){.qsim-body{grid-template-columns:1fr}.qsim-left,.qsim-graphbox{grid-column:1}.qsim-graphbox{order:-1}}.qsim-graphbox{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden}.qsim-graph{background:var(--q-graph-bg);width:100%;height:auto;display:block}.qsim-grid{stroke:var(--line);stroke-width:1px}.qsim-axis{stroke:var(--muted);stroke-width:1.4px}.qsim-tick{fill:var(--muted);font-family:JetBrains Mono,ui-monospace,monospace;font-size:15px}.qsim-curve{fill:none;stroke:var(--q-curve);stroke-width:2.6px;stroke-linejoin:round;stroke-linecap:round}.qsim-plabel{paint-order:stroke;stroke:var(--surface);stroke-width:3.5px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:15px;font-weight:600}.qsim-pulse{animation:1.8s ease-in-out infinite qsim-ring}.qsim-legend{border-top:1px solid var(--line);flex-wrap:wrap;gap:12px;padding:8px 14px;display:flex}.qsim-legend span{color:var(--muted);align-items:center;gap:6px;font-size:12px;display:inline-flex}.qsim-legend i{border-radius:50%;width:10px;height:10px;display:inline-block}.qsim-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:14px 16px}.qsim-card h4{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:0 0 12px;font-size:12px;font-weight:800}.qsim-slider{grid-template-columns:18px 1fr 62px;align-items:center;gap:10px;margin-bottom:10px;display:grid}.qsim-slider label{color:var(--accent-strong);font-family:JetBrains Mono,ui-monospace,monospace;font-weight:700}.qsim-slider input[type=range]{width:100%;accent-color:var(--accent)}.qsim-num{text-align:center;background:var(--surface-2);border:1px solid var(--border);width:62px;color:var(--ink);border-radius:6px;padding:4px 6px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:13px}.qsim-btns{grid-template-columns:repeat(3,1fr) 1.6fr;gap:8px;margin-top:6px;display:grid}.qsim-btns button{border:1px solid var(--border);background:var(--surface-2);color:var(--ink);cursor:pointer;border-radius:8px;padding:8px 4px;font-size:13px;font-weight:700;transition:all .16s}.qsim-btns button:hover{border-color:var(--accent);color:var(--accent-strong);background:var(--accent-soft)}.qsim-btns .qsim-reset{color:var(--muted);font-size:12px;font-weight:600}.qsim-arow{justify-content:space-between;align-items:center;margin:10px 0 4px;display:flex}.qsim-arow:first-of-type{margin-top:0}.qsim-atag{text-transform:uppercase;letter-spacing:.03em;border-radius:6px;padding:2px 8px;font-size:11px;font-weight:700}.qsim-atag.xint{color:var(--q-xint);background:color-mix(in oklab, var(--q-xint) 16%, transparent)}.qsim-atag.tp{color:var(--accent-strong);background:var(--accent-soft)}.qsim-atag.yint{color:var(--q-yint);background:color-mix(in oklab, var(--q-yint) 16%, transparent)}.qsim-arow b{font-family:JetBrains Mono,ui-monospace,monospace;font-weight:700}.qsim-coord{color:var(--ink-soft);align-items:center;gap:8px;padding:3px 0;font-family:JetBrains Mono,ui-monospace,monospace;font-size:12px;display:flex}.qsim-pt{text-transform:uppercase;border-radius:5px;padding:1px 6px;font-size:10px;font-weight:800}.qsim-pt.max{color:var(--q-max);background:color-mix(in oklab, var(--q-max) 16%, transparent)}.qsim-pt.min{color:var(--q-min);background:color-mix(in oklab, var(--q-min) 16%, transparent)}.qsim-empty{color:var(--muted);padding:2px 0;font-size:12px;font-style:italic}.qsim-disc{border-top:1px solid var(--line);margin-top:14px;padding-top:12px}.qsim-disc-lab{color:var(--muted);justify-content:space-between;margin-bottom:6px;font-size:12px;display:flex}.qsim-disc-lab b{color:var(--ink);font-family:JetBrains Mono,ui-monospace,monospace}.qsim-disc-bar{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;height:6px;position:relative}.qsim-disc-center{background:var(--q-transition);width:2px;position:absolute;top:-2px;bottom:-2px;left:50%}.qsim-disc-fill{border-radius:999px;transition:all .26s;position:absolute;top:0;bottom:0}.qsim-disc-fill.pos{background:linear-gradient(90deg, var(--q-transition), var(--q-min))}.qsim-disc-fill.neg{background:linear-gradient(270deg, var(--q-transition), var(--q-max))}.qsim-disc-fill.zero{background:var(--q-transition);box-shadow:0 0 8px var(--q-transition);left:44%;width:12%!important}.qsim-disc-scale{color:var(--muted);justify-content:space-between;margin-top:4px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:10px;display:flex}.qsim-caption{color:var(--muted);text-align:center;margin-top:8px;font-size:12px}@keyframes qsim-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(1.3)}}@keyframes qsim-ring{0%{opacity:.5;r:11}to{opacity:0;r:22}}@media (prefers-reduced-motion:reduce){.qsim-badge.on .qsim-dot,.qsim-pulse{animation:none}}.account-page .dashboard-section{border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:18px 22px}.account-page .dashboard-section h2{margin:0 0 8px;font-size:18px}.account-page .dashboard-section p{color:var(--ink-soft,inherit);margin:0 0 10px}.dashboard-note{color:var(--muted);font-size:.9rem}.billing-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:6px;display:flex}.billing-period-label{color:var(--muted);align-items:center;gap:6px;font-size:.9rem;display:inline-flex}.billing-period-label select{border:1px solid var(--line);background:var(--surface);color:inherit;font:inherit;border-radius:8px;padding:6px 8px}.billing-actions .auth-alert{width:100%}.course-locked .nav-button{margin-top:14px;text-decoration:none;display:inline-block}.dashboard-upsell{border:1px solid var(--line);background:var(--accent-soft,var(--surface-2));border-radius:12px;padding:16px 20px}.dashboard-upsell p{margin:0 0 10px}.dashboard-upsell .nav-button{text-decoration:none;display:inline-block}.pricing-toggle{background:var(--surface-2,#f1f5f9);border-radius:999px;gap:4px;margin-bottom:18px;padding:3px;display:inline-flex}.pricing-toggle-btn{color:var(--muted-strong,var(--muted));cursor:pointer;background:0 0;border:none;border-radius:999px;padding:6px 16px;font-size:.9rem;font-weight:600}.pricing-toggle-btn.active{background:var(--surface);color:inherit;box-shadow:var(--shadow)}.pricing-card{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:14px;flex-direction:column;gap:10px;padding:22px 24px;display:flex}.pricing-card p{flex:none}.pricing-card .nav-button{justify-content:center;align-items:center;margin-top:auto;text-decoration:none;display:inline-flex}.pricing-card--standard{border-color:var(--accent,#2f9f8f);background:linear-gradient(165deg, var(--accent-soft) 0%, var(--surface) 55%)}.pricing-card--featured{border-color:var(--bordeaux-strong,var(--bordeaux));background:linear-gradient(165deg, var(--bordeaux-soft) 0%, var(--surface) 60%);border-width:2px}.pricing-flag{letter-spacing:.08em;text-transform:uppercase;color:var(--bordeaux-strong,var(--bordeaux));margin:0;font-size:.72rem;font-weight:700}.pricing-price{align-items:baseline;gap:6px;min-height:44px;margin:0;display:flex}.pricing-price strong{font-size:1.9rem;line-height:1}.pricing-price span{color:var(--muted)}.pricing-price-soon{color:var(--muted);font-size:1.05rem;font-weight:600}.pricing-features{flex-direction:column;gap:4px;margin:0;padding-left:18px;font-size:.92rem;display:flex}.pricing-fineprint{margin-top:16px}.pricing-faq details{border-bottom:1px solid var(--line);padding:10px 0}.pricing-faq summary{cursor:pointer;font-weight:600}.pricing-faq p{color:var(--ink-soft,inherit);margin:8px 0 4px}.tutoring-form{flex-direction:column;gap:14px;max-width:640px;display:flex}.tutoring-form label{flex-direction:column;gap:6px;font-size:.92rem;font-weight:600;display:flex}.tutoring-form input,.tutoring-form select,.tutoring-form textarea{border:1px solid var(--line);background:var(--surface);color:inherit;font:inherit;border-radius:8px;padding:10px 12px;font-weight:400}.tutoring-form-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}@media (max-width:640px){.tutoring-form-row{grid-template-columns:1fr}}.tutoring-consent{align-items:flex-start;flex-direction:row!important;gap:10px!important;font-weight:400!important}.tutoring-consent input{margin-top:3px}.tutoring-form .nav-button{align-self:flex-start}.tutoring-hp{position:absolute;top:-9999px;left:-9999px}.tutoring-sent{border:1px solid var(--line);background:var(--accent-soft,var(--surface-2));border-radius:12px;padding:20px 24px}.tutoring-sent h3{margin:0 0 8px}.tutoring-sent p{margin:0}.legal-summary{border:1px solid var(--line);border-left:4px solid var(--accent-strong,var(--bordeaux));background:var(--surface-2,#f8fafc);border-radius:10px;margin:0 0 22px;padding:14px 18px}.legal-summary ul{flex-direction:column;gap:4px;margin:8px 0 0;padding-left:18px;display:flex}.auth-consent{flex-direction:row;align-items:flex-start;gap:10px;font-size:.9rem;font-weight:400;display:flex}.auth-consent input{margin-top:3px}.auth-plan-intent{border:1px solid var(--line);background:var(--accent-soft,var(--surface-2));border-radius:8px;padding:10px 14px;font-size:.92rem}.admin-console h1{margin:0}.admin-stats{flex-direction:column;gap:8px;margin:0;padding-left:18px;display:flex}.admin-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.admin-row{border:1px solid var(--line);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:12px 16px;display:flex}.admin-row--stack{flex-direction:column;align-items:stretch}.admin-row small{color:var(--muted)}.admin-row-actions{flex-wrap:wrap;gap:8px;display:flex}.admin-confirm-form{border-top:1px dashed var(--line);flex-wrap:wrap;align-items:flex-end;gap:10px;padding-top:10px;display:flex}.admin-confirm-form label{flex-direction:column;gap:4px;font-size:.85rem;font-weight:600;display:flex}.admin-confirm-form input{border:1px solid var(--line);background:var(--surface);color:inherit;font:inherit;border-radius:8px;padding:7px 10px;font-weight:400}.admin-console .admin-table-wrap{margin:0 -4px;overflow-x:auto}.admin-console .admin-table{border-collapse:collapse;width:100%;font-size:.9rem}.admin-console .admin-table th,.admin-console .admin-table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;white-space:nowrap;padding:10px 12px}.admin-console .admin-table th{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:.75rem;font-weight:700}.admin-console .admin-table tbody tr:hover{background:var(--surface-2)}.admin-console .admin-table small{color:var(--muted)}.admin-console .admin-num{text-align:right;font-variant-numeric:tabular-nums}.admin-console .admin-pill{letter-spacing:.02em;border:1px solid var(--line);color:var(--muted);border-radius:999px;margin-left:6px;padding:1px 8px;font-size:.7rem;font-weight:700;display:inline-block}.admin-console .admin-pill.ok{color:var(--accent-strong);border-color:color-mix(in srgb, var(--accent) 45%, transparent)}.admin-console .admin-pill.warn{color:#9a6700;border-color:#9a670066}:root[data-theme=dark] .admin-console .admin-pill.warn,:root:not([data-theme=light]) .admin-console .admin-pill.warn{color:#e3b341;border-color:#e3b34166}.pricing-flag--ghost{visibility:hidden}.ed-story-teaser .ed-lede{margin:6px 0 16px}.ed-story-teaser .nav-button{text-decoration:none;display:inline-block}.pretest-review-qtext{flex:auto;min-width:0}.iw-nl-tick.chosen .iw-nl-dot{background:var(--iw-c)}.iw-pick-one-choice.chosen{border-color:#378add;box-shadow:0 0 0 3px #378add40}.primary-section{flex-direction:column;gap:16px;width:100%;max-width:1440px;margin:28px auto 0;display:flex}.primary-section-head{color:#4a3b12;text-align:center;margin:0;font-size:24px}.primary-worked{color:#4a3b12;background:#fffdf7;border:2px solid #ffe3a3;border-radius:22px;flex-direction:column;gap:12px;padding:22px 24px;display:flex}.primary-worked-head{justify-content:center;align-items:center;gap:10px;display:flex}.primary-worked-head h4{color:#4a3b12;margin:0;font-size:21px}.primary-worked-problem{color:#3f4852;text-align:center;margin:0;font-size:19px;line-height:1.45}.primary-worked-steps{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.primary-worked-steps li{color:#4a3b12;background:#fff;border:2px solid #ffe3a3;border-radius:14px;align-items:center;gap:12px;padding:12px 14px;font-size:18px;line-height:1.45;display:flex}.primary-check{color:#25313b;background:#fff;border:2px solid #e2e8f0;border-radius:18px;flex-direction:column;gap:10px;padding:18px 20px;display:flex}.primary-check-head{align-items:center;gap:10px;display:flex}.primary-check-q{color:#25313b;flex:1;margin:0;font-size:19px;line-height:1.45}.primary-check-a{color:#1b6b4a;margin:0;font-size:19px;font-weight:700}.primary-check-show{color:#5a3d00;cursor:pointer;background:#ffcf4d;border:2px solid #f0a500;border-radius:999px;align-self:flex-start;min-width:0;padding:8px 20px;font-size:17px;font-weight:800}.primary-check-show:focus-visible{outline-offset:2px;outline:3px solid #378add}.primary-card .iw{background:0 0;border:none;max-width:100%;padding:0}.primary-card .primary-card-steps li{background:#fff;border:none}.primary-card .primary-card-ideas li,.primary-card .primary-card-example{border:none}.phase-primary .figure-geometry{--pfig:#f6c445;--pfig-2:#ffdd8a;--pfig-3:#e0a92b;--pfig-ink:#6b4c00}.phase-primary .figure-shape-polygon{--pfig:#6fbf73;--pfig-2:#9fd9a2;--pfig-3:#4e9a51;--pfig-ink:#1f5c22}.phase-primary .figure-shape-circle{--pfig:#4aa3df;--pfig-2:#8ecdf0;--pfig-3:#2b7fbb;--pfig-ink:#0f4c75}.phase-primary .figure-shape-prism{--pfig:#f0a04b;--pfig-2:#ffc888;--pfig-3:#cf7f2c;--pfig-ink:#7a4410}.phase-primary .figure-shape-pyramid{--pfig:#b07fd6;--pfig-2:#d3b3ec;--pfig-3:#8f5bbd;--pfig-ink:#4d2a6e}.phase-primary .figure-shape-cylinder{--pfig:#4fc3c3;--pfig-2:#9ae0e0;--pfig-3:#2f9c9c;--pfig-ink:#0f5757}.phase-primary .figure-shape-cone,.phase-primary .figure-shape-sphere{--pfig:#e2686b;--pfig-2:#f5a4a6;--pfig-3:#bf4649;--pfig-ink:#6f2123}.phase-primary .figure-shape-net{--pfig:#f6c445;--pfig-2:#ffdd8a;--pfig-3:#e0a92b;--pfig-ink:#6b4c00}.phase-primary .figure-shape-trapezium,.phase-primary .figure-shape-right-triangle{--pfig:#6fbf73;--pfig-2:#9fd9a2;--pfig-3:#4e9a51;--pfig-ink:#1f5c22}.phase-primary .figure-shape-composite{--pfig:#f0a04b;--pfig-2:#ffc888;--pfig-3:#cf7f2c;--pfig-ink:#7a4410}.phase-primary .figure-shape-column-graph{--pfig:#4aa3df;--pfig-2:#8ecdf0;--pfig-3:#2b7fbb;--pfig-ink:#0f4c75}.phase-primary .figure-shape-bar-model{--pfig:#f0a04b;--pfig-2:#ffc888;--pfig-3:#cf7f2c;--pfig-ink:#7a4410}.phase-primary .figure-shape-fraction-bar{--pfig:#b07fd6;--pfig-2:#d3b3ec;--pfig-3:#8f5bbd;--pfig-ink:#4d2a6e}.phase-primary .figure-shape-spinner{--pfig:#4fc3c3;--pfig-2:#9ae0e0;--pfig-3:#2f9c9c;--pfig-ink:#0f5757}.phase-primary .figure-shape-transformation,.phase-primary .figure-shape-number-line,.phase-primary .figure-shape-two-way-table,.phase-primary .figure-shape-coordinate-grid{--pfig:#4aa3df;--pfig-2:#8ecdf0;--pfig-3:#2b7fbb;--pfig-ink:#0f4c75}.phase-primary .figure-shape-array{--pfig:#6fbf73;--pfig-2:#9fd9a2;--pfig-3:#4e9a51;--pfig-ink:#1f5c22}.phase-primary .figure-shape-angle{--pfig:#b07fd6;--pfig-2:#d3b3ec;--pfig-3:#8f5bbd;--pfig-ink:#4d2a6e}.phase-primary .figure-shape-clock{--pfig:#4fc3c3;--pfig-2:#9ae0e0;--pfig-3:#2f9c9c;--pfig-ink:#0f5757}.phase-primary .figure-shape-balance-scale{--pfig:#f0a04b;--pfig-2:#ffc888;--pfig-3:#cf7f2c;--pfig-ink:#7a4410}.phase-primary .figure-shape-star{--pfig:#f6c445;--pfig-2:#ffdd8a;--pfig-3:#e0a92b;--pfig-ink:#6b4c00}.phase-primary .figure-geometry .fig-axis{stroke:var(--pfig-ink);stroke-width:2.2px}.phase-primary .figure-geometry .fig-arc,.phase-primary .figure-geometry .fig-right{stroke:var(--pfig-ink);stroke-width:1.8px}.phase-primary .figure-geometry .fig-point{fill:var(--pfig);stroke:var(--pfig-ink);stroke-width:1.8px}.phase-primary .figure-geometry .fig-point-open{fill:#fff;stroke:var(--pfig-ink);stroke-width:2.2px}.phase-primary .figure-geometry .fig-image{stroke:var(--pfig-3);opacity:.9}.phase-primary .figure-geometry .fig-mirror{stroke:var(--pfig-ink)}.phase-primary .figure-geometry svg{color:var(--pfig-3)!important}.phase-primary .figure-shape-clock circle.fig-shape{fill:var(--pfig-2)}.phase-primary .figure-shape-clock .fig-arc,.phase-primary .figure-shape-clock line{stroke:var(--pfig-ink)}.phase-primary .figure-geometry polygon.fig-shape,.phase-primary .figure-geometry rect.fig-shape,.phase-primary .figure-geometry circle.fig-shape,.phase-primary .figure-geometry ellipse.fig-shape{fill:var(--pfig);stroke:var(--pfig-ink);stroke-width:3px;paint-order:stroke fill}.phase-primary .figure-geometry polygon.fig-shape:nth-of-type(2){fill:var(--pfig-2)}.phase-primary .figure-geometry polygon.fig-shape:nth-of-type(3){fill:var(--pfig-3)}.phase-primary .figure-geometry polyline.fig-shape,.phase-primary .figure-geometry line.fig-shape,.phase-primary .figure-geometry path.fig-shape{fill:none;stroke:var(--pfig-ink);stroke-width:2.5px}.fig-body{fill:none;stroke:none}.phase-primary .figure-geometry .fig-body{fill:var(--pfig)}.phase-primary .figure-geometry .fig-body:nth-of-type(2){fill:var(--pfig-3)}.phase-primary .figure-geometry .fig-grid{display:none}.fig-coordgrid{stroke:var(--border,#e5e7eb);stroke-width:1px}.phase-primary .figure-geometry .fig-coordgrid{stroke:var(--pfig-2);stroke-width:1.2px}.phase-primary .figure-geometry text{font-weight:700}.primary-investigation{color:#234;background:#eef6ff;border:2px solid #bcddf7;border-radius:22px;flex-direction:column;gap:12px;padding:22px 24px;display:flex}.primary-investigation .primary-worked-head h4{color:#1f4e79;margin:0;font-size:21px}.primary-investigation-prompt{color:#234;text-align:center;margin:0;font-size:20px;line-height:1.45}.primary-investigation-start{color:#234;background:#fff;border-radius:14px;align-items:center;gap:10px;margin:0;padding:12px 14px;font-size:18px;line-height:1.45;display:flex}.primary-investigation-extend{background:#fff;border-radius:14px;padding:12px 16px}.primary-investigation-extend ul{flex-direction:column;gap:6px;margin:0;padding-left:20px;display:flex}.primary-investigation-extend li{color:#234;font-size:17px;line-height:1.45}.primary-investigation-lookfor{color:#3f4852;margin:0;font-size:15px;font-style:italic;line-height:1.5}.primary-investigation-lookfor strong{color:#1f4e79;font-style:normal}.iw-pick-glyph{fill:currentColor;fill-opacity:.22;stroke:currentColor;stroke-width:2px;margin:0 auto 6px;display:block}.iw-coordgrid{flex-direction:column;align-items:center;gap:10px;display:flex}.iw-coordgrid-wrap{max-width:100%;padding:4px;overflow-x:auto}.iw-coordgrid-body{flex-direction:column;gap:0;display:inline-flex}.iw-coordgrid-row{align-items:center;gap:0;display:flex}.iw-coordgrid-ylabel,.iw-coordgrid-xlabel{text-align:center;color:#64748b;flex:none;width:30px;font-size:13px;font-weight:700}.iw-coordgrid-dot{cursor:pointer;background:#fff;border:1px solid #dbeafe;border-radius:0;flex:none;width:30px;height:30px;padding:0;position:relative}.iw-coordgrid-dot:after{content:"";background:#cbd5e1;border-radius:50%;width:7px;height:7px;margin:-3.5px 0 0 -3.5px;position:absolute;inset:50% auto auto 50%}.iw-coordgrid-dot:hover:after{background:#60a5fa}.iw-coordgrid-dot.chosen:after{background:#2563eb;width:17px;height:17px;margin:-8.5px 0 0 -8.5px}.iw-coordgrid-xaxis{margin-top:2px}.iw-coordgrid-readout{color:#1f4e79;min-height:26px;margin:0;font-size:20px;font-weight:800}