:root{color:#181512;font-synthesis:none;--ink:#181512;--paper:#fbf8f2;--paper-2:#f5efe6;--beige:#efe6d8;--sand:#d8c5ab;--brown:#8a6248;--brown-dark:#4a3428;--terracotta:#b85c3f;--ochre:#c89532;--burgundy:#7e302d;--success:#6f5527;--font-display:Georgia,"Times New Roman",serif;--font-body:Inter,"Segoe UI",Arial,sans-serif;--font-math:"SFMono-Regular",Consolas,"Liberation Mono",monospace;--space-1:.35rem;--space-2:.65rem;--space-3:1rem;--space-4:1.5rem;--space-5:2.25rem;--space-6:3.5rem;--rule:1px solid #8a624866;--rule-strong:1px solid #4a3428;--radius:5px;--radius-soft:9px;--shadow:0 12px 32px #4a342812;--transition:.16s ease;background:#efe6d8;font-family:Inter,Segoe UI,Arial,sans-serif}*{box-sizing:border-box}html{background:var(--beige)}body{background:var(--paper);background-image:linear-gradient(90deg,#0000 0 calc(100% - 1px),#d8c5ab30 calc(100% - 1px));background-size:72px 100%;min-width:320px;min-height:100vh;margin:0;font-size:16px;line-height:1.5}button,input,select{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--terracotta);outline-offset:3px}.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}svg{stroke-width:1.75px}.app-shell{flex-direction:column;min-height:100vh;display:flex}.topbar{border-bottom:var(--rule-strong);z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fbf8f2f2;justify-content:space-between;align-items:center;height:68px;padding:0 clamp(18px,4vw,58px);display:flex;position:sticky;top:0}.brand{text-align:left;background:0 0;border:0;align-items:center;gap:11px;padding:4px;display:flex}.brand strong{font-family:var(--font-display);letter-spacing:.04em;font-size:1rem;font-weight:700;line-height:1;display:block}.brand small{color:var(--brown);margin-top:4px;font-size:.72rem;display:block}.brand-mark{grid-template-columns:1fr 1fr;gap:2px;width:28px;height:28px;display:grid;transform:rotate(-2deg)}.brand-mark span{border:1px solid var(--brown-dark);background:0 0}.brand-mark span:first-child,.brand-mark span:last-child{background:var(--terracotta)}.header-actions{align-items:center;gap:15px;display:flex}.progress-pill{border:0;border-right:var(--rule);color:var(--brown-dark);background:0 0;align-items:center;gap:5px;padding:8px 15px 8px 8px;font-size:.82rem;display:flex}.progress-pill svg{width:16px}.language-switch{border:var(--rule-strong);background:var(--paper);border-radius:4px;gap:1px;padding:2px;display:flex}.language-switch button{background:0 0;border:0;min-width:38px;height:31px;font-size:.75rem;font-weight:700}.language-switch button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.world-page,.progress-page{flex:1;width:min(1240px,100% - 40px);margin:0 auto;padding:24px 0 64px}.world-heading{border-bottom:var(--rule-strong);grid-template-columns:170px 1fr auto;align-items:end;gap:24px;padding:8px 0 20px;display:grid}.world-heading>div{text-align:left}.eyebrow{color:var(--brown);letter-spacing:.08em;text-transform:uppercase;margin:0 0 3px;font-size:.72rem}.world-heading h1,.progress-header h1{font-family:var(--font-display);letter-spacing:-.025em;margin:0;font-size:clamp(2rem,4vw,3.3rem);font-weight:500}.back-button{width:max-content;min-height:40px;color:var(--brown-dark);background:0 0;border:0;align-items:center;gap:7px;padding:5px 0;font-weight:650;display:inline-flex}.back-button:hover{text-underline-offset:4px;text-decoration:underline}.difficulty{gap:4px;min-width:160px;display:grid}.difficulty span{color:var(--brown);text-transform:uppercase;letter-spacing:.08em;font-size:.72rem}.difficulty select{border:var(--rule-strong);border-radius:var(--radius);background:var(--paper);height:42px;padding:0 32px 0 11px;font-weight:650}.mode-tabs{border-bottom:var(--rule);gap:26px;margin-bottom:22px;display:flex}.mode-tabs button{min-height:52px;color:var(--brown);background:0 0;border:0;border-bottom:3px solid #0000;align-items:center;gap:7px;margin-bottom:-1px;padding:0 2px;font-weight:650;display:flex}.mode-tabs button svg{width:17px}.mode-tabs button[aria-current=page]{color:var(--ink);border-bottom-color:var(--terracotta)}.workspace{gap:18px;display:grid}.mode-identity{border-bottom:var(--rule);grid-template-columns:max-content 1fr;align-items:baseline;gap:18px;padding:3px 0 14px;display:grid}.mode-identity>span{font-family:var(--font-display);color:var(--terracotta);font-size:1.05rem}.mode-identity p{color:var(--brown-dark);margin:0;font-size:.92rem}.mode-identity p strong{font-weight:650}.home-page{width:min(1180px,100% - 40px);margin:auto;padding:clamp(36px,7vw,84px) 0}.home-editorial{grid-template-columns:minmax(250px,.72fr) minmax(500px,1.35fr);align-items:start;gap:clamp(50px,8vw,110px);display:grid}.home-copy{padding-top:8px;position:sticky;top:112px}.edition-mark{border-top:2px solid var(--terracotta);color:var(--brown);font:650 .72rem/1 var(--font-body);letter-spacing:.12em;padding-top:8px;display:inline-block}.home-copy h1{font-family:var(--font-display);letter-spacing:-.055em;margin:28px 0 0;font-size:clamp(2.8rem,6vw,5rem);font-weight:500;line-height:.88}.home-subtitle{color:var(--brown);margin:10px 0 34px;font-size:1.05rem}.home-copy blockquote{max-width:360px;font-family:var(--font-display);color:var(--brown-dark);margin:0;font-size:clamp(1.35rem,2.6vw,2rem);line-height:1.25}.mini-progress{border-top:var(--rule);align-items:center;gap:20px;margin-top:42px;padding-top:16px;display:flex}.mini-progress>span{color:var(--brown);font-size:.85rem}.mini-progress button{text-underline-offset:4px;background:0 0;border:0;align-items:center;gap:7px;padding:5px 0;font-weight:650;text-decoration:underline;display:flex}.learning-index{border-top:var(--rule-strong)}.index-heading{border-bottom:var(--rule);height:46px;color:var(--brown);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:center;font-size:.75rem;display:flex}.subject-row{border:0;border-bottom:var(--rule);text-align:left;width:100%;min-height:112px;transition:background var(--transition),padding var(--transition);background:0 0;grid-template-columns:48px 34px 1fr 32px;align-items:center;gap:17px;padding:14px 4px;display:grid}.subject-row:hover{background:var(--paper-2);padding-left:12px}.subject-number{font:500 .82rem/1 var(--font-math);color:var(--brown)}.subject-row>svg{width:25px;color:var(--brown-dark)}.subject-copy{gap:4px;display:grid}.subject-copy strong{font-family:var(--font-display);font-size:1.55rem;font-weight:500}.subject-copy small{color:var(--brown);font-size:.88rem}.subject-status{font:500 1.15rem/1 var(--font-math);color:var(--terracotta)}.panel,.intro-card{background:var(--paper);border:var(--rule);border-radius:var(--radius-soft);box-shadow:var(--shadow);padding:clamp(18px,3vw,30px)}.panel-title,.challenge-top{border-bottom:var(--rule);justify-content:space-between;align-items:center;gap:15px;padding-bottom:12px;display:flex}.panel-title>span,.exercise-type{font-family:var(--font-display);font-size:1.05rem}.primary,.secondary,.danger,.danger-outline,.icon-button,.hint-toggle,.solution-toggle{border:var(--rule-strong);border-radius:var(--radius);min-height:42px;transition:background var(--transition),color var(--transition),transform var(--transition);justify-content:center;align-items:center;gap:7px;padding:8px 14px;font-weight:650;display:inline-flex}.primary{background:var(--ink);color:var(--paper)}.primary:hover{background:var(--brown-dark)}.secondary{background:var(--paper)}.secondary:hover,.hint-toggle:hover,.solution-toggle:hover{background:var(--beige)}.danger{background:var(--burgundy);color:var(--paper)}.danger-outline{color:var(--burgundy);border-color:var(--burgundy);background:0 0}.icon-button{background:0 0;width:42px;padding:8px}.wide{width:100%}.button-row{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.number-input,.answer-field,.range-label{gap:6px;display:grid}.number-input span,.answer-field span,.range-label span{color:var(--brown-dark);font-size:.78rem;font-weight:650}.number-input input,.answer-field input{border:0;border-bottom:1px solid var(--brown-dark);width:180px;min-height:46px;font:650 1.1rem/1 var(--font-math);font-variant-numeric:tabular-nums;background:0 0;border-radius:0;padding:7px 3px}.operator-select{gap:5px;display:grid}.operator-select span{color:var(--brown);font-size:.78rem}.operator-select select{border:var(--rule-strong);border-radius:var(--radius);background:var(--paper);height:46px;padding:0 11px}.stepper{border-bottom:var(--rule);align-content:center;justify-items:center;gap:7px;min-height:76px;padding:10px;display:grid}.stepper>span{color:var(--brown);font-size:.78rem;font-weight:650}.stepper>div{align-items:center;gap:13px;display:flex}.stepper button{border:var(--rule);background:0 0;border-radius:50%;width:34px;height:34px;padding:6px}.stepper strong{text-align:center;min-width:38px;font:650 1.25rem/1 var(--font-math)}.feedback{border-top:var(--rule);margin-top:18px;padding:14px 0}.feedback>strong{font-family:var(--font-display);font-size:1.1rem}.feedback.incorrect,.feedback.invalid{color:var(--burgundy)}.hint,.solution,.risk-note{background:var(--paper-2);border-left:3px solid var(--ochre);padding:12px 14px}.written-workspace{max-width:1240px}.written-method-tabs{border-bottom:var(--rule);gap:20px;padding:0 0 1px;display:flex;overflow-x:auto}.written-method-tabs button{min-width:max-content;min-height:50px;color:var(--brown);background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:8px;padding:0 2px;font-weight:650;display:flex}.written-method-tabs button span{border:var(--rule);width:26px;height:26px;font:500 1rem/1 var(--font-math);border-radius:3px;place-items:center;display:grid}.written-method-tabs button svg{width:15px}.written-method-tabs button[aria-pressed=true]{color:var(--ink);border-bottom-color:var(--terracotta)}.own-calculation-builder{border:0;border-bottom:var(--rule);box-shadow:none;background:0 0;border-radius:0;grid-template-columns:1fr minmax(170px,.7fr) 1fr auto;align-items:end;gap:18px;margin:0;padding:20px 0;display:grid}.own-calculation-builder label{color:var(--brown-dark);gap:5px;font-size:.78rem;font-weight:650;display:grid}.own-calculation-builder input,.own-calculation-builder select{border:0;border-bottom:1px solid var(--brown-dark);width:100%;height:45px;font:650 1rem/1 var(--font-math);background:0 0;border-radius:0;padding:7px 2px}.builder-error{color:var(--burgundy);grid-column:1/-1;margin:0}.written-layout{grid-template-columns:minmax(0,1.7fr) minmax(275px,.64fr);align-items:start;gap:26px;display:grid}.calculation-paper{box-shadow:none;background-color:#fbf8f2;background-image:linear-gradient(#d8c5ab55 1px,#0000 1px),linear-gradient(90deg,#d8c5ab55 1px,#0000 1px);background-size:32px 32px;border:0;border-radius:0;min-height:520px;padding:0;overflow-x:auto}.paper-toolbar{border-bottom:1px solid var(--brown-dark);background:#fbf8f2ee;justify-content:space-between;align-items:center;gap:16px;min-height:74px;padding:13px 18px;display:flex}.paper-toolbar>div{gap:2px;display:grid}.paper-toolbar span{font-family:var(--font-display);color:var(--brown);font-size:.9rem}.paper-toolbar strong{font:650 clamp(1.25rem,3vw,1.75rem)/1.1 var(--font-math);font-variant-numeric:tabular-nums}.column-grid{min-width:calc(86px + var(--columns)*54px);font-family:var(--font-math);font-variant-numeric:tabular-nums;padding:38px 18px 54px}.paper-row{grid-template-columns:86px repeat(var(--columns),54px);justify-content:center;display:grid}.paper-row>div{display:contents}.row-label{min-height:51px;color:var(--brown);font:500 .68rem/1.15 var(--font-body);text-align:right;justify-content:flex-end;align-items:center;padding-right:10px;display:flex}.paper-cell{width:54px;height:51px;color:var(--ink);border:1px solid #d8c5ab88;place-items:center;font-size:1.6rem;font-weight:550;display:grid;position:relative}.place-row .paper-cell{height:29px;font:550 .67rem/1 var(--font-body);color:var(--brown);background:#efe6d866}.place-row .row-label{min-height:29px}.carry-row .paper-cell{height:34px;color:var(--brown);font-size:.9rem}.carry-row .row-label{min-height:34px}.operand-row:last-of-type{border-bottom:1.5px solid var(--ink)}.partial-row{border-bottom:1px solid var(--brown)}.result-row{border-top:1.5px solid var(--ink)}.paper-cell.column-active{background:#c8953217}.paper-cell.active{box-shadow:inset 0 -3px 0 var(--terracotta);background:#c8953230}.paper-cell.completed{color:var(--brown-dark)}.paper-cell.completed:after{content:"";background:var(--success);border-radius:50%;width:4px;height:4px;position:absolute;bottom:4px;right:5px}.paper-cell input{border:0;border-bottom:2px solid var(--terracotta);text-align:center;width:calc(100% - 8px);height:calc(100% - 6px);color:var(--ink);font:inherit;background:0 0;outline:0;padding:0}.step-coach{gap:12px;display:grid;position:sticky;top:90px}.step-card{border:0;border-left:1px solid var(--brown);box-shadow:none;background:0 0;border-radius:0;padding:20px}.step-card h2{font-family:var(--font-display);margin:8px 0;font-size:1.35rem;font-weight:500}.step-card p{line-height:1.55}.step-card.done{background:#efe6d855}.step-card.done>svg{width:28px;color:var(--success)}.step-card.done>strong{font:650 1.8rem/1 var(--font-math);margin-top:14px;display:block}.step-counter,.geometry-step{font:550 .75rem/1 var(--font-math);color:var(--brown);letter-spacing:.05em}.active-entry{grid-template-columns:1fr;gap:9px;margin-top:16px;display:grid}.active-entry label{color:var(--brown);gap:5px;font-size:.78rem;display:grid}.active-entry input{border:0;border-bottom:1px solid var(--ink);text-align:center;width:100%;height:46px;font:650 1.25rem/1 var(--font-math);background:0 0;border-radius:0}.step-success,.step-error{border-top:var(--rule);border-bottom:var(--rule);padding:9px 0;font-size:.9rem;font-weight:650}.step-success{color:var(--success)}.step-error{color:var(--burgundy)}.hint-toggle,.solution-toggle{background:0 0;width:100%;margin-top:10px}.step-hint{border-top:var(--rule);color:var(--brown-dark);grid-template-columns:auto 1fr;gap:9px;margin-top:10px;padding:12px 0;display:grid}.step-hint svg{width:18px;color:var(--ochre)}.step-hint p,.no-xp{margin:0;font-size:.88rem}.written-keypad{border:var(--rule);background:var(--sand);grid-template-columns:repeat(3,1fr);gap:1px;display:grid}.written-keypad button{background:var(--paper);min-height:44px;font:550 1rem/1 var(--font-math);border:0}.written-keypad button:hover{background:var(--beige)}.written-keypad button:nth-child(10){grid-column:2}.written-keypad .key-check{background:var(--ink);color:var(--paper)}.full-explanation{border-left:2px solid var(--ochre);background:var(--paper-2);max-height:300px;margin:0;padding:14px 14px 14px 32px;font-size:.9rem;overflow:auto}.full-explanation li{margin-bottom:8px}.full-explanation li.active{font-weight:650}.division-grid{min-width:540px;font-family:var(--font-math);font-variant-numeric:tabular-nums;padding:42px 22px}.division-expression{border-bottom:1.5px solid var(--ink);grid-template-columns:auto auto auto auto auto 1fr;align-items:end;gap:10px;padding:0 8px 16px;display:grid}.division-expression>span{font:500 .72rem/1.2 var(--font-body);color:var(--brown)}.division-expression strong,.division-expression i{font-size:1.65rem;font-style:normal}.quotient-cells{gap:1px;display:flex}.quotient-cells .paper-cell{width:44px;height:44px}.division-ledger{margin-top:22px;display:grid}.division-ledger h3{font-family:var(--font-display);margin:0 0 10px;font-weight:500}.division-line{border-bottom:var(--rule);background:#fbf8f2aa;grid-template-columns:28px 1fr 100px;align-items:center;min-height:48px;padding:4px 8px;display:grid}.division-line>span{color:var(--brown);font-size:.75rem}.division-line em{font:500 .85rem/1.2 var(--font-body);font-style:normal}.division-line .paper-cell{width:100px;height:40px;font-size:1.15rem}.division-line.active{background:#c8953219}.geometry-workspace{max-width:1200px}.geometry-tabs,.scenario-tabs,.money-tool-tabs{border-bottom:var(--rule);gap:22px;padding-bottom:1px;display:flex;overflow-x:auto}.geometry-tabs button,.scenario-tabs button,.money-tool-tabs button{min-width:max-content;min-height:48px;color:var(--brown);background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:7px;padding:0 2px;font-weight:650;display:flex}.geometry-tabs button svg{width:17px}.geometry-tabs button[aria-pressed=true],.scenario-tabs button[aria-pressed=true],.money-tool-tabs button[aria-pressed=true]{color:var(--ink);border-bottom-color:var(--terracotta)}.geometry-layout{grid-template-columns:minmax(0,1.55fr) minmax(275px,.65fr);align-items:start;gap:26px;display:grid}.geometry-book-page{min-height:520px;box-shadow:none;background-color:var(--paper);background-image:linear-gradient(#d8c5ab55 1px,#0000 1px),linear-gradient(90deg,#d8c5ab55 1px,#0000 1px);background-size:28px 28px;border:0;border-radius:0;padding:0;overflow:auto}.geometry-task-head{border-bottom:1px solid var(--brown-dark);background:#fbf8f2ec;justify-content:space-between;align-items:center;gap:14px;padding:15px 18px;display:flex}.geometry-task-head>div{display:grid}.geometry-task-head span{font-family:var(--font-display);color:var(--brown)}.geometry-task-head strong{font:550 1.15rem/1.4 var(--font-math)}.geometry-coach{border:0;border-left:1px solid var(--brown);box-shadow:none;background:0 0;border-radius:0;padding:20px;position:sticky;top:90px}.geometry-coach h2{font-family:var(--font-display);font-size:1.25rem;font-weight:500;line-height:1.4}.geometry-answer{grid-template-columns:1fr auto;align-items:center;gap:6px;margin:18px 0;display:grid}.geometry-answer span{color:var(--brown);grid-column:1/-1;font-size:.78rem}.geometry-answer input{border:0;border-bottom:1px solid var(--ink);width:100%;min-width:0;height:46px;font:550 1.05rem/1 var(--font-math);background:0 0;border-radius:0;padding:7px 2px}.geometry-answer small{color:var(--brown);font-size:.75rem}.geometry-correct,.geometry-error{border-top:var(--rule);border-bottom:var(--rule);padding:10px 0;font-weight:650}.geometry-correct{color:var(--success)}.geometry-error{color:var(--burgundy)}.geometry-hint{border-top:var(--rule);color:var(--brown-dark);grid-template-columns:auto 1fr;gap:9px;margin-top:10px;padding:11px 0;display:grid}.geometry-hint p{margin:0}.geometry-hint svg{width:18px;color:var(--ochre)}.rectangle-measure{border:2px solid var(--ink);background:repeating-linear-gradient(0deg,#0000 0 27px,#d8c5ab66 28px),repeating-linear-gradient(90deg,#0000 0 27px,#d8c5ab66 28px),#efe6d866;width:min(72%,540px);min-width:250px;min-height:210px;max-height:340px;margin:75px auto;position:relative}.rectangle-measure .side{z-index:2;background:0 0;border:0;position:absolute}.rectangle-measure .side.top,.rectangle-measure .side.bottom{width:calc(100% + 14px);height:20px;left:-7px}.rectangle-measure .side.left,.rectangle-measure .side.right{width:20px;height:calc(100% + 14px);top:-7px}.rectangle-measure .side.top{top:-11px}.rectangle-measure .side.bottom{bottom:-11px}.rectangle-measure .side.left{left:-11px}.rectangle-measure .side.right{right:-11px}.rectangle-measure .side:hover,.rectangle-measure .side:focus-visible{background:#c8953244}.rectangle-measure .side.marked{background:var(--terracotta)}.measure{border:var(--rule);background:var(--paper);min-width:32px;height:25px;font:550 .85rem/1 var(--font-math);z-index:3;pointer-events:none;color:var(--ochre);border-radius:3px;place-items:center;padding:2px 7px;display:grid;position:absolute}.measure.top{top:-44px;left:50%;transform:translate(-50%)}.measure.bottom{bottom:-44px;left:50%;transform:translate(-50%)}.measure.left{top:50%;left:-52px;transform:translateY(-50%)}.measure.right{top:50%;right:-52px;transform:translateY(-50%)}.area-model{border:1px solid var(--ink);background:var(--paper);width:max-content;max-width:calc(100% - 30px);margin:42px auto;padding:5px;overflow:auto}.area-model>button{grid-template-columns:repeat(var(--geo-cols),minmax(11px,24px));background:0 0;border:0;padding:0;display:grid}.area-model>button span{aspect-ratio:1;background:var(--paper);border:1px solid #d8c5ab}.area-model>button:hover span,.area-model>button:focus-visible span{background:#c8953222}.area-model>button.counted span{background:var(--ochre)}.angle-constructor{justify-items:center;gap:16px;padding:28px;display:grid}.angle-constructor svg{width:min(100%,480px);overflow:visible}.angle-constructor svg path:not(.angle-arc){fill:none;stroke:var(--ink);stroke-width:3px;stroke-linecap:round}.angle-constructor .angle-arc{fill:none;stroke:var(--terracotta);stroke-width:3px}.angle-constructor circle{fill:var(--ink)}.angle-constructor text{font:550 15px var(--font-math)}.angle-constructor label{width:min(100%,460px);color:var(--brown);gap:6px;font-size:.82rem;display:grid}input[type=range]{accent-color:var(--terracotta)}.symmetry-grid{--cell-size:clamp(34px,7vw,56px);grid-template-columns:repeat(var(--sym-size),var(--cell-size));border:1px solid var(--ink);background:var(--paper);width:max-content;margin:40px auto;display:grid}.symmetry-grid button{width:var(--cell-size);height:var(--cell-size);border:1px solid var(--sand);background:var(--paper)}.symmetry-grid button.axis{border-left:3px solid var(--terracotta)}.symmetry-grid button.given{background:var(--ink)}.symmetry-grid button.selected{background:var(--ochre);box-shadow:inset 0 0 0 2px var(--ink)}.symmetry-grid button:disabled{cursor:default;opacity:1}.geometry-explore,.sandbox-panel{background:var(--paper-2)}.geometry-explore>p{text-align:center}.geometry-sliders{grid-template-columns:1fr 1fr;gap:24px;display:grid}.geometry-sliders label{color:var(--brown-dark);gap:5px;display:grid}.live-geometry{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.live-geometry span{text-align:center;border-top:var(--rule);border-bottom:var(--rule);min-width:150px;padding:10px;display:grid}.live-geometry strong{font:550 1.35rem/1.3 var(--font-math)}.explore-symmetry{overflow:auto}.guided-panel,.challenge-card,.fraction-challenge{width:100%;max-width:980px;margin:0 auto}.principle-card{border-bottom:var(--rule);align-items:flex-start;gap:14px;padding-bottom:17px;display:flex}.principle-card>svg{width:30px;color:var(--ochre);flex:0 0 30px}.principle-card h2{font-family:var(--font-display);margin:0 0 5px;font-size:1.35rem;font-weight:500}.principle-card p{color:var(--brown);margin:0}.guided-controls{flex-wrap:wrap;gap:20px;margin:18px 0;display:flex}.guided-controls .stepper{flex:1;min-width:180px}.guided-controls.vertical{display:grid}.reveal-steps{gap:9px;padding-left:28px;display:grid}.completed-tag{color:var(--success);align-items:center;gap:5px;margin-left:12px;display:inline-flex}.challenge-prompt{font-family:var(--font-display);text-align:center;margin:38px 0 12px;font-size:clamp(1.8rem,5vw,3.25rem);font-weight:500;line-height:1.15}.challenge-help{text-align:center;color:var(--brown)}.answer-zone,.practice-entry{flex-wrap:wrap;justify-content:center;align-items:end;gap:14px;margin:24px 0;display:flex}.keypad{border:var(--rule);background:var(--sand);grid-template-columns:repeat(3,1fr);gap:1px;width:min(270px,100%);margin:15px auto;display:grid}.keypad button{background:var(--paper);min-height:44px;font-family:var(--font-math);border:0}.keypad button:last-child{grid-column:2}.visual-hint{border-left:3px solid var(--ochre);background:var(--paper-2);padding:18px}.sandbox-note{border-bottom:var(--rule);align-items:center;gap:10px;padding:10px 0;display:flex}.sandbox-note p{margin:0}.sandbox-note svg{width:19px;color:var(--terracotta)}.explore-builder{flex-wrap:wrap;justify-content:center;align-items:end;gap:16px;display:flex}.mini-line{height:125px;margin:30px 15px 10px;position:relative;overflow:hidden}.line-axis{background:var(--ink);height:1px;position:absolute;top:70px;left:3%;right:3%}.line-point,.jump-point{background:var(--paper);border:var(--rule-strong);width:28px;height:28px;font:550 .75rem/1 var(--font-math);border-radius:50%;place-items:center;display:grid;position:absolute;top:57px;transform:translate(-50%)}.jump-point{background:var(--ochre)}.jump-point i{width:max-content;color:var(--terracotta);font-style:normal;position:absolute;bottom:33px}.jump-point:before{content:"";border:2px solid var(--terracotta);border-bottom:0;border-radius:50% 50% 0 0;width:68px;height:34px;position:absolute;bottom:27px}.jump-ledger,.factor-buttons,.relationship-ribbon{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;display:flex}.jump-ledger button,.factor-buttons button,.relationship-ribbon strong{border:var(--rule);background:var(--paper);border-radius:3px;padding:8px 11px}.guided-fraction{grid-template-columns:250px 1fr 1fr;align-items:center;gap:28px;display:grid}.practice-cake{width:min(260px,100%);margin:16px auto;display:block}.practice-cake path,.slice{fill:var(--paper);stroke:var(--ink);stroke-width:1.5px;cursor:pointer;transition:fill var(--transition),transform var(--transition);transform-origin:50%}.practice-cake path.selected,.slice.selected{fill:var(--terracotta);transform:translateY(-2px)}.representation-stack{gap:8px;display:grid}.representation-stack strong,.fraction-equals>div{border-bottom:var(--rule);font:550 1.35rem/1.3 var(--font-math);text-align:center;padding:10px}.fraction-equals{flex-wrap:wrap;justify-content:space-around;align-items:center;gap:12px;display:flex}.fraction-equals span{font:500 .72rem/1.3 var(--font-body);color:var(--brown);display:block}.fraction-stage{grid-template-columns:300px 1fr;align-items:center;gap:35px;margin-top:25px;display:grid}.fraction-bar{border:1px solid var(--ink);min-width:180px;height:68px;display:flex}.fraction-bar span{border-right:1px solid var(--brown);background:var(--paper);flex:1}.fraction-bar span:last-child{border:0}.fraction-bar span.selected{background:var(--ochre)}.equivalent-cakes{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.equivalent-cakes .practice-cake{max-width:190px}.equivalence-live{justify-content:center;gap:12px;display:flex}.equivalence-live span{border-bottom:var(--rule);font-family:var(--font-math);padding:8px}.fraction-hint-bar{border:1px solid var(--ink);height:62px;display:flex}.fraction-hint-bar span{border-right:1px solid var(--brown);flex:1}.fraction-hint-bar span.selected{background:var(--ochre)}.comparison-row{justify-content:center;align-items:center;gap:18px;display:flex}.comparison-row>select,.fraction-editor input{border:0;border-bottom:1px solid var(--ink);text-align:center;height:44px;font:550 1.15rem/1 var(--font-math);background:0 0}.fraction-editor{text-align:center;border:0;padding:0;display:grid}.fraction-editor legend{color:var(--brown);font-size:.75rem}.fraction-editor span{background:var(--ink);height:1px;margin:4px 0}.comparison-correct{color:var(--success)}.comparison-prompt{color:var(--terracotta)}.compare-bars{grid-template-columns:1fr 1fr;gap:20px;margin:20px 0;display:grid}.coin-grid{grid-template-columns:repeat(4,52px);justify-content:center;gap:8px;display:grid}.coin{border:1px solid var(--brown-dark);background:var(--paper);width:52px;height:52px;font-family:var(--font-math);border-radius:50%}.coin.selected{background:var(--ochre);box-shadow:inset 0 0 0 3px var(--brown-dark)}.model-switch,.segmented{border-bottom:var(--rule);display:inline-flex}.model-switch button,.segmented button{background:0 0;border:0;border-bottom:2px solid #0000;min-height:42px;padding:8px 13px}.model-switch button[aria-pressed=true],.segmented button[aria-pressed=true]{border-bottom-color:var(--terracotta)}.money-workspace{max-width:1100px}.money-panel{background:repeating-linear-gradient(var(--paper),var(--paper) 34px,#d8c5ab40 35px)}.money-grid{grid-template-columns:minmax(210px,.65fr) 1.35fr;align-items:center;gap:36px;display:grid}.money-inputs{border-right:var(--rule);gap:16px;padding-right:26px;display:grid}.money-inputs .number-input input{width:100%}.discount-visual{grid-template-columns:auto 1fr auto;align-items:center;gap:20px;display:grid}.price-tag{border:1px solid var(--brown-dark);background:var(--paper-2);justify-items:center;padding:16px;display:grid;transform:rotate(-1deg)}.price-tag span{text-decoration:line-through}.price-tag strong{font:550 1.35rem/1.3 var(--font-math);color:var(--terracotta)}.math-steps{border-left:2px solid var(--brown);padding-left:17px}.math-steps p{margin:8px 0}.math-steps span{background:#c8953222;padding:2px 5px}.money-result{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);text-align:center;justify-items:center;min-width:145px;padding:18px 12px;display:grid}.money-result strong{font:600 1.45rem/1.3 var(--font-math)}.goal-track{border:1px solid var(--brown-dark);background:var(--paper);height:32px;margin:20px 0;position:relative}.goal-track>span{background:var(--ochre);position:absolute;inset:0 auto 0 0}.goal-track svg{width:20px;position:absolute;top:5px;right:7px}.saving-visual>strong{text-align:center;display:block}.week-blocks{flex-wrap:wrap;justify-content:center;gap:4px;margin-top:20px;display:flex}.week-blocks span{background:var(--terracotta);width:13px;height:29px}.growth-chart{border-bottom:1px solid var(--ink);align-items:end;gap:4px;height:210px;padding:0 6px;display:flex;overflow-x:auto}.growth-chart>div{flex-direction:column;flex:1;justify-content:end;align-items:center;min-width:22px;display:flex}.growth-chart div span{background:var(--ochre);border:1px solid var(--brown-dark);border-bottom:0;width:100%;max-width:34px}.growth-results{grid-column:2;grid-template-columns:1fr 1fr;gap:0;display:grid}.growth-results div{border-bottom:var(--rule);padding:12px}.growth-results span{color:var(--brown);font-size:.75rem;display:block}.growth-results strong{font:550 1.2rem/1.3 var(--font-math)}.risk-note{grid-column:2;margin:0}.budget-bar{border:1px solid var(--ink);height:66px;display:flex}.budget-bar .spend{background:var(--terracotta)}.budget-bar .save{background:var(--ochre)}.budget-bar .give{background:var(--sand)}.budget-visual strong{margin:14px 0;display:block}.over-budget{color:var(--burgundy)}.inflation-visual{text-align:center;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;display:grid}.purchasing{border-top:var(--rule-strong);border-bottom:var(--rule-strong);background:var(--paper-2);min-height:125px;font:550 1.25rem/1.4 var(--font-math);flex-direction:column;justify-content:center;align-items:center;display:flex}.purchasing.after{transform:scale(.86)}.inflation-visual p{grid-column:1/-1}.shop-visual,.borrowing-visual{justify-items:center;gap:20px;display:grid}.offer-cards{grid-template-columns:1fr 1fr;gap:14px;width:min(100%,430px);display:grid}.offer-cards>div{border-bottom:var(--rule);justify-content:space-between;padding:16px;display:flex}.offer-cards .best{border-bottom:2px solid var(--terracotta)}.loan-arrow{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;display:flex}.loan-arrow span,.loan-arrow strong{border-bottom:var(--rule);padding:12px}.loan-arrow strong{color:var(--terracotta)}.borrowing-visual .growth-results,.borrowing-visual .risk-note{grid-column:auto;width:100%}.story-card{font-family:var(--font-display);text-align:center;border-top:var(--rule);border-bottom:var(--rule);margin:20px 0;padding:30px;font-size:clamp(1.3rem,3vw,2rem);line-height:1.35}.live-money-result{border-top:var(--rule-strong);border-bottom:var(--rule-strong);text-align:center;width:min(300px,100%);margin:25px auto;padding:18px}.live-money-result span{color:var(--brown);display:block}.live-money-result strong{font:550 1.75rem/1.3 var(--font-math)}.growth-dots{flex-wrap:wrap;justify-content:center;gap:4px;display:flex}.growth-dots span{background:var(--ochre);border-radius:50%;width:15px;height:15px}.progress-page{padding-top:34px}.progress-header{border-bottom:var(--rule-strong);justify-content:space-between;align-items:end;gap:30px;padding:28px 0 18px;display:flex}.level-orbit{color:var(--brown);align-items:baseline;gap:7px;padding:8px 0;display:flex}.level-orbit strong{font:550 1.8rem/1 var(--font-math);color:var(--ink)}.level-orbit span{font-size:.78rem}.xp-track{background:var(--beige);height:24px;margin:24px 0 30px;position:relative}.xp-track>span{background:var(--terracotta);height:3px;display:block}.xp-track small{color:var(--brown);font-size:.72rem;position:absolute;top:7px;left:0}.progress-stats{border-top:var(--rule);border-bottom:var(--rule);grid-template-columns:repeat(4,1fr);display:grid}.progress-stats>div{border-right:var(--rule);align-content:center;justify-items:start;min-height:110px;padding:17px;display:grid}.progress-stats>div:last-child{border:0}.progress-stats svg{width:18px;color:var(--brown)}.progress-stats strong{font:550 1.55rem/1.2 var(--font-math)}.progress-stats span{color:var(--brown);font-size:.76rem}.progress-worlds{border-top:var(--rule);grid-template-columns:1fr 1fr;gap:0;margin-top:30px;display:grid}.progress-world{border-bottom:var(--rule);grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:17px 3px;display:grid}.progress-world:nth-child(odd){margin-right:20px}.progress-world svg{width:19px;color:var(--terracotta)}.progress-world span{color:var(--brown);font-size:.78rem}.privacy-card{border-top:var(--rule-strong);justify-content:space-between;align-items:center;gap:20px;margin-top:28px;padding-top:18px;display:flex}.privacy-card p{color:var(--brown);font-size:.85rem}.dialog-backdrop{z-index:50;background:#18151299;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.dialog{border:var(--rule-strong);border-radius:var(--radius);background:var(--paper);width:min(430px,100%);box-shadow:var(--shadow);text-align:center;padding:28px}.dialog>svg{color:var(--burgundy)}.dialog .button-row{justify-content:center}footer{border-top:var(--rule);background:var(--paper);color:var(--brown);justify-content:space-between;gap:30px;padding:15px clamp(18px,4vw,58px);font-size:.75rem;display:flex}@media (width<=900px){.home-editorial{grid-template-columns:1fr;gap:45px}.home-copy{max-width:600px;position:static}.home-copy h1{font-size:3.5rem}.world-heading{grid-template-columns:1fr auto}.world-heading .back-button{grid-column:1/-1}.written-layout,.geometry-layout{grid-template-columns:1fr}.step-coach,.geometry-coach{border-left:0;border-top:var(--rule);padding-left:0;position:static}.money-grid{grid-template-columns:1fr}.money-inputs{border-right:0;border-bottom:var(--rule);padding:0 0 22px}.growth-results,.risk-note{grid-column:1}.guided-fraction,.fraction-stage{grid-template-columns:1fr}.guided-fraction .practice-cake{max-width:210px}}@media (width<=640px){body{background-size:48px 100%}.topbar{height:60px;padding:0 12px}.brand small{display:none}.header-actions{gap:7px}.progress-pill{padding-right:8px}.world-page,.progress-page,.home-page{width:min(100% - 24px,1240px)}.home-page{padding:36px 0}.home-copy h1{font-size:2.75rem}.home-copy blockquote{font-size:1.35rem}.subject-row{grid-template-columns:36px 28px 1fr 22px;gap:10px;min-height:98px}.subject-copy strong{font-size:1.3rem}.subject-copy small{font-size:.8rem}.world-heading{grid-template-columns:1fr;gap:12px;padding-bottom:14px}.world-heading .back-button{grid-column:auto}.difficulty{width:100%}.mode-tabs{gap:13px;overflow-x:auto}.mode-tabs button{min-width:max-content;font-size:.85rem}.mode-identity{grid-template-columns:1fr;gap:4px}.panel,.intro-card{border-radius:var(--radius);padding:16px}.written-method-tabs{gap:16px}.own-calculation-builder{grid-template-columns:1fr}.calculation-paper{max-width:100%;min-height:430px}.paper-toolbar{flex-direction:column;align-items:flex-start}.column-grid{padding-left:6px;padding-right:6px}.paper-row{grid-template-columns:70px repeat(var(--columns),48px)}.paper-cell{width:48px;height:48px;font-size:1.35rem}.row-label{font-size:.6rem}.division-grid{min-width:470px;padding-left:10px;padding-right:10px}.geometry-tabs,.money-tool-tabs,.scenario-tabs{gap:16px}.geometry-book-page{min-height:430px}.rectangle-measure{width:62%;min-width:185px;min-height:165px}.geometry-sliders{grid-template-columns:1fr}.symmetry-grid{--cell-size:37px}.discount-visual{grid-template-columns:1fr}.price-tag{width:max-content}.inflation-visual{gap:8px}.progress-stats{grid-template-columns:1fr 1fr}.progress-stats>div:nth-child(2){border-right:0}.progress-stats>div:nth-child(-n+2){border-bottom:var(--rule)}.progress-worlds{grid-template-columns:1fr}.progress-world:nth-child(odd){margin-right:0}.privacy-card,footer{flex-direction:column;align-items:stretch}.equivalent-cakes,.comparison-row{gap:8px}.compare-bars{grid-template-columns:1fr}}.feedback.correct,.step-card.done{border-color:#6f552766}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.subject-row.financial{border-left:3px solid var(--burgundy)}.subject-row.money{border-left:3px solid var(--ochre)}.world-page.financial .world-heading,.world-page.financial .mode-tabs{border-color:var(--burgundy)}.footer-about{max-width:620px;color:inherit;text-align:right;background:0 0;border:0;border-bottom:1px solid #0000;padding:2px 0}.footer-about:hover{border-bottom-color:currentColor}.fraction-inputs,.finance-entry{flex-wrap:wrap;align-items:end;gap:18px;margin:20px 0;display:flex}.multi-fraction{flex-wrap:wrap;justify-content:center;gap:12px;max-width:520px;display:flex}.fraction-circle{filter:drop-shadow(0 5px #d8c5ab66);width:clamp(112px,15vw,168px)}.fraction-circle path{fill:var(--paper);stroke:var(--ink);stroke-width:1.5px;cursor:default}.fraction-circle path.selected{fill:var(--ochre)}.fraction-circle path[role=button]{cursor:pointer}.fraction-circle path[role=button]:focus{stroke:var(--burgundy);stroke-width:4px;outline:none}.fraction-readout{grid-template-columns:repeat(2,minmax(140px,1fr));align-self:stretch}.fraction-readout>div{border-bottom:var(--rule);gap:5px;padding:12px;display:grid}.fraction-readout span{color:var(--brown);font-size:.78rem}.fraction-readout p{background:var(--paper-2);font-family:var(--font-math);grid-column:1/-1;margin:8px 0;padding:12px}.input-error{border-left:3px solid var(--burgundy);background:var(--paper-2);padding:14px}.fraction-connection{border-top:var(--rule);border-bottom:var(--rule);width:max-content;font-family:var(--font-math);padding:8px 14px}.money-result-area{align-content:center;gap:14px;min-height:220px;display:grid}.money-result-area>strong{font:600 1.35rem/1.4 var(--font-math)}.financial-workspace{max-width:1180px}.finance-tool-tabs{border-bottom:var(--rule);gap:18px;margin-bottom:22px;display:flex;overflow-x:auto}.finance-tool-tabs button{min-width:max-content;min-height:48px;color:var(--brown);background:0 0;border:0;border-bottom:2px solid #0000;padding:8px 1px;font-weight:650}.finance-tool-tabs button[aria-selected=true]{color:var(--ink);border-bottom-color:var(--burgundy)}.finance-lesson,.finance-practice,.finance-explore{background:repeating-linear-gradient(var(--paper),var(--paper) 35px,#d8c5ab33 36px)}.finance-chart{border-top:var(--rule);border-bottom:var(--rule);background:var(--paper);margin-top:26px;padding:16px}.finance-chart svg{width:100%;height:auto;max-height:280px;display:block}.finance-chart line{stroke:var(--sand);stroke-width:1px}.finance-chart polyline{fill:none;stroke-width:3px;vector-effect:non-scaling-stroke}.finance-chart .line-flat{stroke:var(--brown)}.finance-chart .line-simple{stroke:var(--ochre)}.finance-chart .line-compound{stroke:var(--burgundy)}.finance-chart text{font:12px var(--font-math);fill:var(--brown-dark)}.chart-legend{flex-wrap:wrap;justify-content:center;gap:18px;font-size:.8rem;display:flex}.chart-legend span:before{content:"";vertical-align:middle;background:var(--brown);width:20px;height:3px;margin-right:6px;display:inline-block}.chart-legend .simple:before{background:var(--ochre)}.chart-legend .compound:before{background:var(--burgundy)}.table-scroll{margin:24px 0;overflow-x:auto}.table-scroll table{border-collapse:collapse;background:var(--paper);font-variant-numeric:tabular-nums;width:100%}.table-scroll th,.table-scroll td{text-align:right;border-bottom:var(--rule);padding:10px 12px}.table-scroll th:first-child,.table-scroll td:first-child{text-align:left}.table-scroll th{font-family:var(--font-display);font-weight:600}@media (width<=640px){.fraction-readout{grid-template-columns:1fr}.guided-fraction{gap:16px}.finance-entry .number-input,.finance-entry .number-input input{width:100%}.footer-about{text-align:left}.finance-tool-tabs{gap:14px}}.geometry-sketch{width:100%;max-width:520px;stroke:var(--ink);stroke-width:3px;fill:var(--paper);margin:auto}.grid-fill{background-image:linear-gradient(90deg,#8a624833 1px,#0000 1px),linear-gradient(#8a624833 1px,#0000 1px);background-size:calc(100%/var(--geo-cols)) calc(100%/var(--geo-rows));pointer-events:none;position:absolute;inset:0}.parallel-board{place-items:center;min-height:330px;display:grid;position:relative}.parallel-board input{width:min(420px,80%);position:absolute;bottom:24px}.parallel-line{background:var(--ink);transform-origin:50%;width:65%;height:3px;position:absolute}.parallel-line.first{transform:translateY(-65px)}.parallel-line.second{background:var(--terracotta)}.target-area{border:var(--rule-strong);background:repeating-linear-gradient(0deg,var(--paper),var(--paper) 24px,#d8c5ab55 25px);width:220px;height:150px;font:600 1.8rem var(--font-math);place-items:center;margin:auto;display:grid}.composite-shape{place-content:center;justify-items:start;min-height:360px;display:grid}.composite-shape div{border:2px solid var(--ink);font-family:var(--font-math);background:#c8953233;place-items:center;display:grid}.composite-shape div+div{background:#b85c3f33;margin-top:-2px}.coordinate-grid{--coordinate-size:8;grid-template-columns:repeat(var(--coordinate-size),42px);border-left:2px solid var(--ink);border-bottom:2px solid var(--ink);width:max-content;max-width:100%;margin:auto;display:grid;overflow:auto}.coordinate-grid span{border-top:1px solid var(--sand);border-right:1px solid var(--sand);width:42px;height:42px;font:700 1.8rem/1 var(--font-math);color:var(--burgundy);place-items:center;display:grid}.education-sections{border-top:var(--rule);grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px;margin:22px 0;padding-top:12px;display:grid}.education-sections details{border-bottom:var(--rule);padding:8px 0}.education-sections summary{cursor:pointer;font-family:var(--font-display);font-weight:650}.education-sections p{color:var(--brown-dark);margin:9px 0 5px;line-height:1.55}.finance-summary{border-top:var(--rule);border-bottom:var(--rule);flex-wrap:wrap;justify-content:center;gap:18px;margin:22px 0;padding:16px;display:flex}@media (width<=640px){.education-sections{grid-template-columns:1fr}.coordinate-grid{grid-template-columns:repeat(var(--coordinate-size),34px)}.coordinate-grid span{width:34px;height:34px}.composite-shape{justify-content:start;overflow:auto}}.calculation-pad{border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink);background:#fffdf7;border-radius:14px;margin:1rem 0;padding:.75rem}.calculation-pad summary{cursor:pointer;align-items:center;min-height:44px;font-weight:800;display:flex}.calculation-pad>p{color:var(--brown);margin:.35rem 0 .75rem}.calculation-pad>label{gap:.35rem;font-weight:700;display:grid}.calculation-pad input{border:2px solid var(--ink);width:100%;min-height:48px;font:inherit;background:#fff;border-radius:10px;padding:.65rem}.calculation-pad output{background:var(--paper);border-left:5px solid var(--terracotta);justify-content:space-between;align-items:center;margin:.65rem 0;padding:.65rem .8rem;display:flex}.calculation-keys{grid-template-columns:repeat(4,minmax(44px,1fr));gap:.4rem;max-width:360px;display:grid}.calculation-keys button{border:1.5px solid var(--ink);min-height:44px;font:inherit;background:#fff;border-radius:9px;font-weight:800}.calculation-pad button:focus-visible,.compound-worksheet input:focus-visible{outline:4px solid var(--ochre);outline-offset:2px}.finance-lesson,.finance-practice,.compound-worksheet,.table-scroll{min-width:0;max-width:100%}.compound-worksheet{margin-top:1rem;overflow:hidden}.worksheet-intro{max-width:70ch}.compound-worksheet table{min-width:920px}.compound-worksheet th,.compound-worksheet td{vertical-align:top}.worksheet-field{gap:.3rem;min-width:160px;font-size:.86rem;display:grid}.unit-input{border:2px solid var(--ink);background:#fff;border-radius:9px;align-items:center;display:flex;overflow:hidden}.unit-input b{background:var(--beige);padding:.55rem}.unit-input input{width:100%;min-width:0;font:inherit;border:0;padding:.55rem}.worksheet-field small{font-weight:700}.field-correct .unit-input{border-color:#18794e}.field-incorrect .unit-input{border-color:#b42318}.field-correct small{color:#18794e}.field-incorrect small{color:#b42318}.compound-worksheet code{white-space:normal;color:var(--ink);font-weight:700}.compound-worksheet ol{margin:.6rem 0 0 1.25rem}@media (width<=680px){.calculation-pad{padding:.6rem}.compound-worksheet table{min-width:820px}.worksheet-field{min-width:145px}}.angle-concept{grid-template-columns:repeat(3,1fr);gap:0;padding:0;display:grid}.angle-concept>div{border-right:var(--rule);padding:18px 22px}.angle-concept>div:last-child{border-right:0}.angle-concept span{font-family:var(--font-display);color:var(--terracotta);display:block}.angle-concept p{margin:.45rem 0 0;line-height:1.45}.angle-constructor svg{touch-action:none;cursor:crosshair}.angle-constructor .protractor-curve{stroke:var(--sand);stroke-width:2px}.angle-constructor .protractor-tick{stroke:var(--brown);stroke-width:1.5px}.angle-constructor .angle-ray.fixed{stroke:var(--ink);stroke-width:4px}.angle-constructor .angle-ray.moving{stroke:var(--terracotta);stroke-width:4px}.angle-constructor .angle-vertex{fill:var(--ink)}.angle-constructor .angle-handle{fill:var(--ochre);stroke:var(--ink);stroke-width:2px;cursor:grab}.angle-constructor .vertex-label{fill:var(--brown);font-size:11px}.angle-constructor .angle-value{fill:var(--terracotta);font-size:18px}.angle-readout{grid-template-columns:repeat(2,minmax(130px,1fr));gap:10px;margin:15px 0;display:grid}.angle-readout span{border-top:var(--rule);border-bottom:var(--rule);color:var(--brown);gap:4px;padding:13px;display:grid}.angle-readout strong{font:550 1.35rem/1 var(--font-math);color:var(--ink)}.angle-rules{gap:7px;padding-left:20px;display:grid}.angle-explore{text-align:center}.angle-explore .geometry-task-head{text-align:left;margin:-30px -30px 20px}.geometry-answer select{border:0;border-bottom:1px solid var(--ink);width:100%;min-height:46px;font:550 1rem var(--font-body);background:0 0}.geometry-answer .unit-input{grid-column:1/-1;grid-template-columns:1fr auto;align-items:center;display:grid}.geometry-answer .unit-input b{font:550 1.1rem var(--font-math)}.geometry-boundary-fallback{border:2px solid var(--burgundy);background:var(--paper);box-shadow:var(--shadow);margin:20px 0;padding:28px}.geometry-boundary-fallback h2{font-family:var(--font-display);margin-top:0}@media (width<=700px){.angle-concept{grid-template-columns:1fr}.angle-concept>div{border-right:0;border-bottom:var(--rule)}.angle-readout{grid-template-columns:1fr}.angle-constructor{padding:14px}.angle-explore .geometry-task-head{margin:-30px -30px 10px}}.guided-finance-lesson{max-width:1050px;margin:0 auto}.lesson-progress{color:var(--brown);justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px;font-weight:650;display:flex}.lesson-progress>div{grid-template-columns:repeat(6,minmax(22px,54px));gap:5px;display:grid}.lesson-progress i{background:var(--sand);border-radius:4px;height:5px}.lesson-progress i.active{background:var(--terracotta)}.lesson-stage{min-height:390px;padding:28px 0 14px;animation:.22s ease-out lesson-in}.step-kicker{color:var(--terracotta);letter-spacing:.06em;text-transform:uppercase;font-size:.75rem;font-weight:700;display:inline-block}.lesson-situation{border:var(--rule);border-left:6px solid var(--ochre);background:var(--paper);max-width:720px;margin:35px auto;padding:28px}.lesson-situation p{font:500 clamp(1.35rem,3vw,2rem)/1.45 var(--font-display);margin:10px 0 0}.lesson-values{grid-template-columns:repeat(3,1fr);gap:14px;margin:30px 0;display:grid}.lesson-values>div{border:var(--rule);background:var(--paper);gap:7px;padding:20px;display:grid}.lesson-values span{color:var(--brown);font-size:.82rem}.lesson-values strong{font:600 1.45rem/1.2 var(--font-math)}.hundred-grid{aspect-ratio:5/1.45;border:2px solid var(--ink);background:var(--paper);grid-template-columns:repeat(20,1fr);width:min(620px,100%);display:grid}.hundred-grid span{border-right:1px solid color-mix(in srgb,var(--ink) 28%,transparent);border-bottom:1px solid color-mix(in srgb,var(--ink) 28%,transparent)}.hundred-grid span.selected{background:var(--ochre);box-shadow:inset 0 0 0 1px var(--ink)}.learn-percent-visual{align-items:center;gap:18px;display:flex}.learn-percent-visual>strong{font:650 2rem/1 var(--font-math)}.visual-equation{flex-wrap:wrap;justify-content:center;gap:12px;margin:18px 0;display:flex}.visual-equation>*{border-bottom:var(--rule);font-family:var(--font-math);padding:10px 16px}.reconstructed-whole{flex-wrap:wrap;align-items:stretch;gap:8px;margin:24px 0;display:flex}.reconstructed-whole>div{border:2px solid var(--ink);background:var(--ochre);flex:1;min-width:100px;padding:14px;display:grid}.reconstructed-whole span{font-size:.75rem}.reconstructed-whole p{font:500 1.25rem var(--font-math);flex-basis:100%}.saving-timeline{gap:0;padding:24px 4px;display:flex;overflow-x:auto}.saving-timeline>div{text-align:center;border-top:4px solid var(--terracotta);min-width:108px;padding:14px 8px;position:relative}.saving-timeline>div:before{content:"";background:var(--ink);border-radius:50%;width:12px;height:12px;position:absolute;top:-8px;left:50%}.saving-timeline span,.saving-timeline small{color:var(--brown);font-size:.72rem;display:block}.balance-comparison{gap:13px;margin:24px 0;display:grid}.balance-comparison>div{grid-template-columns:100px 1fr 100px;align-items:center;gap:12px;display:grid}.balance-comparison i{background:var(--terracotta);min-width:8px;height:30px;display:block}.balance-comparison i.interest{background:var(--ochre);border:1px solid var(--ink)}.purchasing-power{justify-content:center;align-items:end;gap:45px;min-height:210px;display:flex}.purchasing-power>div{text-align:center;gap:5px;display:grid}.purchasing-power i{background:var(--ochre);border:2px solid var(--ink);width:100px;display:block}.purchasing-power p{align-self:center;max-width:180px}.repayment-timeline{gap:7px;margin:20px 0;display:grid}.repayment-timeline>div{grid-template-columns:28px 1fr 100px;align-items:center;gap:9px;display:grid}.repayment-timeline i{background:var(--terracotta);min-width:2px;height:18px;display:block}.guided-calculation{counter-reset:calc;gap:12px;padding:0;list-style:none;display:grid}.guided-calculation li{counter-increment:calc;border-left:3px solid var(--ochre);background:var(--paper);padding:14px 14px 14px 55px;position:relative}.guided-calculation li:before{content:counter(calc);background:var(--ink);width:24px;height:24px;color:var(--paper);border-radius:50%;place-items:center;display:grid;position:absolute;top:13px;left:17px}.guided-calculation code{font:600 1.15rem var(--font-math);white-space:normal}.guided-calculation p{color:var(--brown);margin:6px 0 0}.next-reveal-note,.interaction-note{color:var(--brown);font-size:.85rem}.lesson-slider{background:var(--paper);border:var(--rule);grid-template-columns:minmax(150px,240px) 1fr 90px;align-items:center;gap:15px;margin:24px 0;padding:16px;display:grid}.lesson-slider input{width:100%;accent-color:var(--terracotta)}.lesson-slider output{font:600 1.1rem var(--font-math);text-align:right}.observation{border-left:4px solid var(--ochre);background:var(--paper);padding:14px}.check-choices{gap:10px;margin:22px 0;display:grid}.check-choices button{text-align:left;border:var(--rule);background:var(--paper);min-height:48px;padding:10px 14px}.check-choices button.selected{outline:3px solid var(--ochre);border-color:var(--ink)}.lesson-complete{background:var(--success-soft,#e8f5e9);border-left:4px solid var(--success);flex-wrap:wrap;align-items:center;gap:12px;margin-top:20px;padding:18px;display:flex}.lesson-complete .primary{margin-left:auto}.lesson-navigation{border-top:var(--rule);flex-wrap:wrap;align-items:center;gap:10px;padding-top:18px;display:flex}.lesson-navigation .restart-lesson{margin-left:auto}.lesson-navigation button svg,.lesson-complete svg{width:18px}.understanding-check{max-width:760px;margin:0 auto}@keyframes lesson-in{0%{opacity:.35;transform:translateY(5px)}to{opacity:1;transform:none}}@media (width<=700px){.lesson-values{grid-template-columns:1fr}.lesson-stage{min-height:440px}.learn-percent-visual{display:grid}.lesson-slider{grid-template-columns:1fr}.lesson-slider output{text-align:left}.balance-comparison>div{grid-template-columns:75px 1fr 78px}.lesson-navigation .restart-lesson{margin-left:0}.purchasing-power{gap:18px}.purchasing-power i{width:72px}.lesson-complete .primary{width:100%;margin-left:0}}@media (prefers-reduced-motion:reduce){.lesson-stage{animation:none}}
