:root{--bg: #f5f6f3;--card: #ffffff;--text: #1c2521;--muted: #5c6963;--line: #dfe4de;--green: #0e7a5f;--green-soft: #e3f1eb;--red: #bf4440;--red-soft: #f7e7e5;--amber: #a8710e;--amber-soft: #f6edda;--accent: #0e7a5f;--accent-text: #ffffff;--nav-bg: #ffffff;--shadow: 0 1px 3px rgba(28, 37, 33, .08), 0 4px 14px rgba(28, 37, 33, .05);--chart-green: #0e7a5f;--chart-red: #bf4440;color-scheme:light}:root[data-theme=dark]{--bg: #101613;--card: #171f1a;--text: #e6ece7;--muted: #93a198;--line: #26302a;--green: #46c69a;--green-soft: #14302b;--red: #e77168;--red-soft: #3a1d1b;--amber: #dfa93e;--amber-soft: #33290f;--accent: #46c69a;--accent-text: #06231b;--nav-bg: #141b17;--shadow: 0 1px 3px rgba(0, 0, 0, .4), 0 4px 14px rgba(0, 0, 0, .3);--chart-green: #3fb48d;--chart-red: #e06a62;color-scheme:dark}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg: #101613;--card: #171f1a;--text: #e6ece7;--muted: #93a198;--line: #26302a;--green: #46c69a;--green-soft: #14302b;--red: #e77168;--red-soft: #3a1d1b;--amber: #dfa93e;--amber-soft: #33290f;--accent: #46c69a;--accent-text: #06231b;--nav-bg: #141b17;--shadow: 0 1px 3px rgba(0, 0, 0, .4), 0 4px 14px rgba(0, 0, 0, .3);--chart-green: #3fb48d;--chart-red: #e06a62;color-scheme:dark}}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{background:var(--bg);color:var(--text);font-family:Hanken Grotesk,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;overscroll-behavior-y:none}#root{min-height:100%}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer;-webkit-tap-highlight-color:transparent}input,select,textarea{font:inherit;color:var(--text);background:var(--card);border:1px solid var(--line);border-radius:10px;padding:10px 12px;width:100%}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:0;border-color:transparent}.app{max-width:560px;margin:0 auto;padding:12px 14px calc(84px + env(safe-area-inset-bottom));min-height:100dvh}.page-title{font-size:22px;font-weight:800;letter-spacing:-.01em;margin:8px 2px 14px;display:flex;align-items:center;gap:8px}.page-title .back{font-size:24px;padding:2px 10px 2px 0;color:var(--muted)}.section-head{font-size:17px;font-weight:800;letter-spacing:-.01em;margin:26px 4px 10px}.card{background:var(--card);border-radius:16px;padding:16px;border:1px solid var(--line);margin-bottom:12px}.card.hero{border:none;box-shadow:var(--shadow)}.card h3{font-size:12.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin-bottom:10px;font-weight:700}.big-amount{font-size:36px;font-weight:800;letter-spacing:-.03em;font-variant-numeric:tabular-nums;line-height:1.05}.mid-amount{font-size:20px;font-weight:800;letter-spacing:-.01em;font-variant-numeric:tabular-nums}.amount-green{color:var(--green)}.amount-red{color:var(--red)}.amount-amber{color:var(--amber)}.muted{color:var(--muted);font-size:14px}.small{font-size:13px}.row{display:flex;align-items:center;justify-content:space-between;gap:10px}.row+.row{margin-top:10px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.vahti-bubble{border-radius:14px;padding:12px 14px;font-size:14px;font-weight:600;line-height:1.45;margin-bottom:12px}.vahti-bubble.good{background:var(--green-soft);color:var(--green)}.vahti-bubble.warn{background:var(--amber-soft);color:var(--amber)}.vahti-bubble.bad{background:var(--red-soft);color:var(--red)}.task{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 14px;margin-bottom:8px;font-weight:700;font-size:15px}.task .t-emoji{font-size:20px;flex-shrink:0}.task .t-body{flex:1;min-width:0}.task .t-sub{display:block;font-size:12.5px;color:var(--muted);font-weight:500;margin-top:1px}.task .t-chev{color:var(--muted);font-size:18px}.task.done{opacity:.65}.tiles{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}.tile{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 14px 11px;text-align:left;width:100%}.tile .t-label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700;margin-bottom:3px}.tile .t-value{font-size:20px;font-weight:800;letter-spacing:-.01em;font-variant-numeric:tabular-nums}.tile .t-sub{font-size:12px;color:var(--muted);margin-top:2px}.meter{height:10px;border-radius:5px;background:var(--line);overflow:hidden;position:relative;margin-top:8px}.meter>div{height:100%;border-radius:5px;background:var(--green);transition:width .5s ease}.meter.over>div{background:var(--red)}.meter.warn>div{background:var(--amber)}.meter.thin{height:6px}.meter.broken>div{background:repeating-linear-gradient(45deg,var(--red),var(--red) 6px,#7c1d1d 6px,#7c1d1d 12px);animation:meterShake .5s ease 2}@keyframes meterShake{0%,to{transform:translate(0)}20%{transform:translate(-3px)}40%{transform:translate(3px)}60%{transform:translate(-2px)}80%{transform:translate(2px)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:12px;padding:13px 18px;font-weight:700;font-size:16px;background:var(--accent);color:var(--accent-text);width:100%}.btn.secondary{background:var(--card);color:var(--text);border:1.5px solid var(--line)}.btn.danger{background:var(--red);color:#fff}.btn.small{padding:8px 14px;font-size:14px;width:auto;border-radius:10px}.btn:disabled{opacity:.45;cursor:default}.chip-row{display:flex;flex-wrap:wrap;gap:8px}.chip{border:1.5px solid var(--line);background:var(--card);border-radius:999px;padding:9px 14px;font-size:15px;font-weight:600;white-space:nowrap}.chip.active{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.seg{display:flex;background:var(--line);border-radius:12px;padding:3px;gap:3px}.seg button{flex:1;padding:9px 6px;border-radius:10px;font-weight:700;font-size:14px;color:var(--muted);position:relative}.seg button.active{background:var(--card);color:var(--text)}.nav{position:fixed;bottom:0;left:0;right:0;background:var(--nav-bg);border-top:1px solid var(--line);display:flex;justify-content:space-around;align-items:flex-end;padding:6px 6px calc(6px + env(safe-area-inset-bottom));z-index:40}.nav button{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;font-size:11px;font-weight:600;color:var(--muted);padding:4px 0;position:relative}.nav button.active{color:var(--text)}.nav button .ico{font-size:22px;line-height:1}.nav button .nav-badge{position:absolute;top:-2px;right:calc(50% - 24px);background:var(--red);color:#fff;font-size:11px;font-weight:800;border-radius:999px;min-width:18px;padding:1px 5px;line-height:16px}.nav .add-btn{flex:0 0 68px;margin-top:-26px}.nav .add-btn .plus{width:58px;height:58px;border-radius:50%;background:var(--accent);color:var(--accent-text);font-size:32px;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px #0e7a5f73}.sheet-backdrop{position:fixed;inset:0;background:#00000073;z-index:50;display:flex;align-items:flex-end;justify-content:center}.sheet{background:var(--bg);width:100%;max-width:560px;max-height:92dvh;overflow-y:auto;border-radius:20px 20px 0 0;padding:18px 16px calc(20px + env(safe-area-inset-bottom));animation:sheetUp .25s ease}@keyframes sheetUp{0%{transform:translateY(40%);opacity:.6}to{transform:translateY(0);opacity:1}}.sheet h2{font-size:19px;font-weight:800;margin-bottom:14px}.field{margin-bottom:12px}.field label{display:block;font-size:13px;font-weight:700;color:var(--muted);margin-bottom:6px}.amount-input{font-size:34px;font-weight:800;text-align:center;padding:14px;border-radius:14px;font-variant-numeric:tabular-nums}.tx-item{display:flex;align-items:center;gap:12px;padding:12px 4px;border-bottom:1px solid var(--line);width:100%;text-align:left}.tx-item:last-child{border-bottom:none}.tx-item .emoji{font-size:22px;width:34px;text-align:center;flex-shrink:0}.tx-item .info{flex:1;min-width:0}.tx-item .info .name{display:block;font-weight:600;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tx-item .info .sub{display:block;font-size:12.5px;color:var(--muted)}.tx-item .sum{font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}.date-head{font-size:13px;font-weight:700;color:var(--muted);margin:14px 4px 4px}.feedback{border-radius:16px;padding:16px;margin-bottom:12px;font-weight:600;font-size:15.5px;line-height:1.45;animation:feedbackIn .3s ease}.feedback.ok{background:var(--green-soft);color:var(--green)}.feedback.warn{background:var(--amber-soft);color:var(--amber)}.feedback.bad{background:var(--red-soft);color:var(--red)}.feedback.serious{background:var(--red);color:#fff;font-weight:700}.feedback p+p{margin-top:8px}@keyframes feedbackIn{0%{transform:translateY(-8px);opacity:0}to{transform:translateY(0);opacity:1}}.shake{animation:screenShake .45s ease}@keyframes screenShake{0%,to{transform:translate(0)}20%{transform:translate(-5px,2px)}40%{transform:translate(5px,-2px)}60%{transform:translate(-4px,1px)}80%{transform:translate(3px,-1px)}}.debt-hit{animation:debtHit .5s ease}@keyframes debtHit{0%{transform:scale(1)}30%{transform:scale(.96)}55%{transform:scale(1.02)}to{transform:scale(1)}}.debt-destroyed{animation:debtDestroy .9s ease forwards}@keyframes debtDestroy{0%{transform:scale(1) rotate(0);opacity:1}30%{transform:scale(1.04) rotate(-1.5deg)}60%{transform:scale(.9) rotate(2deg);opacity:.8}to{transform:scale(.6) rotate(-6deg);opacity:0}}.zero-flash{font-size:44px;font-weight:900;color:var(--green);text-align:center;animation:zeroPop .7s ease}@keyframes zeroPop{0%{transform:scale(.3);opacity:0}60%{transform:scale(1.15)}to{transform:scale(1);opacity:1}}.buffer-grow{animation:bufferPulse .8s ease}@keyframes bufferPulse{0%{box-shadow:0 0 #0e7a5f80}to{box-shadow:0 0 0 18px #0e7a5f00}}.vahti{cursor:pointer;--vahti-browl: 0deg;--vahti-browr: 0deg;--vahti-browy: 0px;--vahti-pupil: 0px;--vahti-mustache: 0px;--vahti-tint: transparent;--vahti-skin: #f4b96a;--vahti-shade: #e09c48;--vahti-muzzle: #fbdfad}.vahti svg *{transform-box:view-box}.vahti .only-lempea,.vahti .only-sauna{display:none}.vahti--c-lempea .only-lempea{display:block}.vahti--c-lempea .mustache,.vahti--c-lempea .tuft{display:none}.vahti--c-sauna .only-sauna{display:block}.vahti--c-sauna .tuft{display:none}.vahti--c-sauna{--vahti-skin: #e29a4a;--vahti-shade: #c67f31}.vahti--c-lempea{--vahti-skin: #f7c98e;--vahti-shade: #e8ae62}.vahti .ring{stroke:var(--vahti-tint);transition:stroke .45s ease}.vahti .skin{fill:var(--vahti-skin);transition:fill .45s ease}.vahti .shade{fill:var(--vahti-shade);transition:fill .45s ease}.vahti .muzzle{fill:var(--vahti-muzzle);transition:fill .45s ease}.vahti .brow{transition:transform .35s ease}.vahti .brow-l{transform:translateY(var(--vahti-browy)) rotate(var(--vahti-browl));transform-origin:44px 42px}.vahti .brow-r{transform:translateY(var(--vahti-browy)) rotate(var(--vahti-browr));transform-origin:76px 42px}.vahti .pupils{transform:translateY(var(--vahti-pupil));transition:transform .35s ease}.vahti .mustache{transform:translateY(var(--vahti-mustache));transition:transform .35s ease}.vahti .mouth{opacity:0;transition:opacity .25s ease}.vahti .eyes-open{opacity:1;transition:opacity .3s ease}.vahti .eyes-closed{opacity:0;transition:opacity .3s ease}.vahti .tears path,.vahti .sweats path{opacity:0}.vahti .zzz text{opacity:0}.vahti .breath{animation:vahtiBreath 3.8s ease-in-out infinite;transform-origin:60px 108px}.vahti .blink{animation:vahtiBlink 5.6s infinite;transform-origin:60px 55px}.vahti .gaze{animation:vahtiGaze 9s ease-in-out infinite}.vahti--tyytyvainen{--vahti-browl: -8deg;--vahti-browr: 8deg;--vahti-browy: -4px;--vahti-tint: var(--green);--vahti-mustache: -1.5px}.vahti--tyytyvainen .mouth-grin{opacity:1}.vahti--tyytyvainen svg{animation:vahtiBounce .55s ease;transform-origin:50% 92%}.vahti--valpas .mouth-flat,.vahti--nukkuva .mouth-flat{opacity:1}.vahti--epaileva{--vahti-browl: 6deg;--vahti-browr: -18deg;--vahti-browy: 2px;--vahti-pupil: -1px;--vahti-tint: var(--amber)}.vahti--epaileva .mouth-skew{opacity:1}.vahti--epaileva .brow-r .brow-shape{animation:vahtiBrowBob 2.6s ease-in-out infinite;transform-origin:76px 42px}.vahti--area{--vahti-browl: 16deg;--vahti-browr: -16deg;--vahti-browy: 7px;--vahti-pupil: 1px;--vahti-tint: var(--amber)}.vahti--area .mouth-frown{opacity:1}.vahti--raivo{--vahti-browl: 26deg;--vahti-browr: -26deg;--vahti-browy: 12px;--vahti-pupil: 2px;--vahti-tint: var(--red);--vahti-skin: #e8604c;--vahti-shade: #c14834;--vahti-muzzle: #f2907c}.vahti--raivo .mouth-yell{opacity:1}.vahti--raivo .shake{animation:vahtiShake .28s linear infinite}.vahti--raivo .breath{animation-duration:1.7s}.vahti--raivo .sweats path{animation:vahtiSweat 1.5s ease-in infinite}.vahti--raivo .sweats g:nth-child(2) path{animation-delay:.5s}.vahti--raivo .sweats g:nth-child(3) path{animation-delay:.9s}.vahti--raivo .sweats g:nth-child(4) path{animation-delay:.3s}.vahti--vakava{--vahti-browl: -22deg;--vahti-browr: 22deg;--vahti-browy: -4px;--vahti-pupil: 1px;--vahti-tint: #7fa3c4}.vahti--vakava .mouth-despair{opacity:1}.vahti--vakava .tears path{animation:vahtiTear 2.4s ease-in infinite}.vahti--vakava .tears g:nth-child(2) path{animation-delay:.8s}.vahti--vakava .tears g:nth-child(3) path{animation-delay:1.5s}.vahti--nukkuva{--vahti-browl: -4deg;--vahti-browr: 4deg;--vahti-browy: -2px;--vahti-tint: var(--muted)}.vahti--nukkuva .eyes-open{opacity:0}.vahti--nukkuva .eyes-closed{opacity:1}.vahti--nukkuva .breath{animation:vahtiBreathDeep 3s ease-in-out infinite}.vahti--nukkuva .zzz text{animation:vahtiZzz 3s linear infinite}.vahti--nukkuva .zzz text:nth-child(2){animation-delay:1s}.vahti--nukkuva .zzz text:nth-child(3){animation-delay:2s}@keyframes vahtiBreath{0%,to{transform:scale(1)}50%{transform:scale(1.015)}}@keyframes vahtiBreathDeep{0%,to{transform:scale(1)}50%{transform:scale(1.035)}}@keyframes vahtiBlink{0%,93%{transform:scaleY(1)}96%{transform:scaleY(.08)}to{transform:scaleY(1)}}@keyframes vahtiGaze{0%,34%{transform:translate(0)}39%,47%{transform:translate(-2.5px)}53%,81%{transform:translate(0)}85%,91%{transform:translate(2px)}96%,to{transform:translate(0)}}@keyframes vahtiBounce{0%{transform:scale(1)}30%{transform:scale(1.06,.92)}60%{transform:scale(.97,1.05) translateY(-2px)}to{transform:scale(1)}}@keyframes vahtiBrowBob{0%,55%,to{transform:rotate(0)}70%,85%{transform:rotate(-5deg)}}@keyframes vahtiShake{0%,to{transform:translate(.7px)}25%{transform:translate(-.6px,.4px)}50%{transform:translate(.5px,-.4px)}75%{transform:translate(-.7px,.2px)}}@keyframes vahtiSweat{0%{opacity:0;transform:translateY(-2px)}15%{opacity:1}65%{opacity:1}to{opacity:0;transform:translateY(9px)}}@keyframes vahtiTear{0%{opacity:0;transform:translateY(0)}20%{opacity:1}75%{opacity:.9}to{opacity:0;transform:translateY(7px)}}@keyframes vahtiZzz{0%{opacity:0;transform:translateY(5px)}25%{opacity:1}to{opacity:0;transform:translate(4px,-9px)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}}:root.no-anim *,:root.no-anim *:before,:root.no-anim *:after{animation:none!important;transition:none!important}.pin-screen{position:fixed;inset:0;background:var(--bg);z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:24px}.pin-dots{display:flex;gap:14px}.pin-dots span{width:16px;height:16px;border-radius:50%;border:2px solid var(--muted)}.pin-dots span.filled{background:var(--text);border-color:var(--text)}.pin-pad{display:grid;grid-template-columns:repeat(3,76px);gap:12px}.pin-pad button{height:64px;border-radius:50%;background:var(--card);font-size:24px;font-weight:700;border:1px solid var(--line)}.menu-item{display:flex;align-items:center;gap:14px;width:100%;text-align:left;padding:15px 16px;background:var(--card);border:1px solid var(--line);border-radius:14px;margin-bottom:10px;font-weight:700;font-size:16px}.menu-item .ico{font-size:22px}.menu-item .desc{display:block;font-size:12.5px;color:var(--muted);font-weight:500;margin-top:2px}.menu-item .chev{margin-left:auto;color:var(--muted)}.badge{background:var(--red);color:#fff;font-size:12px;font-weight:800;border-radius:999px;padding:2px 8px;margin-left:auto}.list-plain{list-style:none}.list-plain li{padding:10px 0;border-bottom:1px solid var(--line)}.list-plain li:last-child{border-bottom:none}.notice{border-radius:14px;padding:14px;font-size:14.5px;font-weight:600;margin-bottom:12px}.notice.warn{background:var(--amber-soft);color:var(--amber)}.notice.bad{background:var(--red-soft);color:var(--red)}.notice.good{background:var(--green-soft);color:var(--green)}.sub-details{margin-top:8px}.sub-details>summary{list-style:none;cursor:pointer;user-select:none}.sub-details>summary::-webkit-details-marker{display:none}.sub-details>summary .chev-toggle:after{content:" ▸";opacity:.7}.sub-details[open]>summary .chev-toggle:after{content:" ▾";opacity:.7}.hero-details>summary{list-style:none;cursor:pointer;user-select:none;color:var(--muted);font-size:13px;font-weight:700;padding:10px 0 2px}.hero-details>summary::-webkit-details-marker{display:none}.hero-details:not([open]) .when-open{display:none}.hero-details[open] .when-closed{display:none}.award-shelf{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-bottom:12px}.award-slot{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px 10px 12px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px}.award-slot b{font-size:13.5px;line-height:1.25}.award-slot .award-text{color:var(--muted);font-size:12px;line-height:1.35}.award-slot.locked .award-art{filter:grayscale(1) opacity(.45)}.award-slot.locked b{color:var(--muted)}.award-art{display:block}.award-art svg{width:100%;display:block}.award-slot .meter{width:100%;margin-top:2px}.award-stamprow{display:flex;align-items:center;gap:10px;text-align:left}.award-stamprow svg{width:58px;flex-shrink:0}.award-super *{transform-box:view-box}.award-super .skin{fill:#f4b96a}.award-super .shade{fill:#e09c48}.award-super .muzzle{fill:#fbdfad}.award-super .mouth{opacity:0}.award-super .mouth-grin{opacity:1}.award-super .eyes-closed,.award-super .sweats path,.award-super .tears path{opacity:0}.award-super .only-lempea,.award-super .only-sauna{display:none}.award-super--c-lempea .only-lempea{display:block}.award-super--c-lempea .mustache,.award-super--c-lempea .tuft{display:none}.award-super--c-sauna .only-sauna{display:block}.award-super--c-sauna .tuft{display:none}.award-super--c-sauna .skin{fill:#eba24f}.award-super--c-sauna .shade{fill:#d18a35}.award-super .brow-l{transform:translateY(-4px) rotate(-8deg);transform-origin:44px 42px}.award-super .brow-r{transform:translateY(-4px) rotate(8deg);transform-origin:76px 42px}.award-super .blink{animation:vahtiBlink 5.6s infinite;transform-origin:60px 55px}.debt-mountain{width:100%;display:block}.debt-mountain .mt-rockrect{transform-box:view-box;transition:transform .9s cubic-bezier(.4,0,.2,1)}.debt-mountain .mt-evil,.debt-mountain .mt-worry{opacity:0;transition:opacity .4s ease}.debt-mountain.evil .mt-evil,.debt-mountain.worried .mt-worry{opacity:1}.award-ovl{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;background:#0c120fbd;backdrop-filter:blur(3px);padding:20px;overflow:hidden;animation:awardOvlIn .25s ease}.award-ovl-inner{position:relative;text-align:center;max-width:340px;z-index:2}.award-ovl.shake .award-ovl-inner{animation:awardShake .4s linear .55s}.award-ovl h3{color:#fff;font-size:14px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin:14px 0 2px;opacity:0;animation:awardRise .4s ease .55s forwards}.award-ovl .award-title{color:#fff;font-size:26px;font-weight:800;line-height:1.15;opacity:0;animation:awardRise .4s ease .7s forwards}.award-ovl p{color:#ffffffde;font-size:14.5px;margin:8px 0 16px;opacity:0;animation:awardRise .4s ease .85s forwards}.award-ovl .btn{width:auto;opacity:0;animation:awardRise .4s ease 1s forwards}.award-badge{display:flex;justify-content:center}.award-badge .award-medal{width:150px;animation:awardDrop .7s cubic-bezier(.22,1.4,.36,1)}.award-badge .award-trophy,.award-badge .award-super{width:200px;animation:awardPop .8s cubic-bezier(.22,1.6,.36,1)}.award-badge .award-stamp{width:190px;animation:awardSlam .55s cubic-bezier(.5,0,.7,.4) both}.award-vahti{display:flex;justify-content:center;margin-top:16px;animation:awardRise .5s ease .4s both}.award-flash{position:absolute;inset:0;background:#fff;opacity:0;pointer-events:none;z-index:1}.award-ovl.supershow .award-flash{animation:awardFlash .6s ease}.award-rays{position:absolute;left:50%;top:86px;width:340px;height:340px;margin-left:-170px;margin-top:-170px;background:conic-gradient(rgba(242,193,78,.5) 0 14deg,transparent 14deg 30deg,rgba(242,193,78,.5) 30deg 44deg,transparent 44deg 60deg,rgba(242,193,78,.5) 60deg 74deg,transparent 74deg 90deg,rgba(242,193,78,.5) 90deg 104deg,transparent 104deg 120deg,rgba(242,193,78,.5) 120deg 134deg,transparent 134deg 150deg,rgba(242,193,78,.5) 150deg 164deg,transparent 164deg 180deg,rgba(242,193,78,.5) 180deg 194deg,transparent 194deg 210deg,rgba(242,193,78,.5) 210deg 224deg,transparent 224deg 240deg,rgba(242,193,78,.5) 240deg 254deg,transparent 254deg 270deg,rgba(242,193,78,.5) 270deg 284deg,transparent 284deg 300deg,rgba(242,193,78,.5) 300deg 314deg,transparent 314deg 330deg,rgba(242,193,78,.5) 330deg 344deg,transparent 344deg 360deg);-webkit-mask-image:radial-gradient(circle,black 0%,transparent 68%);mask-image:radial-gradient(circle,black 0%,transparent 68%);animation:awardRays 14s linear infinite;z-index:-1}.award-confetti{position:absolute;inset:0;pointer-events:none}.award-confetti i{position:absolute;top:-30px;width:9px;height:13px;border-radius:2px;opacity:0;animation:awardConfetti var(--dur) ease-in var(--delay) forwards}.award-confetti i.star{width:auto;height:auto;font-style:normal;font-size:16px;border-radius:0;color:#f6d27a}@keyframes awardOvlIn{0%{opacity:0}}@keyframes awardRise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes awardDrop{0%{transform:translateY(-64vh) rotate(-24deg)}70%{transform:translateY(12px) rotate(4deg)}to{transform:translateY(0) rotate(0)}}@keyframes awardSlam{0%{transform:scale(3) rotate(4deg);opacity:0}50%{transform:scale(2) rotate(-2deg);opacity:1}to{transform:scale(1) rotate(-9deg);opacity:1}}@keyframes awardShake{0%,to{transform:translate(0)}20%{transform:translate(-7px,3px)}40%{transform:translate(6px,-4px)}60%{transform:translate(-4px,2px)}80%{transform:translate(3px,-1px)}}@keyframes awardPop{0%{transform:scale(0)}60%{transform:scale(1.12) rotate(3deg)}to{transform:scale(1) rotate(0)}}@keyframes awardFlash{0%{opacity:.9}to{opacity:0}}@keyframes awardRays{to{transform:rotate(360deg)}}@keyframes awardConfetti{0%{opacity:1;transform:translateY(0) rotate(0)}to{opacity:1;transform:translateY(105vh) rotate(var(--spin))}}.setup-progress{display:flex;gap:6px;margin-bottom:14px}.setup-progress>div{flex:1;height:6px;border-radius:999px;background:var(--line)}.setup-progress>div.done{background:var(--green)}.setup-check{color:var(--green);font-weight:800}.cabinet{background:linear-gradient(#8a623d,#7b5634);border:5px solid #5f4227;border-radius:14px;padding:10px 10px 6px;margin-bottom:8px;box-shadow:inset 0 2px 8px #00000040}.cabinet-plaque{display:inline-block;background:#5f4227;color:#f1dfc5;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;border-radius:6px;padding:3px 10px;margin:6px 0 2px}.cabinet-shelf{display:flex;align-items:flex-end;justify-content:space-around;gap:4px;background:linear-gradient(#a97c4e,#b78a58);border-radius:8px 8px 0 0;padding:12px 4px 0;min-height:74px}.cabinet-board{height:9px;background:linear-gradient(#6f4d2c,#5a3d21);border-radius:2px;box-shadow:0 3px 4px #0000004d;margin-bottom:8px}.cabinet-item{display:flex;flex-direction:column;align-items:center;gap:2px;flex:1 1 0;min-width:0;padding:0 2px 6px}.cabinet-item b{font-size:10.5px;line-height:1.15;color:#f7ecd9;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.35)}.cabinet-item.locked .award-art{filter:grayscale(1) opacity(.45)}.cabinet-item.locked b{color:#d8c5a6;opacity:.8}.cabinet-meter{display:block;width:70%;height:4px;border-radius:999px;background:#0000004d;overflow:hidden}.cabinet-meter>span{display:block;height:100%;background:#f2c14e;border-radius:999px}.cabinet-empty{color:#f1dfc5;font-size:13px;font-weight:600;padding-bottom:10px;margin:auto}.award-goalrow{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:7px 0;border-bottom:1px solid var(--line)}.award-goalrow:last-child{border-bottom:none;padding-bottom:0}.link{color:var(--accent);font-weight:700;text-decoration:underline;padding:0;font-size:inherit}.hint{margin-top:8px}.hint-btn{font-size:12.5px;font-weight:700;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:3px 10px}.hint-btn[aria-expanded=true]{color:var(--text)}.hint-text{margin-top:8px}.menu-btn{font-size:22px;color:var(--muted);padding:2px 6px;border-radius:10px;border:1px solid var(--line);line-height:1}.raha-tabs{margin-bottom:12px}:root{--muted: #4f5d56}:root[data-theme=dark]{--muted: #a9b6ad}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--muted: #a9b6ad}}body{font-size:16px;line-height:1.4}.muted{font-size:15px}.small,.muted.small,.small.muted{font-size:14px}.card h3{font-size:13px;letter-spacing:.06em}.tile .t-label{font-size:12px}.tile .t-sub{font-size:13px}.tile .t-value{font-size:22px}.tile{min-height:72px}.tx-item{padding:12px 4px;min-height:56px}.tx-item .info .name{font-size:16px}.tx-item .info .sub,.menu-item .desc{font-size:13.5px}.menu-item .chev{font-size:22px;color:var(--text);font-weight:700}.nav button{font-size:12px}.field label{font-size:14px}.vahti-bubble{font-size:15px}.date-head{font-size:14px}.task{min-height:64px;padding:14px;font-size:16px}.task .t-sub{font-size:13.5px;margin-top:2px}.task .t-chev{color:var(--text);font-size:24px;font-weight:700;line-height:1}.task .t-amount{font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:16px}.task.warn{border-color:var(--amber);background:var(--amber-soft)}.task.warn .t-sub{color:var(--amber)}.task:active{transform:scale(.99)}.acc-card{cursor:pointer}.acc-card:active{transform:scale(.99)}.badge.bank{background:var(--green-soft);color:var(--green)}.badge.manual{background:var(--line);color:var(--text)}.badge{font-size:12.5px}.sub-details>summary{min-height:40px;display:flex;align-items:center;cursor:pointer}.sub-details>summary .chev-toggle{font-size:14.5px;font-weight:700;color:var(--text)}.sub-details>summary .chev-toggle:after{content:"  ▸";opacity:1;font-size:15px}.sub-details[open]>summary .chev-toggle:after{content:"  ▾";opacity:1}details.card.sub-details{margin-top:0}details.card.sub-details>summary{margin:-4px 0}.btn{min-height:48px}.btn.small{min-height:40px}.chip{min-height:40px;font-size:15px}.seg button{min-height:40px;font-size:14.5px}.page-title .back{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;color:var(--text);font-size:28px}.link{min-height:32px;display:inline-flex;align-items:center}.card.hero .meter.thin{margin-top:6px}.help-topic>summary{display:block;min-height:0}.help-topic>summary .chev-toggle{display:inline}.help-example{background:var(--green-soft);border-radius:12px;padding:10px 12px;margin-top:8px;font-size:14.5px;line-height:1.45}.section-details{margin-top:8px}.section-details>summary{list-style:none;cursor:pointer;user-select:none;display:flex;align-items:center;min-height:44px;margin:10px 4px 6px;font-size:17px;font-weight:800;letter-spacing:-.01em}.section-details>summary::-webkit-details-marker{display:none}.section-details>summary .chev-toggle:after{content:"  ▸";opacity:.8;font-size:15px}.section-details[open]>summary .chev-toggle:after{content:"  ▾";opacity:.8}.budget-row{display:block;width:100%;text-align:left;margin-top:10px;padding:0;background:none;border:none;color:inherit;font:inherit}.budget-row:active{opacity:.7}
