@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:400;src:url(./baloo-2-latin-400-normal-D8VfTcZx.woff2) format("woff2"),url(./baloo-2-latin-400-normal-DCk_bY-6.woff) format("woff")}@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:600;src:url(./baloo-2-latin-600-normal-tIfxVoAe.woff2) format("woff2"),url(./baloo-2-latin-600-normal-B4tNaogw.woff) format("woff")}@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:800;src:url(./baloo-2-latin-800-normal-BbF3Etk1.woff2) format("woff2"),url(./baloo-2-latin-800-normal-B8BXfZF7.woff) format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(./nunito-latin-400-normal-r8SDr6Up.woff2) format("woff2"),url(./nunito-latin-400-normal-DKg4f3fz.woff) format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(./nunito-latin-700-normal-Dort48En.woff2) format("woff2"),url(./nunito-latin-700-normal-OcDqTBcA.woff) format("woff")}:root{--teal: #6ec9c7;--teal-dark: #3e9b99;--pink: #f08fb0;--pink-dark: #c9647f;--blue: #6b9bd1;--blue-dark: #4a76a8;--cream: #faf3e3;--paper: #fff9ee;--gold: #f7c948;--gold-dark: #c99f2c;--green: #8fd18c;--green-dark: #5fa65c;--coral: #f2766b;--coral-dark: #c9564c;--ink: #4a4440;--ink-soft: #7b736c;--lilac: #d9cff0;--sky: #bfe0f2;--mint: #cde8c5;--rose: #f6c6d8;--butter: #fbe6a3;--head: "Baloo 2", "Comic Sans MS", "Arial Rounded MT Bold", sans-serif;--body: "Nunito", "Baloo 2", "Comic Sans MS", sans-serif;--r-lg: 28px;--r-md: 20px;--r-sm: 14px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0;height:100%;overflow:hidden;background:#e8dfcc;font-family:var(--body);color:var(--ink);overscroll-behavior:none;touch-action:manipulation}img{user-select:none;-webkit-user-drag:none}#fit{position:fixed;inset:0;display:grid;place-items:center}#stage{width:1280px;height:800px;position:relative;overflow:hidden;background:var(--paper);border-radius:4px;box-shadow:0 10px 40px #4a444040;transform-origin:center center}.screen{position:absolute;inset:0;display:flex;flex-direction:column;animation:screen-in .28s ease-out both}@keyframes screen-in{0%{opacity:0;transform:translateY(10px) scale(.995)}}.screen-bg{position:absolute;inset:0;background-size:cover;background-position:center;z-index:0}.screen-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,#fff9ee40,#fff9eecc)}.screen-body{position:relative;z-index:1;flex:1;display:flex;flex-direction:column;min-height:0;padding:14px 26px 22px}#rotate-card{position:fixed;inset:0;z-index:999;display:none;place-items:center;background:var(--paper);padding:24px;text-align:center}.rotate-inner{max-width:420px}.rotate-phone{font-size:90px;color:var(--teal);transform:rotate(90deg);display:inline-block;animation:tip 1.8s ease-in-out infinite}@keyframes tip{0%,to{transform:rotate(90deg)}50%{transform:rotate(0)}}#rotate-card h1{font-family:var(--head);color:var(--teal-dark);font-size:30px;margin:12px 0 6px}#rotate-card p{font-size:18px;color:var(--ink-soft);margin:0}body.portrait #rotate-card{display:grid}body.portrait #fit{display:none}.btn{font-family:var(--head);font-weight:800;font-size:22px;letter-spacing:.3px;color:#fff;border:none;border-radius:999px;padding:14px 30px;min-height:56px;min-width:56px;cursor:pointer;background:var(--teal);box-shadow:0 6px 0 var(--teal-dark),0 8px 16px #4a44402e;transition:transform .08s ease,box-shadow .08s ease,filter .15s ease;user-select:none}.btn:active:not(:disabled){transform:translateY(5px);box-shadow:0 1px 0 var(--teal-dark),0 2px 8px #4a44402e}.btn:focus-visible{outline:4px solid var(--gold);outline-offset:3px}.btn-secondary{background:var(--pink);box-shadow:0 6px 0 var(--pink-dark),0 8px 16px #4a44402e}.btn-secondary:active:not(:disabled){box-shadow:0 1px 0 var(--pink-dark),0 2px 8px #4a44402e}.btn-ghost{background:var(--cream);color:var(--teal-dark);box-shadow:0 5px #ded2ba,0 6px 12px #4a44401f}.btn-ghost:active:not(:disabled){box-shadow:0 1px #ded2ba}.btn-danger{background:var(--coral);box-shadow:0 6px 0 var(--coral-dark),0 8px 16px #4a44402e}.btn:disabled{filter:grayscale(.55) brightness(1.06);opacity:.65;cursor:default}.btn-sm{font-size:17px;padding:10px 20px;min-height:48px}.btn-xl{font-size:30px;padding:18px 52px;min-height:72px}.panel{background:var(--cream);border:3px solid #e6dcc4;border-radius:var(--r-lg);box-shadow:0 6px #d6cab299,0 10px 22px #4a44401a;padding:18px 22px}h1,h2,h3{font-family:var(--head);color:var(--teal-dark);margin:0;line-height:1.15}p{line-height:1.4}.muted{color:var(--ink-soft)}.topbar{position:relative;z-index:3;display:flex;align-items:center;gap:12px;padding:10px 22px 0}.chip{display:flex;align-items:center;gap:8px;background:var(--cream);border:3px solid #e6dcc4;border-radius:999px;padding:7px 16px;font-family:var(--head);font-weight:800;font-size:19px;color:var(--ink);white-space:nowrap}.chip img{height:30px;width:auto}.chip-week{background:var(--teal);border-color:var(--teal-dark);color:#fff}.chip-fund{background:var(--sky);border-color:#8fc0dd}.chip-fund.ready{background:var(--mint);border-color:var(--green-dark)}.chip-fund.empty{background:#f3e2df;border-color:var(--coral-dark)}.chip-debt{background:#f7ded9;border-color:var(--coral-dark);color:var(--coral-dark)}.chip-share{background:var(--butter);border-color:var(--gold-dark)}.spacer{flex:1}.icon-btn{width:50px;height:50px;border-radius:999px;border:3px solid #e6dcc4;background:var(--cream);font-size:22px;line-height:1;cursor:pointer;display:grid;place-items:center;color:var(--ink);font-family:var(--head);padding:0}.icon-btn.on{background:var(--teal);border-color:var(--teal-dark);color:#fff}.icon-btn:focus-visible{outline:4px solid var(--gold);outline-offset:2px}.joy{display:flex;align-items:center;gap:10px}.joy-track{width:168px;height:22px;border-radius:999px;background:#efe6d2;border:3px solid #e0d4b9;overflow:hidden;position:relative}.joy-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--rose),var(--butter),var(--mint),var(--sky),var(--lilac));transition:width .5s cubic-bezier(.2,.9,.3,1)}.joy-delta{font-family:var(--head);font-weight:800;font-size:17px}.joy-delta.up{color:var(--green-dark)}.joy-delta.down{color:var(--coral-dark)}.speech{display:flex;align-items:flex-end;gap:12px;max-width:100%}.speech-right{flex-direction:row-reverse}.speech-portrait{height:148px;width:auto;flex:0 0 auto;filter:drop-shadow(0 6px 8px rgba(74,68,64,.18));animation:bob 2.6s ease-in-out infinite}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}.speech-bubble{position:relative;background:#fff;border:3px solid #e6dcc4;border-radius:24px;padding:12px 20px 14px;box-shadow:0 5px #d6cab280;flex:1}.speech-fifi .speech-bubble{border-color:#f0c3d2}.speech-who{font-family:var(--head);font-weight:800;font-size:15px;color:var(--teal-dark);text-transform:uppercase;letter-spacing:1px;margin-bottom:2px}.speech-fifi .speech-who{color:var(--pink-dark)}.speech-line{margin:0 0 4px;font-size:21px;line-height:1.34}.speech-line:last-child{margin-bottom:0}.title-screen{align-items:center;justify-content:center;text-align:center}.title-logo{width:520px;filter:drop-shadow(0 8px 14px rgba(74,68,64,.25))}.title-episode{font-family:var(--head);font-weight:800;font-size:46px;color:var(--teal-dark);text-shadow:0 3px 0 #fff,0 5px 0 rgba(62,155,153,.25);margin:2px 0 0}.title-sub{font-size:21px;color:var(--ink-soft);margin:2px 0 12px}.title-row{display:flex;gap:16px;align-items:center;justify-content:center;flex-wrap:wrap}.title-cast{position:absolute;bottom:-10px;pointer-events:none}.title-cast.left{left:18px;width:250px}.title-cast.right{right:22px;width:220px}.toggle-row{display:flex;gap:10px;justify-content:center;margin-top:12px;flex-wrap:wrap}.toggle{display:inline-flex;align-items:center;gap:9px;background:var(--cream);border:3px solid #e6dcc4;border-radius:999px;padding:9px 18px;font-family:var(--head);font-weight:700;font-size:18px;cursor:pointer;min-height:50px;color:var(--ink)}.toggle.on{background:var(--mint);border-color:var(--green-dark);color:var(--green-dark)}.toggle .dot{width:20px;height:20px;border-radius:999px;background:#ded2ba}.toggle.on .dot{background:var(--green-dark)}.calendar{display:grid;grid-template-columns:repeat(10,1fr);gap:9px;margin-top:6px}.cal-week{background:var(--cream);border:3px solid #e6dcc4;border-radius:var(--r-md);padding:8px 5px 10px;text-align:center;position:relative;min-height:210px;display:flex;flex-direction:column;align-items:center;gap:3px}.cal-week.now{border-color:var(--teal-dark);background:#eafaf9;box-shadow:0 0 0 4px #6ec9c759}.cal-week.past{opacity:.62}.cal-num{font-family:var(--head);font-weight:800;font-size:15px;color:var(--ink-soft);letter-spacing:.5px}.cal-week.now .cal-num{color:var(--teal-dark)}.cal-pin{font-size:34px;line-height:1.1}.cal-name{font-family:var(--head);font-weight:700;font-size:14px;line-height:1.15;color:var(--ink)}.cal-cost{font-family:var(--head);font-weight:800;font-size:19px;color:var(--gold-dark)}.cal-status{font-size:12px;font-weight:700;border-radius:999px;padding:2px 8px;margin-top:auto}.cal-status.kept{background:var(--mint);color:var(--green-dark)}.cal-status.shrunk{background:var(--butter);color:var(--gold-dark)}.cal-status.missed{background:#f7ded9;color:var(--coral-dark)}.cal-status.open{background:#ece3cf;color:var(--ink-soft)}.cal-quiet{font-size:26px}.calendar-compact{gap:7px}.calendar-compact .cal-week{min-height:116px;padding:5px 3px 6px;border-width:2px;border-radius:14px}.calendar-compact .cal-num{font-size:12px}.calendar-compact .cal-pin{font-size:22px}.calendar-compact .cal-name{font-size:11.5px}.calendar-compact .cal-cost{font-size:15px}.calendar-compact .cal-quiet{font-size:20px}.calendar-compact .cal-status{font-size:10.5px;padding:1px 6px}.alloc-wrap{display:flex;gap:16px;flex:1;min-height:0}.alloc-main{flex:1;display:flex;flex-direction:column;min-width:0}.alloc-left{width:268px;flex:0 0 auto;display:flex;flex-direction:column;gap:10px}.cash-pot{background:linear-gradient(180deg,#fffdf7,var(--cream));border:4px solid var(--gold);border-radius:var(--r-lg);padding:12px 14px 14px;text-align:center;box-shadow:0 6px 0 var(--gold-dark)}.cash-label{font-family:var(--head);font-weight:800;font-size:17px;color:var(--gold-dark);letter-spacing:1px;text-transform:uppercase}.cash-amount{font-family:var(--head);font-weight:800;font-size:46px;line-height:1;color:var(--ink)}.cash-pot img{height:62px;width:auto}.cash-amount.zero{color:var(--green-dark)}.cash-hint{font-size:15px;color:var(--ink-soft);margin-top:2px;min-height:40px}.jar-row{display:flex;gap:12px;width:100%;align-items:stretch;flex:0 0 auto}.jar-card{flex:1 1 0;min-width:0;background:var(--cream);border:3px solid #e6dcc4;border-radius:var(--r-md);padding:8px 8px 12px;display:flex;flex-direction:column;align-items:center;gap:4px;position:relative;transition:box-shadow .2s ease,border-color .2s ease,transform .2s ease}.jar-card.emergency{border-color:#8fc0dd;background:linear-gradient(180deg,#f2fbff,var(--cream))}.jar-card.emergency.nudge{border-color:var(--gold-dark);box-shadow:0 0 0 5px #f7c94873;animation:nudge-pulse 1.6s ease-in-out infinite}@keyframes nudge-pulse{0%,to{box-shadow:0 0 0 4px #f7c94852}50%{box-shadow:0 0 0 9px #f7c9482e}}.jar-card.payback{border-color:var(--coral-dark);background:linear-gradient(180deg,#fff2ef,var(--cream))}.jar-card.due-soon{border-color:var(--gold-dark)}.jar-title{font-family:var(--head);font-weight:800;font-size:15px;text-transform:uppercase;letter-spacing:.6px;color:var(--ink);text-align:center;line-height:1.1;min-height:32px;display:grid;place-items:center}.jar-sub{font-size:12.5px;color:var(--ink-soft);text-align:center;line-height:1.2;min-height:30px}.jar-art{position:relative;height:118px;display:grid;place-items:center;width:100%}.jar-art img.jar-img{max-height:118px;width:auto;max-width:100%;filter:drop-shadow(0 4px 6px rgba(74,68,64,.18))}.jar-art img.env-img{max-height:104px}.env-pin{position:absolute;font-size:40px;top:26px;filter:drop-shadow(0 2px 3px rgba(74,68,64,.25))}.ghost-hat{position:absolute;top:-6px;left:50%;transform:translate(-50%);width:54px;filter:drop-shadow(0 3px 4px rgba(74,68,64,.2))}.ghost-thumb{position:absolute;right:2px;bottom:4px;font-size:26px;animation:bob 2s ease-in-out infinite}.jar-value{font-family:var(--head);font-weight:800;font-size:30px;color:var(--ink);line-height:1}.jar-value .add{color:var(--green-dark);font-size:21px}.stepper{display:flex;align-items:center;gap:6px;margin-top:auto;padding-top:4px}.step-btn{width:48px;height:48px;border-radius:999px;border:3px solid var(--teal-dark);background:var(--teal);color:#fff;font-family:var(--head);font-weight:800;font-size:26px;line-height:1;cursor:pointer;display:grid;place-items:center;padding:0;box-shadow:0 3px 0 var(--teal-dark)}.step-btn:active:not(:disabled){transform:translateY(3px);box-shadow:none}.step-btn:disabled{background:#ded2ba;border-color:#c9bda2;box-shadow:none;color:#fff;cursor:default}.step-btn:focus-visible{outline:4px solid var(--gold);outline-offset:2px}.step-val{font-family:var(--head);font-weight:800;font-size:24px;min-width:46px;text-align:center;color:var(--teal-dark)}.progress{width:100%;height:12px;border-radius:999px;background:#e7ddc7;overflow:hidden;margin-top:2px}.progress-fill{height:100%;background:var(--green);transition:width .35s ease}.progress-fill.full{background:var(--green-dark)}.progress-fill.short{background:var(--gold)}.shelf{display:flex;align-items:flex-end;gap:8px;justify-content:center;background:linear-gradient(180deg,#fff0 60%,#d6be9659 60%,#d6be9680);border-radius:var(--r-sm);padding:4px 6px 8px}.shelf img{height:66px;filter:drop-shadow(0 3px 4px rgba(74,68,64,.2))}.shelf .cert{height:78px;cursor:help}.shelf-note{font-size:13px;color:var(--ink-soft);text-align:center;line-height:1.25}.alloc-foot{display:flex;align-items:center;gap:14px;margin-top:12px}.alloc-msg{flex:1;font-size:17px;color:var(--ink-soft);line-height:1.3}.alloc-note{display:flex;align-items:center;gap:12px;background:#fff;border:3px solid #f0c3d2;border-radius:20px;padding:8px 16px;color:var(--ink);font-size:17px;line-height:1.3}.alloc-note b{font-family:var(--head);color:var(--pink-dark)}.alloc-note-face{height:54px;width:auto;flex:0 0 auto}.vignette{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;position:relative}.vig-stage{position:relative;width:100%;flex:1;min-height:0;display:flex;align-items:flex-end;justify-content:center;gap:26px;padding-bottom:6px}.vig-prop{filter:drop-shadow(0 8px 10px rgba(74,68,64,.22));width:auto;max-height:100%;flex:0 0 auto}.vig-banner{font-family:var(--head);font-weight:800;font-size:40px;color:#fff;background:var(--teal);border:4px solid var(--teal-dark);border-radius:999px;padding:8px 40px;box-shadow:0 6px 0 var(--teal-dark);text-align:center}.vig-banner.sad{background:var(--blue);border-color:var(--blue-dark);box-shadow:0 6px 0 var(--blue-dark)}.vig-banner.oops{background:var(--coral);border-color:var(--coral-dark);box-shadow:0 6px 0 var(--coral-dark)}@keyframes zoom-by{0%{transform:translate(-680px) rotate(-4deg)}55%{transform:translate(0) rotate(0)}70%{transform:translate(30px) rotate(2deg)}to{transform:translate(0) rotate(0)}}.zoom-by{animation:zoom-by 1.1s cubic-bezier(.2,.8,.3,1) both}@keyframes flop{0%{transform:rotate(0) translateY(0)}35%{transform:rotate(-14deg) translateY(-16px)}60%{transform:rotate(22deg) translateY(10px)}80%{transform:rotate(14deg) translateY(16px)}to{transform:rotate(16deg) translateY(14px)}}.flop{animation:flop .9s ease-in both}@keyframes pop-in{0%{transform:scale(.4) rotate(-12deg);opacity:0}70%{transform:scale(1.12) rotate(4deg);opacity:1}to{transform:scale(1) rotate(0)}}.pop-in{animation:pop-in .45s cubic-bezier(.2,1.2,.4,1) both}.shake{animation:shake .5s ease}@keyframes shake{10%,90%{transform:translate(-3px)}20%,80%{transform:translate(5px)}30%,50%,70%{transform:translate(-9px)}40%,60%{transform:translate(9px)}}.wheel-overlay{position:absolute;inset:0;z-index:20;background:#4a4440bd;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;animation:fade-in .25s ease both;backdrop-filter:blur(4px)}@keyframes fade-in{0%{opacity:0}}.wheel-title{font-family:var(--head);font-weight:800;font-size:44px;color:#fff;text-shadow:0 4px 0 rgba(74,68,64,.5)}.wheel-box{position:relative;width:400px;height:400px}.wheel-svg{width:100%;height:100%;filter:drop-shadow(0 10px 18px rgba(0,0,0,.35))}.wheel-spin{transform-origin:200px 200px;transition:transform 4.4s cubic-bezier(.16,.72,.12,1)}.wheel-pointer{position:absolute;top:-14px;left:50%;transform:translate(-50%);font-size:46px;filter:drop-shadow(0 3px 3px rgba(0,0,0,.4));z-index:2}.wheel-icon{pointer-events:none}.surprise-card{display:flex;align-items:center;gap:18px}.surprise-art{width:190px;filter:drop-shadow(0 8px 10px rgba(74,68,64,.25))}.modal-back{position:absolute;inset:0;z-index:30;background:#4a444080;display:grid;place-items:center;animation:fade-in .22s ease both;backdrop-filter:blur(2px)}.modal{width:1180px;max-height:760px;background:var(--paper);border:5px solid var(--teal-dark);border-radius:34px;padding:16px 22px 20px;box-shadow:0 16px 40px #0000004d;animation:pop-in .3s cubic-bezier(.2,1.1,.4,1) both;display:flex;flex-direction:column;gap:8px}.modal-head{display:flex;align-items:center;gap:16px}.modal-head h2{font-size:34px}.cost-badge{font-family:var(--head);font-weight:800;font-size:30px;background:var(--coral);color:#fff;border:4px solid var(--coral-dark);border-radius:999px;padding:4px 22px;white-space:nowrap}.think-timer{display:flex;align-items:center;gap:8px;font-family:var(--head);font-weight:800;font-size:20px;color:var(--ink-soft)}.timer-ring{width:44px;height:44px}.choice-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;flex:1;min-height:0}.choice-card{background:var(--cream);border:4px solid #e6dcc4;border-radius:var(--r-md);padding:12px 12px 14px;display:flex;flex-direction:column;gap:7px;text-align:center;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease;box-shadow:0 5px #d6cab2b3;font-family:var(--body);color:var(--ink);align-items:center}.choice-card:not(.disabled):hover,.choice-card:not(.disabled):focus-visible{transform:translateY(-4px);box-shadow:0 9px #d6cab2b3;outline:none}.choice-card:not(.disabled):active{transform:translateY(2px);box-shadow:0 2px #d6cab2b3}.choice-card.best{border-color:var(--green-dark);background:linear-gradient(180deg,#f2fff0,var(--cream));box-shadow:0 5px #5fa65c66}.choice-card.disabled{opacity:.55;cursor:default;filter:grayscale(.5)}.choice-icon{height:96px;display:grid;place-items:center;position:relative}.choice-icon img{max-height:96px;width:auto;filter:drop-shadow(0 4px 6px rgba(74,68,64,.2))}.choice-name{font-family:var(--head);font-weight:800;font-size:21px;line-height:1.1;color:var(--teal-dark)}.choice-card.warn .choice-name{color:var(--coral-dark)}.choice-card.best .choice-name{color:var(--green-dark)}.choice-line{font-size:15px;line-height:1.28;color:var(--ink)}.preview-strip{width:100%;margin-top:auto;background:#fff;border:2px dashed #ddd0b4;border-radius:var(--r-sm);padding:7px 9px;font-size:14px;line-height:1.3;text-align:left;color:var(--ink-soft)}.preview-strip b{color:var(--ink)}.preview-strip .bad{color:var(--coral-dark);font-weight:700}.preview-strip .good{color:var(--green-dark);font-weight:700}.plan-pick{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-top:8px}.plan-pick-btn{background:var(--cream);border:3px solid #e6dcc4;border-radius:var(--r-sm);padding:10px;cursor:pointer;font-family:var(--body);font-size:16px;color:var(--ink);min-height:60px;text-align:left}.plan-pick-btn b{font-family:var(--head);display:block;font-size:18px;color:var(--teal-dark)}.shield-burst{position:absolute;inset:0;z-index:40;display:grid;place-items:center;pointer-events:none}.shield-word{font-family:var(--head);font-weight:800;font-size:108px;color:#fff;text-shadow:0 0 20px rgba(143,209,140,.9),0 6px 0 var(--green-dark),0 10px 24px rgba(0,0,0,.25);animation:shield-pop 1.1s cubic-bezier(.2,1.3,.4,1) both}@keyframes shield-pop{0%{transform:scale(.2) rotate(-8deg);opacity:0}55%{transform:scale(1.15) rotate(3deg);opacity:1}to{transform:scale(1) rotate(0);opacity:1}}.glow-jar{animation:glow 1.4s ease-out}@keyframes glow{0%,to{filter:drop-shadow(0 4px 6px rgba(74,68,64,.18))}40%{filter:drop-shadow(0 0 26px rgba(143,209,140,1)) brightness(1.15)}}.confetti-piece{position:absolute;width:14px;height:20px;border-radius:4px;z-index:45;pointer-events:none;will-change:transform,opacity}.floater{position:absolute;font-family:var(--head);font-weight:800;font-size:30px;pointer-events:none;z-index:46;animation:float-up 1.1s ease-out both;text-shadow:0 2px 0 #fff}@keyframes float-up{0%{transform:translateY(0) scale(.7);opacity:0}25%{transform:translateY(-18px) scale(1.1);opacity:1}to{transform:translateY(-70px) scale(1);opacity:0}}.report-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:16px;flex:1;min-height:0;align-items:start}.report-list{display:flex;flex-direction:column;gap:6px;min-height:0;overflow:hidden}.report-row{display:flex;align-items:center;gap:10px;background:#fff;border:3px solid #eee3cd;border-radius:var(--r-sm);padding:7px 13px;font-size:17px;line-height:1.25}.report-row .val{margin-left:auto;font-family:var(--head);font-weight:800;font-size:22px}.report-row .val.good{color:var(--green-dark)}.report-row .val.bad{color:var(--coral-dark)}.report-row .ico{font-size:24px}.finale-banner{font-family:var(--head);font-weight:800;font-size:62px;color:#fff;background:linear-gradient(180deg,var(--teal),var(--teal-dark));border:6px solid #fff;border-radius:999px;padding:6px 56px;box-shadow:0 8px 0 var(--teal-dark),0 14px 30px #4a444040;text-align:center}.star-row{display:flex;gap:14px;justify-content:center}.star-card{background:var(--cream);border:4px solid #e6dcc4;border-radius:var(--r-md);padding:10px 16px;text-align:center;min-width:210px}.star-card.earned{border-color:var(--gold-dark);background:linear-gradient(180deg,#fffaea,var(--butter))}.star-face{font-size:42px;line-height:1}.star-name{font-family:var(--head);font-weight:800;font-size:20px;color:var(--ink)}.star-blurb{font-size:14px;color:var(--ink-soft);line-height:1.25}.score-table{width:100%;font-size:17px;border-collapse:collapse}.score-table td{padding:4px 2px}.score-table td:last-child{text-align:right;font-family:var(--head);font-weight:800}.score-total{border-top:3px solid #e6dcc4;font-family:var(--head);font-weight:800;font-size:24px;color:var(--teal-dark)}.party-scene{position:relative;height:190px;display:grid;place-items:end center}.party-bunting{position:absolute;top:0;width:760px;left:50%;transform:translate(-50%)}.party-cast{display:flex;align-items:flex-end;gap:6px}.party-cast img{height:130px;filter:drop-shadow(0 6px 8px rgba(74,68,64,.2))}.party-cast img.small{height:96px}.hat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.hat-card{background:var(--cream);border:4px solid #e6dcc4;border-radius:var(--r-md);padding:10px;text-align:center;cursor:pointer;font-family:var(--body);color:var(--ink)}.hat-card.locked{opacity:.6;cursor:default}.hat-card.chosen{border-color:var(--teal-dark);background:#eafaf9}.hat-card img{height:84px}.hat-name{font-family:var(--head);font-weight:800;font-size:17px}.hat-how{font-size:13px;color:var(--ink-soft);line-height:1.2}.chore-box{display:flex;flex-direction:column;align-items:center;gap:10px}.leaf-field{position:relative;width:620px;height:240px;background:#ffffff8c;border:4px dashed #d9c9a3;border-radius:var(--r-lg)}.leaf{position:absolute;font-size:52px;cursor:pointer;transition:transform .15s ease;user-select:none;line-height:1;padding:6px}.leaf:active{transform:scale(.85)}.leaf.gone{animation:leaf-poof .35s ease-out forwards;pointer-events:none}@keyframes leaf-poof{to{transform:scale(1.7) translateY(-30px) rotate(40deg);opacity:0}}.row{display:flex;align-items:center;gap:12px}.col{display:flex;flex-direction:column;gap:10px}.center{justify-content:center;align-items:center;text-align:center}.grow{flex:1;min-height:0}.screen-title{font-family:var(--head);font-weight:800;font-size:32px;color:var(--teal-dark)}.tag{display:inline-block;font-family:var(--head);font-weight:800;font-size:15px;border-radius:999px;padding:2px 12px;background:var(--butter);color:var(--gold-dark)}.tag.new{background:var(--pink);color:#fff}.fade-in{animation:fade-in .3s ease both}
