:root{--bg: #eef0ea;--surface: #ffffff;--surface-2: #e2e6df;--ink: #1b2420;--muted: #4f5b55;--line: #cdd3ca;--accent: #276b43;--accent-ink: #ffffff;--accent-soft: #dcebdf;--btn: #1b2420;--btn-ink: #ffffff;--cost: #a3322b;--cost-soft: #f3dcd8;--fees: #b07a16;--ins: #5b4391;--price: #276b43;--flame: #a3420f;--xp: #5b4391;--note: #fff4c7;--note-ink: #5a4300;--note-line: #e8cf6b;--calm: #2f5d8a;--calm-soft: #e4ecf4;--r10: #276b43;--r10-soft: #dcebdf;--r10-line: #a9cbb3;--r20: #7a4e25;--r20-soft: #eee2d3;--r20-line: #d2b999;--r50: #a3322b;--r50-soft: #f3dcd8;--r50-line: #e2a9a3;--r100: #5b4391;--r100-soft: #e6e0f1;--r100-line: #c2b5e0;--r200: #a85a12;--r200-soft: #f6e3cc;--r200-line: #e3bf8e;--on-note: #ffffff;--mark-caret: #f2c14e;--guilloche: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='12'%3E%3Cpath d='M0 6Q7.5 0 15 6T30 6T45 6T60 6' fill='none' stroke='%23fff' stroke-opacity='.16'/%3E%3C/svg%3E");--display: "Big Shoulders Display", "Arial Narrow", ui-sans-serif, sans-serif;--body: "Figtree", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--radius: 14px;--border-w: 1px;--outline: var(--line);--lift: none;color-scheme:light}@media (prefers-color-scheme: dark){:root{--bg: #0f1512;--surface: #17201b;--surface-2: #1f2a24;--ink: #e8eee9;--muted: #9daba3;--line: #2c3a33;--accent: #6cc28e;--accent-ink: #0b1510;--accent-soft: #1c3326;--btn: #e8eee9;--btn-ink: #0f1512;--cost: #ef7f72;--cost-soft: #3a1f1c;--fees: #e2b04a;--ins: #b39beb;--price: #6cc28e;--flame: #ff8a4c;--xp: #b39beb;--note: #3a3214;--note-ink: #f3dc8a;--note-line: #6b5a1f;--calm: #8fb8e3;--calm-soft: #1c2a3a;--r10: #6cc28e;--r10-soft: #1c3326;--r10-line: #2f5a40;--r20: #d19a62;--r20-soft: #33261a;--r20-line: #5a4129;--r50: #ef7f72;--r50-soft: #3a1f1c;--r50-line: #6a332d;--r100: #b39beb;--r100-soft: #2a2340;--r100-line: #4a3e6e;--r200: #f0a65a;--r200-soft: #3a2a17;--r200-line: #6a4a22;--on-note: #0f1512;--mark-caret: #0f1512;--guilloche: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='12'%3E%3Cpath d='M0 6Q7.5 0 15 6T30 6T45 6T60 6' fill='none' stroke='%23000' stroke-opacity='.12'/%3E%3C/svg%3E");color-scheme:dark}}:root[data-track=teen]{--bg: #0b0d0c;--surface: #151917;--surface-2: #1f2421;--ink: #f0f3f1;--muted: #a3ada7;--line: #2c332f;--accent: #6cc28e;--accent-ink: #0b1510;--accent-soft: #1c3326;--btn: #f0f3f1;--btn-ink: #0b0d0c;--cost: #ef7f72;--cost-soft: #3a1f1c;--fees: #e2b04a;--ins: #b39beb;--price: #6cc28e;--flame: #ff8a4c;--xp: #b39beb;--note: #3a3214;--note-ink: #f3dc8a;--note-line: #6b5a1f;--calm: #8fb8e3;--calm-soft: #1c2a3a;--r10: #6cc28e;--r10-soft: #1c3326;--r10-line: #2f5a40;--r20: #d19a62;--r20-soft: #33261a;--r20-line: #5a4129;--r50: #ef7f72;--r50-soft: #3a1f1c;--r50-line: #6a332d;--r100: #b39beb;--r100-soft: #2a2340;--r100-line: #4a3e6e;--r200: #f0a65a;--r200-soft: #3a2a17;--r200-line: #6a4a22;--on-note: #0b0d0c;--mark-caret: #0b0d0c;--guilloche: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='12'%3E%3Cpath d='M0 6Q7.5 0 15 6T30 6T45 6T60 6' fill='none' stroke='%23000' stroke-opacity='.12'/%3E%3C/svg%3E");--radius: 18px;color-scheme:dark}:root[data-track=kid]{--radius: 22px;--border-w: 2.5px;--outline: var(--ink);--lift: 0 4px 0 var(--ink)}*{box-sizing:border-box}html{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);background:var(--bg)}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.5;padding-inline:16px;padding-block:16px 40px}[data-track=kid] body{font-size:17.5px}.app{max-width:440px;margin:0 auto;display:flex;flex-direction:column;gap:14px}h1,h2,h3{line-height:1.1;text-wrap:balance;margin:0}h1,h2{font-family:var(--display);font-weight:800;letter-spacing:.01em}h1,.hdr h2{font-weight:900;text-transform:uppercase}h1{font-size:2.3rem;line-height:1}h2{font-size:1.85rem}[data-track=kid] h2:not(.hdr h2){font-family:var(--body);font-size:1.45rem;letter-spacing:0}h3{font-size:1.08rem;font-weight:700}p{margin:0}a{color:var(--accent)}button{cursor:pointer;font:inherit;color:inherit}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.num{font-variant-numeric:tabular-nums}.eyebrow,.serial{font-family:var(--mono);font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.muted{color:var(--muted)}.small{font-size:.85rem}.note,.src{font-size:.78rem;color:var(--muted)}.cost{color:var(--cost)}.flame-text{color:var(--flame)}.selectable{-webkit-user-select:all;user-select:all}.stack{display:flex;flex-direction:column;gap:12px}.hdr{display:flex;align-items:center;justify-content:space-between;gap:10px}.brand{font-family:var(--display);font-weight:900;font-size:1.45rem;letter-spacing:.02em;text-transform:uppercase;display:flex;align-items:center;gap:8px;background:none;border:0;padding:0;min-height:44px}.brand svg{width:32px;height:32px;flex:none}.stats{display:flex;align-items:center;gap:6px}.stat{display:flex;align-items:center;gap:4px;font-family:var(--mono);font-weight:700;font-size:.8rem;padding:4px 9px;border-radius:99px;background:var(--surface);border:1px solid var(--line)}.stat svg{width:15px;height:15px}.stat.flame{color:var(--flame)}.stat.xp{color:var(--xp)}.stat.bump{animation:bump .5s ease}@keyframes bump{40%{transform:scale(1.18)}}.dn{display:none;background:var(--note);color:var(--note-ink);border:1px dashed var(--note-line);border-radius:10px;padding:8px 11px;font-size:.8rem;line-height:1.4}.dn b{display:block;font-size:.68rem;letter-spacing:.07em;text-transform:uppercase;margin-bottom:2px}.dn em{font-style:normal;opacity:.85}body.notes .dn{display:block}.card{background:var(--surface);border:var(--border-w) solid var(--outline);box-shadow:var(--lift);border-radius:var(--radius);padding:18px;display:flex;flex-direction:column;gap:12px}.card.start{align-items:flex-start}.btn{font-weight:700;border:0;border-radius:calc(var(--radius) - 2px);padding:13px 18px;min-height:48px;background:var(--btn);color:var(--btn-ink);transition:transform .08s}.btn:active{transform:scale(.97)}.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}.btn.calm{background:var(--calm);color:var(--bg)}.btn:disabled{opacity:.45;cursor:default}.row{display:flex;gap:10px;flex-wrap:wrap}.row .btn{flex:1}.pill{font-size:.72rem;font-weight:700;padding:3px 9px;border-radius:99px;background:var(--surface-2);color:var(--muted);white-space:nowrap}.pill.go{background:var(--accent);color:var(--accent-ink)}.pill.ok{background:var(--accent-soft);color:var(--accent)}.pill.new{background:var(--cost-soft);color:var(--cost)}.choices{display:flex;flex-direction:column;gap:8px}.choice{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;text-align:left;padding:14px 16px;border-radius:calc(var(--radius) - 2px);border:max(1.5px,var(--border-w)) solid var(--outline);background:var(--surface)}.choice .t{font-weight:700;font-size:1.02rem}.choice .s{font-size:.85rem;color:var(--muted)}.choice[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft)}.goals{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.goals .choice{grid-template-columns:1fr;text-align:center;padding:12px 8px}.track{height:10px;border-radius:6px;background:var(--surface-2);overflow:hidden}.track span{display:block;height:100%;background:var(--accent);border-radius:6px;transition:width .5s ease}.goalband{position:relative;overflow:hidden;border-radius:var(--radius);border:var(--border-w) solid var(--outline);box-shadow:var(--lift);background:var(--guilloche),var(--r10);color:var(--on-note);padding:16px;display:flex;flex-direction:column;gap:10px}:root:not([data-track=kid]) .goalband{border-color:transparent}.goalband .top{display:flex;justify-content:space-between;align-items:flex-end;gap:10px}.goalband .top>div{display:flex;flex-direction:column;gap:2px}.goalband .serial{color:inherit;opacity:.85}.goalband .big{font-family:var(--display);font-weight:800;font-size:1.9rem;line-height:1}.goalband .den{font-family:var(--display);font-weight:900;font-size:3.2rem;line-height:.8}.goalband .track{background:color-mix(in srgb,var(--on-note) 25%,transparent)}.goalband .track span{background:var(--on-note)}[data-track=kid] .goalband .track span{background:#ffc83d}.strip{border-block:1.5px solid var(--ink);padding:9px 2px;display:flex;flex-direction:column;gap:6px}.rates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.rate{display:flex;flex-direction:column;min-width:0}.rate b{font-family:var(--display);font-weight:800;font-size:1.7rem;line-height:1.05}.modules{display:flex;flex-direction:column;gap:8px;list-style:none;padding:0;margin:0}.mod{display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 14px 11px 12px;border-radius:calc(var(--radius) - 2px);background:var(--surface);border:var(--border-w) solid var(--outline);width:100%;text-align:left}.mod .den{font-family:var(--display);font-weight:900;font-size:1.85rem;line-height:1;color:var(--c)}.mod .t{font-weight:700}.mod .s{font-size:.8rem;color:var(--muted)}.mod.done{background:var(--c-soft);border-color:var(--c-line)}[data-track=kid] .mod.done{border-color:var(--outline)}.mod.open{background:var(--guilloche),var(--c);border-color:var(--c);color:var(--on-note);box-shadow:0 5px color-mix(in srgb,var(--c) 70%,#000);margin-bottom:4px}[data-track=kid] .mod.open{border-color:var(--outline);box-shadow:var(--lift)}.mod.open .den,.mod.open .s{color:inherit}.mod.open .s{opacity:.88}.mod.open .pill.go{background:var(--on-note);color:var(--c)}.mod.locked{cursor:default;background:transparent;border:1.5px dashed var(--line)}[data-track=kid] .mod.locked{border:var(--border-w) dashed var(--muted)}.mod.locked .den{color:transparent;-webkit-text-stroke:1px var(--c)}.mod.locked .pill{font-family:var(--mono);letter-spacing:.06em;background:transparent}.mod.bet{background:var(--calm-soft);border-color:transparent;color:var(--ink);box-shadow:none}[data-track=kid] .mod.bet{border-color:var(--outline)}.mod.bet .den{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--surface);color:var(--calm)}.mod.bet .den svg{width:20px;height:20px}.mod.bet .t{color:var(--calm)}.mod.bet .pill{background:var(--surface);color:var(--calm)}.agechip{display:flex;gap:6px;flex-wrap:wrap}.agechip button{font-size:.8rem;font-weight:700;padding:5px 11px;border-radius:99px;border:1px solid var(--line);background:var(--surface)}.agechip button[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}.betentry{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;text-align:left;padding:14px 16px;border-radius:var(--radius);border:1px solid var(--line);background:var(--calm-soft)}.betentry .t{font-weight:700;color:var(--calm)}.betentry .s{font-size:.85rem;color:var(--muted)}.segs{display:flex;gap:4px}.segs i{flex:1;height:4px;border-radius:2px;background:var(--line)}.segs i.on{background:var(--accent)}.story{min-height:430px;justify-content:space-between;-webkit-user-select:none;user-select:none}.story .body{display:flex;flex-direction:column;gap:12px}.story.enter{animation:slide .28s ease}@keyframes slide{0%{opacity:.3;transform:translate(18px)}}.tapzone{display:flex;justify-content:space-between;font-size:.75rem;color:var(--muted)}.tag{align-self:flex-start;max-width:100%;background:var(--surface-2);border:2px dashed var(--line);border-radius:12px;padding:12px 16px;display:flex;flex-direction:column;gap:2px}.tag .big{font-family:var(--display);font-weight:800;font-size:1.9rem}.tag .small{font-size:.9rem;color:var(--muted)}.list{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none}.list li{display:grid;grid-template-columns:12px 1fr;gap:10px;align-items:baseline}.list li:before{content:"";width:10px;height:10px;border-radius:3px;background:var(--c, var(--accent));transform:translateY(1px)}.callout{background:var(--accent-soft);border-radius:10px;padding:12px 14px;font-size:.95rem}.callout.help{background:var(--calm-soft)}.teaser{display:flex;align-items:center;gap:8px;font-size:.85rem;color:var(--muted);border-top:1px solid var(--line);padding-top:10px}.teaser b{color:var(--ink)}.left{font-size:.8rem;font-weight:700;color:var(--accent)}.drain{display:flex;align-items:flex-end;gap:3px;height:70px}.drain i{flex:1;background:var(--accent);border-radius:3px 3px 0 0;min-width:0}.drain i:last-child{background:var(--cost)}.opts{display:flex;flex-direction:column;gap:8px}.opt{text-align:left;padding:12px 14px;border-radius:calc(var(--radius) - 2px);border:var(--border-w) solid var(--outline);background:var(--surface);position:relative;overflow:hidden}.opt .fill{position:absolute;inset:0 auto 0 0;background:var(--surface-2);transition:width .6s ease;z-index:0}.opt .lbl{position:relative;z-index:1;display:flex;justify-content:space-between;gap:8px}.opt.right{border-color:var(--accent);background:var(--accent-soft)}.opt.wrong{border-color:var(--cost);background:var(--cost-soft)}.opt:disabled{cursor:default}.explain{font-size:.93rem}.combo{align-self:flex-start;font-weight:800;font-family:var(--display);color:var(--xp)}.field{display:flex;flex-direction:column;gap:4px}.field label{display:flex;justify-content:space-between;gap:8px;font-size:.88rem;font-weight:600}.field label output{font-variant-numeric:tabular-nums;color:var(--accent);white-space:nowrap}input[type=range]{width:100%;accent-color:var(--accent)}.result{display:flex;flex-direction:column;gap:4px}.result .big{font-family:var(--display);font-weight:800;font-size:2.1rem;color:var(--cost);line-height:1.05}.bar{display:flex;height:26px;border-radius:7px;overflow:hidden;background:var(--surface-2)}.bar span{display:block;height:100%;transition:width .35s ease}.legend{display:grid;grid-template-columns:1fr auto;gap:6px 12px;font-size:.9rem;margin:0}.legend dt{display:flex;align-items:center;gap:8px}.legend dt:before{content:"";width:10px;height:10px;border-radius:3px;background:var(--c, transparent)}.legend dt.total:before{display:none}.legend dd{margin:0;text-align:right;font-weight:600}.legend .total{border-top:1px solid var(--line);padding-top:6px;font-weight:700}.compare{background:var(--surface-2);border-radius:10px;padding:12px 14px;font-size:.95rem}.vs{display:grid;grid-template-columns:1fr 1fr;gap:10px}.vs>div{border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:2px;min-width:0}.vs .save{background:var(--accent-soft)}.vs .borrow{background:var(--cost-soft)}.vs b{font-family:var(--display);font-size:1.5rem}.vs .save b{color:var(--accent)}.vs .borrow b{color:var(--cost)}.weeks{display:flex;flex-wrap:wrap;gap:3px}.weeks i{width:12px;height:12px;border-radius:3px;background:var(--c)}.badge{width:76px;height:76px;border-radius:50%;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;font-family:var(--display);font-size:1.7rem;font-weight:800;animation:pop .5s cubic-bezier(.3,1.6,.5,1)}@keyframes pop{0%{transform:scale(.3)}}.sumrow{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;width:100%}.sumrow div{background:var(--surface-2);border-radius:10px;padding:10px;text-align:center}.sumrow b{display:block;font-family:var(--display);font-size:1.3rem}.sumrow span{font-size:.75rem;color:var(--muted)}.share{border:1.5px dashed var(--line);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:6px;background:var(--surface-2)}.share p{font-family:var(--display);font-weight:600;font-size:1.05rem}.bc h1{color:var(--calm)}.yn{display:flex;flex-direction:column;gap:6px}.yn .q{font-weight:600}.yn .row button{flex:1;padding:10px;border-radius:10px;border:1px solid var(--line);background:var(--surface);font-weight:700}.yn .row button[aria-pressed=true]{background:var(--calm);color:var(--bg);border-color:var(--calm)}.timer{font-family:var(--display);font-weight:800;font-size:3rem;color:var(--calm);text-align:center;font-variant-numeric:tabular-nums}.ring{height:8px;border-radius:5px;background:var(--surface-2);overflow:hidden}.ring span{display:block;height:100%;background:var(--calm);transition:width 1s linear}.hotline{font-family:var(--display);font-weight:800;font-size:1.8rem;color:var(--calm);-webkit-user-select:all;user-select:all;font-variant-numeric:tabular-nums}ol.steps{margin:0;padding-left:1.2em;display:flex;flex-direction:column;gap:6px}.float{position:fixed;pointer-events:none;font-weight:800;color:var(--xp);font-family:var(--display);animation:rise 1s ease forwards;z-index:20}@keyframes rise{to{transform:translateY(-46px);opacity:0}}.confetti{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:15}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
