:root{--bg:#0f0b1c;--raise:#1b1430;--raise2:#281e45;--line:#ffffff17;--ink:#f4f0fe;--dim:#bcb1dc;--faint:#a093c7;--hero:#4b1d9e;--onhero:#fff;--btn:#a47cff;--onbtn:#160636;--money:#5ab8ff;--onmoney:#04203a;--heromoney:#5ab8ff;--streak:#ff6fa8;--onstreak:#2e0016;--grow:#7ce0a5;--ongrow:#04240f;--danger:#ff6b6b;--ondanger:#2e0505;--btn-soft:#a47cff2e;--money-soft:#5ab8ff29;--grow-soft:#7ce0a529;--streak-soft:#ff6fa829;--danger-soft:#ff6b6b29;--bg-2:var(--bg);--surface:var(--raise);--surface-strong:var(--raise);--surface-soft:var(--raise2);--text:var(--ink);--text-secondary:var(--dim);--muted:var(--dim);--primary:var(--btn);--primary-dark:var(--btn);--primary-soft:var(--btn-soft);--accent:var(--streak);--accent-soft:var(--streak-soft);--success:var(--grow);--success-soft:var(--grow-soft);--success-dark:var(--grow);--success-line:#7ce0a557;--warning:var(--streak);--warning-soft:var(--streak-soft);--danger-dark:var(--danger);--danger-line:#ff6b6b57;--gold:var(--money);--gold-bright:var(--money);--gold-soft:var(--money-soft);--panel-dark-a:var(--hero);--panel-dark-b:var(--hero);--hero-text:var(--onhero);--hero-muted:#ffffffbd;--hero-line:#ffffff2e;--border:var(--line);--shadow:0 18px 44px #0000006b;--shadow-soft:0 8px 22px #00000052;--radius-xl:24px;--radius-lg:20px;--radius-md:15px;--radius-sm:11px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--font-display:"Fraunces", Georgia, "Times New Roman", serif;--font-body:"Karla", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-label:"Barlow Semi Condensed", ui-sans-serif, system-ui, sans-serif;--fs-xs:.72rem;--fs-sm:.83rem;--fs-base:.95rem;--fs-md:1.02rem;--fs-lg:1.3rem;--fs-h1:clamp(1.7rem, 3.4vw, 2.15rem);--fs-xl:clamp(1.9rem, 4vw, 2.6rem);--fs-2xl:clamp(2.1rem, 4.4vw, 2.9rem);--fs-stat-md:clamp(1.7rem, 3.4vw, 2.15rem);--fs-stat-lg:clamp(2.3rem, 5vw, 3.2rem);--fw-semibold:600;--fw-bold:700;--fw-extra:700}:root[data-theme=light]{--bg:#f2effb;--raise:#fff;--raise2:#e7e1f8;--line:#180e301c;--ink:#180e30;--dim:#514474;--faint:#615383;--hero:#4b1d9e;--onhero:#fff;--btn:#6d28d9;--onbtn:#fff;--money:#0b5e9e;--onmoney:#fff;--heromoney:#5ab8ff;--streak:#b01659;--onstreak:#fff;--grow:#15803d;--ongrow:#fff;--danger:#c0261f;--ondanger:#fff;--btn-soft:#6d28d91c;--money-soft:#0b5e9e1c;--grow-soft:#15803d21;--streak-soft:#b016591c;--danger-soft:#c0261f1c;--success-line:#15803d4d;--danger-line:#c0261f4d;--hero-muted:#ffffffc2;--shadow:0 14px 34px #28185a1c;--shadow-soft:0 6px 18px #28185a14}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-height:100vh;color:var(--ink);background:var(--bg);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}input,select,textarea{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--raise2);width:100%;color:var(--ink);outline:none;padding:.85rem 1rem;transition:border-color .16s,box-shadow .16s}input::placeholder,textarea::placeholder{color:var(--faint)}input:focus,select:focus,textarea:focus{border-color:var(--btn);box-shadow:0 0 0 3px var(--btn-soft)}select option{background:var(--raise);color:var(--ink)}label{color:var(--dim);font-weight:var(--fw-bold);gap:.4rem;display:grid}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.02em;font-family:var(--font-display);font-weight:var(--fw-extra);text-wrap:balance}:focus-visible{outline:2px solid var(--btn);outline-offset:2px}.muted{color:var(--dim)}.btn{min-height:42px;font-family:var(--font-label);letter-spacing:.09em;text-transform:uppercase;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.45rem;padding:.62rem 1.05rem;font-size:.86rem;font-weight:700;transition:filter .16s,background .16s;display:inline-flex}.btn:hover{filter:brightness(1.08)}.btn:active{filter:brightness(.95)}.btn-primary{background:var(--btn);color:var(--onbtn)}.btn-secondary{background:var(--raise2);color:var(--ink)}.btn-ghost{color:var(--dim);border-color:var(--line);background:0 0}.btn-ghost:hover{color:var(--ink);background:var(--raise2)}.btn-danger{background:var(--danger-soft);color:var(--danger);border-color:var(--danger-line)}.app-shell{min-height:100vh}.sidebar{width:258px;color:var(--ink);background:var(--raise);border-right:1px solid var(--line);padding:24px 16px;display:none;position:fixed;inset:0 auto 0 0}.brand,.brand-lockup{align-items:center;gap:11px;display:flex}.brand{padding:4px 6px}.brand strong,.brand-lockup strong,.brand-link{font-family:var(--font-display);color:var(--ink);font-size:1.02rem;font-weight:700;display:block}.brand small,.brand-lockup small{color:var(--faint);margin-top:1px;font-size:.74rem;display:block}.logo-mark{background:var(--btn);width:40px;height:40px;color:var(--onbtn);font-family:var(--font-display);border-radius:13px;flex:none;place-items:center;font-size:.86rem;font-weight:700;display:grid}.sidebar nav{gap:3px;margin-top:26px;display:grid}.sidebar nav a{color:var(--dim);border-radius:12px;align-items:center;gap:10px;padding:11px 14px;font-size:.92rem;font-weight:600;transition:background .16s,color .16s;display:flex}.sidebar nav a:before{content:"";opacity:.4;background:currentColor;border-radius:50%;flex:none;width:7px;height:7px}.sidebar nav a:hover,.sidebar nav a.active{background:var(--raise2);color:var(--ink)}.sidebar nav a.active:before{background:var(--btn);opacity:1}.sidebar-user{border-top:1px solid var(--line);gap:.3rem;margin-top:auto;padding:14px 6px 0;display:grid}.sidebar-user span{font-size:.9rem;font-weight:700}.sidebar-user small{color:var(--faint);font-size:.76rem}.theme-toggle{border:1px solid var(--line);width:100%;color:var(--dim);font-family:var(--font-label);letter-spacing:.09em;text-transform:uppercase;background:0 0;border-radius:999px;justify-content:center;align-items:center;gap:7px;margin-top:10px;padding:.5rem .8rem;font-size:.78rem;font-weight:700;display:flex}.theme-toggle:hover{color:var(--ink);background:var(--raise2)}.content{padding:1rem 1rem 6.2rem}.mobile-nav{min-width:0;padding:8px 6px calc(8px + env(safe-area-inset-bottom,0px));background:var(--raise);border-top:1px solid var(--line);z-index:10;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:2px;display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-nav a{color:var(--faint);font-family:var(--font-label);letter-spacing:.06em;text-transform:uppercase;text-align:center;border-radius:12px;padding:.5rem .1rem;font-size:.7rem;font-weight:700}.mobile-nav a.active{color:var(--btn);background:var(--raise2)}.mobile-topbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.mobile-topbar-slim{margin-bottom:0}.mobile-topbar-slim+.page>.page-head:first-child{margin-top:-34px}.mobile-topbar-greeting{min-width:0}.mobile-topbar-greeting span{color:var(--faint);font-family:var(--font-label);text-transform:uppercase;letter-spacing:.14em;font-size:.74rem;font-weight:700;display:block}.mobile-topbar-greeting strong{font-family:var(--font-display);letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap;font-size:1.28rem;display:block;overflow:hidden}.mobile-account{z-index:5;flex:none;position:relative}.mobile-account-btn{background:var(--btn);width:36px;height:36px;color:var(--onbtn);border:0;border-radius:50%;justify-content:center;align-items:center;font-size:.86rem;font-weight:700;display:flex}.mobile-account-sheet{z-index:5;background:var(--raise);border:1px solid var(--line);width:168px;box-shadow:var(--shadow);border-radius:16px;gap:6px;padding:8px;display:grid;position:absolute;top:44px;right:0}.mobile-logout-btn{border:1px solid var(--danger-line);background:var(--danger-soft);width:100%;color:var(--danger);font-family:var(--font-label);letter-spacing:.08em;text-transform:uppercase;border-radius:11px;justify-content:center;align-items:center;gap:6px;padding:.55rem;font-size:.78rem;font-weight:700;display:flex}.mobile-account-sheet .theme-toggle{margin-top:0}.page{margin:0;animation:.24s both fadeUp}@keyframes fadeUp{0%{opacity:0}to{opacity:1}}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.3rem;display:flex}.page-head h1{font-size:var(--fs-h1);margin-bottom:0;line-height:1.06}.eyebrow{color:var(--streak);font-family:var(--font-label);text-transform:uppercase;letter-spacing:.16em;margin-bottom:.45rem;font-size:.76rem;font-weight:700}.panel,.habit-card,.stat-card,.month-card,.week-card,.report-card,.empty-state{background:var(--raise);border:1px solid var(--line);border-radius:var(--radius-xl)}.panel{padding:1.15rem}.card-flat{background:var(--raise2);border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--sp-3) var(--sp-4)}.stack-form{gap:.9rem;display:grid}.stack-form>.btn{width:100%;margin-top:.25rem}.two-fields{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;display:grid}.check-row{align-items:center;gap:.6rem;display:flex}.check-row input{width:auto}.form-link{width:fit-content;color:var(--btn);text-align:left;background:0 0;border:0;padding:.15rem 0;font-weight:700}.notice{background:var(--grow-soft);border:1px solid var(--success-line);color:var(--grow);border-radius:var(--radius-md);margin:.8rem 0;padding:.85rem}.notice-danger{background:var(--danger-soft);border-color:var(--danger-line);color:var(--danger)}.chip{font-family:var(--font-label);letter-spacing:.07em;text-transform:uppercase;white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:4px 11px;font-size:.76rem;font-weight:700;line-height:1.5;display:inline-flex}.chip--category{background:color-mix(in srgb, var(--category-color,var(--btn)) 26%, var(--raise));color:var(--ink)}:root[data-theme=light] .chip--category{background:var(--category-soft,var(--btn-soft));color:var(--category-color,var(--btn))}.chip--success{background:var(--grow);color:var(--ongrow)}.chip--warning{background:var(--streak);color:var(--onstreak)}.chip--danger{background:var(--danger);color:var(--ondanger)}.chip--gold{background:var(--money);color:var(--onmoney)}.chip--muted{background:var(--raise2);color:var(--dim)}.chip--compact{padding:3px 9px;font-size:.7rem}.habit-dot{border-radius:999px;flex:none;width:.8rem;height:.8rem;display:inline-block}.fab-add{background:var(--btn);width:56px;height:56px;color:var(--onbtn);box-shadow:var(--shadow);z-index:15;border:none;border-radius:50%;justify-content:center;align-items:center;transition:transform .16s;display:flex;position:fixed;bottom:84px;right:18px}.fab-add:hover{transform:translateY(-2px)scale(1.04)}.fab-add:active{transform:scale(.97)}@media (width>=900px){.fab-add{bottom:40px;right:40px}}.screen-loader{color:var(--dim);padding:3rem}.app-loader{text-align:center;background:var(--bg);align-content:center;place-items:center;gap:.85rem;min-height:100vh;display:grid}.app-loader strong{color:var(--ink);font-family:var(--font-display);font-size:1.35rem}.app-loader p{max-width:420px;color:var(--dim);margin:0;line-height:1.55}.modal-backdrop{z-index:20;background:#0603109e;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0;overflow:hidden}.modal{background:var(--raise);border:1px solid var(--line);border-radius:var(--radius-xl);width:min(640px,100vw - 48px);height:auto;max-height:min(88vh,800px);box-shadow:var(--shadow);padding:0;animation:.2s both modalPop;overflow:auto}.modal-head{z-index:1;background:var(--raise);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;margin:0;padding:.7rem 1.25rem;display:flex;position:sticky;top:0}.modal-head h2{margin:0;font-size:1.08rem}.modal>.stack-form{gap:.5rem;padding:.6rem 1.25rem .75rem}.modal .stack-form>.btn:last-child{z-index:1;min-height:44px;margin-top:.25rem;position:sticky;bottom:0}.modal label{color:var(--dim);gap:.22rem;font-size:.86rem}.modal input,.modal textarea,.modal select{min-height:40px;padding:.55rem .75rem}.modal textarea{resize:vertical;min-height:40px}@keyframes sheetIn{0%{opacity:0;transform:translate(28px)}to{opacity:1;transform:translate(0)}}@keyframes modalPop{0%{opacity:0;transform:scale(.96)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.empty-state{text-align:center;color:var(--dim);padding:2rem}.empty-state h3{color:var(--ink)}.segmented{flex-wrap:wrap;gap:.5rem;display:flex}.segmented-compact{gap:6px}.segmented-compact .btn{min-height:34px;padding:.38rem .85rem;font-size:.76rem}.swatches{gap:.5rem;display:flex}.swatches button{border:3px solid var(--raise);width:34px;height:34px;box-shadow:0 0 0 1px var(--line);border-radius:999px}.swatches .selected{box-shadow:0 0 0 3px var(--btn)}@media (width>=900px){.sidebar{flex-direction:column;display:flex}.content{margin-left:258px;padding:28px 26px}.mobile-nav,.mobile-topbar{display:none}.mobile-topbar-slim+.page>.page-head:first-child{margin-top:0}}@media (width<=760px){.content{padding:16px 14px 100px}.page-head{align-items:flex-start}.panel,.habit-card,.stat-card,.month-card,.week-card,.report-card,.empty-state{border-radius:var(--radius-lg)}.modal-backdrop{justify-content:flex-end;align-items:stretch;padding:.5rem}.modal{border-radius:22px;width:100%;height:calc(100dvh - 1rem);max-height:none;animation:.22s both sheetIn}.modal-head{padding:1rem}.modal>.stack-form{gap:.65rem;padding:.75rem .85rem .85rem}.modal-head h2{font-size:1.02rem}.modal label{gap:.28rem;font-size:.82rem}.modal input,.modal textarea,.modal select{border-radius:12px;min-height:42px;padding:.62rem .75rem}.modal textarea{min-height:58px}.modal .two-fields{gap:.65rem}.modal .swatches{gap:.35rem}.modal .swatches button{width:28px;height:28px}.modal .stack-form>.btn:last-child{min-height:46px}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.landing{background:var(--bg)}.landing-hero-band{color:var(--onhero);background:var(--hero);padding:0 0 16px;position:relative;overflow:hidden}.landing-navwrap{z-index:2;padding:18px 5% 0;position:relative}.landing-nav{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffff1a;border:1px solid #ffffff2e;border-radius:999px;justify-content:space-between;align-items:center;padding:12px 18px;display:flex}.landing-brand{letter-spacing:-.01em;align-items:center;gap:10px;font-weight:800;display:flex}.landing-logo{background:var(--btn);width:34px;height:34px;color:var(--onbtn);font-family:var(--font-display,inherit);border-radius:11px;flex:none;place-items:center;font-size:.8rem;font-weight:800;display:grid}.landing-brand strong{font-family:var(--font-display,inherit);font-size:.98rem;font-weight:700}.landing-nav-actions{gap:6px;display:flex}.landing-nav-actions .btn{white-space:nowrap;min-height:auto;padding:.42rem .75rem;font-size:.74rem}.landing-btn-ghost-light{color:var(--onhero);background:#ffffff1a;border:1px solid #ffffff3d}.landing-btn-coral{background:var(--btn);color:var(--onbtn);border-color:#0000}.landing-btn-white{background:var(--onhero);color:var(--hero);border-color:#0000}.landing-hero-body{z-index:2;gap:32px;padding:28px 5% 0;display:grid;position:relative}.landing-eyebrow{letter-spacing:.1em;text-transform:uppercase;width:fit-content;color:var(--onhero);background:#ffffff1f;border:1px solid #fff3;border-radius:999px;align-items:center;gap:8px;margin:0 0 22px;padding:7px 14px;font-size:.72rem;font-weight:800;display:inline-flex}.landing-eyebrow i{background:var(--streak);border-radius:50%;width:6px;height:6px}.landing-hero-copy h1{letter-spacing:-.03em;text-wrap:balance;max-width:820px;margin:0 0 22px;font-size:clamp(2.4rem,6vw,4.2rem);line-height:1.12}.landing-hero-copy h1 em{color:var(--heromoney);font-style:normal}.landing-hero-copy p{max-width:54ch;color:var(--hero-muted);margin:0;font-size:1.08rem;line-height:1.65}.landing-stats-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;max-width:640px;display:grid}.landing-stat-card{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffff1a;border:1px solid #ffffff2e;border-radius:20px;padding:16px 18px;transition:transform .2s}.landing-stat-card:hover{transform:translateY(-4px)}.landing-stat-card .k{text-transform:uppercase;letter-spacing:.06em;color:var(--hero-muted);margin-bottom:6px;font-size:.66rem;font-weight:800;display:block}.landing-stat-card .v{font-family:var(--font-display,inherit);font-size:1.5rem;font-weight:800;display:block}.landing-stat-card.tick .v{color:var(--grow)}.landing-stat-card.streak .v{color:var(--streak)}.landing-stat-card.money .v{color:var(--heromoney)}.landing-features{z-index:2;padding:16px 5% 8px;position:relative}.section-head{text-align:center;max-width:620px;margin:0 auto 40px}.section-head .k{letter-spacing:.1em;text-transform:uppercase;color:var(--primary);margin:0 0 10px;font-size:.74rem;font-weight:800}.section-head h2{letter-spacing:-.02em;text-wrap:balance;margin:0 0 10px;font-size:clamp(1.7rem,3.2vw,2.4rem)}.section-head p{color:var(--muted);margin:0;font-size:.96rem;line-height:1.6}.feature-grid{grid-template-columns:repeat(2,1fr);gap:18px;margin-bottom:50px;display:grid}.feature-card{background:var(--raise);border:1px solid var(--line);border-radius:var(--radius-xl);padding:24px;transition:transform .2s,box-shadow .2s;position:relative;overflow:hidden}.feature-card:hover{box-shadow:var(--shadow);transform:translateY(-5px)}.feature-card:before{content:"";background:var(--accent-color,var(--primary));height:4px;position:absolute;top:0;left:0;right:0}.feature-card-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.feature-card .fi{background:var(--accent-soft2,var(--primary-soft));width:38px;height:38px;color:var(--accent-color,var(--primary));border-radius:12px;flex:none;justify-content:center;align-items:center;font-weight:800;display:flex}.feature-card h3{margin:0;font-size:1.08rem}.feature-card p{color:var(--muted);margin:0;font-size:.86rem;line-height:1.55}.landing-trust{color:var(--muted);flex-wrap:wrap;justify-content:center;gap:34px;padding:6px 0 60px;font-size:.82rem;font-weight:700;display:flex}.landing-trust span{align-items:center;gap:8px;display:flex}.landing-trust i{background:var(--grow);border-radius:50%;width:7px;height:7px;display:inline-block}.landing-cta{border-radius:var(--radius-xl);background:var(--btn);color:var(--onbtn);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;margin:0 5% 60px;padding:46px 44px;display:flex;position:relative;overflow:hidden}.landing-cta h3{margin:0 0 8px;font-size:1.6rem}.landing-cta p{color:var(--onbtn);opacity:.82;margin:0;font-size:.92rem}.landing-cta .btn{z-index:1;position:relative}.landing-foot{color:var(--faint);border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding:22px 5% 36px;font-size:.8rem;display:flex}@media (width<=780px){.feature-grid{grid-template-columns:1fr}}@media (width<=640px){.landing-cta{text-align:left;flex-direction:column;align-items:flex-start}}.auth-page{background:var(--bg);grid-template-columns:minmax(0,520px);justify-content:center;align-items:center;gap:1rem;min-height:100vh;padding:clamp(1rem,4vw,2rem);display:grid}.auth-card{background:var(--raise);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:26px;padding:clamp(1.1rem,4vw,2.1rem)}.auth-card.wide{width:min(560px,100vw - 2rem)}.auth-card h1{letter-spacing:-.02em;margin:.85rem 0 .35rem;font-size:1.85rem}.auth-card h2{font-size:1.45rem}.auth-card p{color:var(--muted);line-height:1.5}.auth-card .brand-link{color:var(--btn);text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;font-weight:800}.auth-field{display:block}.auth-field span{color:var(--ink);margin-bottom:6px;font-size:.78rem;font-weight:800;display:block}.auth-field-wrap{align-items:center;display:flex;position:relative}.auth-field-wrap svg{color:var(--faint);pointer-events:none;position:absolute;left:14px}.auth-field-wrap input{padding-left:40px}.auth-field-wrap input:focus{border-color:var(--btn);box-shadow:0 0 0 3px var(--btn-soft);outline:none}.auth-submit{background:var(--btn);width:100%;color:var(--onbtn);border:none;justify-content:center}.auth-bottom-link{color:var(--btn);justify-content:center;align-items:center;gap:6px;margin-top:1rem;font-size:.86rem;font-weight:800;display:flex}.setup-card{border-color:var(--btn);background:var(--raise2)}@media (width<=760px){.auth-page{align-items:start}}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:18px;display:grid}.stat-card{align-items:center;gap:9px;padding:13px 12px;display:flex}.stat-icon{background:var(--primary-soft);width:30px;height:30px;color:var(--primary);border-radius:10px;flex:none;justify-content:center;align-items:center;display:flex}.stat-body{min-width:0;line-height:1.2}.stat-body span{color:var(--muted);text-transform:uppercase;letter-spacing:.02em;white-space:nowrap;text-overflow:ellipsis;font-size:.62rem;font-weight:800;display:block;overflow:hidden}.stat-body strong{letter-spacing:-.02em;font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;font-size:1.12rem;display:block;overflow:hidden}.tone-success .stat-icon{background:var(--success-soft);color:var(--success)}.tone-success strong{color:var(--success)}.tone-warning .stat-icon{background:var(--warning-soft);color:var(--warning)}.tone-warning strong{color:var(--warning)}.tone-gold .stat-icon{background:var(--gold-soft);color:var(--gold)}.tone-gold strong{color:var(--gold)}.tone-primary .stat-icon{background:var(--primary-soft);color:var(--primary)}.tone-primary strong{color:var(--primary)}.wealth-stat-card{text-decoration:none;transition:transform .15s,box-shadow .15s;display:block}.wealth-stat-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.wealth-nudge{border-radius:var(--radius-lg);background:linear-gradient(135deg, var(--gold-soft), var(--surface-strong) 70%);border:1px solid color-mix(in srgb, var(--gold) 35%, var(--border));box-shadow:var(--shadow-soft);align-items:center;gap:14px;margin-bottom:18px;padding:16px 18px;display:flex}.wealth-nudge svg{width:28px;height:28px;color:var(--gold);flex:none}.wealth-nudge strong{font-size:.95rem;display:block}.wealth-nudge p{color:var(--muted);margin:2px 0 0;font-size:.84rem}.wealth-nudge .btn{flex:none;margin-left:auto}.dashboard-grid{grid-template-columns:minmax(0,1fr);gap:18px;margin-bottom:18px;display:grid}.bar{background:var(--surface-soft);border-radius:999px;height:12px;overflow:hidden}.bar span{background:linear-gradient(90deg, var(--primary), var(--accent));border-radius:inherit;height:100%;display:block}.list-row{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-soft);align-items:center;gap:.75rem;margin-bottom:10px;padding:14px;display:flex}.list-row .chip{margin-left:auto}.list-row-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.category-panel{gap:.75rem;display:grid}.category-row{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-soft);grid-template-columns:auto minmax(80px,1fr) auto;align-items:center;gap:.65rem;padding:.75rem;display:grid}.category-row small{color:var(--muted);grid-column:2/4;font-weight:800}.category-row strong{color:var(--category-color)}.category-meter{background:var(--category-soft);border-radius:999px;height:9px;overflow:hidden}.category-meter span{border-radius:inherit;background:var(--category-color);height:100%;display:block}.dashboard-page-head{display:none}@media (width>=900px){.dashboard-page-head{display:flex}}.dashboard-report-section{gap:1rem;margin-bottom:18px;display:grid}.page-head.compact{margin-bottom:0}.page-head.compact h2{margin:0;font-size:1.1rem}.dashboard-report-hero{margin-bottom:0}.habits-head{flex-wrap:wrap;align-items:flex-start;gap:14px}.habits-sub{color:var(--muted);margin:4px 0 0;font-size:.86rem}.search-box{border:1px solid var(--border);background:var(--surface-strong);min-width:220px;color:var(--muted);border-radius:999px;align-items:center;gap:8px;padding:.5rem .9rem;display:flex}.search-box input{color:var(--text);background:0 0;border:none;outline:none;width:100%;min-height:auto;font-size:.86rem}.filter-chips{flex-wrap:wrap;gap:6px;margin-bottom:18px;display:flex}.filter-chips button{border:1px solid var(--border);background:var(--surface-strong);color:var(--muted);cursor:pointer;border-radius:999px;padding:.34rem .8rem;font-size:.78rem;font-weight:800;transition:background .15s,color .15s,border-color .15s}.filter-chips button.active{background:var(--primary-soft);color:var(--primary-dark);border-color:#0000}.habit-grid{grid-template-columns:minmax(0,1fr);gap:14px;display:grid}.habit-card{grid-template-columns:minmax(0,1fr);align-content:start;gap:10px;padding:16px 17px;transition:transform .15s,box-shadow .15s,border-color .15s;display:grid}.habit-card:hover{box-shadow:var(--shadow-soft);border-color:var(--btn);transform:translateY(-3px)}.habit-card-head{align-items:center;gap:.5rem;display:flex}.habit-card-head .chip{margin-left:auto}.habit-card-head h3{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;margin:0;font-size:1rem;overflow:hidden}.habit-card-desc{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.84rem;line-height:1.45;display:-webkit-box;overflow:hidden}.habit-motivation-list{gap:6px;display:grid}.habit-motivation-list span{background:var(--surface-soft);min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;border-radius:10px;padding:6px 8px;font-size:.74rem;line-height:1.35;overflow:hidden}.habit-motivation-list b{text-transform:uppercase;letter-spacing:.05em;color:var(--text);margin-bottom:1px;font-size:.63rem;display:block}.habit-card-foot{border-top:1px solid var(--border);align-items:center;gap:8px;margin-top:2px;padding-top:10px;display:flex}.icon-actions{gap:4px;margin-left:auto;display:flex}.icon-btn{border:1px solid var(--border);background:var(--surface-soft);width:32px;height:32px;color:var(--muted);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;transition:background .15s,color .15s,transform .15s;display:flex}.icon-btn:hover{background:var(--primary-soft);color:var(--primary-dark);transform:translateY(-1px)}.icon-btn.danger:hover{background:var(--danger-soft);color:var(--danger)}@media (width>=760px){.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.habit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1080px){.habit-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=760px){.search-box{width:100%}}.calendar-page{padding-bottom:1rem}.checkin-nav{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.checkin-nav h1{margin:0}.checkin-nav-arrow{border:1px solid var(--border);background:var(--surface-strong);width:38px;height:38px;color:var(--text-secondary);border-radius:999px;flex:none;justify-content:center;align-items:center;transition:background .15s,color .15s,transform .15s;display:flex}.checkin-nav-arrow:hover{background:var(--primary-soft);color:var(--primary-dark);transform:translateY(-1px)}.checkin-nav-arrow:active{transform:translateY(0)}.checkin-today-btn{background:var(--primary-soft);color:var(--primary-dark);border:none;border-radius:999px;padding:.42rem .85rem;font-size:.78rem;font-weight:700;transition:background .15s,color .15s}.checkin-today-btn:hover{background:var(--btn);color:var(--onbtn)}.month-card-grid{align-items:start;gap:18px;display:grid}.month-card,.week-card{padding:18px;overflow:hidden}.month-card header,.week-card header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.month-card header div,.week-card header div{align-items:center;gap:12px;min-width:0;display:flex}.month-card h2,.week-card h2{overflow-wrap:anywhere;margin:0;font-size:1.12rem}.mini-stats{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.mini-stats span{background:var(--raise2);border:1px solid var(--line);min-width:82px;color:var(--text-secondary);text-align:center;border-radius:999px;padding:7px 11px;font-size:.76rem;font-weight:900}.mini-stats strong{background:var(--primary-soft);min-width:28px;min-height:24px;color:var(--primary-dark);border-radius:999px;justify-content:center;align-items:center;margin-left:4px;padding:0 8px;font-size:.86rem;font-weight:950;display:inline-flex}.calendar-motivation{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin:-2px 0 14px;display:grid}.calendar-motivation span{border:1px solid var(--border);background:var(--raise2);color:var(--muted);overflow-wrap:anywhere;border-radius:14px;gap:3px;padding:9px 10px;font-size:.78rem;font-weight:750;line-height:1.35;display:grid}.calendar-motivation strong{color:var(--text);letter-spacing:.08em;text-transform:uppercase;font-size:.68rem;font-weight:950}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;width:100%;display:grid}.calendar-grid.labels{margin-bottom:.35rem}.calendar-grid.labels b{color:var(--muted);text-align:center;font-size:.7rem;font-weight:950}.day-cell,.day-blank{aspect-ratio:1;border-radius:13px;min-width:0}.day-cell{border:1px solid var(--line);background:var(--raise2);color:var(--dim);cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;place-items:center;padding:0;transition:transform .13s,border-color .13s,background .13s,box-shadow .13s;display:grid;position:relative}.day-cell:hover{border-color:var(--btn);transform:translateY(-1px)}.day-cell span{font-size:clamp(.72rem,3vw,.9rem);font-weight:850}.day-cell.done{background:var(--grow);border-color:var(--grow);color:var(--ongrow);animation:.28s pop}.day-cell.done i{font-size:.68rem;position:absolute;top:3px;right:5px}.day-cell.today{outline:2px solid var(--streak);outline-offset:2px}.day-cell.future{color:var(--faint);background:var(--surface-soft)}.day-cell.locked{color:var(--faint);background:var(--surface-soft);box-shadow:none;border-style:dashed}.day-cell:disabled{cursor:not-allowed}.day-cell:disabled:hover{border-color:var(--border);transform:none}.week-stack{gap:14px;display:grid}.week-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.week-day{border:1px solid var(--line);background:var(--raise2);min-width:0;min-height:74px;color:var(--muted);border-radius:16px;place-items:center;gap:4px;padding:8px 4px;transition:all .15s;display:grid}.week-day b{color:var(--text);font-size:.9rem}.week-day span{color:var(--muted);font-size:.68rem;font-weight:800}.week-day i{min-height:1rem;color:var(--grow);font-weight:950}.week-day.done{background:var(--grow);color:var(--ongrow);border-color:var(--grow)}.week-day.done b,.week-day.done span,.week-day.done i{color:var(--ongrow)}.week-day.future{color:var(--faint);background:var(--surface-soft)}.week-day.locked{color:var(--faint);background:var(--surface-soft);box-shadow:none;border-style:dashed}.week-day:disabled{cursor:not-allowed}.week-day.locked b,.week-day.locked span,.week-day.locked i{color:var(--faint)}.celebration{z-index:30;background:var(--raise);color:var(--ink);box-shadow:var(--shadow);border-radius:999px;padding:.75rem 1rem;font-weight:950;animation:1.15s forwards floatAway;position:fixed;top:14%;left:50%;transform:translate(-50%)}.celebration i{background:var(--warning);border-radius:50%;width:6px;height:6px;margin-left:.4rem;display:inline-block}@keyframes pop{0%{transform:scale(.78)}60%{transform:scale(1.12)}to{transform:scale(1)}}@keyframes floatAway{0%{opacity:0;transform:translate(-50%,12px)scale(.88)}18%,80%{opacity:1;transform:translate(-50%)scale(1)}to{opacity:0;transform:translate(-50%,-26px)scale(.96)}}@media (width>=760px) and (width<=899px){.month-card-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}}@media (width>=900px){.month-card-grid{grid-template-columns:repeat(4,1fr)}}@media (width<=760px){.month-card,.week-card{padding:14px}.calendar-grid{gap:5px}.day-cell,.day-blank{border-radius:10px}.week-grid{gap:6px}.week-day{border-radius:13px;min-height:62px;padding:6px 2px}}.history-page{padding-bottom:1rem}.history-hero{gap:18px;margin-bottom:18px;display:grid}.history-identity,.history-range,.history-trend{padding:18px}.history-identity{gap:.9rem;display:grid;position:relative;overflow:hidden}.history-identity:after{content:"";background:var(--raise2);border-radius:999px;width:220px;height:220px;position:absolute;bottom:-95px;right:-90px}.chip-row{z-index:1;flex-wrap:wrap;align-items:center;gap:.55rem;display:flex;position:relative}.history-identity>p{z-index:1;max-width:720px;color:var(--muted);margin-bottom:0;line-height:1.55;position:relative}.history-motivation{z-index:1;gap:10px;display:grid;position:relative}.history-motivation div{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-soft);padding:.85rem}.history-motivation strong{color:var(--text);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.24rem;font-size:.72rem;font-weight:950;display:block}.history-motivation span{color:var(--muted);font-weight:750;line-height:1.45}.history-range{align-content:start;gap:14px;display:grid}.history-range h2,.history-trend h2{margin:0;font-size:1.1rem}.range-options{flex-wrap:wrap;gap:.55rem;display:flex}.range-options button{border:1px solid var(--border);background:var(--raise2);color:var(--dim);border-radius:999px;padding:.62rem .8rem;font-weight:900}.range-options button.active{background:var(--btn);color:var(--onbtn);border-color:#0000}.history-insight{border-radius:var(--radius-lg);background:var(--hero);color:var(--onhero);box-shadow:var(--shadow-soft);padding:1rem}.history-insight p{color:var(--hero-muted);margin:.35rem 0 0;line-height:1.5}.history-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:18px;display:grid}.history-stats article{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:22px;gap:.35rem;padding:16px;display:grid}.history-stats span{color:var(--muted);font-size:.78rem;font-weight:850}.history-stats strong{font-size:var(--fs-stat-md);letter-spacing:-.03em}.history-trend{margin-bottom:12px}.history-trend header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:12px;display:flex}.trend-strip{grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:10px;display:grid}.trend-month{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-soft);min-width:0;padding:.75rem}.trend-month b{margin-bottom:.45rem;font-size:.8rem;display:block}.trend-month small{color:var(--muted);margin-top:.45rem;font-weight:850;display:block}.history-legend{color:var(--muted);flex-wrap:wrap;gap:.75rem;margin:0 0 12px;font-size:.78rem;font-weight:850;display:flex}.history-legend span{align-items:center;gap:.35rem;display:inline-flex}.history-legend i{border-radius:999px;width:10px;height:10px}.history-legend .done{background:var(--success)}.history-legend .missed{background:var(--danger)}.history-legend .open{background:var(--primary)}.history-legend .locked{background:var(--faint)}.history-years{gap:18px;display:grid}.history-picker-grid{gap:14px;display:grid}.history-picker-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);gap:.75rem;padding:18px;display:grid}.history-picker-card>div{align-items:center;gap:.7rem;min-width:0;display:flex}.history-picker-card h2{overflow-wrap:anywhere;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;margin:0;font-size:1.1rem;overflow:hidden}.history-picker-card>div .chip{flex:none;margin-left:auto}.history-picker-card p{color:var(--muted);margin:0;line-height:1.5}.history-picker-card>strong{color:var(--primary-dark);font-weight:950}.history-year{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);overflow:hidden}.year-summary{background:var(--raise2);text-align:left;border:0;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:1rem;width:100%;padding:18px;display:grid}.year-summary h2{margin:0;font-size:1.35rem}.year-summary p{color:var(--muted);margin:.25rem 0 0;font-weight:800;line-height:1.4}.year-summary strong{color:var(--success);letter-spacing:-.04em;font-size:1.6rem}.history-month-grid{gap:14px;padding:0 18px 18px;display:grid}.history-month{border:1px solid var(--border);background:var(--surface-soft);border-radius:22px;padding:14px}.history-month header{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px;display:flex}.history-month h3{margin:0;font-size:1rem}.history-month header small{color:var(--muted);margin-top:.25rem;font-weight:850;display:block}.history-labels,.history-calendar{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;display:grid}.history-labels{color:var(--muted);text-align:center;margin-bottom:5px;font-size:.65rem;font-weight:950}.history-day,.history-blank{aspect-ratio:1;border-radius:9px}.history-day{border:1px solid var(--line);background:var(--raise2);color:var(--dim);place-items:center;font-size:.72rem;font-weight:900;display:grid}.history-day.done{background:var(--grow);border-color:var(--grow);color:var(--ongrow)}.history-day.missed{background:var(--danger-soft);border-color:var(--danger-line);color:var(--danger)}.history-day.open{background:var(--primary-soft);border-color:var(--border);color:var(--primary-dark)}.history-day.locked{background:var(--surface-soft);color:var(--faint);border-style:dashed}@media (width>=760px){.history-stats{grid-template-columns:repeat(3,1fr)}.history-motivation,.history-month-grid,.history-picker-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1120px){.history-hero{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr)}.history-stats{grid-template-columns:repeat(6,1fr)}.history-month-grid,.history-picker-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=760px){.history-identity,.history-range,.history-trend{padding:14px}.year-summary{grid-template-columns:minmax(0,1fr) auto;padding:15px}.year-summary .btn{grid-column:1/-1;width:100%}.history-month-grid{gap:12px;padding:0 12px 12px}.history-month{border-radius:18px}.history-day,.history-blank{border-radius:8px}}.report-hero{background:linear-gradient(145deg, var(--panel-dark-a), var(--panel-dark-b));color:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);margin-bottom:1rem;padding:.85rem 1.25rem 1rem;position:relative;overflow:hidden}.report-hero:after{content:"";background:#ffffff24;border-radius:50%;width:120px;height:120px;position:absolute;bottom:-60px;right:-50px}.report-hero-top{z-index:1;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.65rem;display:flex;position:relative}.report-hero span{color:var(--hero-muted);font-size:.86rem;font-weight:700}.report-hero strong{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:1.7rem}.report-hero-bar{z-index:1;background:#fff3;border-radius:999px;height:12px;position:relative;overflow:hidden}.report-hero-bar span{border-radius:inherit;background:var(--heromoney);height:100%;transition:width 1s cubic-bezier(.16,.9,.3,1);display:block;position:relative}.report-hero-bar span:after{content:"";background:#ffffff47;width:40%;animation:2.6s ease-in-out infinite report-hero-shimmer;position:absolute;inset:0;transform:translate(-120%)}@keyframes report-hero-shimmer{0%{transform:translate(-120%)}60%,to{transform:translate(340%)}}.report-range-select .btn{padding:.5rem .85rem;font-size:.78rem}.report-range-select.loading{opacity:.7;pointer-events:none}.report-grid{grid-template-columns:minmax(0,1fr);gap:18px;display:grid}.report-card{padding:18px}.report-card header{align-items:center;gap:.7rem;margin-bottom:.9rem;display:flex}.report-card h2{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;margin:0;font-size:1rem;overflow:hidden}@media (width>=760px){.report-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.wealth-page{--gold-pale:var(--heromoney)}.wealth-hero{border-radius:var(--radius-xl);background:var(--hero);color:var(--onhero);margin-bottom:18px;padding:28px 26px 20px;position:relative;overflow:hidden}.wealth-hero-top{z-index:1;flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:12px;display:flex;position:relative}.wealth-hero-eyebrow{text-transform:uppercase;letter-spacing:.16em;color:var(--hero-muted);align-items:center;gap:8px;min-width:0;font-size:.68rem;font-weight:800;display:flex}.wealth-hero-eyebrow svg{width:14px;height:14px;color:var(--gold-bright);flex:none}.wealth-hero-eyebrow span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.wealth-streak-chip{white-space:nowrap;background:var(--streak);color:var(--onstreak);border:1px solid #0000;border-radius:999px;flex:none;align-items:center;gap:6px;padding:5px 11px;font-size:.74rem;font-weight:800;display:inline-flex}.wealth-figure-row{z-index:1;grid-template-columns:auto 1fr;align-items:end;gap:28px;margin-top:16px;display:grid;position:relative}@media (width<=720px){.wealth-figure-row{grid-template-columns:1fr}}.wealth-worth-figure{font-family:var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:-.01em;color:var(--heromoney);align-items:baseline;gap:2px;font-size:clamp(2.5rem,6vw,3.6rem);font-weight:700;line-height:1;display:flex}.wealth-worth-figure small{-webkit-text-fill-color:var(--hero-muted);font-size:.55em}.wealth-today-line{color:var(--hero-muted);font-variant-numeric:tabular-nums;margin-top:8px;font-size:.84rem}.wealth-today-line b{color:var(--gold-pale);font-weight:800}.wealth-chart-box{min-width:0}.chart-plot{touch-action:none;position:relative}.wealth-chart-box svg{width:100%;height:100px;display:block;overflow:visible}.wealth-chart-grid line{stroke:var(--hero-line);stroke-width:1px}.wealth-chart-legend{color:var(--hero-muted);align-items:center;gap:6px;margin-top:6px;font-size:.72rem;display:flex}.wealth-chart-legend .baseline-swatch{border-top:1px dashed var(--gold-pale);opacity:.7;width:14px;height:0;display:inline-block}.chart-dot,.chart-pulse,.chart-hover-dot{pointer-events:none;border-radius:50%;width:9px;height:9px;position:absolute;top:0;left:0;transform:translate(-50%,-50%)}.chart-dot{background:var(--heromoney);border:2px solid var(--hero);z-index:2}.chart-pulse{border:2px solid var(--heromoney);z-index:1;animation:2.2s ease-out infinite pulseRingHTML}.chart-hover-dot{background:var(--onhero);border:2px solid var(--heromoney);z-index:2;opacity:0}@keyframes pulseRingHTML{0%{opacity:.55;transform:translate(-50%,-50%)scale(1)}70%,to{opacity:0;transform:translate(-50%,-50%)scale(3.6)}}.chart-tooltip{pointer-events:none;background:var(--raise);border:1px solid var(--line);color:var(--ink);white-space:nowrap;box-shadow:var(--shadow);z-index:3;border-radius:10px;padding:6px 10px;font-size:.74rem;position:absolute;top:0;left:0;transform:translate(-50%,-115%)}.chart-tooltip b{color:var(--gold-pale);font-size:.82rem;display:block}.chart-tooltip span{color:var(--hero-muted)}.wealth-range-select{z-index:1;gap:5px;margin-top:16px;display:flex;position:relative}.wealth-range-select button{min-width:0;color:var(--hero-muted);border:1px solid var(--hero-line);cursor:pointer;text-align:center;text-overflow:ellipsis;white-space:nowrap;background:#ffffff1a;border-radius:999px;flex:1 1 0;padding:7px 4px;font-size:.74rem;font-weight:800;overflow:hidden}.wealth-range-select button.active{background:var(--onhero);color:var(--hero);border-color:var(--onhero)}.wealth-hero-stats{z-index:1;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:18px;display:grid;position:relative}.wealth-hero-stat{border:1px solid var(--hero-line);background:#ffffff1a;border-radius:14px;min-width:0;padding:10px 8px}.wealth-hero-stat span{color:var(--hero-muted);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;text-overflow:ellipsis;font-size:.64rem;font-weight:800;display:block;overflow:hidden}.wealth-hero-stat strong{font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;margin-top:4px;font-size:1rem;font-weight:850;display:block;overflow:hidden}@media (width<=480px){.wealth-hero{padding:22px 16px 16px}.wealth-hero-eyebrow{letter-spacing:.08em;gap:6px;font-size:.6rem}.wealth-streak-chip{padding:4px 8px;font-size:.66rem}.wealth-hero-stat{padding:8px 6px}.wealth-hero-stat strong{font-size:.88rem}.wealth-hero-stat span{font-size:.58rem}.wealth-range-select button{padding:6px 3px;font-size:.66rem}}.wealth-hero-stat.earn strong{color:var(--grow)}.wealth-hero-stat.lose strong{color:var(--streak)}.wealth-hero-stat.net strong{color:var(--gold-pale)}.wealth-stack,.wealth-grid{gap:18px;margin-top:18px;display:grid}@media (width>=900px){.wealth-grid{grid-template-columns:1.15fr .85fr;align-items:start}}.wealth-panel{padding:20px}.wealth-panel h2{margin:0 0 4px;font-size:1.02rem;font-weight:850}.wealth-panel .sub{color:var(--muted);margin:0 0 14px;font-size:.8rem}.salary-current{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:12px;display:flex}.salary-current .figure{font-variant-numeric:tabular-nums;font-size:1.4rem;font-weight:900}.salary-current .since{color:var(--muted);margin-top:2px;font-size:.78rem}.salary-edit{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.salary-edit input{border:1px solid var(--border);background:var(--surface-soft);font:inherit;width:130px;color:var(--text);font-variant-numeric:tabular-nums;border-radius:10px;padding:8px 10px;font-weight:700}.salary-edit input:focus{outline:2px solid var(--gold-bright);outline-offset:1px}.wealth-lock-note{background:var(--primary-soft);color:var(--primary-dark);border-radius:14px;align-items:flex-start;gap:10px;margin-bottom:10px;padding:11px 13px;font-size:.8rem;line-height:1.5;display:flex}.wealth-lock-note svg{flex:none;width:16px;height:16px;margin-top:2px}.history-toggle{color:var(--primary-dark);text-underline-offset:2px;cursor:pointer;background:0 0;border:none;padding:0;font-size:.78rem;font-weight:800;text-decoration:underline}.history-list{border-top:1px solid var(--border);gap:6px;margin-top:10px;padding-top:10px;display:grid}.history-row{color:var(--muted);justify-content:space-between;font-size:.8rem;display:flex}.history-row b{color:var(--text);font-variant-numeric:tabular-nums}.wealth-projection{align-items:flex-start;gap:12px;display:flex}.wealth-projection svg{width:22px;height:22px;color:var(--gold);flex:none;margin-top:2px}.wealth-projection p{color:var(--text);margin:0;font-size:.88rem;line-height:1.55}.wealth-projection p b{font-variant-numeric:tabular-nums;color:var(--gold)}.ladder{gap:2px;display:grid}.rung{grid-template-columns:34px 1fr auto;align-items:center;gap:12px;padding:11px 4px;display:grid;position:relative}.rung:before{content:"";background:var(--border);z-index:0;width:2px;position:absolute;top:-2px;bottom:-2px;left:16px}.rung:first-child:before{top:50%}.rung:last-child:before{bottom:50%}.rung-badge{z-index:1;border:2px solid var(--border);background:var(--surface-strong);width:34px;height:34px;color:var(--faint);border-radius:50%;place-items:center;font-size:.82rem;font-weight:900;display:grid;position:relative}.rung.done .rung-badge{background:var(--money);border-color:var(--money);color:var(--onmoney)}.rung.current .rung-badge{border-color:var(--gold);color:var(--gold);background:var(--gold-soft)}.rung-label{flex-direction:column;gap:1px;display:flex}.rung-label strong{font-size:.9rem;font-weight:850}.rung-label span{color:var(--muted);font-size:.76rem}.rung-bonus{text-align:right;font-variant-numeric:tabular-nums;color:var(--faint);font-size:.84rem;font-weight:850}.rung.done .rung-bonus{color:var(--gold)}.rung.current .rung-bonus{color:var(--text)}.habit-streak-list{gap:20px;display:grid}.habit-streak-block{border-top:1px solid var(--border);padding-top:16px}.habit-streak-block:first-child{border-top:none;padding-top:0}.habit-streak-header{align-items:center;gap:8px;margin-bottom:10px;font-size:.92rem;display:flex}.ladder-progress{margin:4px 0 16px}.ladder-progress .track{background:var(--surface-soft);border:1px solid var(--border);border-radius:999px;height:8px;overflow:hidden}.ladder-progress .fill{background:var(--money);border-radius:999px;height:100%;transition:width .5s cubic-bezier(.22,.9,.32,1)}.ladder-progress .caption{color:var(--muted);justify-content:space-between;margin-top:6px;font-size:.78rem;display:flex}.ladder-progress .caption b{color:var(--text)}.habit-contrib-row{border-top:1px solid var(--border);grid-template-columns:1fr auto;align-items:center;gap:6px 10px;padding:10px 0;display:grid}.habit-contrib-row:first-of-type{border-top:none}.habit-contrib-name{align-items:center;gap:8px;font-size:.88rem;font-weight:800;display:flex}.habit-contrib-amount{font-variant-numeric:tabular-nums;color:var(--gold);text-align:right;font-size:.86rem;font-weight:800}.habit-contrib-bar-track{background:var(--surface-soft);border:1px solid var(--border);border-radius:999px;grid-column:1/-1;height:6px;overflow:hidden}.habit-contrib-bar-fill{border-radius:999px;height:100%;transition:width .5s cubic-bezier(.22,.9,.32,1)}.wishlist-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;display:grid}.wish-card{background:var(--surface-strong);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);gap:9px;padding:16px;transition:transform .15s,box-shadow .15s;display:grid;position:relative}.wish-card:hover{box-shadow:var(--shadow);transform:translateY(-3px)}.wish-card.ready{border-color:color-mix(in srgb, var(--gold) 45%, var(--border))}.wish-card .top-row{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.wish-card .icon{font-size:1.5rem}.wish-card h3{margin:0;font-size:.98rem;font-weight:850}.wish-card .cost{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.8rem}.wish-progress-track{background:var(--surface-soft);border:1px solid var(--border);border-radius:999px;height:8px;overflow:hidden}.wish-progress-fill{background:var(--money);border-radius:999px;height:100%;transition:width .5s cubic-bezier(.22,.9,.32,1)}.wish-card .foot{justify-content:space-between;align-items:center;gap:8px;display:flex}.wish-card .foot small{color:var(--faint);font-size:.74rem}.wish-card.claimed{opacity:.55}.wish-card.claimed:after{content:"Claimed";color:var(--success);background:var(--success-soft);border-radius:999px;padding:3px 9px;font-size:.66rem;font-weight:800;position:absolute;top:12px;right:12px}.wish-card .remove-btn{color:var(--faint);cursor:pointer;background:0 0;border:none;padding:4px;line-height:0;position:absolute;top:10px;right:10px}.wish-card .remove-btn:hover{color:var(--danger)}.add-wish{border:1.5px dashed var(--border);border-radius:var(--radius-lg);align-content:start;gap:9px;padding:16px;display:grid}.add-wish input{border:1px solid var(--border);background:var(--surface-soft);font:inherit;color:var(--text);border-radius:10px;width:100%;padding:8px 10px}.add-wish input:focus{outline:2px solid var(--gold-bright);outline-offset:1px}.emoji-picker{flex-wrap:wrap;gap:6px;display:flex}.emoji-picker button{border:1px solid var(--border);background:var(--surface-soft);cursor:pointer;border-radius:10px;padding:6px 9px;font-size:1rem}.emoji-picker button[aria-pressed=true]{border-color:var(--gold);background:var(--gold-soft)}.wealth-page section>.page-head h2{margin:0;font-size:1.1rem}.wealth-motivation{border-radius:var(--radius-lg);background:var(--surface-soft);border:1px solid var(--border);color:var(--muted);margin-bottom:18px;padding:18px;font-size:.86rem;line-height:1.55}#coin-toast-layer{z-index:40;pointer-events:none;gap:8px;display:grid;position:fixed;top:12%;left:50%;transform:translate(-50%)}.coin-toast{background:var(--raise);color:var(--money);border:1px solid var(--line);box-shadow:var(--shadow);text-align:center;border-radius:999px;align-items:center;gap:8px;max-width:90vw;padding:10px 16px;font-size:.9rem;font-weight:900;animation:1.4s forwards coinToastFloat;display:flex}.coin-toast.milestone{background:var(--hero);color:var(--onhero);border-color:var(--money);font-size:.95rem}@keyframes coinToastFloat{0%{opacity:0;transform:translateY(14px)scale(.9)}14%,82%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-24px)scale(.96)}}#coin-burst-layer{pointer-events:none;z-index:45;position:fixed;inset:0}.coin-particle{font-size:1.4rem;animation:1.05s cubic-bezier(.16,.9,.28,1) forwards coinBurst;position:absolute}@keyframes coinBurst{0%{opacity:1;transform:translate(0)scale(.5)rotate(0)}to{opacity:0;transform:translate(var(--dx), var(--dy)) scale(1.15) rotate(var(--rot))}}@media (prefers-reduced-motion:reduce){.coin-toast,.coin-particle{animation:none!important}}.currency-select{position:relative}.currency-trigger{border:1px solid var(--border);background:var(--surface-soft);font:inherit;color:var(--text);cursor:pointer;border-radius:10px;align-items:center;gap:6px;padding:8px 10px;font-weight:800;display:inline-flex}.currency-trigger:disabled{opacity:.55;cursor:not-allowed}.currency-trigger .currency-flag{font-size:1rem}.currency-panel{z-index:50;background:var(--surface-strong);border:1px solid var(--border);border-radius:var(--radius-lg);width:280px;max-width:84vw;box-shadow:var(--shadow);overflow:hidden}.currency-search{border-bottom:1px solid var(--border);color:var(--faint);align-items:center;gap:8px;padding:10px 12px;display:flex}.currency-search input{font:inherit;color:var(--text);background:0 0;border:none;flex:1}.currency-search input:focus{outline:none}.currency-list{max-height:260px;padding:6px;overflow-y:auto}.currency-group-label{text-transform:uppercase;letter-spacing:.07em;color:var(--faint);margin:6px 8px 4px;font-size:.68rem;font-weight:800}.currency-divider{background:var(--border);height:1px;margin:6px 4px}.currency-option{text-align:left;cursor:pointer;width:100%;font:inherit;color:var(--text);background:0 0;border:none;border-radius:10px;align-items:center;gap:10px;padding:8px;display:flex}.currency-option:hover{background:var(--surface-soft)}.currency-option.selected{background:var(--gold-soft)}.currency-option .currency-flag{flex:none;font-size:1.1rem}.currency-option .currency-info{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.currency-option .currency-info strong{font-size:.84rem;font-weight:850}.currency-option .currency-info small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;overflow:hidden}.currency-option .currency-symbol{color:var(--faint);flex:none;font-size:.82rem}.currency-empty{text-align:center;color:var(--faint);padding:14px;font-size:.82rem}.admin-page .panel{margin-bottom:1rem}.admin-table{gap:.8rem;display:grid}.admin-row{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-soft);gap:.75rem;padding:.9rem;display:grid}.admin-row div:first-child{align-content:start;gap:.3rem;display:grid}.admin-row div:first-child .chip{width:fit-content}.admin-row span,.admin-row small,.admin-row p{color:var(--muted);overflow-wrap:anywhere;margin:0}.row-actions{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.row-actions select{border-radius:999px;width:auto;min-width:130px;min-height:42px;padding:.45rem .8rem}@media (width>=860px){.admin-row{grid-template-columns:1fr 1fr auto;align-items:center}}
