:root{--paper:#f7f4ec;--paper-2:#efeae0;--ink:#1a1814;--ink-soft:#5c574e;--rule:#d6cfc0;--rule-strong:#b3a994;--solvent:#1f5673;--warn:#b8862f;--deplete:#9e2b25;--accent:#1f5673;--grid-line:#e4ddcd;--mono:"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--sans:"IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--maxw:1180px}*{box-sizing:border-box}html,body,#root{margin:0;padding:0}body{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:15px;line-height:1.55}h1,h2,h3,h4{font-family:var(--sans);letter-spacing:-.01em;margin:0;font-weight:600;line-height:1.15}.mono{font-family:var(--mono)}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}.eyebrow{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);font-size:11px}hr.rule{border:none;border-top:1px solid var(--rule);margin:0}hr.rule-strong{border:none;border-top:1px solid var(--rule-strong);margin:0}button{font-family:var(--sans);cursor:pointer}a{color:var(--solvent);text-underline-offset:2px}:focus-visible{outline:2px solid var(--solvent);outline-offset:2px}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.tnum{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.hero{padding:56px 0 28px}.hero h1{max-width:18ch;font-size:clamp(30px,4.5vw,52px)}.hero .lede{color:var(--ink-soft);max-width:62ch;margin-top:18px;font-size:17px}.mission{border:1px solid var(--rule-strong);background:var(--paper-2);flex-wrap:wrap;align-items:center;gap:20px;margin-top:24px;padding:14px 18px;transition:background .4s,border-color .4s,box-shadow .4s;display:flex}.mission.won{background:color-mix(in srgb, var(--solvent) 9%, var(--paper));border-color:var(--solvent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--solvent) 30%, transparent)}.mission-text{flex:240px;min-width:0}.mission-eyebrow{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);font-size:10px}.mission.won .mission-eyebrow{color:var(--solvent)}.mission-goal{margin-top:2px;font-size:15px;font-weight:500}.mission-progress{flex:0 220px;min-width:160px}.mp-bar{background:var(--rule);border-radius:999px;height:8px;overflow:hidden}.mp-fill{background:var(--warn);border-radius:999px;height:100%;transition:width .45s cubic-bezier(.22,1,.36,1),background .4s}.mission.won .mp-fill{background:var(--solvent)}.mp-label{font-family:var(--mono);color:var(--ink-soft);margin-top:5px;font-size:11px}.mission.won .mp-label{color:var(--solvent);font-weight:600}.share-btn{border:1px solid var(--ink);background:var(--ink);color:var(--paper);font-family:var(--mono);letter-spacing:.02em;flex:none;padding:9px 18px;font-size:13px;font-weight:500;transition:transform 80ms,background .2s,box-shadow .2s}.share-btn:hover{box-shadow:0 2px 0 var(--rule-strong)}.share-btn:active{transform:translateY(1px)}.mission.won .share-btn{background:var(--solvent);border-color:var(--solvent)}.share-btn.ghost{background:var(--paper);color:var(--ink)}.mission.won .share-btn.ghost{color:var(--solvent)}.share-row{flex-wrap:wrap;align-items:center;gap:12px;margin-top:14px;display:flex}.share-row-label{color:var(--ink-soft);font-size:13px}.win-badge{letter-spacing:.04em}@keyframes winpulse{0%,to{opacity:1}50%{opacity:.62}}.is-solvent .win-badge{animation:1.8s ease-in-out infinite winpulse}.toast{background:var(--ink);color:var(--paper);font-family:var(--mono);z-index:50;text-overflow:ellipsis;white-space:nowrap;border-radius:6px;max-width:90vw;padding:10px 18px;font-size:13px;animation:.22s toastin;position:fixed;bottom:26px;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 6px 24px #00000038}@keyframes toastin{0%{opacity:0;transform:translate(-50%,8px)}}.verdict{background:var(--rule);border:1px solid var(--rule-strong);grid-template-columns:repeat(4,1fr);gap:1px;margin:16px 0 28px;display:grid}.verdict .cell{background:var(--paper);padding:16px 18px}.verdict .k{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);font-size:10.5px}.verdict .v{font-family:var(--mono);letter-spacing:-.01em;margin-top:6px;font-size:30px;font-weight:500}.verdict .sub{color:var(--ink-soft);margin-top:2px;font-size:12px}.layout{grid-template-columns:320px 1fr;align-items:start;gap:36px;display:grid}@media (width<=880px){.layout{grid-template-columns:1fr}.verdict{grid-template-columns:repeat(2,1fr)}}.panel{border:1px solid var(--rule-strong);background:var(--paper)}.panel-h{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:baseline;padding:12px 16px;display:flex}.panel-h h3{font-size:14px}.lgroup{padding:6px 16px 12px}.lgroup-t{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);border-bottom:1px dotted var(--rule);padding:14px 0 8px;font-size:10px}.lever{border-bottom:1px solid var(--grid-line);padding:11px 0}.lever:last-child{border-bottom:none}.lever-top{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.lever-label{font-size:13px;font-weight:500}.lever-val{font-family:var(--mono);color:var(--solvent);white-space:nowrap;font-size:13px}.lever-help{color:var(--ink-soft);margin-top:3px;font-size:11.5px;line-height:1.4}input[type=range]{width:100%;accent-color:var(--solvent);height:18px;margin-top:9px}.toggle{gap:6px;margin-top:8px;display:inline-flex}.toggle button{border:1px solid var(--rule-strong);background:var(--paper);font-size:12px;font-family:var(--mono);color:var(--ink-soft);padding:3px 12px}.toggle button[aria-pressed=true]{background:var(--solvent);color:var(--paper);border-color:var(--solvent)}.charts>section{margin-bottom:30px}.chart-h{justify-content:space-between;align-items:baseline;margin-bottom:8px;display:flex}.chart-h h3{font-size:16px}.chart-h .note{color:var(--ink-soft);font-size:12px}.chart-card{border:1px solid var(--rule);background:#fdfcf8;padding:14px 12px 6px}.scorecard table{border-collapse:collapse;width:100%;font-size:13px}.scorecard th,.scorecard td{text-align:left;border-bottom:1px solid var(--grid-line);padding:7px 8px}.scorecard th{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);font-size:10px;font-weight:500}.scorecard td.num{font-family:var(--mono);text-align:right}.bar{background:var(--solvent);border-radius:1px;height:7px}.bar.neg{background:var(--deplete)}.presets{flex-wrap:wrap;gap:8px;display:flex}.preset{border:1px solid var(--rule-strong);background:var(--paper);font-size:13px;font-family:var(--mono);padding:7px 13px}.preset.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.preset-note{color:var(--ink-soft);max-width:70ch;min-height:2.6em;margin-top:12px;font-size:13px}.method{color:var(--ink-soft);max-width:74ch;font-size:13.5px;line-height:1.6}.method h3{color:var(--ink);margin:26px 0 8px;font-size:18px}.method code{font-family:var(--mono);background:var(--paper-2);padding:1px 5px;font-size:12px}.valtable{border-collapse:collapse;width:100%;margin:12px 0;font-size:13px}.valtable th,.valtable td{border-bottom:1px solid var(--grid-line);text-align:right;padding:6px 10px}.valtable th:first-child,.valtable td:first-child{text-align:left}.valtable th{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);font-size:10px}.valtable td.mono{font-family:var(--mono)}.btnrow{gap:8px;display:flex}.btn{border:1px solid var(--rule-strong);background:var(--paper);font-size:12px;font-family:var(--mono);color:var(--ink);padding:5px 12px}.btn:disabled{opacity:.4;cursor:default}.foot{border-top:1px solid var(--rule-strong);color:var(--ink-soft);margin-top:48px;padding:24px 0 60px;font-size:12px}.foot a{color:var(--solvent)}.scrubber{border-top:1px solid var(--grid-line);align-items:center;gap:12px;margin-top:8px;padding:10px 4px 4px;display:flex}.scrubber input[type=range]{accent-color:var(--solvent);flex:1;margin-top:0}.scrubber .play{border:1px solid var(--rule-strong);background:var(--paper);width:34px;height:28px;color:var(--ink);font-size:11px;line-height:1}.scrubber .play:hover{background:var(--solvent);color:var(--paper);border-color:var(--solvent)}.scrub-yr{color:var(--ink-soft);text-align:right;min-width:3.2em;font-size:13px}.math-page .back-link{color:var(--solvent);font-family:var(--mono);letter-spacing:.08em;font-size:12px;text-decoration:none}.math-page .back-link:hover{text-decoration:underline}.math-body{max-width:780px;padding-bottom:80px}.math-toc{border:1px solid var(--rule-strong);background:var(--paper-2);margin-bottom:36px;padding:18px 24px}.math-toc ol{margin:10px 0 0;padding-left:20px;font-size:14px;line-height:1.8}.math-toc a{color:var(--solvent);text-decoration:none}.math-toc a:hover{text-decoration:underline}.math-body section{margin-bottom:40px}.math-body h2{color:var(--ink);border-bottom:1px solid var(--rule-strong);margin-bottom:16px;padding-bottom:8px;font-size:22px}.math-body h3{color:var(--ink);margin:24px 0 10px;font-size:16px}.math-body p{color:var(--ink-soft);max-width:68ch;margin:10px 0;font-size:14.5px;line-height:1.65}.math-body ul,.math-body ol.step-list{color:var(--ink-soft);padding-left:22px;font-size:14.5px;line-height:1.65}.math-body li{margin:4px 0}.math-body code{font-family:var(--mono);background:var(--paper-2);border-radius:2px;padding:1px 5px;font-size:13px}.math-var{font-family:var(--mono);color:var(--solvent);background:color-mix(in srgb, var(--solvent) 6%, transparent);border-radius:2px;padding:0 4px;font-size:13.5px;font-style:italic}.math-eq{background:var(--paper-2);border-left:3px solid var(--solvent);flex-wrap:wrap;align-items:baseline;gap:14px;margin:12px 0;padding:10px 16px;display:flex}.eq-label{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);flex:none;min-width:100px;font-size:10.5px}.eq-body{font-family:var(--mono);color:var(--ink);white-space:pre-wrap;background:0 0;padding:0;font-size:14px;line-height:1.6}.math-table{border-collapse:collapse;width:100%;margin:14px 0;font-size:13.5px}.math-table th,.math-table td{border-bottom:1px solid var(--grid-line);text-align:left;padding:7px 12px}.math-table th{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);font-size:10.5px;font-weight:500}.math-table td{color:var(--ink)}.math-table td:first-child{font-family:var(--mono)}.math-footer{margin-top:48px}.math-footer p{color:var(--ink-soft);font-size:13px;line-height:1.6}.math-footer a{color:var(--solvent)}
