@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.3p2_lha1f2xer.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.1qq4vpdcun5oj.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.390ncx5urfkfu.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.21jp631_3pja2.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.0wgildi0cnwt9.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_f15bd114-module__7725RG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_f15bd114-module__7725RG__variable{--font-sans:"Geist", "Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.31988l_ccedte.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.2tuy5pz7dlieh.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6306c77e7c8268e4-s.2dbetqa9o8jxf.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.1uyisp29ctx0d.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.1rgnod-3esatf.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.0r6juujl39pe6.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_6ed36146-module__KdPPOG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_6ed36146-module__KdPPOG__variable{--font-mono:"Geist Mono", "Geist Mono Fallback"}
@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/20aee433927f7d4b-s.22-vwy_zcz7be.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/256e1f7f180674ba-s.3_q_pmj-3v7pv.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/be3bf58b83159894-s.0kupvvif_223v.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/753b6407f468151f-s.11jlrhjosin9v.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/292081311a6a8abc-s.3z1vcboutudqk.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/68d403cf9f2c68c5-s.p.012bmydply3go.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4 Fallback";src:local(Times New Roman);ascent-override:87.87%;descent-override:28.41%;line-gap-override:0.0%;size-adjust:117.91%}.source_serif_4_485e3d60-module__g3zn-q__className{font-family:"Source Serif 4","Source Serif 4 Fallback";font-style:normal}.source_serif_4_485e3d60-module__g3zn-q__variable{--font-serif:"Source Serif 4", "Source Serif 4 Fallback"}
:root{--paper:#161310;--paper-deep:#120f0c;--card:#221d17;--field:#1a1611;--edge:#373026;--hairline:#2c2620;--seg:#2a241c;--ink:#f2ecdf;--body-ink:#cfc5b2;--muted:#9a9180;--win:#43d08a;--spot:#ee6c46;--gold-ink:#e2b05c;--school-ink:#63c0cf;--ledger-ink:#b39df0;--ink-rgb:242, 236, 223;--paper-rgb:22, 19, 16;--win-rgb:67, 208, 138;--spot-rgb:238, 108, 70;--gold-rgb:226, 176, 92;--school-rgb:99, 192, 207;--ledger-rgb:179, 157, 240;--win-soft:rgba(var(--win-rgb), .08);--spot-soft:rgba(var(--spot-rgb), .08);--gold-soft:rgba(var(--gold-rgb), .09);--school-soft:rgba(var(--school-rgb), .09);--ledger-soft:rgba(var(--ledger-rgb), .08);--shadow-card:0 1px 2px #00000040, 0 10px 30px -12px #0006;--shadow-pop:0 2px 6px #0000004d, 0 16px 48px -12px #0000008c;--shadow-btn:0 1px 2px #00000059;--radius:14px;--radius-sm:10px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;padding:0}html{background:var(--paper)}body{background:var(--paper);color:var(--ink);font-family:var(--font-sans), "Segoe UI", system-ui, sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;flex-direction:column;min-height:100vh;font-size:16px;line-height:1.5;display:flex;overflow-x:hidden}main{flex:1}::selection{background:rgba(var(--spot-rgb), .22)}a{color:var(--ink)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--spot);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.glow,.glow-a,.glow-b{display:none}.chrome-stick{z-index:20;background:var(--paper);border-bottom:1px solid var(--edge);position:sticky;top:0}.lang-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 24px 10px;display:flex}.tabs{scrollbar-width:none;gap:4px;padding:0 24px;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tabs .tab{letter-spacing:.01em;color:var(--muted);white-space:nowrap;border-bottom:2px solid #0000;border-radius:8px 8px 0 0;margin-bottom:-1px;padding:8px 14px 10px;font-size:.9rem;font-weight:520;text-decoration:none;transition:color .15s,border-color .15s,background-color .15s}.tabs .tab:hover{color:var(--ink);background:rgba(var(--ink-rgb), .05)}.tabs .tab.active{color:var(--ink);border-bottom-color:var(--spot);font-weight:650}.tabs .tab:focus-visible{outline:2px solid var(--win);outline-offset:-2px;border-radius:8px}.mobile-nav{z-index:30;background:var(--paper);border-top:1px solid var(--edge);padding:6px 4px;padding:6px 4px calc(6px + env(safe-area-inset-bottom,0px));display:none;position:fixed;bottom:0;left:0;right:0}.mobile-nav .tab{letter-spacing:.02em;min-width:0;color:var(--muted);border-radius:10px;flex-direction:column;flex:1 1 0;align-items:center;gap:2px;padding:6px 2px;font-size:.64rem;font-weight:550;text-decoration:none;display:flex}.mobile-nav .tab-icon{font-size:1.2rem;line-height:1}.mobile-nav .tab-label{white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.mobile-nav .tab:hover{color:var(--ink)}.mobile-nav .tab.active{color:var(--spot);font-weight:700}.mobile-nav .tab:focus-visible{outline:2px solid var(--win);outline-offset:-2px}.bar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.lang-bar.narrow{-webkit-backdrop-filter:none;background:0 0;border-bottom:none;justify-content:flex-end;max-width:560px;margin:0 auto;position:static}.logo{font-family:var(--font-serif), Georgia, serif;letter-spacing:-.01em;font-size:1.28rem;font-weight:700}button.logo,a.logo{color:var(--ink);cursor:pointer;padding:2px 0;text-decoration:none;transition:opacity .15s}button.logo:hover,a.logo:hover{opacity:.65}.site-header{z-index:1;text-align:left;max-width:1120px;margin:0 auto;padding:52px 24px 0;position:relative}.tagline{max-width:680px;font-family:var(--font-serif), Georgia, serif;letter-spacing:-.02em;color:var(--ink);margin:0;font-size:clamp(2.1rem,4.6vw,3.4rem);font-weight:660;line-height:1.08}.tagline-intro{max-width:48ch;color:var(--body-ink);margin:16px 0 0;font-size:1.02rem;line-height:1.65}.layout{z-index:1;max-width:1120px;margin:36px auto 0;padding:0 24px;position:relative}.site-footer{z-index:1;border-top:1px solid var(--edge);text-align:center;color:var(--muted);margin-top:88px;padding:26px 20px 40px;font-size:.81rem;position:relative}.privacy-line{max-width:480px;margin:0 auto;line-height:1.6}.transparency-link{color:var(--body-ink);text-decoration:underline;-webkit-text-decoration-color:rgba(var(--spot-rgb), .5);text-decoration-color:rgba(var(--spot-rgb), .5);text-underline-offset:3px;transition:color .15s}.transparency-link:hover{color:var(--spot)}.footer-data-caption{font-family:var(--font-mono), ui-monospace, monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:22px 0 0;font-size:.66rem;font-weight:600}.footer-data-note{max-width:480px;margin:6px auto 0;font-size:.76rem;line-height:1.55}.footer-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:12px;display:flex}.footer-actions .import-error{flex-basis:100%}button.data-export{border:1px solid var(--edge);background:var(--card);color:var(--body-ink);font-family:var(--font-mono), ui-monospace, monospace;cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:7px 15px;font-size:.74rem;transition:border-color .15s,color .15s,box-shadow .15s;display:inline-flex}button.data-export:hover{border-color:var(--ink);color:var(--ink);box-shadow:var(--shadow-btn)}.import-error{max-width:480px;color:var(--spot);margin:10px auto 0;font-size:.8rem}.transparent-reset{border-top:1px solid var(--edge);justify-content:center;margin-top:2.2rem;padding-top:1.4rem;display:flex}button.data-reset:hover{border-color:var(--spot);color:var(--spot)}.site-top-back{z-index:1;max-width:680px;margin:24px auto 0;padding:0 20px;position:relative}.site-top-back.wide{max-width:760px}.site-back{color:var(--muted);font-family:var(--font-mono), ui-monospace, monospace;white-space:nowrap;font-size:.78rem;text-decoration:none;transition:color .15s}.site-back:hover{color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--spot);text-decoration-color:var(--spot);text-underline-offset:3px}.lang-toggle,.theme-toggle,.unit-toggle{background:var(--seg);border:none;border-radius:999px;align-items:center;gap:2px;padding:3px;display:flex}.lang-toggle button,.theme-toggle button{color:var(--muted);font-family:var(--font-mono), ui-monospace, monospace;letter-spacing:.03em;cursor:pointer;background:0 0;border:none;border-radius:999px;padding:5px 12px;font-size:.72rem;font-weight:500;transition:background .15s,color .15s,box-shadow .15s}.lang-toggle button:hover,.theme-toggle button:hover{color:var(--ink)}.lang-toggle button.active,.theme-toggle button.active{background:var(--card);color:var(--ink);box-shadow:var(--shadow-btn);font-weight:600}.unit-select,.unit-custom-input{color:var(--muted);font-family:var(--font-mono), ui-monospace, monospace;letter-spacing:.03em;background:0 0;border:none;border-radius:999px;padding:5px 12px;font-size:.72rem}.unit-select{cursor:pointer}.unit-custom-input{cursor:text;border-left:1px solid rgba(var(--ink-rgb), .12);text-transform:uppercase;border-radius:0 999px 999px 0}.unit-select:hover,.unit-custom-input:hover{color:var(--ink)}.unit-select option{background:var(--card);color:var(--ink)}.panel{background:var(--card);border:1.5px solid var(--edge);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:26px}.panel.compact{padding:18px}.panel-title{font-family:var(--font-mono), ui-monospace, monospace;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin:0 0 18px;font-size:.72rem;font-weight:600}.field{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.field-label{color:var(--body-ink);font-size:.83rem;font-weight:600}.field-input,.input-field{background:var(--field);border:1px solid var(--edge);border-radius:var(--radius-sm);color:var(--ink);font-family:var(--font-mono), ui-monospace, monospace;outline:none;padding:11px 14px;font-size:1.05rem;transition:border-color .15s,box-shadow .15s}.field-input:focus,.input-field:focus{border-color:var(--win);box-shadow:0 0 0 3px rgba(var(--win-rgb), .15)}.field-hint{color:var(--muted);font-size:.73rem}.input-suffix{color:var(--muted);font-family:var(--font-mono), ui-monospace, monospace}.stepper{border-radius:var(--radius-sm);border:1px solid var(--edge);background:var(--card);width:34px;height:34px;color:var(--body-ink);font-family:var(--font-mono), ui-monospace, monospace;cursor:pointer;flex:none;font-size:1.05rem;font-weight:600;line-height:1;transition:border-color .15s,color .15s,background .15s}.stepper:hover:not(:disabled){border-color:var(--ink);color:var(--ink)}.stepper:active:not(:disabled){background:var(--seg)}.stepper:disabled{opacity:.35;cursor:default}.term-block{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.term-value{text-align:center;font-family:var(--font-mono), ui-monospace, monospace;color:var(--ink);flex:1;font-size:1.05rem;font-weight:600}.slider-block,.one-time-row{border-top:1px solid var(--hairline);flex-direction:column;gap:12px;margin-top:22px;padding-top:20px;display:flex}.one-time-row{margin-top:30px;padding-top:22px}.slider-title{color:var(--body-ink);font-size:.83rem;font-weight:600;display:block}.slider-row{align-items:center;gap:14px;display:flex}.slider{appearance:none;cursor:pointer;background:0 0;flex:1;min-width:0;height:24px}.slider::-webkit-slider-runnable-track{background:var(--hairline);border-radius:999px;height:6px}.slider::-webkit-slider-thumb{-webkit-appearance:none;border:2px solid var(--win);background:var(--card);width:20px;height:20px;box-shadow:var(--shadow-btn);border-radius:50%;margin-top:-7px}.slider::-moz-range-track{background:var(--hairline);border-radius:999px;height:6px}.slider::-moz-range-thumb{border:2px solid var(--win);background:var(--card);width:16px;height:16px;box-shadow:var(--shadow-btn);border-radius:50%}.slider-value{text-align:right;min-width:90px;font-family:var(--font-mono), ui-monospace, monospace;color:var(--ink);font-size:1.05rem;font-weight:600}.editable-value{border:1px solid #0000;border-bottom:1.5px dashed var(--edge);cursor:text;background:0 0;border-radius:0;outline:none;padding:2px 4px;transition:border-color .15s,box-shadow .15s}.editable-value:hover{border-bottom-color:var(--muted)}.editable-value:focus{border:1px solid var(--win);box-shadow:0 0 0 3px rgba(var(--win-rgb), .15);border-radius:6px}input.slider-value{flex:none;width:112px;min-width:0}input.term-value{width:100%;min-width:0}input.onetime-value{text-align:center;flex:1;min-width:0}.slider-cta{color:var(--spot);margin:0;font-size:.85rem;animation:2s ease-in-out infinite pulse}.slider-note,.slider-hint{color:var(--muted);margin:0;font-size:.78rem}@keyframes pulse{0%,to{opacity:1}50%{opacity:.55}}.months-row{justify-content:center;gap:14px}.months-extra{text-align:center;min-width:48px;color:var(--muted);font-family:var(--font-mono), ui-monospace, monospace;font-weight:600}.profile-row{align-items:stretch;gap:8px;display:flex}.profile-select{appearance:none;cursor:pointer;flex:1;min-width:0}.profile-save,.profile-cancel{border:1px solid var(--edge);border-radius:var(--radius-sm);background:var(--card);color:var(--body-ink);font-family:var(--font-mono), ui-monospace, monospace;cursor:pointer;white-space:nowrap;padding:8px 14px;font-size:.75rem;font-weight:500;transition:border-color .15s,color .15s,box-shadow .15s}.profile-save{background:var(--ink);border-color:var(--ink);color:var(--card)}.profile-save:hover{box-shadow:var(--shadow-btn)}.profile-save:disabled{opacity:.4;cursor:default;box-shadow:none}.profile-cancel:hover{border-color:var(--ink);color:var(--ink)}.profile-name-row{gap:8px;margin-top:8px;display:flex}.loan-type-toggle{background:var(--seg);border-radius:12px;gap:2px;padding:3px;display:flex}.loan-type-toggle button{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:9px;flex:1;padding:9px 0;font-size:14px;transition:background .15s,color .15s,box-shadow .15s}.loan-type-toggle button:hover{color:var(--ink)}.loan-type-toggle button.active{background:var(--card);color:var(--ink);box-shadow:var(--shadow-btn);font-weight:600}.term-date-row{flex-direction:column;align-items:center;gap:8px;margin-top:20px;display:flex}.term-date-input{background:var(--field);border:1px solid var(--edge);border-radius:var(--radius-sm);color:var(--ink);font-family:var(--font-mono), ui-monospace, monospace;cursor:text;padding:10px 14px;font-size:15px;transition:border-color .15s,box-shadow .15s}.term-date-input:focus{border-color:var(--win);box-shadow:0 0 0 3px rgba(var(--win-rgb), .15);outline:none}.payday-row{align-items:center;gap:6px;display:flex}.payday-input{text-align:center;width:3ch;font:inherit;color:inherit;border:none;border-bottom:1.5px dashed var(--edge);background:0 0;padding:0 4px}.payday-input:focus{border-bottom-color:var(--win);outline:none}.hero-panel{text-align:center;background:var(--card);border:1.5px solid var(--edge);box-shadow:var(--shadow-card);border-radius:18px;padding:44px 32px 38px}.hero-kicker{font-family:var(--font-mono), ui-monospace, monospace;text-transform:uppercase;letter-spacing:.13em;color:var(--muted);margin:0 0 8px;font-size:.74rem;font-weight:600}.hero-save-label{font-family:var(--font-mono), ui-monospace, monospace;text-transform:uppercase;letter-spacing:.11em;color:var(--win);margin:12px 0 0;font-size:.8rem;font-weight:600}.hero-number{font-family:var(--font-mono), ui-monospace, monospace;letter-spacing:-.02em;color:var(--win);font-size:clamp(2.4rem,6.4vw,4.2rem);font-weight:700;line-height:1.15;display:block}.hero-panel .hero-number{margin-top:14px}.hero-sub{color:var(--body-ink);margin:12px 0 0;font-size:1rem}.hero-fact{color:var(--win);background:var(--win-soft);border:1px solid rgba(var(--win-rgb), .22);border-radius:999px;margin:18px auto 0;padding:8px 18px;font-size:.85rem;font-weight:500;line-height:1.45;display:inline-block}.stats-grid{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.stat{background:var(--card);border:1px solid var(--edge);box-shadow:0 1px 2px rgba(var(--ink-rgb), .04);border-radius:12px;flex-direction:column;gap:6px;padding:18px 20px;display:flex}.stat-label{font-family:var(--font-mono), ui-monospace, monospace;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:.68rem;font-weight:600}.stat-value{font-family:var(--font-mono), ui-monospace, monospace;letter-spacing:-.01em;color:var(--ink);font-size:1.32rem;font-weight:600}.stat-tribute{border-color:rgba(var(--win-rgb), .22);background:var(--win-soft)}.stat-tribute .stat-value{color:var(--win)}.last-updated{font-family:var(--font-mono), ui-monospace, monospace;color:var(--muted);text-align:center;margin:-2px 0 4px;font-size:.68rem}.chart-panel{padding:22px 22px 14px}.qa-panel h2{margin:0 0 4px;font-size:1.05rem}.qa-panel details{border-top:1px solid var(--hairline)}.qa-panel details:last-of-type{border-bottom:1px solid var(--hairline)}.qa-panel summary{cursor:pointer;color:var(--ink);justify-content:space-between;align-items:baseline;gap:10px;padding:10px 2px;font-weight:600;list-style:none;display:flex}.qa-panel summary::-webkit-details-marker{display:none}.qa-panel summary:after{content:"+";color:var(--muted);flex-shrink:0;font-weight:400}.qa-panel details[open] summary:after{content:"−"}.qa-panel details p{color:var(--body-ink);margin:0 0 12px;padding:0 2px;font-size:.9rem;line-height:1.55}.chart-legend{color:var(--muted);gap:20px;margin-bottom:12px;font-size:.78rem;display:flex}.legend-item:before{content:"";vertical-align:middle;border-radius:999px;width:16px;height:4px;margin-right:7px;display:inline-block}.legend-base:before{background:#a9a39a}.legend-win:before{background:var(--win)}.chart{width:100%;height:auto;display:block}.chart-axis{stroke:var(--edge)}.chart-line{stroke:var(--win)}.chart-gap{fill:var(--win-soft)}.chart-line-baseline{stroke:#a9a39a;stroke-width:2px;stroke-dasharray:5 5}.chart-dot-end{fill:var(--win)}.chart-dot-base{fill:#a9a39a}.chart-label{fill:var(--muted);font-size:12px;font-family:var(--font-mono), ui-monospace, monospace}.chart-label-win{fill:var(--win);font-weight:600}.game-shell{flex-direction:column;gap:16px;max-width:560px;margin:0 auto;padding:12px 16px 48px;display:flex}.game-card{background:var(--card);border:1.5px solid var(--edge);box-shadow:var(--shadow-card);border-radius:16px;flex-direction:column;gap:14px;padding:24px;display:flex}.game-title{font-family:var(--font-serif), Georgia, serif;letter-spacing:-.015em;margin:0;font-size:25px;font-weight:700}.game-title.big{font-size:28px}.game-question{font-family:var(--font-serif), Georgia, serif;letter-spacing:-.01em;margin:0;font-size:21px;font-weight:640}.game-hint{color:var(--muted);margin:0;font-size:14px}.game-explainer{color:var(--body-ink);margin:0;font-size:14px;line-height:1.65}@keyframes game-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.game-step{flex-direction:column;gap:14px;animation:.25s game-in;display:flex}.game-progress{background:var(--hairline);border-radius:999px;height:8px;overflow:hidden}.game-progress-fill{background:var(--win);border-radius:999px;height:100%;transition:width .3s}.game-step-of{color:var(--muted);font-family:var(--font-mono), ui-monospace, monospace;text-transform:uppercase;letter-spacing:1.5px;margin:0;font-size:11px}.hero-input-wrap{display:flex}.game-hero-input{width:100%;font-family:var(--font-mono), ui-monospace, monospace;text-align:center;color:var(--ink);background:var(--field);border:1px solid var(--edge);border-radius:12px;outline:none;padding:14px;font-size:32px;font-weight:700;transition:border-color .15s,box-shadow .15s}.game-hero-input:focus{border-color:var(--win);box-shadow:0 0 0 3px rgba(var(--win-rgb), .15)}.game-hero-value{font-family:var(--font-mono), ui-monospace, monospace;text-align:center;color:var(--win);background:0 0;margin:0;font-size:32px;font-weight:700}.chips{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.chip{border:1px solid var(--edge);background:var(--card);color:var(--body-ink);cursor:pointer;font-family:var(--font-mono), ui-monospace, monospace;border-radius:999px;padding:8px 16px;font-size:.82rem;font-weight:500;transition:border-color .15s,color .15s,box-shadow .15s}.chip:hover{border-color:var(--ink);color:var(--ink);box-shadow:var(--shadow-btn)}.type-cards{grid-template-columns:1fr 1fr;gap:10px;display:grid}.type-card{border:1px solid var(--edge);background:var(--card);color:var(--ink);cursor:pointer;text-align:left;border-radius:12px;flex-direction:column;align-items:flex-start;gap:6px;padding:18px;transition:border-color .15s,box-shadow .15s,background .15s;display:flex}.type-card:hover{border-color:rgba(var(--win-rgb), .4);box-shadow:var(--shadow-btn)}.type-card.selected{border-color:rgba(var(--win-rgb), .5);background:var(--win-soft)}.type-card-name{font-family:var(--font-serif), Georgia, serif;font-size:16px;font-weight:700}.type-card-desc{color:var(--muted);font-size:12px}.game-nav{gap:10px;margin-top:4px;display:flex}.game-button{border:1.5px solid var(--edge);background:var(--card);color:var(--ink);cursor:pointer;border-radius:12px;flex:1;padding:14px 18px;font-family:inherit;font-size:15.5px;font-weight:600;transition:transform .15s,box-shadow .15s,border-color .15s,background .15s}.game-button:hover:not(:disabled){box-shadow:var(--shadow-btn);transform:translateY(-1px)}.game-button:active:not(:disabled){transform:translateY(0)}.game-button.primary{border-color:var(--ink);background:var(--ink);color:var(--card)}.game-button.primary:disabled{opacity:.35;cursor:not-allowed;box-shadow:none;transform:none}.game-button.ghost{color:var(--muted);background:0 0;border-color:#0000;flex:0 auto;padding:10px 16px;font-size:14px;font-weight:500}.game-button.ghost:hover{background:var(--seg);color:var(--ink)}.game-button.gold{border-color:rgba(var(--gold-rgb), .25);background:var(--gold-soft);color:var(--gold-ink)}.game-button.school{border-color:rgba(var(--school-rgb), .25);background:var(--school-soft);color:var(--school-ink)}.game-button.budget{border-color:rgba(var(--ledger-rgb), .25);background:var(--ledger-soft);color:var(--ledger-ink)}.mode-actions{flex-direction:column;gap:14px;margin-top:26px;display:flex}.game-menu .mode-actions{margin-top:0}.mode-actions a.mode-btn{text-decoration:none}.mode-btn{text-align:left;flex-direction:column;align-items:flex-start;gap:4px;display:flex}.mode-btn-title{font-family:var(--font-serif), Georgia, serif;letter-spacing:-.01em;font-size:1.16rem;font-weight:700}.mode-btn-sub{color:var(--body-ink);font-size:.85rem;font-weight:400}.game-button.primary .mode-btn-sub{color:inherit;opacity:.72}.profile-tiles{flex-direction:column;gap:10px;display:flex}.profile-tile-row{display:flex;position:relative}.profile-tile{border:1px solid var(--edge);background:var(--card);color:var(--ink);cursor:pointer;text-align:left;border-radius:12px;flex-direction:column;flex:1;gap:4px;padding:16px 96px 16px 16px;transition:border-color .15s,box-shadow .15s;display:flex}.profile-tile:hover{border-color:var(--ink);box-shadow:var(--shadow-btn)}.tile-name{font-family:var(--font-serif), Georgia, serif;font-size:17px;font-weight:700}.tile-meta{color:var(--muted);font-size:13px}.tile-actions{flex-direction:row;gap:8px;display:flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.tile-edit,.tile-delete{border:1px solid var(--edge);background:var(--card);width:34px;height:34px;color:var(--muted);cursor:pointer;border-radius:50%;font-size:13px;transition:border-color .15s,color .15s}.tile-edit:hover{border-color:var(--ink);color:var(--ink)}.tile-delete:hover{border-color:var(--spot);color:var(--spot)}.game-welcome{text-align:center}.game-results-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.input-row{background:var(--field);border:1px solid var(--edge);border-radius:12px;align-items:center;gap:8px;width:100%;max-width:420px;padding:4px 6px 4px 16px;transition:border-color .15s,box-shadow .15s;display:flex}.input-row:focus-within{border-color:var(--win);box-shadow:0 0 0 3px rgba(var(--win-rgb), .15)}.input-row input{min-width:0;color:var(--ink);font-family:var(--font-mono), ui-monospace, monospace;text-align:right;background:0 0;border:none;outline:none;flex:1;padding:12px 0;font-weight:600}.input-row .rate-suffix{color:var(--win);font-family:var(--font-mono), ui-monospace, monospace;margin-left:2px;font-size:1.15rem;font-weight:700}.input-row .stepper{width:42px;height:42px;font-size:1.25rem}.fee-field{flex-direction:column;gap:8px;margin-top:20px;display:flex}.fee-question{font-size:16px}.question-row{justify-content:center;align-items:center;gap:10px;display:flex}.info-btn{border:1px solid var(--edge);background:var(--card);width:28px;height:28px;color:var(--muted);font-family:var(--font-serif), Georgia, serif;cursor:pointer;border-radius:50%;font-size:14px;font-style:italic;font-weight:700;transition:border-color .15s,color .15s}.info-btn:hover{border-color:var(--spot);color:var(--spot)}.info-overlay{z-index:50;background:rgba(var(--ink-rgb), .45);-webkit-backdrop-filter:blur(4px);justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.info-modal{background:var(--card);border:1px solid var(--edge);width:100%;max-width:640px;max-height:85vh;box-shadow:var(--shadow-pop);border-radius:16px;padding:28px;overflow-y:auto}.info-title{font-family:var(--font-serif), Georgia, serif;letter-spacing:-.01em;margin:0 0 6px;font-size:21px;font-weight:700}.info-tables{grid-template-columns:1fr 1fr;gap:14px;margin:18px 0 4px;display:grid}.info-figure{background:var(--field);border:1px solid var(--hairline);border-radius:12px;margin:0;padding:14px}.info-name{margin-bottom:8px;font-size:13px;font-weight:700}.info-table{border-collapse:collapse;width:100%;font-size:12px}.info-table th{text-align:right;color:var(--muted);border-bottom:1px solid var(--edge);padding:4px 6px;font-weight:600}.info-table th:first-child,.info-table td:first-child{text-align:left}.info-table td{text-align:right;font-family:var(--font-mono), ui-monospace, monospace;border-bottom:1px solid var(--hairline);padding:6px}.info-table tr:last-child td{border-bottom:none}.info-hl{color:var(--win);font-weight:700}.info-caption{color:var(--muted);margin:10px 0 0;font-size:12px;line-height:1.5}.info-close{margin-top:16px}.info-wrap{vertical-align:baseline;margin-left:8px;display:inline-block;position:relative}button.info-dot{border:1px solid var(--edge);background:var(--card);width:20px;height:20px;color:var(--muted);font-family:var(--font-serif), Georgia, serif;cursor:pointer;border-radius:50%;font-size:.72rem;font-style:italic;font-weight:700;line-height:1;transition:border-color .15s,color .15s}button.info-dot:hover,button.info-dot[aria-expanded=true]{border-color:var(--spot);color:var(--spot)}.info-note{border:1px solid var(--hairline);background:var(--field);max-width:36em;color:var(--body-ink);text-align:left;border-radius:12px;margin-top:10px;padding:12px 16px;font-size:.88rem;font-weight:400;line-height:1.6;display:block}.treasure-slider-row{align-items:center;gap:12px;display:flex}.treasure-slider-row .stepper{flex:none;width:40px;height:40px;font-size:1.2rem}.treasure-date{font-family:var(--font-serif), Georgia, serif;white-space:nowrap;color:var(--win);background:linear-gradient(transparent 55%, rgba(var(--win-rgb), .16) 55%);border-radius:4px;padding:0 .25em;font-size:clamp(1.4rem,4.5vw,2.1rem);font-style:italic;font-weight:700;line-height:1.4}.learn-shell{z-index:1;max-width:680px;margin:28px auto 0;padding:0 20px 16px;position:relative}.learn-overview .game-title{margin-bottom:2px}.learn-section-title{text-align:center;margin:32px 0 16px}.kicker{color:var(--spot);font-family:var(--font-mono), ui-monospace, monospace;text-transform:uppercase;letter-spacing:1.5px;margin:0;font-size:11px;font-weight:700}.learn-back{color:var(--muted);font-family:var(--font-mono), ui-monospace, monospace;align-self:flex-start;font-size:.78rem;text-decoration:none;transition:color .15s}.learn-back:hover{color:var(--ink)}.placeholder-note{border:1px dashed var(--edge);background:var(--field);color:var(--muted);border-radius:12px;margin:0;padding:12px 16px;font-size:13px}.learn-article .game-title,.learn-body h2{letter-spacing:-.015em}.learn-body h2{font-family:var(--font-serif), Georgia, serif;border-bottom:1px solid var(--hairline);margin:28px 0 10px;padding-bottom:8px;font-size:1.32rem;font-weight:700}.learn-body h3{font-family:var(--font-mono), ui-monospace, monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--spot);margin:24px 0 6px;font-size:.76rem;font-weight:600}.learn-body p,.learn-body li{color:var(--body-ink);font-family:var(--font-serif), Georgia, serif;margin:0 0 12px;font-size:1.03rem;line-height:1.78}.learn-body ul,.learn-body ol{margin:0 0 12px;padding-left:22px}.learn-body li::marker{color:var(--spot)}.learn-body strong{color:var(--ink)}.learn-body blockquote{border-left:3px solid var(--spot);margin:0 0 14px;padding:2px 0 2px 16px;font-style:italic}.learn-body blockquote p{color:var(--ink)}.learn-body pre{border:1px solid var(--hairline);background:var(--field);border-radius:12px;margin:0 0 12px;padding:12px 16px;overflow-x:auto}.learn-body code{font-family:var(--font-mono), ui-monospace, monospace;color:var(--ink);font-size:.85em}.learn-body pre code{font-size:13px;line-height:1.6}.learn-body p code,.learn-body li code{border:1px solid var(--hairline);background:var(--field);border-radius:6px;padding:1px 6px}.learn-cta{flex:0 auto;align-self:flex-start;margin-top:8px;padding:14px 22px;text-decoration:none}.learn-reads-link{border-top:1px solid var(--hairline);font-family:var(--font-serif), Georgia, serif;letter-spacing:-.015em;text-align:center;color:var(--ink);margin:32px 0 4px;padding-top:20px;font-size:clamp(1.25rem,3.2vw,1.7rem);font-weight:700;text-decoration:none;transition:color .15s;display:block}.learn-reads-link:hover{color:var(--spot)}.paycheck-calc{background:var(--field);border:1px solid var(--edge);border-radius:12px;flex-direction:column;gap:8px;margin:16px 0 18px;padding:20px;display:flex}.paycheck-calc-title{font-family:var(--font-serif), Georgia, serif;margin:0;font-size:1.05rem;font-weight:700}.paycheck-calc-intro{margin:0}.paycheck-calc-label{font-family:var(--font-mono), ui-monospace, monospace;color:var(--muted);text-transform:uppercase;letter-spacing:1px;margin:10px 0 0;font-size:11px;font-weight:600}.paycheck-calc .input-row{max-width:none}.paycheck-result{border:1px solid rgba(var(--win-rgb), .22);background:var(--win-soft);border-radius:12px;margin:10px 0 0;padding:12px 16px}.paycheck-save-line{font-size:19px;font-weight:700;font-family:var(--font-mono), ui-monospace, monospace;letter-spacing:-.01em;color:var(--win);margin:0}.paycheck-rest-line{color:var(--muted);margin:3px 0 0;font-size:14px}.reads-list{flex-direction:column;gap:12px;margin-top:6px;display:flex}.read-item{border:1px solid var(--edge);background:var(--card);border-radius:12px;align-items:flex-start;gap:14px;padding:16px 18px;transition:border-color .15s,box-shadow .15s;display:flex}.read-item:hover{border-color:rgba(var(--ink-rgb), .28);box-shadow:var(--shadow-btn)}.read-icon{padding-top:2px;font-size:24px;line-height:1}.read-body{flex-direction:column;gap:3px;display:flex}.read-title{font-family:var(--font-serif), Georgia, serif;font-size:16px;font-weight:700}.read-author{color:var(--muted);font-size:13px}.read-blurb{color:var(--body-ink);margin:2px 0 0;font-size:14px;line-height:1.6}.read-blurb p{margin:0}.read-link{color:var(--win);align-self:flex-start;margin-top:6px;font-size:13px;font-weight:600;text-decoration:none}.read-link:hover{text-underline-offset:3px;text-decoration:underline}.read-link-coming{color:var(--muted);margin-top:6px;font-size:13px;font-style:italic}.amazon-disclosure{color:var(--muted);margin:8px 0 0;font-size:12px;line-height:1.6}.budget-shell{z-index:1;max-width:760px;margin:28px auto 0;padding:0 20px 16px;position:relative}.budget-label{font-family:var(--font-mono), ui-monospace, monospace;color:var(--muted);text-transform:uppercase;letter-spacing:1px;margin:20px 0 8px;font-size:11px;font-weight:600}.budget-section-hint{margin:-2px 0 10px}.budget-filters{flex-wrap:wrap;gap:8px;display:flex}.budget-filter{border:1px solid var(--edge);background:var(--card);color:var(--body-ink);font:inherit;cursor:pointer;border-radius:999px;padding:9px 16px;font-size:13.5px;font-weight:550;transition:border-color .15s,background .15s,color .15s}.budget-filter.active{border-color:rgba(var(--ledger-rgb), .3);background:var(--ledger-soft);color:var(--ledger-ink);font-weight:600}.budget-items{gap:10px;display:grid}.budget-item{border:1px solid var(--hairline);background:var(--field);border-radius:12px;align-items:center;gap:8px;padding:12px 14px;display:flex}.budget-item-info{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.budget-item-name{overflow-wrap:anywhere;font-size:15px;font-weight:600}.budget-item-tag{background:var(--ledger-soft);width:fit-content;color:var(--ledger-ink);font-family:var(--font-mono), ui-monospace, monospace;letter-spacing:.03em;border-radius:999px;padding:2px 9px;font-size:10px;font-weight:600}.budget-amount{flex:0 0 150px;width:150px;max-width:150px;padding-left:8px}.budget-amount .rate-suffix{white-space:nowrap;font-size:.9rem}.budget-item-delete{border:1px solid var(--edge);background:var(--card);width:32px;height:32px;color:var(--muted);cursor:pointer;border-radius:50%;flex:none;font-size:13px;transition:border-color .15s,color .15s}.budget-item-delete:hover{border-color:var(--spot);color:var(--spot)}.budget-empty{margin:4px 0 0}.budget-add{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.budget-add-name{border:1px solid var(--edge);border-radius:var(--radius-sm);background:var(--field);min-width:0;color:var(--ink);font:inherit;flex:180px;padding:12px 16px;transition:border-color .15s,box-shadow .15s}.budget-add-name:focus{border-color:var(--win);box-shadow:0 0 0 3px rgba(var(--win-rgb), .15);outline:none}.budget-add-button{flex:none;padding:12px 20px}.budget-total{border:1px solid rgba(var(--win-rgb), .22);background:var(--win-soft);border-radius:12px;justify-content:space-between;align-items:baseline;gap:12px;margin-top:18px;padding:16px 18px;display:flex}.budget-total.budget-out{border-color:rgba(var(--spot-rgb), .22);background:var(--spot-soft)}.budget-total.budget-balance{border-color:rgba(var(--ledger-rgb), .22);background:var(--ledger-soft)}.budget-total-label{color:var(--body-ink);font-size:14px;font-weight:600}.budget-total-value{font-family:var(--font-mono), ui-monospace, monospace;letter-spacing:-.01em;color:var(--win);white-space:nowrap;font-size:25px;font-weight:700}.budget-out .budget-total-value{color:var(--spot)}.budget-balance .budget-total-value{color:var(--ledger-ink)}.budget-helpers{gap:10px;margin-top:16px;display:grid}.budget-helper{border:1px solid var(--hairline);background:var(--field);color:var(--body-ink);border-radius:12px;margin:0;padding:12px 16px;font-size:13.5px;line-height:1.6}.budget-helper strong{color:var(--ink)}@media (max-width:900px){.stats-grid{grid-template-columns:1fr 1fr}}@media (max-width:700px){.lang-bar{gap:8px;padding:10px 16px}.lang-bar .logo{font-size:1.08rem}.bar-actions{gap:6px}.lang-toggle button,.theme-toggle button{padding:5px 10px}.unit-select,.unit-custom-input{padding:5px 8px}.tabs{display:none}.mobile-nav{display:flex}body{padding-bottom:80px;padding-bottom:calc(74px + env(safe-area-inset-bottom,0px))}input,select,.term-date-input,.payday-input,.unit-custom-input,.profile-select,.input-row input{font-size:16px}.type-cards{grid-template-columns:1fr}}@media (max-width:560px){.info-tables{grid-template-columns:1fr}.budget-amount{flex:120px;width:auto}}@media (min-width:768px){.game-shell{max-width:700px;padding-top:28px}.game-card{padding:30px}.game-hero-input,.game-hero-value{font-size:40px}.game-title.big{font-size:32px}.learn-shell,.site-top-back{max-width:720px}.budget-shell,.site-top-back.wide{max-width:920px}.budget-items{grid-template-columns:1fr 1fr}}:root[data-theme=light]{--paper:#fff;--paper-deep:#eae4d0;--card:#fff;--field:#fbfaf5;--edge:#c8ba8e;--hairline:#ded4b6;--seg:#e9e1ca;--ink:#1b1814;--body-ink:#4b443c;--muted:#6e6350;--win:#047857;--spot:#d94823;--gold-ink:#b45309;--school-ink:#0e7490;--ledger-ink:#6d28d9;--ink-rgb:27, 24, 20;--paper-rgb:255, 255, 255;--win-rgb:4, 120, 87;--spot-rgb:217, 72, 35;--gold-rgb:180, 83, 9;--school-rgb:14, 116, 144;--ledger-rgb:109, 40, 217;--shadow-card:0 1px 2px rgba(var(--ink-rgb), .08), 0 16px 36px -14px rgba(var(--ink-rgb), .24);--shadow-pop:0 2px 6px rgba(var(--ink-rgb), .09), 0 18px 52px -12px rgba(var(--ink-rgb), .3);--shadow-btn:0 1px 2px rgba(var(--ink-rgb), .1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root:not([data-theme=light]) ::selection,:root:not([data-theme=light]) .game-button.primary,:root:not([data-theme=light]) .profile-save{color:var(--paper)}:root:not([data-theme=light]) .info-overlay{background:#0000008c}:root:not([data-theme=light]) .chart-line-baseline{stroke:#8d8578}:root:not([data-theme=light]) .chart-dot-base{fill:#8d8578}:root:not([data-theme=light]) .legend-base:before{background:#8d8578}
