@font-face{font-family:Alfa Slab One;font-style:normal;font-display:swap;font-weight:400;src:url(./alfa-slab-one-vietnamese-400-normal-C0oZnEo7.woff2) format("woff2"),url(./alfa-slab-one-vietnamese-400-normal-BeSfPuN6.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Alfa Slab One;font-style:normal;font-display:swap;font-weight:400;src:url(./alfa-slab-one-latin-ext-400-normal-DZhSYPC8.woff2) format("woff2"),url(./alfa-slab-one-latin-ext-400-normal-Dg9tQUb7.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Alfa Slab One;font-style:normal;font-display:swap;font-weight:400;src:url(./alfa-slab-one-latin-400-normal-CbTZiZTW.woff2) format("woff2"),url(./alfa-slab-one-latin-400-normal-UIGeWgec.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(./nunito-cyrillic-ext-wght-normal-D4X5GqEv.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(./nunito-cyrillic-wght-normal-CY6AOgYE.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(./nunito-vietnamese-wght-normal-U01xdrZh.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(./nunito-latin-ext-wght-normal-CXYtwYOx.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(./nunito-latin-wght-normal-BzFMHfZw.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--night: #251c33;--night-deep: #1c1527;--panel: #302344;--panel-raise: #3a2b52;--line: #4c3a6b;--masa: #f6e7c8;--masa-dim: #b9aa95;--lamp: #ffb648;--lamp-deep: #d98c1c;--salsa: #ef5b41;--agave: #93c96f;--plum-ink: #2b1a12;--radius: 10px;--font-display: "Alfa Slab One", "Georgia", serif;--font-body: "Nunito Variable", "Segoe UI", system-ui, sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%}body{background:radial-gradient(120% 90% at 50% -10%,#3a2b52 0%,var(--night) 55%,var(--night-deep) 100%) fixed var(--night);color:var(--masa);font-family:var(--font-body);font-size:16px;line-height:1.45;overflow:hidden}#app{height:100dvh;display:flex;flex-direction:column;overflow:hidden}.screen{width:100%;max-width:1100px;margin:0 auto;padding:0 16px;flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.scroll-region{flex:1;min-height:0;overflow-y:auto}.scroll-region::-webkit-scrollbar,.screen-title::-webkit-scrollbar{width:10px}.scroll-region::-webkit-scrollbar-thumb,.screen-title::-webkit-scrollbar-thumb{background:var(--line);border-radius:5px;border:2px solid transparent;background-clip:padding-box}.scroll-region,.screen-title{scrollbar-width:thin;scrollbar-color:var(--line) transparent}.muted{color:var(--masa-dim)}.btn{font-family:var(--font-body);font-weight:700;font-size:1rem;color:var(--masa);background:var(--panel-raise);border:1px solid var(--line);border-radius:var(--radius);padding:10px 20px;cursor:pointer;transition:transform 80ms ease,background .12s ease}.btn:hover:not(:disabled){background:var(--line)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--lamp);border-color:var(--lamp-deep);color:var(--plum-ink)}.btn-primary:hover:not(:disabled){background:#ffc668}.btn-danger{background:var(--salsa);border-color:#b23524;color:#fff}.btn-danger:hover:not(:disabled){background:#f47057}.btn-small{padding:6px 12px;font-size:.85rem}:focus-visible{outline:3px solid var(--lamp);outline-offset:2px;border-radius:4px}.bunting{height:12px;background:conic-gradient(from -32deg at 50% 100%,transparent 52deg,var(--salsa) 0 128deg,transparent 0) 0 0 / 28px 100% repeat-x}.bunting:after{content:""}.bunting-title{height:18px;max-width:420px;margin:0 auto 10px;background:conic-gradient(from -32deg at 8% 100%,transparent 52deg,var(--salsa) 0 128deg,transparent 0) 0 0 / 84px 100% repeat-x,conic-gradient(from -32deg at 41% 100%,transparent 52deg,var(--agave) 0 128deg,transparent 0) 0 0 / 84px 100% repeat-x,conic-gradient(from -32deg at 74% 100%,transparent 52deg,var(--lamp) 0 128deg,transparent 0) 0 0 / 84px 100% repeat-x}.truck-header{margin:0 -16px 18px;background:var(--night-deep);border-bottom:1px solid var(--line)}.truck-header-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:12px 16px}.truck-title{display:flex;align-items:center;gap:8px}.truck-name{font-family:var(--font-display);font-size:1.15rem;letter-spacing:.03em;color:var(--lamp)}.truck-day{font-weight:800;margin-left:8px}.truck-weather{font-weight:400;color:var(--masa-dim)}.truck-stats{margin-left:auto;display:flex;gap:10px;align-items:center}.chip{display:inline-flex;align-items:center;gap:6px;background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:4px 12px;font-weight:800;font-variant-numeric:tabular-nums}.chip-cash{color:var(--agave)}.rep-bar{width:64px;height:6px;background:var(--night);border-radius:3px;overflow:hidden}.rep-bar-fill{display:block;height:100%;background:linear-gradient(90deg,var(--lamp-deep),var(--lamp))}.chip-btn{font:inherit;cursor:pointer;transition:background .12s ease}.chip-btn:hover{background:var(--line)}.truck-header{position:relative}.ledger-pop{position:absolute;top:100%;right:16px;z-index:30;width:min(340px,calc(100vw - 32px));background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 12px 32px #00000073;padding:10px 14px 12px}.save-pop{width:min(300px,calc(100vw - 32px));display:flex;flex-direction:column;gap:8px;align-items:flex-start}.save-note{font-size:.85rem;margin:0}.ledger-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;color:var(--lamp)}.ledger-row{display:flex;justify-content:space-between;gap:12px;padding:3px 0;font-size:.9rem;border-bottom:1px dashed rgba(76,58,107,.5)}.ledger-row:last-child{border-bottom:none}.ledger-val{font-weight:800;font-variant-numeric:tabular-nums;text-align:right}.help-btn{font:inherit;font-size:.7rem;font-weight:800;color:var(--masa-dim);background:var(--panel-raise);border:1px solid var(--line);border-radius:999px;width:18px;height:18px;line-height:1;cursor:pointer;vertical-align:2px}.help-btn:hover,.help-btn[aria-expanded=true]{color:var(--plum-ink);background:var(--lamp);border-color:var(--lamp-deep)}.help-pop{display:flex;gap:8px;align-items:flex-start;background:var(--night-deep);border:1px solid var(--line);border-left:4px solid var(--lamp);border-radius:8px;padding:8px 10px;margin-bottom:8px;font-size:.85rem;color:var(--masa)}.banner{display:flex;gap:10px;align-items:flex-start;background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--lamp);border-radius:var(--radius);padding:10px 14px;margin-bottom:12px}.banner-warn{border-left-color:var(--salsa)}.banner-note{border-left-color:var(--agave);font-style:italic}.banner-icon{font-size:1.4rem;line-height:1.2}.banner-body{flex:1;min-width:0}.banner-x{background:none;border:none;color:inherit;opacity:.55;cursor:pointer;font-size:.95rem;line-height:1;padding:3px 6px;margin-left:auto;border-radius:4px;flex-shrink:0}.banner-x:hover{opacity:1}.planning{display:flex;flex-direction:column;flex:1;min-height:0}.screen-wide{max-width:1500px}.plan-scroll{padding:2px 2px 8px}.tab-strip{display:flex;gap:6px;margin-bottom:8px;flex-wrap:nowrap}.tab-btn{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-body);font-weight:800;font-size:.9rem;color:var(--masa);background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:8px 14px;cursor:pointer;white-space:nowrap}.tab-badge{font-weight:700;opacity:.75;font-variant-numeric:tabular-nums}.tab-btn[aria-selected=true]{background:var(--lamp);border-color:var(--lamp-deep);color:var(--plum-ink)}.planning-cols{display:flex;flex-direction:column;gap:10px}.plan-col{display:contents}.planning:not([data-tab=spot]) .p-spot,.planning:not([data-tab=menu]) .p-menu,.planning:not([data-tab=pantry]) .p-pantry,.planning:not([data-tab=truck]) .p-garage,.planning:not([data-tab=truck]) .p-upgrades,.planning:not([data-tab=crew]) .p-crew,.planning:not([data-tab=money]) .p-awards,.planning:not([data-tab=money]) .p-stats,.planning:not([data-tab=money]) .p-loan{display:none}@media(max-width:1099px){.plan-rail{order:-1}.banner{padding:6px 10px;font-size:.85rem;margin-bottom:6px;border-radius:8px}.banner-icon{font-size:1.1rem}}.season-strip{display:flex;flex-direction:column;gap:2px;background:var(--night-deep);border:1px solid var(--line);border-left:4px solid var(--lamp);border-radius:8px;padding:7px 10px;margin-bottom:8px}.season-name{font-weight:800;color:var(--lamp)}.season-blurb{font-size:.85rem}.spot-list{display:flex;flex-direction:column;gap:6px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:10px 12px 12px}.panel-title{font-family:var(--font-display);font-weight:400;font-size:1rem;letter-spacing:.02em;color:var(--lamp);margin:0 0 8px;display:flex;align-items:baseline;justify-content:space-between;gap:8px;flex-wrap:wrap}.panel-hint{font-family:var(--font-body);font-size:.8rem;font-weight:600;color:var(--masa-dim)}.spot-card{text-align:left;font-family:var(--font-body);font-size:.95rem;color:var(--masa);background:var(--night);border:2px solid var(--line);border-radius:var(--radius);padding:7px 10px;cursor:pointer}.spot-card:hover:not(.locked){border-color:var(--lamp-deep)}.spot-card.selected{border-color:var(--lamp);background:#33253f;box-shadow:inset 0 0 0 1px var(--lamp)}.spot-card.locked{opacity:.55;cursor:default}.spot-detail{display:flex;flex-wrap:wrap;gap:10px;font-size:.8rem;font-variant-numeric:tabular-nums;margin-top:2px}.spot-head{font-weight:800;margin-bottom:2px}.spot-meta{display:flex;flex-wrap:wrap;gap:2px 12px;font-size:.82rem;color:var(--masa-dim)}.spot-weather-note{color:var(--lamp);font-weight:700}.spot-blurb{font-size:.85rem;margin-top:4px;font-style:italic}.menu-list,.pantry-list,.upgrade-list{display:flex;flex-direction:column;gap:6px}.menu-row,.pantry-row,.upgrade-row{background:var(--night);border:1px solid var(--line);border-radius:var(--radius);padding:6px 10px}.menu-row:not(.locked),.pantry-row{display:flex;align-items:center;justify-content:space-between;gap:6px 12px;flex-wrap:wrap}.menu-row.inactive .menu-controls{opacity:.45}.menu-row.locked,.menu-row.locked .menu-name{color:var(--masa-dim)}.menu-main{display:flex;align-items:center;gap:10px}.menu-main input[type=checkbox]{width:18px;height:18px;accent-color:var(--lamp);cursor:pointer}.menu-name{font-weight:800;cursor:pointer}.menu-appeal{font-size:.8rem;color:var(--masa-dim);font-weight:600}.menu-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.menu-fair{font-size:.85rem}.menu-fair.over-fair{color:var(--lamp)}.menu-servings{font-size:.85rem;color:var(--agave);font-weight:700;font-variant-numeric:tabular-nums}.menu-servings.zero{color:var(--salsa)}.stepper{display:inline-flex;align-items:center;gap:2px}.step-btn{font-family:var(--font-body);font-weight:800;font-size:.9rem;color:var(--masa);background:var(--panel-raise);border:1px solid var(--line);border-radius:6px;min-width:32px;padding:4px 6px;cursor:pointer}.step-btn:hover{background:var(--line)}.step-value{min-width:64px;text-align:center;font-weight:800;font-variant-numeric:tabular-nums}.pantry-main{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.pantry-name{font-weight:800;min-width:120px}.pantry-price{font-size:.85rem;font-variant-numeric:tabular-nums}.pantry-spoils-dot{font-size:.75rem;cursor:help}.pantry-deal,.pantry-down{color:var(--agave);font-weight:800;cursor:help}.pantry-up{color:var(--salsa);font-weight:800;cursor:help}.pantry-controls{display:flex;align-items:center;gap:3px}.pantry-qty{min-width:48px;text-align:center;font-weight:800;font-size:1.05rem;font-variant-numeric:tabular-nums;color:var(--lamp)}.upgrade-row{display:flex;align-items:center;gap:12px;justify-content:space-between}.upgrade-main{min-width:0;flex:1 1 auto}.upgrade-row>:not(.upgrade-main){flex:0 0 auto}.upgrade-row.owned{border-color:var(--agave)}.upgrade-name{font-weight:800}.upgrade-blurb{font-size:.8rem}.upgrade-row.outgrown{opacity:.5}.btn-restock{width:100%;margin-bottom:10px;border-color:var(--agave)}.upgrade-owned-stamp{font-family:var(--font-display);font-size:.8rem;color:var(--agave);border:2px solid var(--agave);border-radius:6px;padding:2px 8px;transform:rotate(-6deg);white-space:nowrap}.open-bar{margin:10px -16px 0;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:var(--night-deep);border-top:1px solid var(--line);display:flex;align-items:center;gap:12px}.open-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0;font-weight:700}.open-spot{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.open-warning{color:var(--salsa);font-size:.82rem;font-weight:600;min-height:1.15em}.btn-open{font-size:1.05rem;padding:10px 22px;font-family:var(--font-display);font-weight:400;letter-spacing:.02em;white-space:nowrap;flex-shrink:0}.service{display:flex;flex-direction:column;flex:1;min-height:0}.service-head{margin-bottom:12px}.service-title{font-family:var(--font-display);font-weight:400;color:var(--lamp);margin:0;font-size:1.4rem}.ticket-rail{display:flex;flex-direction:column;gap:10px;padding:8px 4px 16px;border-top:2px dashed var(--line)}.ticket{background:var(--masa);color:var(--plum-ink);border-radius:4px;padding:10px 14px 8px;max-width:460px;box-shadow:0 3px 8px #00000059;animation:pin-up .24s ease-out;position:relative}.ticket:before{content:"";position:absolute;top:-5px;left:50%;width:10px;height:10px;border-radius:50%;background:var(--salsa);box-shadow:0 1px 2px #0006}.ticket.tilt-l{transform:rotate(-.7deg);align-self:flex-start}.ticket.tilt-r{transform:rotate(.7deg);align-self:flex-start;margin-left:32px}@keyframes pin-up{0%{opacity:0;translate:0 -14px}to{opacity:1;translate:0 0}}.ticket-head{display:flex;justify-content:space-between;gap:24px;font-weight:800;font-variant-numeric:tabular-nums}.ticket-rev{color:#3e7d2c}.ticket-body{font-size:.95rem;margin:2px 0}.ticket-foot{font-size:.8rem;color:#7a6a58}.ticket-soldout{font-family:var(--font-display);font-size:.75rem;color:var(--salsa);border:2px solid var(--salsa);border-radius:4px;display:inline-block;padding:1px 8px;margin-top:4px;transform:rotate(-2deg)}.service-footer{display:flex;align-items:center;gap:16px;padding-top:12px;border-top:1px solid var(--line)}.service-totals{display:flex;gap:18px;font-weight:800;font-variant-numeric:tabular-nums}.service-revenue{color:var(--agave)}.service-footer .btn{margin-left:auto}.results{display:flex;flex-direction:column;align-items:center;padding:4px 0 24px}.receipt{width:100%;max-width:440px;background:var(--masa);color:var(--plum-ink);padding:20px 22px 26px;border-radius:4px;box-shadow:0 6px 18px #0006;clip-path:polygon(0 0,100% 0,100% calc(100% - 8px),95% 100%,90% calc(100% - 6px),85% 100%,80% calc(100% - 6px),75% 100%,70% calc(100% - 6px),65% 100%,60% calc(100% - 6px),55% 100%,50% calc(100% - 6px),45% 100%,40% calc(100% - 6px),35% 100%,30% calc(100% - 6px),25% 100%,20% calc(100% - 6px),15% 100%,10% calc(100% - 6px),5% 100%,0 calc(100% - 8px))}.receipt-header{font-family:var(--font-display);text-align:center;font-size:1.3rem;letter-spacing:.06em}.receipt-sub{text-align:center;color:#7a6a58;margin-bottom:14px}.receipt .muted{color:#7a6a58}.receipt-line{display:flex;justify-content:space-between;gap:16px;padding:3px 0;font-variant-numeric:tabular-nums}.receipt-line.strong{font-weight:800;font-size:1.1rem}.receipt-rule{border-top:2px dashed #c9b795;margin:8px 0}.tone-good{color:#3e7d2c;font-weight:800}.tone-bad{color:#c0392b;font-weight:800}.rep-notes{font-size:.85rem;font-style:italic;padding:2px 0 4px}.receipt-event{margin-top:6px}.receipt-unlocks{margin-top:10px;border:2px solid #3e7d2c;border-radius:6px;padding:8px 10px;font-weight:700;font-size:.9rem}.unlock-line+.unlock-line{margin-top:4px}.results-actions,.ending .btn-primary{position:sticky;bottom:0;z-index:5;margin-top:16px;padding:10px 0 12px;width:100%;display:flex;justify-content:center;background:linear-gradient(to top,var(--night) 55%,color-mix(in srgb,var(--night) 80%,transparent))}.screen-title{justify-content:center;text-align:center;padding-top:32px;overflow-y:auto;max-width:none}.title-card{max-width:520px;margin:0 auto}.title-emoji{font-size:3.5rem}.game-logo{font-family:var(--font-display);font-weight:400;font-size:clamp(2.6rem,9vw,4.2rem);line-height:1.05;margin:8px 0 12px;color:var(--lamp);text-shadow:0 4px 0 rgba(0,0,0,.35)}.title-tag{color:var(--masa-dim);font-size:1.05rem;margin-bottom:18px}.title-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.title-actions .btn{min-width:160px;font-size:1.05rem}.title-credit{margin-top:22px;font-size:.8rem;color:var(--masa-dim)}.title-credit+.title-credit{margin-top:4px}.slot-lead{color:var(--masa-dim);font-size:.95rem;margin-bottom:12px}.slot-list{display:flex;flex-direction:column;gap:10px;text-align:left}.slot-row{display:flex;align-items:center;gap:12px;width:100%;min-height:68px;padding:10px 12px;background:var(--night-deep);border:2px solid var(--line);border-radius:12px;color:inherit;font:inherit;text-align:left}button.slot-row,.slot-open{cursor:pointer}button.slot-row:hover,.slot-open:hover{border-color:var(--lamp)}.slot-empty{border-style:dashed}.slot-filled{padding:0;overflow:hidden}.slot-open{display:flex;align-items:center;gap:12px;flex:1;min-width:0;padding:10px 4px 10px 12px;background:none;border:none;border-radius:10px 0 0 10px;color:inherit;font:inherit;text-align:left}.slot-num{font-family:var(--font-display);font-size:1.5rem;color:var(--lamp);width:1.2em;flex:none;text-align:center}.slot-body{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.slot-name{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.slot-meta{font-size:.85rem}.slot-go{flex:none;font-weight:700;font-size:.9rem;color:var(--lamp);padding-right:12px;white-space:nowrap}.slot-wipe{flex:none;align-self:stretch;padding:0 14px;background:none;border:none;border-left:2px solid var(--line);color:var(--masa-dim);font-size:1rem;cursor:pointer}.slot-wipe:hover{color:var(--salsa);background:#00000040}.slot-confirm{border-color:var(--salsa)}.slot-confirm-actions{display:flex;gap:8px;flex:none}.slot-naming .name-input{min-width:0;width:100%;text-align:left;padding:6px 10px;font-size:.95rem}.slot-naming .slot-name{font-size:.85rem;font-weight:400;color:var(--masa-dim);white-space:normal}@media(max-width:560px){.slot-row{flex-wrap:wrap}.slot-confirm-actions{width:100%;justify-content:flex-end}}.name-form{display:flex;flex-direction:column;gap:10px;align-items:center}.name-form-label{font-size:.95rem;color:var(--masa-dim)}.name-input{background:var(--night-deep);border:2px solid var(--line);border-radius:8px;color:var(--masa);font:inherit;font-size:1.05rem;padding:10px 14px;text-align:center;min-width:230px}.name-input:focus{outline:none;border-color:var(--masa-dim)}.ending{text-align:center;max-width:560px;margin:0 auto;padding:24px 0;display:flex;flex-direction:column;gap:18px;align-items:center}.ending-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.ending-stamp{font-family:var(--font-display);font-size:clamp(1.6rem,6vw,2.6rem);border:4px solid currentColor;border-radius:8px;padding:10px 26px;transform:rotate(-3deg);letter-spacing:.04em}.stamp-gold{color:var(--lamp)}.stamp-rust{color:var(--salsa)}.ending-copy{font-size:1.05rem}.ending-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;width:100%}.stat-box{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:12px 8px}.stat-value{font-weight:800;font-size:1.2rem;font-variant-numeric:tabular-nums;color:var(--lamp)}.stat-label{font-size:.75rem}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}@media(max-width:560px){.truck-header{margin-bottom:12px}.truck-header-row{gap:4px 8px;padding:7px 12px;flex-wrap:wrap}.truck-title{width:100%;min-width:0;flex-wrap:nowrap;gap:6px}.truck-emoji{flex:none}.truck-name{font-size:1rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.truck-day{font-size:.8rem;font-weight:700;color:var(--masa-dim);margin-left:auto;padding-left:8px;white-space:nowrap;flex:none}.truck-stats{width:100%;margin-left:0;gap:5px}.chip{padding:3px 8px;font-size:.82rem;gap:4px}.rep-bar{display:none}.tab-btn{padding:7px 11px;font-size:.85rem;flex:none}.tab-btn .tab-icon{font-size:1.05rem}.tab-btn[aria-selected=false] .tab-label,.tab-btn[aria-selected=false] .tab-badge{display:none}.tab-strip{gap:5px;justify-content:space-between}.open-bar{padding:7px 12px calc(7px + env(safe-area-inset-bottom));gap:8px}.open-info{font-size:.78rem;line-height:1.3}.open-spot{overflow:visible;text-overflow:clip;white-space:normal}.btn-open{font-size:.88rem;padding:8px 12px;border-radius:8px}.ticket.tilt-r{margin-left:12px}.panel{padding:8px 10px 10px}.plan-scroll{padding-bottom:4px}}.plan-body{display:flex;flex-direction:column;gap:10px}.plan-rail{display:flex;flex-direction:column;gap:6px;min-width:0}.spot-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 12px;margin:8px 0 6px}.spot-stat dt{font-size:.62rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;opacity:.55;margin-bottom:1px}.spot-stat dd{margin:0;font-weight:800;font-size:.92rem;font-variant-numeric:tabular-nums;line-height:1.25}.spot-stat-sub{font-weight:600!important;font-size:.74rem!important;opacity:.6}.spot-weather-note{display:inline-block;font-size:.74rem;font-weight:700;padding:2px 8px;border-radius:999px;background:#ffffff0f;margin-bottom:6px}@media(min-width:1100px){.plan-body{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:14px;align-items:start}.spot-list,.upgrade-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:start}.tab-btn{font-size:.95rem;padding:9px 18px}.plan-rail .banner{font-size:.82rem;padding:8px 10px;margin-bottom:0;align-items:flex-start}}.upgrade-row>.muted{white-space:nowrap}.banners-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;padding:4px 2px 6px;border-bottom:1px solid var(--line);margin-bottom:6px}.banners-selectall{display:inline-flex;align-items:center;gap:6px;font-size:.76rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;opacity:.7;cursor:pointer;white-space:nowrap}.banners-actions{display:inline-flex;gap:4px}.banners-action{font-family:var(--font-body);font-size:.74rem;font-weight:800;color:var(--masa);background:transparent;border:1px solid var(--line);border-radius:999px;padding:3px 9px;cursor:pointer;white-space:nowrap}.banners-action:hover{background:var(--line)}.banners-action-danger:hover{background:#ff787829;border-color:#ff787866}.banner-check{flex:none;margin-top:2px;cursor:pointer;accent-color:var(--lamp)}.banner-read{opacity:.45}.banner-selected{outline:2px solid var(--lamp);outline-offset:1px}@media(min-width:1100px){.plan-rail{position:sticky;top:0;max-height:calc(100vh - 210px);min-height:0}.plan-rail .banners{display:flex;flex-direction:column;min-height:0;max-height:100%}.banners-list{overflow-y:auto;min-height:0;display:flex;flex-direction:column;gap:6px;padding-right:4px}}.loan-flavour{font-style:italic;font-size:.85rem;margin-bottom:8px}.loan-status{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;padding:8px 10px;border-radius:10px;background:#ffffff0a;margin-bottom:8px}.loan-owed{font-family:var(--font-display);font-size:1.5rem;color:var(--lamp);font-variant-numeric:tabular-nums}.loan-overdue{background:#ff5a5a1f;outline:1px solid rgba(255,90,90,.45)}.loan-overdue .loan-owed{color:#ff8f8f}.loan-actions{display:flex;gap:6px;flex-wrap:wrap}.loan-terms{margin-bottom:8px;font-size:.86rem}.upgrade-row{display:grid;grid-template-columns:minmax(0,1fr) var(--action-col);align-items:center;gap:10px;min-height:62px;background:transparent;border:0;border-bottom:1px solid var(--line);border-left:3px solid transparent;border-radius:0;padding:8px 10px 8px 9px}:root{--action-col: 104px}.upgrade-row.owned{border-left-color:var(--agave);border-bottom-color:var(--line);background:linear-gradient(90deg,rgba(147,201,111,.08),transparent 40%)}.upgrade-row.locked{border-left-color:transparent;opacity:.55}.upgrade-row.outgrown{opacity:.4}.upgrade-blurb{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.35}.upgrade-row>:not(.upgrade-main){justify-self:stretch;text-align:center;font-variant-numeric:tabular-nums}.upgrade-row .btn{width:100%}.upgrade-list{border-top:1px solid var(--line)}@media(min-width:1100px){.upgrade-list{column-gap:22px}}@media(min-width:1100px){.spot-list{align-items:stretch}.spot-card{min-height:118px}}.spot-blurb{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.menu-row,.pantry-row{background:transparent;border:0;border-bottom:1px solid var(--line);border-left:3px solid transparent;border-radius:0;min-height:46px;padding:6px 10px 6px 9px}.menu-row.locked{display:flex;align-items:center;justify-content:space-between;gap:6px 12px;flex-wrap:wrap}.menu-row:not(.inactive):not(.locked){border-left-color:var(--lamp);background:linear-gradient(90deg,rgba(255,182,72,.07),transparent 45%)}.menu-list,.pantry-list{border-top:1px solid var(--line)}.pantry-row .qty,.menu-price{font-variant-numeric:tabular-nums}.plan-rail .banner{border-radius:0;border-top:0;border-right:0;border-bottom:1px solid var(--line);background:transparent}@media(min-width:1100px){.upgrade-list{align-items:stretch}}@media(max-width:560px){.tab-btn .tab-badge{display:none}}.course-head{font-family:var(--font-display);font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;color:var(--lamp);opacity:.8;margin:14px 0 6px;padding-bottom:4px;border-bottom:1px solid var(--line)}.course-head:first-child{margin-top:2px}.menu-grid{display:grid;grid-template-columns:1fr;gap:8px}@media(min-width:700px){.menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1100px){.menu-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.menu-grid .menu-row{display:flex;flex-direction:column;align-items:stretch;gap:6px;min-height:132px;padding:10px;border:1px solid var(--line);border-left:3px solid transparent;border-radius:var(--radius);background:#ffffff05}.menu-grid .menu-row:not(.inactive):not(.locked){border-left-color:var(--lamp)}.menu-grid .menu-row.locked{min-height:0;flex-direction:row;align-items:center;justify-content:space-between;opacity:.5}.menu-grid .menu-controls{display:flex;align-items:center;justify-content:space-between;gap:6px;flex-wrap:wrap;margin-top:auto}.menu-needs{display:flex;flex-wrap:wrap;gap:4px}.need-chip{font-size:.78rem;font-variant-numeric:tabular-nums;padding:1px 6px;border-radius:999px;background:#ffffff0d;border:1px solid transparent}.need-chip.short{border-color:#ef5b4199;background:#ef5b4124}.pantry-usedby{display:inline-flex;align-items:center;gap:2px;margin-left:8px;font-size:.85rem}.pantry-idle-tag{font-size:.72rem;font-style:italic}.pantry-row.idle .pantry-name,.pantry-row.idle .pantry-price{opacity:.45}.pantry-row.idle{border-left-color:transparent}.awards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:6px}.award-chip{display:flex;align-items:center;gap:7px;padding:7px 9px;border:1px solid var(--line);border-left:3px solid transparent;border-radius:var(--radius);font-size:.84rem;opacity:.62}.award-chip.won{opacity:1;border-left-color:var(--lamp);background:linear-gradient(90deg,rgba(255,182,72,.1),transparent 55%)}.award-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.award-progress{flex:0 0 auto;font-size:.74rem;font-variant-numeric:tabular-nums;opacity:.75}.award-chip.won .award-progress{color:var(--lamp);font-weight:800}.spot-tastes{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:.76rem;margin:2px 0 4px}.taste-like{color:var(--agave)}.taste-dislike{color:var(--masa-dim)}@media(min-width:1100px){.plan-body:not(:has(.plan-rail)){grid-template-columns:minmax(0,1fr)}.plan-main-wide{grid-column:1 / -1}}@media(min-width:820px){.receipt{max-width:860px}.receipt{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:30px;align-content:start}.receipt-span,.receipt>.receipt-rule,.receipt>.rep-notes,.receipt>.receipt-unlocks,.receipt>.event-line{grid-column:1 / -1}.receipt-col{min-width:0}}@media(min-width:700px){.ticket-rail{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-content:start;gap:10px}.ticket.tilt-l,.ticket.tilt-r{transform:none}.ticket:hover{transform:rotate(-.4deg)}}@media(min-width:1100px){.planning[data-tab=money] .planning-cols{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:12px;align-items:start}.planning[data-tab=money] .plan-col{display:contents}.p-loan{grid-column:1}.p-stats{grid-column:2}}.lender-list{display:flex;flex-direction:column;gap:8px}.lender-card{border:1px solid var(--line);border-left:3px solid var(--lamp);border-radius:var(--radius);padding:9px 11px;display:flex;flex-direction:column;gap:5px}.lender-card.unavailable{border-left-color:var(--line);opacity:.62}.lender-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.lender-name{font-weight:800}.lender-rate{font-family:var(--font-display);color:var(--lamp);font-variant-numeric:tabular-nums}.lender-tagline,.lender-terms,.lender-refusal{font-size:.78rem;line-height:1.35}.lender-terms{font-style:italic}.lender-figures{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:.82rem;font-weight:700;font-variant-numeric:tabular-nums}.awards-summary{display:flex;align-items:baseline;justify-content:space-between;gap:10px;cursor:pointer;padding:6px 2px;font-weight:800}.awards-details{border-top:1px solid var(--line);margin-top:8px}.awards-details[open] .awards-summary{margin-bottom:6px}.retire-block{margin-top:10px;padding-top:10px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:7px;align-items:flex-start}.retire-copy{font-size:.82rem}.legacy-score{margin:12px 0 4px;text-align:center}.legacy-number{font-family:var(--font-display);font-size:3rem;color:var(--lamp);line-height:1;font-variant-numeric:tabular-nums}.retire-actions{display:flex;flex-direction:column;gap:7px}.retire-warn{font-size:.8rem;line-height:1.35}@media(max-width:700px){html{font-size:17.5px}.tab-btn{font-size:13px;padding:8px 11px}.tab-btn .tab-icon{font-size:17px}}@media(max-width:700px){.muted,.panel-hint,.upgrade-blurb,.spot-blurb,.lender-tagline,.lender-terms,.lender-refusal,.retire-copy,.retire-warn,.banners-selectall,.banners-action{font-size:max(.82rem,13.5px)}.spot-stat dt,.award-progress,.need-chip,.pantry-idle-tag{font-size:max(.76rem,12.5px)}}@media(pointer:coarse){.btn,.tab-btn,.step-btn,.banner-x,.banners-action{min-height:44px}.step-btn,.banner-x,.banner-check{min-width:44px}}@media(min-width:760px)and (max-width:1099px){.lender-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}}@media(min-width:760px){.spot-list,.upgrade-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:start}.upgrade-list{align-items:stretch}.menu-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:1000px)and (max-width:1099px){.plan-body{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:12px;align-items:start}}.title-credit{text-wrap:balance}@media(max-width:759px){.pantry-row{flex-wrap:wrap}.pantry-main{flex:1 1 100%;min-width:0}.pantry-controls{flex:1 1 100%;display:flex;justify-content:space-between;gap:4px}.pantry-controls .step-btn{flex:1 1 0;min-width:0;padding-left:0;padding-right:0}.pantry-qty{flex:0 0 auto;min-width:2.5rem;text-align:center}}
