: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}
