@font-face{font-family:Fredoka;src:url(../fonts/Fredoka-VariableFont_wdth,wght.woff2) format("woff2-variations");font-weight:300 700;font-style:normal;font-display:swap}:root{--ui-scale: 1;--cream-50: #F5EBD1;--cream-100: #EFE1BF;--cream-200: #E5CFA2;--gold-400: #F6C94B;--gold-500: #E8A833;--orange-500: #E2713C;--red-400: #E85B41;--red-700: #8A1F10;--gold-200: #FFE9A8;--gold-300: #FFD94D;--gold-600: #B7791F;--gold-700: #8A5A10;--sage-400: #6FBF52;--sage-600: #4F9A37;--sage-800: #2F6B1E;--cocoa-700: #6B3A1F;--cocoa-800: #4F2915;--cocoa-900: #321809;--sage-500: #6FA053;--red-500: #D8452F;--sky-400: #6CC4DE;--sky-600: #2E8CA8;--bark-900: #2C2116;--bark-600: #59402E;--bark-soft: rgba(109, 76, 54, .5);--bark-tile: rgba(89, 64, 46, .5);--row-cream: #FCEFC9;--leaf-300: #A2BF79;--leaf-700: #317244;--leaf-300d: #7C905F;--leaf-800d: #2D5037;--butter-400: #FECB58;--butter-700: #CE791D;--amber-400: #EFB256;--amber-500: #E59031;--wood-300: #D7A67D;--wood-400: #C8966D;--wood-500: #B78359;--white: #FFFFFF;--wheel-cream: #F4ECD0;--wheel-mustard: #D9BE2D;--wheel-orange: #DC8A37;--wheel-teal: #8AC7CF;--black: #000000;--debug-bg: #111111;--debug-surface: #1E1E1E;--debug-stroke: #333333;--debug-muted: #555555;--debug-accent: #0EC3C9;--debug-text-on-dark: #FFFFFF;--bg-panel: var(--cream-100);--bg-pill: var(--cream-50);--fg-ink: var(--cocoa-900);--fg-on-dark: var(--cream-50);--stroke-dark: var(--cocoa-800);--stroke-soft: var(--cocoa-700);--accent-warn: var(--orange-500);--accent-ok: var(--sage-500);--accent-coin: var(--gold-400);--accent-speed: var(--sky-600);--fg-coin: var(--gold-700);--fg-muted: var(--cocoa-700);--bg-cutscene-dialog: color-mix(in srgb, var(--black) 72%, transparent);--stroke-cutscene-dialog: color-mix(in srgb, var(--cream-50) 22%, transparent);--scrim-onboarding: color-mix(in srgb, var(--cocoa-900) 62%, transparent);--touch-min: 44px;--r-sm: calc(6px * var(--ui-scale));--r-md: calc(10px * var(--ui-scale));--r-lg: calc(16px * var(--ui-scale));--r-pill: 999px;--sw-thin: calc(1px * var(--ui-scale));--sw-mid: calc(2px * var(--ui-scale));--sw-bold: calc(3px * var(--ui-scale));--sh-card: 0 6px 0 0 var(--cocoa-800), 0 10px 18px -6px rgba(0, 0, 0, .25);--sh-btn: 0 3px 0 0 var(--cocoa-800), 0 6px 10px -4px rgba(0, 0, 0, .22);--sh-inset: inset 0 2px 0 0 rgba(255, 255, 255, .4), inset 0 -2px 0 0 rgba(0, 0, 0, .12);--sp-1: calc(4px * var(--ui-scale));--sp-2: calc(8px * var(--ui-scale));--sp-3: calc(12px * var(--ui-scale));--sp-4: calc(16px * var(--ui-scale));--sp-5: calc(20px * var(--ui-scale));--sp-6: calc(24px * var(--ui-scale));--sp-7: calc(32px * var(--ui-scale));--sp-8: calc(40px * var(--ui-scale));--sp-9: calc(48px * var(--ui-scale));--sp-10: calc(64px * var(--ui-scale));--app-vw: var(--viewport-width, 100vw);--app-vh: var(--viewport-height, 100dvh);--overlay-bottom-reserve: 0px;--board-sign-clearance: 56px;--overlay-body-max-height: calc( var(--app-vh) - env(safe-area-inset-top) - env(safe-area-inset-bottom) - var(--board-sign-clearance) - var(--sp-7) - var(--overlay-bottom-reserve) );--fs-xs: clamp(11px, calc((.55vw + 8px) * var(--ui-scale)), calc(12px * var(--ui-scale)));--fs-sm: clamp(12px, calc((.65vw + 9px) * var(--ui-scale)), calc(14px * var(--ui-scale)));--fs-md: clamp(13px, calc((.8vw + 10px) * var(--ui-scale)), calc(16px * var(--ui-scale)));--fs-lg: clamp(calc(16px * var(--ui-scale)), calc((1.1vw + 11px) * var(--ui-scale)), calc(20px * var(--ui-scale)));--fs-xl: clamp(calc(20px * var(--ui-scale)), calc((1.6vw + 13px) * var(--ui-scale)), calc(28px * var(--ui-scale)));--fs-2xl: clamp(calc(26px * var(--ui-scale)), calc((2.4vw + 16px) * var(--ui-scale)), calc(40px * var(--ui-scale)));--ease-pop: cubic-bezier(.34, 1.56, .64, 1);--ease-out: cubic-bezier(.22, 1, .36, 1);--dur-fast: .12s;--dur-med: .22s;--dur-slow: .36s;--z-hud: 100;--z-clear-flash: 150;--z-panel: 200;--z-modal: 300;--z-transaction-fx: 350;--z-onboarding: 400;--z-toast: 500;--z-loading: 550;--z-cutscene: 600;--z-watermark: 700}:root:has(.onboarding-modal){--overlay-bottom-reserve: calc(var(--onboarding-dialogue-height, 0px) + var(--sp-4))}@media (max-height: 500px){:root{--ui-scale: .82;--board-sign-clearance: 44px}}@media (min-width: 1280px) and (min-height: 720px){:root{--ui-scale: 1.25}}@media (prefers-reduced-motion: reduce){:root{--dur-fast: 0ms;--dur-med: 0ms;--dur-slow: 0ms}}html,body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}body{margin:0;padding:0;overflow:hidden;touch-action:manipulation;color:var(--fg-ink);background-color:var(--black);font-family:var(--font-ui);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html{--font-ui: "Fredoka", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}html[lang^=tr],html[lang^=vi],html[lang^=ru],html[lang^=id]{--font-ui: system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", "Helvetica Neue", Arial, sans-serif}html[lang^=th]{--font-ui: system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans Thai", "Noto Sans", "Leelawadee UI", Thonburi, "Helvetica Neue", Arial, sans-serif}html[lang^=ja]{--font-ui: system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans JP", "Noto Sans CJK JP", "Hiragino Sans", "Yu Gothic UI", Meiryo, "Helvetica Neue", Arial, sans-serif}html[lang^=ko]{--font-ui: system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans KR", "Noto Sans CJK KR", "Apple SD Gothic Neo", "Malgun Gothic", "Helvetica Neue", Arial, sans-serif}html[lang^=zh]{--font-ui: system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans SC", "Noto Sans CJK SC", "PingFang SC", "Microsoft YaHei UI", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif}#root{width:100%;height:100vh;height:100dvh;overflow:hidden;position:relative}.ui-sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.ui-icon{display:inline-block;flex-shrink:0;vertical-align:middle;line-height:0}.ui-icon--ink{color:var(--fg-ink)}.ui-icon--muted{color:var(--stroke-soft)}.ui-icon--warn{color:var(--accent-warn)}.ui-icon--ok{color:var(--accent-ok)}.ui-icon--coin{color:var(--accent-coin)}.ui-badge{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;font-family:inherit;font-weight:700;line-height:1;-webkit-user-select:none;user-select:none;pointer-events:none;animation:ui-badge-pop var(--dur-med) var(--ease-pop);transform-origin:center}.ui-badge--num{min-width:18px;height:18px;padding:0 5px;border-radius:var(--r-pill);background:var(--red-500);color:var(--fg-on-dark);border:var(--sw-mid) solid var(--stroke-dark);font-size:max(11px,var(--fs-xs))}.ui-badge--dot{width:10px;height:10px;padding:0;border-radius:var(--r-pill);background:var(--red-500);border:var(--sw-thin) solid var(--stroke-dark)}.ui-badge--new{min-width:32px;height:18px;padding:0 var(--sp-2);border-radius:var(--r-pill);background:var(--bg-pill);color:var(--fg-ink);border:var(--sw-mid) solid var(--stroke-dark);font-size:max(11px,var(--fs-xs));letter-spacing:.05em}.ui-badge--tone-warn{background:var(--accent-warn)}.ui-badge--tone-ok{background:var(--accent-ok)}.ui-badge--tone-coin{background:var(--accent-coin);color:var(--fg-ink)}@keyframes ui-badge-pop{0%{transform:scale(0)}60%{transform:scale(1.15)}to{transform:scale(1)}}@media (prefers-reduced-motion: reduce){.ui-badge{animation:none}}.ui-iconbtn{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0;padding:0;cursor:pointer;-webkit-user-select:none;user-select:none;position:relative;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;border:var(--sw-mid) solid var(--stroke-dark);border-radius:var(--r-md);box-shadow:var(--sh-btn),var(--sh-inset);transition:transform var(--dur-fast) var(--ease-pop),box-shadow var(--dur-fast) var(--ease-pop),filter var(--dur-fast) var(--ease-out)}.ui-iconbtn:focus{outline:none}.ui-iconbtn:focus-visible,.ui-iconbtn[data-force-state=focus]{outline:none;box-shadow:0 0 0 3px var(--gold-400),var(--sh-btn),var(--sh-inset)}.ui-iconbtn:active:not(:disabled),.ui-iconbtn[data-force-state=active]:not(:disabled){transform:translateY(1px);box-shadow:0 1px 0 0 var(--cocoa-800),0 2px 6px -2px #00000040,var(--sh-inset)}.ui-iconbtn--sm{width:max(calc(var(--touch-min) - 8px),calc(36px * var(--ui-scale)));height:max(calc(var(--touch-min) - 8px),calc(36px * var(--ui-scale)));border-radius:var(--r-sm)}.ui-iconbtn--md{width:max(var(--touch-min),calc(44px * var(--ui-scale)));height:max(var(--touch-min),calc(44px * var(--ui-scale)))}.ui-iconbtn--lg{width:max(var(--touch-min),calc(52px * var(--ui-scale)));height:max(var(--touch-min),calc(52px * var(--ui-scale)))}.ui-iconbtn--sm:before{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px}.ui-iconbtn--primary{background:linear-gradient(180deg,var(--gold-400) 0%,var(--orange-500) 100%);color:var(--fg-on-dark)}.ui-iconbtn--ghost{background:transparent;color:var(--fg-ink);border-color:var(--stroke-soft);box-shadow:none}.ui-iconbtn--ghost:active:not(:disabled),.ui-iconbtn--ghost[data-force-state=active]:not(:disabled){box-shadow:inset 0 2px 4px #0000001f}.ui-iconbtn--cream{background:var(--bg-pill);color:var(--fg-ink);border-color:var(--stroke-dark)}.ui-iconbtn:disabled{cursor:not-allowed;filter:saturate(.4) brightness(.92);opacity:.7}.ui-iconbtn__badge{position:absolute;top:-6px;right:-6px}.ui-iconbtn__icon{line-height:0}.ui-itemicon{position:relative;display:inline-block;flex-shrink:0;line-height:0;vertical-align:middle}.ui-itemicon__img{display:block;width:100%;height:100%;object-fit:contain}.ui-itemicon__qty{position:absolute;bottom:-4px;right:-4px}.ui-progress{display:flex;flex-direction:column;gap:var(--sp-1);width:100%;box-sizing:border-box}.ui-progress__track{position:relative;width:100%;background:var(--cocoa-900);border:var(--sw-mid) solid var(--stroke-dark);border-radius:var(--r-pill);box-shadow:inset 0 2px 4px #00000073,inset 0 -1px #ffffff0f;overflow:hidden;box-sizing:border-box}.ui-progress--sm .ui-progress__track{height:calc(12px * var(--ui-scale))}.ui-progress--md .ui-progress__track{height:calc(18px * var(--ui-scale))}.ui-progress--lg .ui-progress__track{height:calc(26px * var(--ui-scale))}.ui-progress__fill{height:100%;min-width:0;border-radius:var(--r-pill);transition:width .3s var(--ease-out);background-size:28px 28px;animation:ui-progress-stripe 1.2s linear infinite;background-repeat:repeat}.ui-progress.is-idle .ui-progress__fill{animation-play-state:paused}.ui-progress--solid .ui-progress__fill{animation:none;background-size:auto}.ui-progress--tone-gold.ui-progress--stripe .ui-progress__fill{background-image:repeating-linear-gradient(45deg,var(--gold-400) 0 10px,var(--gold-500) 10px 20px)}.ui-progress--tone-gold.ui-progress--solid .ui-progress__fill{background-image:linear-gradient(180deg,var(--gold-400) 0%,var(--gold-500) 100%)}.ui-progress--tone-sage.ui-progress--stripe .ui-progress__fill{background-image:repeating-linear-gradient(45deg,var(--sage-500) 0 10px,var(--cocoa-700) 10px 20px)}.ui-progress--tone-sage.ui-progress--solid .ui-progress__fill{background-image:linear-gradient(180deg,var(--sage-500) 0%,var(--cocoa-700) 140%)}.ui-progress--tone-sky.ui-progress--stripe .ui-progress__fill{background-image:repeating-linear-gradient(45deg,var(--sky-400) 0 10px,var(--cocoa-700) 10px 20px)}.ui-progress--tone-sky.ui-progress--solid .ui-progress__fill{background-image:linear-gradient(180deg,var(--sky-400) 0%,var(--cocoa-700) 140%)}@keyframes ui-progress-stripe{0%{background-position:0 0}to{background-position:28px 0}}.ui-progress__label{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-2);font-size:var(--fs-sm);font-weight:700;color:var(--fg-ink)}.ui-progress__label-text{flex:1}.ui-progress__percent{font-variant-numeric:tabular-nums;color:var(--stroke-soft)}@media (prefers-reduced-motion: reduce){.ui-progress__fill{animation:none!important}}.stat-chips{display:flex;flex-direction:row;gap:var(--sp-1);align-items:center;flex-wrap:nowrap;pointer-events:none}.stat-chip{position:relative;display:inline-flex;align-items:center;gap:calc(var(--sp-1) * .75);padding:2px var(--sp-1);background:var(--bg-pill);border:var(--sw-mid) solid var(--stroke-dark);border-radius:var(--r-pill);color:var(--fg-ink);font-size:calc(11px * var(--ui-scale));line-height:1;overflow:hidden;font-feature-settings:"tnum"}.stat-chip__value{font-weight:700}.stat-chip__icon{flex:none}.stat-chip--speed .stat-chip__icon{color:var(--accent-speed)}.stat-chip__meter{position:absolute;left:0;bottom:0;width:100%;height:calc(2px * var(--ui-scale));background:var(--accent-coin);transform-origin:left center;transform:scaleX(0);animation:stat-chip-fill var(--drip-duration, 1s) linear infinite}@keyframes stat-chip-fill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.stat-chip.is-popping{animation:stat-chip-pop .42s ease-out}@keyframes stat-chip-pop{0%{transform:scale(1);box-shadow:none}35%{transform:scale(1.12);box-shadow:0 0 calc(10px * var(--ui-scale)) var(--accent-coin)}to{transform:scale(1);box-shadow:none}}.stat-chip.is-changed{animation:stat-chip-punch .42s ease-out}.stat-chip--coins.is-changed{--stat-chip-punch-tint: var(--accent-coin)}.stat-chip--speed.is-changed{--stat-chip-punch-tint: var(--accent-speed)}@keyframes stat-chip-punch{0%{transform:scale(1) rotate(0);box-shadow:none}30%{transform:scale(1.28) rotate(-3deg);box-shadow:0 0 calc(16px * var(--ui-scale)) var(--stat-chip-punch-tint)}60%{transform:scale(1.08) rotate(2deg)}to{transform:scale(1) rotate(0);box-shadow:none}}@media (prefers-reduced-motion: reduce){.stat-chip__meter{animation:none;transform:scaleX(1)}.stat-chip.is-popping,.stat-chip.is-changed{animation:none}}.goal-chip{pointer-events:auto;position:relative;display:flex;align-items:center;gap:var(--sp-2);width:calc(232px * var(--ui-scale));max-width:100%;background:var(--bg-pill);border:var(--sw-mid) solid var(--stroke-dark);border-radius:calc(var(--r-md, 14px) * 1);padding:var(--sp-2)}.goal-chip--pop{animation:goal-chip-pop .5s ease-out}@keyframes goal-chip-pop{0%{transform:scale(1);box-shadow:0 0 0 0 transparent}35%{transform:scale(1.06);box-shadow:0 0 0 4px color-mix(in srgb,var(--gold-400, #e8b93c) 55%,transparent)}to{transform:scale(1);box-shadow:0 0 0 0 transparent}}.goal-chip__reward-float{position:absolute;top:calc(-6px * var(--ui-scale));right:var(--sp-2);font-size:var(--fs-md);font-weight:800;color:var(--gold-400, #e8b93c);-webkit-text-stroke:1px var(--stroke-dark);paint-order:stroke fill;pointer-events:none;animation:goal-chip-reward-float .9s ease-out forwards}@keyframes goal-chip-reward-float{0%{opacity:0;transform:translateY(0)}15%{opacity:1}to{opacity:0;transform:translateY(calc(-22px * var(--ui-scale)))}}@media (prefers-reduced-motion: reduce){.goal-chip--pop{animation:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--gold-400, #e8b93c) 55%,transparent)}.goal-chip__reward-float{animation:none;opacity:1;transform:none}}.goal-chip__icon-tile{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:calc(44px * var(--ui-scale));height:calc(44px * var(--ui-scale));background:var(--cream-100, #f5ecd7);border:var(--sw-thin) solid var(--stroke-dark);border-radius:10px}.goal-chip__icon{width:78%;height:78%;object-fit:contain;display:block}.goal-chip__body{display:flex;flex-direction:column;gap:var(--sp-1);min-width:0;flex:1 1 auto}.goal-chip__label{font-size:var(--fs-md);font-weight:700;line-height:1.15;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}.goal-chip__progress-row{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.goal-chip__track{flex:1 1 auto;min-width:calc(48px * var(--ui-scale));height:calc(8px * var(--ui-scale));border-radius:999px;background:color-mix(in srgb,var(--stroke-dark) 22%,transparent);overflow:hidden}.goal-chip__fill{display:block;height:100%;border-radius:inherit;background:var(--gold-400, #e8b93c);transition:width .3s ease-out}.goal-chip__count{flex-shrink:0;font-size:var(--fs-sm);font-weight:700;font-variant-numeric:tabular-nums}.goal-chip__reward{flex-shrink:0;display:inline-flex;align-items:center;gap:2px;font-size:var(--fs-sm);font-weight:700;margin-left:auto}.goal-chip__reward-icon{display:block}@media (max-width: 480px),(max-height: 500px){.goal-chip{width:auto;max-width:calc(100vw - 190px);gap:var(--sp-1);padding:var(--sp-1)}.goal-chip__icon-tile{width:28px;height:28px;border-radius:8px}.goal-chip__label{font-size:var(--fs-sm);-webkit-line-clamp:1;line-clamp:1}.goal-chip__progress-row{gap:var(--sp-1);flex-wrap:nowrap}.goal-chip__track{height:5px;min-width:24px}.goal-chip__count,.goal-chip__reward{font-size:var(--fs-xs)}.goal-chip__reward-icon{width:14px!important;height:14px!important}}.order-chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit;color:inherit;cursor:pointer;pointer-events:auto;display:flex;align-items:center;gap:var(--sp-2);width:fit-content;max-width:100%;min-height:calc(26px * var(--ui-scale));background:var(--bg-pill);border:var(--sw-thin) solid var(--stroke-dark);border-radius:var(--r-pill);padding:2px var(--sp-2)}.order-chip:active{transform:translateY(1px)}.order-chip__rep{font-size:var(--fs-xs);font-weight:700;color:var(--fg-coin);line-height:1;white-space:nowrap}.order-chip__koala{font-size:var(--fs-md);line-height:1}.order-chip__pill{display:inline-flex;align-items:center;gap:2px;font-size:var(--fs-xs);font-weight:700;font-variant-numeric:tabular-nums;line-height:1}.order-chip__pill--done{opacity:.5}.order-chip__transit{font-size:var(--fs-sm);font-weight:700;font-variant-numeric:tabular-nums;line-height:1}.order-chip__collect{display:inline-flex;align-items:center;gap:var(--sp-1);font-size:var(--fs-sm);font-weight:800;line-height:1}.order-chip__collect-icon{display:block;flex-shrink:0}.order-chip--ready{border-color:var(--gold-400, #e8b93c);animation:order-chip-ready-breathe 1.6s ease-in-out infinite}@keyframes order-chip-ready-breathe{0%,to{box-shadow:0 0 0 0 transparent}50%{box-shadow:0 0 0 3px color-mix(in srgb,var(--gold-400, #e8b93c) 45%,transparent)}}@media (prefers-reduced-motion: reduce){.order-chip--ready{animation:none;box-shadow:0 0 0 2px color-mix(in srgb,var(--gold-400, #e8b93c) 45%,transparent)}}@media (max-width: 480px),(max-height: 500px){.order-chip{max-width:calc(100vw - 190px);gap:var(--sp-1);min-height:22px;padding:1px var(--sp-1)}.order-chip__koala{font-size:var(--fs-sm)}}.gift-chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit;color:inherit;cursor:pointer;pointer-events:auto;display:flex;align-items:center;width:fit-content;max-width:100%;min-height:44px;min-width:44px;background:none;border:none;padding:0;margin:calc((26px * var(--ui-scale) - 44px) / 2) 0}.gift-chip:active .gift-chip__pill{transform:translateY(1px)}.gift-chip__pill{display:flex;align-items:center;gap:var(--sp-2);min-height:calc(26px * var(--ui-scale));background:var(--bg-pill);border:var(--sw-thin) solid var(--stroke-dark);border-radius:var(--r-pill);padding:2px var(--sp-2)}.gift-chip__icon{font-size:var(--fs-md);line-height:1}.gift-chip__label{font-size:var(--fs-xs);font-weight:700;color:var(--fg-coin);line-height:1;white-space:nowrap}.ui-toast{display:flex;align-items:flex-start;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);background:var(--row-cream);color:var(--fg-ink);border:var(--sw-mid) solid var(--bark-900);border-radius:var(--r-md);box-shadow:var(--sh-btn);min-width:calc(260px * var(--ui-scale));max-width:calc(420px * var(--ui-scale));box-sizing:border-box}.ui-toast__icon-tile{flex:0 0 auto;width:calc(36px * var(--ui-scale));height:calc(36px * var(--ui-scale));display:inline-flex;align-items:center;justify-content:center;border:var(--sw-mid) solid var(--bark-900);border-radius:var(--r-sm);color:var(--fg-on-dark);background:var(--stroke-soft)}.ui-toast--tone-info .ui-toast__icon-tile{background:var(--sky-400)}.ui-toast--tone-success .ui-toast__icon-tile{background:var(--sage-500)}.ui-toast--tone-warn .ui-toast__icon-tile{background:var(--accent-warn)}.ui-toast--tone-error .ui-toast__icon-tile{background:var(--red-500)}.ui-toast__content{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:var(--sp-1)}.ui-toast__title{font-weight:700;color:var(--fg-ink);font-size:var(--fs-md);line-height:1.2}.ui-toast__body{font-size:var(--fs-sm);color:var(--stroke-soft);line-height:1.4}.ui-toast__items{display:flex;flex-wrap:wrap;gap:var(--sp-1);margin-top:var(--sp-1)}.ui-toast__item-pill{display:inline-flex;align-items:center;gap:calc(var(--sp-1) / 2);min-height:calc(24px * var(--ui-scale));padding:2px var(--sp-1);background:var(--bg-pill);border:var(--sw-thin) solid var(--bark-soft);border-radius:var(--r-sm);color:var(--fg-ink);font-size:var(--fs-sm);font-weight:700;font-variant-numeric:tabular-nums;line-height:1}.ui-toast__dismiss{flex:0 0 auto;align-self:flex-start}@media (max-width: 600px),(max-height: 500px){.ui-toast{min-width:0;width:min(calc(300px * var(--ui-scale)),calc(100vw - 16px));max-width:calc(100vw - 16px);gap:var(--sp-2);padding:var(--sp-2) var(--sp-3)}.ui-toast__icon-tile{width:calc(28px * var(--ui-scale));height:calc(28px * var(--ui-scale))}.ui-toast__title{font-size:var(--fs-sm)}.ui-toast__body{font-size:var(--fs-xs);line-height:1.3}}.ui-toast--minor{align-items:center;gap:var(--sp-2);min-width:0;width:fit-content;max-width:min(calc(360px * var(--ui-scale)),calc(100vw - 16px));padding:var(--sp-1) var(--sp-3);border-radius:var(--r-pill);cursor:pointer}.ui-toast--minor .ui-toast__title{font-size:var(--fs-sm)}.ui-toast--minor .ui-toast__body{font-size:var(--fs-xs);line-height:1.3}.ui-toast--minor.ui-toast--tone-success{border-color:var(--sage-500)}.ui-toast--minor.ui-toast--tone-warn{border-color:var(--accent-warn)}.ui-toast--minor.ui-toast--tone-error{border-color:var(--red-500)}.ui-toast--minor.ui-toast--accent-gold{background:linear-gradient(180deg,var(--gold-200) 0%,var(--gold-300) 100%);border-color:var(--gold-600)}.ui-toast--minor.ui-toast--accent-gold .ui-toast__title{color:var(--gold-700)}.toast-container{position:fixed;top:var(--sp-4);left:50%;transform:translate(-50%);z-index:var(--z-toast);display:flex;flex-direction:column;align-items:center;gap:var(--sp-2);pointer-events:none}.toast-slot{pointer-events:auto;animation:toast-slot-in var(--dur-med) var(--ease-out) both;transition:opacity var(--dur-slow) var(--ease-out),transform var(--dur-slow) var(--ease-out)}.toast-slot--exiting{opacity:0;transform:translateY(-8px);pointer-events:none}@keyframes toast-slot-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.toast-slot{animation:none;transition:none}.toast-slot--exiting{transform:none}}@media (max-width: 600px),(max-height: 500px){.toast-container{top:var(--sp-2);gap:var(--sp-1)}}@media (max-width: 600px) and (orientation: portrait){body:has(.hud) .toast-container{top:calc(max(var(--sp-3),env(safe-area-inset-top)) + var(--hud-top-row-height, 0px) + var(--sp-3))}}.tf-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-transaction-fx);pointer-events:none;overflow:hidden}.tf-node{position:absolute;transform:translate(-50%,-50%);will-change:transform,opacity}.tf-node--float{animation:tf-float var(--tf-duration) var(--ease-out) forwards}.tf-float-text{display:inline-block;font-size:var(--tf-font-size);font-weight:800;color:var(--tf-color);text-shadow:calc(var(--tf-stroke-width) * -1) 0 0 var(--tf-stroke-color),var(--tf-stroke-width) 0 0 var(--tf-stroke-color),0 calc(var(--tf-stroke-width) * -1) 0 var(--tf-stroke-color),0 var(--tf-stroke-width) 0 var(--tf-stroke-color);font-variant-numeric:tabular-nums;white-space:nowrap;letter-spacing:.01em;-webkit-user-select:none;user-select:none}@keyframes tf-float{0%{transform:translate(-50%,-50%) scale(var(--tf-start-scale));opacity:0}15%{transform:translate(-50%,-50%) scale(1);opacity:1}65%{transform:translate(calc(-50% + var(--tf-drift-x) * .65),calc(-50% + var(--tf-drift-y) * .65)) scale(1);opacity:1}to{transform:translate(calc(-50% + var(--tf-drift-x)),calc(-50% + var(--tf-drift-y))) scale(1);opacity:0}}.tf-node--fail{animation:tf-fail-pulse var(--tf-duration) var(--ease-pop) forwards}.tf-fail-glyph{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--tf-color, transparent);color:#fff8e3;font-weight:800;font-size:16px;line-height:1;background:var(--tf-color);-webkit-user-select:none;user-select:none}@keyframes tf-fail-pulse{0%{transform:translate(-50%,-50%) scale(.5);opacity:0}40%{transform:translate(-50%,-50%) scale(1.15);opacity:.9}to{transform:translate(-50%,-50%) scale(1);opacity:0}}.tf-node--item-fly{animation:tf-item-fly var(--tf-duration) var(--tf-ease) forwards}@keyframes tf-item-fly{0%{transform:translate(-50%,-50%) scale(var(--tf-start-scale));opacity:1}to{transform:translate(calc(-50% + var(--tf-end-x)),calc(-50% + var(--tf-end-y))) scale(var(--tf-end-scale));opacity:.2}}@media (prefers-reduced-motion: reduce){.tf-node--float,.tf-node--fail{animation-duration:1ms!important}.tf-node--item-fly{animation-name:tf-item-fly-rm!important;animation-duration:1ms!important}}@keyframes tf-item-fly-rm{0%,to{transform:translate(calc(-50% + var(--tf-end-x)),calc(-50% + var(--tf-end-y))) scale(var(--tf-end-scale));opacity:.2}}.hud{position:absolute;top:0;right:0;bottom:0;left:0;z-index:var(--z-hud);pointer-events:none;display:flex;justify-content:space-between;align-items:flex-start;padding-top:max(var(--sp-3),env(safe-area-inset-top));padding-right:max(var(--sp-3),env(safe-area-inset-right));padding-bottom:max(var(--sp-3),env(safe-area-inset-bottom));padding-left:max(var(--sp-3),env(safe-area-inset-left));gap:var(--sp-3)}.hud-left{display:flex;flex-direction:column;gap:var(--sp-2);max-width:calc(240px * var(--ui-scale));min-width:0;padding-left:var(--sp-7)}.hud-shop-shortcut{animation:hud-shop-pulse 1.2s ease-in-out infinite}@keyframes hud-shop-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}@media (prefers-reduced-motion: reduce){.hud-shop-shortcut{animation:none}}@media (max-width: 480px),(max-height: 500px){.hud-left{gap:var(--sp-1);max-width:calc(170px * var(--ui-scale))}}.hud-coin-menu{position:relative;width:100%}.hud-coin{pointer-events:auto;min-height:max(var(--touch-min),calc(36px * var(--ui-scale)));font-family:inherit;text-align:left;cursor:pointer;display:inline-block;position:relative;background:var(--bg-pill);border:var(--sw-mid) solid var(--stroke-dark);border-radius:var(--r-pill);padding:var(--sp-1) var(--sp-4) var(--sp-1) calc(34px * var(--ui-scale));margin-top:calc(6px * var(--ui-scale));box-shadow:var(--sh-btn);color:var(--fg-ink);font-weight:700;font-size:var(--fs-xl);font-variant-numeric:tabular-nums;line-height:1;transform-origin:left center}.hud-coin-icon{position:absolute;left:calc(-26px * var(--ui-scale));top:50%;transform:translateY(-50%);z-index:1}.hud-coin-value{font-feature-settings:"tnum";letter-spacing:.01em}.hud-coin:focus-visible{outline:var(--sw-mid) solid var(--stroke-dark);outline-offset:2px}.hud-coin-breakdown{position:absolute;top:calc(100% + var(--sp-2));left:0;right:0;min-width:calc(200px * var(--ui-scale));display:flex;flex-direction:column;gap:var(--sp-2);padding:var(--sp-3);background:var(--bg-pill);border:var(--sw-mid) solid var(--stroke-dark);border-radius:var(--r-lg);box-shadow:var(--sh-card);z-index:1;pointer-events:auto;transform-origin:top center;animation:hud-coin-breakdown-in var(--dur-med) var(--ease-pop) both}.hud-coin-breakdown--closing{animation:hud-coin-breakdown-out var(--dur-med) var(--ease-out) both;pointer-events:none}@keyframes hud-coin-breakdown-in{0%{opacity:0;transform:translateY(-6px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes hud-coin-breakdown-out{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-6px) scale(.96)}}.hud-coin-breakdown__row{display:flex;align-items:center;gap:var(--sp-2);color:var(--fg-ink);font-size:var(--fs-sm);font-weight:700;line-height:1}.hud-coin-breakdown__value{font-variant-numeric:tabular-nums}.hud-coin-breakdown__label{margin-left:auto;color:var(--fg-muted);font-size:var(--fs-xs);font-weight:600}.hud-coin-breakdown__icon--speed{color:var(--accent-speed)}.hud-coin-breakdown__divider{height:var(--sw-thin);border-radius:999px;background:color-mix(in srgb,var(--stroke-dark) 25%,transparent)}.hud-coin-breakdown--heirlooms{min-width:calc(248px * var(--ui-scale))}.hud-coin-breakdown__heirlooms{display:flex;flex-direction:column;gap:var(--sp-2)}.hud-coin-breakdown__section{color:var(--fg-muted);font-size:var(--fs-xs);font-weight:700;line-height:1}.hud-heirloom{display:flex;align-items:flex-start;gap:var(--sp-2)}.hud-heirloom>:first-child{flex:0 0 auto}.hud-heirloom__text{display:flex;flex-direction:column;gap:calc(2px * var(--ui-scale));min-width:0}.hud-heirloom__name{color:var(--fg-ink);font-size:var(--fs-sm);font-weight:700;line-height:1.15}.hud-heirloom__effect{color:var(--fg-muted);font-size:var(--fs-xs);font-weight:600;line-height:1.25}.hud-coin.is-flashing--gain{animation:hud-coin-flash-gain var(--hud-coin-pulse-duration) var(--ease-pop)}.hud-coin.is-flashing--spend{animation:hud-coin-flash-spend var(--hud-coin-pulse-duration) var(--ease-pop)}@keyframes hud-coin-flash-gain{0%{transform:scale(1);box-shadow:var(--sh-btn)}50%{transform:scale(1.06);box-shadow:0 0 0 3px var(--hud-coin-pulse-gain-tint),var(--sh-btn)}to{transform:scale(1);box-shadow:var(--sh-btn)}}@keyframes hud-coin-flash-spend{0%{transform:scale(1);box-shadow:var(--sh-btn)}50%{transform:scale(1.06);box-shadow:0 0 0 3px var(--hud-coin-pulse-spend-tint),var(--sh-btn)}to{transform:scale(1);box-shadow:var(--sh-btn)}}.hud-coin.is-microshake{animation:hud-coin-microshake var(--hud-coin-microshake-duration) cubic-bezier(.36,.07,.19,.97)}@keyframes hud-coin-microshake{0%,to{transform:translate(0)}20%{transform:translate(calc(var(--hud-coin-microshake-amp) * -1))}40%{transform:translate(var(--hud-coin-microshake-amp))}60%{transform:translate(calc(var(--hud-coin-microshake-amp) * -.6))}80%{transform:translate(calc(var(--hud-coin-microshake-amp) * .4))}}.hud-right{display:flex;flex-direction:column;align-items:flex-end;gap:var(--sp-2);min-width:0}.hud-buttons{pointer-events:auto;display:flex;gap:var(--sp-2);align-items:flex-start}.hud-buttons .ui-iconbtn--cream .ui-iconbtn__icon{width:calc(32px * var(--ui-scale))!important;height:calc(32px * var(--ui-scale))!important}@media (prefers-reduced-motion: reduce){.hud-coin.is-flashing--gain,.hud-coin.is-flashing--spend,.hud-coin.is-microshake{animation-duration:1ms!important}}.progress-flash{position:fixed;left:50%;bottom:var(--progress-flash-bottom);z-index:var(--z-clear-flash);width:var(--progress-flash-width-percent);max-width:var(--progress-flash-max-width);pointer-events:none;display:flex;align-items:stretch;gap:var(--sp-2);opacity:0;transform:translate(-50%,8px);transition:opacity var(--progress-flash-hide-ms) cubic-bezier(.4,0,1,1),transform var(--progress-flash-hide-ms) cubic-bezier(.4,0,1,1)}.progress-flash.is-visible{opacity:1;transform:translate(-50%);transition:opacity var(--progress-flash-show-ms) cubic-bezier(.22,1,.36,1),transform var(--progress-flash-show-ms) cubic-bezier(.22,1,.36,1)}.progress-flash__pill{display:grid;grid-template-columns:1fr auto;align-items:stretch;column-gap:var(--sp-3);padding-right:var(--sp-3);min-height:calc(28px * var(--ui-scale));background:var(--cocoa-900);border:var(--sw-bold) solid var(--stroke-dark);border-radius:var(--r-pill);box-shadow:var(--sh-card);box-sizing:border-box;overflow:hidden;flex:1 1 auto;min-width:0}.progress-flash__season{flex:0 0 auto;display:grid;place-items:center;min-width:calc(38px * var(--ui-scale));min-height:calc(28px * var(--ui-scale));padding:0 var(--sp-2);box-sizing:border-box;background:var(--cocoa-900);color:var(--gold-300);border:var(--sw-bold) solid var(--stroke-dark);border-radius:var(--r-pill);box-shadow:var(--sh-card);font-size:var(--fs-sm);font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:.02em}.progress-flash .progress-flash__bar.ui-progress{display:contents}.progress-flash .progress-flash__bar .ui-progress__track{height:auto;min-height:calc(28px * var(--ui-scale));border:none;border-radius:0;box-shadow:none;background:transparent}.progress-flash .progress-flash__bar .ui-progress__fill{border-radius:0;transition:width var(--progress-flash-fill-ms) cubic-bezier(.22,1,.36,1)}.progress-flash .progress-flash__bar .ui-progress__label{align-self:center;margin:0;line-height:1}.progress-flash .progress-flash__bar .ui-progress__percent{font-size:var(--fs-md);font-weight:700;color:var(--cream-100);font-variant-numeric:tabular-nums}@media (max-height: 500px),(max-width: 480px){.progress-flash{max-width:min(var(--progress-flash-max-width),300px)}.progress-flash__pill{min-height:calc(24px * var(--ui-scale));column-gap:var(--sp-2);padding-right:var(--sp-2)}.progress-flash .progress-flash__bar .ui-progress__track{min-height:calc(24px * var(--ui-scale))}.progress-flash .progress-flash__bar .ui-progress__percent{font-size:var(--fs-sm)}}@media (prefers-reduced-motion: reduce){.progress-flash,.progress-flash.is-visible,.progress-flash .progress-flash__bar .ui-progress__fill{transition:none}}.ui-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0;font-family:inherit;font-weight:700;cursor:pointer;-webkit-user-select:none;user-select:none;position:relative;display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);box-sizing:border-box;text-align:center;text-decoration:none;white-space:normal;text-wrap:balance;-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word;border:var(--sw-mid) solid var(--stroke-dark);border-radius:var(--r-md);box-shadow:var(--sh-btn),var(--sh-inset);transition:transform var(--dur-fast) var(--ease-pop),box-shadow var(--dur-fast) var(--ease-pop),filter var(--dur-fast) var(--ease-out)}.ui-btn.ui-holdable{touch-action:manipulation}.ui-btn:focus{outline:none}.ui-btn:focus-visible,.ui-btn[data-force-state=focus]{outline:none;box-shadow:0 0 0 3px var(--gold-400),var(--sh-btn),var(--sh-inset)}.ui-btn:active:not(:disabled),.ui-btn[data-force-state=active]:not(:disabled){transform:translateY(1px);box-shadow:0 1px 0 0 var(--cocoa-800),0 2px 6px -2px #00000040,var(--sh-inset)}.ui-btn--sm{min-height:max(calc(var(--touch-min) - 12px),calc(32px * var(--ui-scale)));padding:0 var(--sp-3);font-size:var(--fs-sm);border-radius:var(--r-sm)}.ui-btn--sm:before{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px}.ui-btn--md{min-height:max(var(--touch-min),calc(44px * var(--ui-scale)));padding:0 var(--sp-4);font-size:var(--fs-md)}.ui-btn--lg{min-height:max(var(--touch-min),calc(52px * var(--ui-scale)));padding:0 var(--sp-5);font-size:var(--fs-lg)}.ui-btn--primary{background:var(--leaf-300);border-color:var(--leaf-700);color:var(--white);font-weight:600;text-shadow:1px 0 var(--leaf-700),-1px 0 var(--leaf-700),0 1px var(--leaf-700),0 -1px var(--leaf-700),1px 1px var(--leaf-700),-1px -1px var(--leaf-700),1px -1px var(--leaf-700),-1px 1px var(--leaf-700);box-shadow:0 2px 0 0 var(--leaf-700)}.ui-btn--primary:active:not(:disabled),.ui-btn--primary[data-force-state=active]:not(:disabled){transform:translateY(2px);box-shadow:0 0 0 0 var(--leaf-700)}.ui-btn--primary:focus-visible,.ui-btn--primary[data-force-state=focus]{box-shadow:0 0 0 3px var(--gold-400),0 2px 0 0 var(--leaf-700)}.ui-btn--primary:disabled{background:var(--leaf-300d);border-color:var(--leaf-800d);color:var(--leaf-800d);text-shadow:none;box-shadow:0 2px 0 0 var(--leaf-800d);filter:none;opacity:1}.ui-btn--secondary{background:var(--butter-400);border-color:var(--butter-700);color:var(--white);font-weight:600;text-shadow:1px 0 var(--butter-700),-1px 0 var(--butter-700),0 1px var(--butter-700),0 -1px var(--butter-700),1px 1px var(--butter-700),-1px -1px var(--butter-700),1px -1px var(--butter-700),-1px 1px var(--butter-700);box-shadow:0 2px 0 0 var(--butter-700)}.ui-btn--secondary:active:not(:disabled),.ui-btn--secondary[data-force-state=active]:not(:disabled){transform:translateY(2px);box-shadow:0 0 0 0 var(--butter-700)}.ui-btn--secondary:focus-visible,.ui-btn--secondary[data-force-state=focus]{box-shadow:0 0 0 3px var(--gold-400),0 2px 0 0 var(--butter-700)}.ui-btn--ghost{background:transparent;color:var(--fg-ink);border-color:var(--stroke-soft);box-shadow:none}.ui-btn--ghost:active:not(:disabled),.ui-btn--ghost[data-force-state=active]:not(:disabled){box-shadow:inset 0 2px 4px #0000001f}.ui-btn--danger{background:linear-gradient(180deg,var(--red-500) 0%,var(--cocoa-800) 140%);color:var(--fg-on-dark)}.ui-btn:disabled{cursor:not-allowed;filter:saturate(.4) brightness(.92);opacity:.7}.ui-btn.is-locked{filter:saturate(.25) brightness(.9)}.ui-btn.is-locked .ui-btn__label{visibility:hidden}.ui-btn__lock{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--fg-on-dark);pointer-events:none;background:#32180947;border-radius:inherit}.ui-btn.is-loading .ui-btn__label{visibility:hidden}.ui-btn__spinner{position:absolute;top:50%;left:50%;width:18px;height:18px;margin:-9px 0 0 -9px;border:var(--sw-mid) solid currentColor;border-top-color:transparent;border-radius:var(--r-pill);animation:ui-btn-spin .72s linear infinite}@keyframes ui-btn-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.ui-btn__spinner{animation:none}}.ui-btn__icon{line-height:0}.ui-btn__label{display:inline-flex;align-items:center;justify-content:center;min-width:0}.ui-card{position:relative;display:flex;flex-direction:column;gap:var(--sp-3);box-sizing:border-box;background:var(--bg-panel);color:var(--fg-ink);border:var(--sw-mid) solid var(--stroke-dark);border-radius:var(--r-lg);box-shadow:var(--sh-card);padding:var(--sp-5)}.ui-card--info{background:var(--bg-pill);padding:var(--sp-4);gap:var(--sp-2)}.ui-card--stat{padding:var(--sp-3) var(--sp-4);gap:var(--sp-1);border-radius:var(--r-md);box-shadow:var(--sh-btn)}.ui-card--panel.ui-card--with-title{padding-top:calc(var(--sp-5) + var(--sp-4))}.ui-card--info.ui-card--with-title{padding-top:calc(var(--sp-4) + var(--sp-4))}.ui-card--stat.ui-card--with-title{padding-top:calc(var(--sp-3) + var(--sp-4))}.ui-card__title-pill{position:absolute;top:calc(-1 * var(--sp-4));left:50%;transform:translate(-50%);background:var(--cocoa-800);color:var(--fg-on-dark);border:var(--sw-mid) solid var(--stroke-dark);border-radius:var(--r-pill);padding:var(--sp-1) var(--sp-4);font-size:var(--fs-md);font-weight:700;letter-spacing:.02em;white-space:nowrap}.ui-card__body{display:flex;flex-direction:column;gap:var(--sp-3)}.ui-stepper{display:inline-flex;align-items:center;gap:var(--sp-2)}.ui-stepper .ui-holdable{touch-action:manipulation;-webkit-user-select:none;user-select:none}.ui-stepper .ui-iconbtn--primary{background:var(--wood-300);border-color:var(--bark-900);color:var(--white);border-radius:var(--r-md);box-shadow:0 2px 0 0 var(--bark-900)}.ui-stepper .ui-iconbtn--primary:active:not(:disabled),.ui-stepper .ui-iconbtn--primary[data-force-state=active]:not(:disabled){transform:translateY(2px);box-shadow:0 0 0 0 var(--bark-900)}.ui-stepper .ui-iconbtn--primary:disabled{background:var(--wood-500);border-color:var(--bark-900);color:color-mix(in srgb,var(--white) 55%,transparent);box-shadow:0 2px 0 0 var(--bark-900);filter:none;opacity:1}.ui-stepper__value{min-width:calc(48px * var(--ui-scale));height:calc(36px * var(--ui-scale));padding:0 var(--sp-3);display:inline-flex;align-items:center;justify-content:center;background:var(--bg-pill);color:var(--fg-ink);border:var(--sw-mid) solid var(--bark-600);border-radius:var(--r-md);font-family:inherit;font-weight:600;font-size:var(--fs-md);font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none}.ui-panel-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;padding:max(var(--sp-7),calc(env(safe-area-inset-top) + var(--sp-4))) max(var(--sp-4),env(safe-area-inset-right)) calc(max(var(--sp-4),env(safe-area-inset-bottom)) + var(--overlay-bottom-reserve)) max(var(--sp-4),env(safe-area-inset-left));box-sizing:border-box;background:#32180959;z-index:var(--z-panel);pointer-events:auto;overflow-y:auto;-webkit-overflow-scrolling:touch;animation:ui-panel-fade var(--dur-med) var(--ease-out)}.ui-panel{position:relative;width:100%;max-width:100%;margin:auto;flex-shrink:0;box-sizing:border-box;animation:ui-panel-slide var(--dur-med) var(--ease-pop)}.ui-panel--inline{animation:none}.ui-panel--sm{max-width:min(420px,calc(100vw - 32px))}.ui-panel--md{max-width:min(720px,calc(100vw - 32px))}.ui-panel--lg{max-width:min(1040px,calc(100vw - 32px))}.ui-panel--sm,.ui-panel--md,.ui-panel--lg{max-height:100%}.ui-panel--sm>.ui-card,.ui-panel--md>.ui-card,.ui-panel--lg>.ui-card{display:flex;flex-direction:column;max-height:100%;overflow:visible}.ui-panel--sm>.ui-card>.ui-card__body,.ui-panel--md>.ui-card>.ui-card__body,.ui-panel--lg>.ui-card>.ui-card__body{overflow-x:hidden;overflow-y:auto;min-height:0;-webkit-overflow-scrolling:touch}.ui-panel__close{position:absolute;top:calc(-1 * var(--sp-3));right:calc(-1 * var(--sp-3));z-index:1}@keyframes ui-panel-fade{0%{opacity:0}to{opacity:1}}@keyframes ui-panel-slide{0%{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@media (prefers-reduced-motion: reduce){.ui-panel-backdrop,.ui-panel{animation:none}}@media (max-height: 500px){.ui-panel-backdrop{padding:max(var(--sp-3),calc(env(safe-area-inset-top) + var(--sp-4))) max(var(--sp-3),env(safe-area-inset-right)) calc(max(var(--sp-3),env(safe-area-inset-bottom)) + var(--overlay-bottom-reserve)) max(var(--sp-3),env(safe-area-inset-left))}}.ui-modal{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;padding:max(var(--sp-7),calc(env(safe-area-inset-top) + var(--sp-4)),calc(env(safe-area-inset-top) + var(--board-sign-clearance))) max(var(--sp-4),env(safe-area-inset-right)) calc(max(var(--sp-4),env(safe-area-inset-bottom)) + var(--overlay-bottom-reserve)) max(var(--sp-4),env(safe-area-inset-left));box-sizing:border-box;background:#32180959;z-index:var(--z-modal);overflow-y:auto;-webkit-overflow-scrolling:touch;animation:ui-modal-fade var(--dur-med) var(--ease-out)}.ui-modal__panel{margin:auto;flex-shrink:0;width:100%;animation:ui-modal-pop var(--dur-med) var(--ease-pop)}.ui-modal__panel .ui-card{display:flex;flex-direction:column;max-height:var(--overlay-body-max-height);overflow:visible}.ui-modal__panel .ui-card__body{overflow-x:hidden;overflow-y:auto;min-height:0;-webkit-overflow-scrolling:touch}.ui-modal--inline{position:relative;inset:auto;padding:var(--sp-5);min-height:220px}.ui-board{--board-sign-width: clamp(120px, 38%, 190px);--board-sign-overhang: calc(var(--board-sign-width) * (80 / 267) * .06);position:relative;display:flex;flex-direction:column;max-height:var(--overlay-body-max-height);background:var(--bg-panel);border:calc(12px * var(--ui-scale)) solid var(--wood-300);border-radius:var(--r-md);box-shadow:0 0 0 var(--sw-mid) var(--bark-900),var(--sh-card),inset 0 0 0 var(--sw-mid) var(--bark-900);user-select:none;-webkit-user-select:none}.ui-board img{-webkit-user-drag:none}.ui-board__sign{position:absolute;top:0;left:50%;transform:translate(-50%,-96%);width:var(--board-sign-width);z-index:2;pointer-events:none;container-type:inline-size}.ui-board__sign img{display:block;width:100%}.ui-board__sign-text{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding-bottom:3%;font-size:max(11px,11.5cqw);font-weight:700;letter-spacing:.02em;white-space:nowrap;color:var(--cocoa-800)}.ui-board__sign-text[data-overflowing]{white-space:normal;text-wrap:balance;text-align:center;line-height:1;padding-inline:7%}.ui-board:focus,.ui-board:focus-visible{outline:none}.ui-board__close{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:absolute;z-index:3;top:0;right:0;transform:translate(35%,-45%);width:max(var(--touch-min),calc(40px * var(--ui-scale)));height:max(var(--touch-min),calc(46px * var(--ui-scale)));padding:0;border:none;background:url(../assets/ui/stall/exit-btn.svg) center / contain no-repeat;cursor:pointer;transition:transform var(--dur-fast) var(--ease-pop)}.ui-board__close:active{transform:translate(35%,calc(-45% + 2px))}.ui-board__close:focus{outline:none}.ui-board__close:focus-visible{outline:none;border-radius:var(--r-md);box-shadow:0 0 0 3px var(--gold-400)}.ui-board__body{display:flex;flex-direction:column;gap:var(--sp-3);flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:calc(var(--board-sign-overhang) + var(--sp-3)) var(--sp-4) var(--sp-4)}.ui-board__footer{flex:0 0 auto;padding:var(--sp-2) var(--sp-4) var(--sp-4)}.ui-board__footer:before{content:"";display:block;height:var(--sw-thin);margin:0 0 var(--sp-2);border-radius:999px;background:color-mix(in srgb,var(--stroke-dark) 18%,transparent)}.ui-modal--scroll-fade .ui-board__footer{position:relative}.ui-modal--scroll-fade .ui-board__footer:after{content:"";position:absolute;left:var(--sp-2);right:var(--sp-2);bottom:100%;height:calc(28px * var(--ui-scale));pointer-events:none;background:linear-gradient(to top,var(--bg-panel),transparent)}@keyframes ui-modal-fade{0%{opacity:0}to{opacity:1}}@keyframes ui-modal-pop{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion: reduce){.ui-modal,.ui-modal__panel{animation:none}}@media (max-height: 500px){.ui-board{--board-sign-width: clamp(100px, 26%, 150px)}}@media (max-height: 500px){.ui-modal{padding:max(var(--sp-3),calc(env(safe-area-inset-top) + var(--sp-4)),calc(env(safe-area-inset-top) + var(--board-sign-clearance))) max(var(--sp-3),env(safe-area-inset-right)) calc(max(var(--sp-3),env(safe-area-inset-bottom)) + var(--overlay-bottom-reserve)) max(var(--sp-3),env(safe-area-inset-left))}}.donation-panel__body{display:flex;flex-direction:column;gap:var(--sp-3);padding-top:0;flex:1 1 auto;min-height:0}.donation-panel .ui-board__body{padding:var(--sp-4)}.donation-panel .donation-list{max-height:min(42vh,360px)}.donation-hero{display:flex;flex-direction:column;gap:var(--sp-2);padding:var(--sp-3);background:var(--row-cream);border-color:var(--bark-soft);border-radius:var(--r-md);box-shadow:none;flex:0 0 auto}.donation-hero__bar{position:relative;padding-block:var(--sp-1)}.donation-hero__check{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--r-pill);background:var(--cream-50);color:var(--accent-ok);border:var(--sw-mid) solid var(--stroke-dark);box-shadow:var(--sh-btn);animation:donation-check-pop var(--dur-med) var(--ease-pop)}@keyframes donation-check-pop{0%{opacity:0;transform:translate(-50%,-50%) scale(.6)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@media (prefers-reduced-motion: reduce){.donation-hero__check{animation:none}}.donation-list{display:flex;flex-direction:column;gap:var(--sp-3);max-height:calc(var(--app-vh) * .38);flex:1 1 auto;min-height:0;overflow-y:auto;padding:var(--sp-2) var(--sp-1)}.donation-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--sp-3);padding:var(--sp-3);background:var(--row-cream);border:var(--sw-mid) solid var(--bark-soft);border-radius:var(--r-md)}.donation-row.is-done{background:var(--cream-200)}.donation-row__icon{flex:0 0 auto}.donation-row__coin{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:var(--r-pill);background:var(--bg-pill);border:var(--sw-mid) solid var(--bark-tile)}.donation-row__main{display:flex;flex-direction:column;gap:var(--sp-1);min-width:0}.donation-row__name{margin:0;font-size:var(--fs-md);font-weight:700;color:var(--fg-ink)}.donation-row__meta{margin:0;display:flex;flex-wrap:wrap;gap:var(--sp-1) var(--sp-3);font-size:var(--fs-sm);color:var(--stroke-soft);font-variant-numeric:tabular-nums}.donation-row__progress{color:var(--fg-ink);font-weight:700}.donation-row__actions{display:flex;flex-direction:column;align-items:flex-end;gap:max(var(--sp-3),12px)}.donation-row__done{display:inline-flex;align-items:center;gap:var(--sp-1);color:var(--accent-ok);font-weight:700;font-size:var(--fs-sm);white-space:nowrap}.donation-row__done-text{letter-spacing:.02em}@media (max-width: 480px){.donation-row{grid-template-columns:auto 1fr}.donation-row__actions{grid-column:1 / -1;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between}}.donation-invite{align-self:stretch;flex:0 0 auto}.donation-complete-block{display:flex;flex-direction:column;gap:var(--sp-2);flex:0 0 auto}.donation-complete{text-align:center;flex:0 0 auto;background:var(--row-cream);border-color:var(--bark-soft);border-radius:var(--r-md);box-shadow:none}.donation-complete__text{margin:0;font-size:var(--fs-md);font-weight:700;color:var(--accent-ok)}.donation-sell-farm{align-self:stretch}.ui-timer{display:inline-block;font-family:inherit;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.02em;color:var(--fg-ink)}.ui-timer--tone-ink{color:var(--fg-ink)}.ui-timer--tone-warn{color:var(--accent-warn)}.hearthstone-panel{display:flex;flex-direction:column;gap:var(--sp-4)}.hearthstone-panel__hero{display:flex;align-items:center;justify-content:center;gap:var(--sp-5)}.hearthstone-panel__art{flex:0 0 auto;display:block;width:calc(116px * var(--ui-scale));height:calc(150px * var(--ui-scale))}.hearthstone-panel__today{display:flex;flex-direction:column;align-items:center;gap:var(--sp-1);min-width:calc(96px * var(--ui-scale));padding:var(--sp-3) var(--sp-4);border-radius:var(--r-md);background:var(--bg-pill);box-shadow:0 0 0 3px var(--gold-400)}.hearthstone-panel__today--claimed{box-shadow:inset 0 0 0 var(--sw-thin) var(--stroke-soft);opacity:.85}.hearthstone-panel__today-day{font-size:var(--fs-sm);font-weight:700;color:var(--fg-muted);font-variant-numeric:tabular-nums}.hearthstone-panel__today-qty{font-size:var(--fs-lg);font-weight:800;color:var(--fg-ink);font-variant-numeric:tabular-nums}.hearthstone-panel__strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:var(--sp-1);margin:0;padding:0;list-style:none}.hearthstone-panel__slot{display:flex;flex-direction:column;align-items:center;gap:2px;padding:var(--sp-2) 0;border-radius:var(--r-sm);background:var(--bg-pill);box-shadow:inset 0 0 0 var(--sw-thin) var(--stroke-soft);font-variant-numeric:tabular-nums}.hearthstone-panel__slot--today{box-shadow:0 0 0 2px var(--gold-400)}.hearthstone-panel__slot--upcoming{opacity:.55}.hearthstone-panel__slot--claimed{opacity:.8}.hearthstone-panel__slot-day{font-size:var(--fs-xs);font-weight:700;color:var(--fg-muted)}.hearthstone-panel__slot-art{position:relative;display:inline-flex;width:24px;height:24px;align-items:center;justify-content:center}.hearthstone-panel__slot-check{position:absolute;right:-6px;bottom:-4px;padding:1px;border-radius:50%;background:var(--bg-pill)}.hearthstone-panel__slot-qty{font-size:var(--fs-xs);font-weight:700;color:var(--fg-ink)}.hearthstone-panel__actions{display:flex;justify-content:center;align-items:center;min-height:calc(40px * var(--ui-scale))}.hearthstone-panel__actions .ui-btn{min-width:calc(132px * var(--ui-scale))}.hearthstone-panel__next{display:inline-flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-md);font-weight:700;color:var(--fg-ink)}.ui-hold-confirm__fill{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;border-radius:var(--r-md);transform:scaleX(0);transform-origin:left center;background:linear-gradient(180deg,var(--gold-400) 0%,var(--gold-500) 100%);transition:transform var(--dur-fast) var(--ease-out)}.ui-hold-confirm.is-holding .ui-hold-confirm__fill{transform:scaleX(1);transition:transform var(--hold-confirm-ms, .8s) linear}.ui-hold-confirm__text{position:relative;z-index:1}.season-title-card{position:fixed;top:0;right:0;bottom:0;left:0;z-index:calc(var(--z-cutscene) + 30);display:grid;place-items:center;padding:var(--sp-6);box-sizing:border-box;background:var(--black);pointer-events:auto;cursor:wait;animation:season-title-card-in var(--dur-med) var(--ease-out) backwards}.season-title-card__text{margin:0;text-align:center;text-wrap:balance;color:var(--gold-300);font-size:var(--fs-2xl);font-weight:800;letter-spacing:.04em;text-shadow:0 calc(3px * var(--ui-scale)) 0 var(--cocoa-900);animation:season-title-card-rise var(--dur-slow) var(--ease-pop) backwards;animation-delay:var(--dur-fast)}@keyframes season-title-card-in{0%{opacity:0}to{opacity:1}}@keyframes season-title-card-rise{0%{opacity:0;transform:translateY(calc(12px * var(--ui-scale))) scale(.96)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.season-title-card,.season-title-card__text{animation:none}}.heirloom-picker .ui-board{max-width:min(760px,calc(100vw - 32px))}.heirloom-picker .ui-board__body{gap:var(--sp-4)}.heirloom-picker__zip{flex:0 0 auto}.heirloom-picker__zip-text{margin:0;text-align:center;text-wrap:balance;color:var(--fg-ink);font-size:var(--fs-sm);font-weight:600;line-height:1.4}.heirloom-grid{flex:0 0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-3)}.heirloom-card{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:var(--sp-1);min-height:max(96px,calc(96px * var(--ui-scale)));min-width:0;padding:var(--sp-3) var(--sp-2);box-sizing:border-box;background:var(--row-cream);color:var(--fg-ink);border:var(--sw-mid) solid var(--bark-600);border-radius:var(--r-md);box-shadow:var(--sh-btn);font:inherit;text-align:center;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out),opacity var(--dur-fast) var(--ease-out);animation:heirloom-card-in var(--dur-med) var(--ease-pop) backwards;animation-delay:calc(var(--stagger-index) * 45ms)}@keyframes heirloom-card-in{0%{opacity:0;transform:translateY(calc(10px * var(--ui-scale))) scale(.96)}to{opacity:1;transform:none}}.heirloom-card__icon{display:flex;align-items:center;justify-content:center;height:calc(48px * var(--ui-scale));color:var(--fg-muted)}.heirloom-card__icon>*{max-width:100%;max-height:100%}.heirloom-card__name{font-size:var(--fs-sm);font-weight:700;line-height:1.2;text-wrap:balance}.heirloom-card__effect{color:var(--fg-muted);font-size:var(--fs-xs);font-weight:600;line-height:1.25;text-wrap:balance}@media (hover: hover){.heirloom-card:hover:not(.is-muted){border-color:var(--bark-900);transform:translateY(calc(-2px * var(--ui-scale)));box-shadow:var(--sh-card)}}.heirloom-card.is-selected{background:var(--gold-200);border-color:var(--gold-600);box-shadow:0 0 0 var(--sw-mid) var(--gold-400),var(--sh-card)}.heirloom-card.is-selected .heirloom-card__icon,.heirloom-card.is-selected .heirloom-card__effect{color:var(--cocoa-800)}.heirloom-card.is-muted{opacity:.55;border-color:var(--bark-soft);box-shadow:none;cursor:default}.heirloom-card:active:not(.is-muted){transform:translateY(calc(1px * var(--ui-scale)));box-shadow:none}.heirloom-card.is-selected:active{box-shadow:0 0 0 var(--sw-mid) var(--gold-400)}.heirloom-card:focus-visible{outline:none;box-shadow:0 0 0 var(--sw-bold) var(--gold-400),var(--sh-btn)}.heirloom-card.is-muted:focus-visible{opacity:1}.heirloom-card.is-selected:focus-visible{box-shadow:0 0 0 var(--sw-mid) var(--gold-400),0 0 0 calc(var(--sw-mid) + var(--sw-bold)) var(--bark-900),var(--sh-card)}.heirloom-card__badge{position:absolute;top:calc(-8px * var(--ui-scale));right:calc(-8px * var(--ui-scale));display:grid;place-items:center;min-width:calc(24px * var(--ui-scale));min-height:calc(24px * var(--ui-scale));padding:0 calc(4px * var(--ui-scale));box-sizing:border-box;background:var(--gold-400);color:var(--cocoa-900);border:var(--sw-mid) solid var(--stroke-dark);border-radius:var(--r-pill);font-size:var(--fs-xs);font-weight:800;font-variant-numeric:tabular-nums}.heirloom-picker__footer{display:flex;flex-direction:column;align-items:center;gap:var(--sp-3);width:100%}.heirloom-slots{display:flex;align-items:center;gap:var(--sp-3)}.heirloom-slots.is-bumped{animation:heirloom-slots-bump var(--slot-bump-ms) var(--ease-pop)}@keyframes heirloom-slots-bump{0%,to{transform:none}30%{transform:scale(1.08)}60%{transform:scale(.98)}}.heirloom-slot{display:grid;place-items:center;width:calc(52px * var(--ui-scale));height:calc(52px * var(--ui-scale));box-sizing:border-box;background:var(--cream-200);border:var(--sw-mid) dashed var(--stroke-soft);border-radius:var(--r-md);transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.heirloom-slot.is-filled{background:var(--gold-200);border-style:solid;border-color:var(--gold-600);animation:heirloom-slot-fill var(--dur-med) var(--ease-pop)}@keyframes heirloom-slot-fill{0%{transform:scale(.7)}to{transform:scale(1)}}.heirloom-slot__index{color:var(--fg-muted);font-size:var(--fs-sm);font-weight:800;font-variant-numeric:tabular-nums}.heirloom-picker__actions{display:flex;align-items:center;justify-content:center;gap:var(--sp-3);flex-wrap:wrap;width:100%}.heirloom-picker__confirm{min-width:min(100%,calc(180px * var(--ui-scale)))}@media (max-width: 460px){.heirloom-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-2)}.heirloom-picker__actions>*{flex:1 1 auto}}@media (prefers-reduced-motion: reduce){.heirloom-card,.heirloom-slot.is-filled,.heirloom-slots.is-bumped{animation:none}}.help-topics{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--sp-2)}.help-topic{border:var(--sw-mid) solid var(--stroke-dark);border-radius:var(--r-md);background:var(--bg-pill);overflow:hidden}.help-topic__header{min-height:max(var(--touch-min),calc(44px * var(--ui-scale)));-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);padding:var(--sp-3);background:transparent;border:none;font:inherit;text-align:left;color:var(--fg-ink);cursor:pointer}.help-topic__header:hover{background:#0000000a}.help-topic__header:focus{outline:none}.help-topic__header:focus-visible{outline:var(--sw-bold) solid var(--gold-400);outline-offset:calc(-1 * var(--sw-bold))}.help-topic__title{font-size:var(--fs-md);font-weight:700}.help-topic__chevron{flex-shrink:0;font-size:var(--fs-md);color:var(--stroke-soft);transition:transform .12s ease-out}.help-topic__chevron--open{transform:rotate(90deg)}@media (prefers-reduced-motion: reduce){.help-topic__chevron{transition:none}}.help-topic__body{display:flex;flex-direction:column;gap:var(--sp-2);padding:0 var(--sp-3) var(--sp-3);border-top:var(--sw-thin) solid var(--stroke-soft);padding-top:var(--sp-3)}.help-topic__paragraph{margin:0;font-size:var(--fs-sm);line-height:1.5;color:var(--fg-ink)}.help-topic__emphasis{font-weight:700;font-variant-numeric:tabular-nums;color:var(--fg-coin)}.ui-panel.stall-panel{display:flex;flex-direction:column;max-width:min(800px,calc(100vw - 32px));max-height:calc(100% - var(--app-vh) * .12);margin:calc(var(--app-vh) * .12) auto auto;user-select:none;-webkit-user-select:none}.stall-panel img{-webkit-user-drag:none}@media (max-height: 500px){.ui-panel.stall-panel{margin-top:0;max-height:100%;max-width:min(440px,calc(100vw - 32px))}}@media (min-width: 1280px) and (min-height: 720px){.ui-panel.stall-panel{max-height:calc(100% - var(--app-vh) * .06);margin-top:calc(var(--app-vh) * .06)}}.stall-panel__sign{position:relative;z-index:3;flex:0 0 auto;display:block;width:46.4%;margin:0 auto -5.9%;pointer-events:none;container-type:inline-size}.stall-panel__sign img{display:block;width:100%}.stall-panel__sign-text{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding-bottom:3%;font-size:max(11px,13cqw);font-weight:700;letter-spacing:.09em;text-transform:uppercase;white-space:nowrap;color:var(--cocoa-800)}.stall-panel__awning{position:relative;z-index:2;flex:0 0 auto;aspect-ratio:576 / 87;margin-bottom:-1.9%}.stall-panel__awning img{position:absolute;display:block}.stall-panel__awning-shingles{left:3.75%;top:0;width:92.5%;height:100%}.stall-panel__awning-trim{left:4.25%;top:68.4%;width:91.5%;height:20.2%}.stall-panel__awning-bar{left:4.25%;top:0;width:91.5%;height:36.8%}.stall-panel__close{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:absolute;z-index:3;top:42%;right:1%;transform:translateY(-50%);width:max(var(--touch-min),calc(44px * var(--ui-scale)));height:max(var(--touch-min),calc(50px * var(--ui-scale)));padding:0;border:none;background:url(../assets/ui/stall/exit-btn.svg) center / contain no-repeat;cursor:pointer;transition:transform var(--dur-fast) var(--ease-pop)}.stall-panel__close:active{transform:translateY(calc(-50% + 2px))}.stall-panel__close:focus{outline:none}.stall-panel__close:focus-visible{outline:none;border-radius:var(--r-md);box-shadow:0 0 0 3px var(--gold-400)}.stall-panel__body{position:relative;display:flex;flex-direction:column;flex:1 1 auto;min-height:0;padding:0 6.4%}.stall-panel__body:before,.stall-panel__body:after{content:"";position:absolute;z-index:1;top:calc(-2px * var(--ui-scale));bottom:0;width:4.7%;box-sizing:border-box;background:var(--wood-300);border:var(--sw-mid) solid var(--bark-900);pointer-events:none}.stall-panel__body:before{left:4.2%}.stall-panel__body:after{right:4.2%}.stall-panel__interior{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;background:var(--wood-500);border:var(--sw-mid) solid var(--bark-900);border-top:none;padding:0 var(--sp-3) var(--sp-3)}.stall-panel__base{position:relative;z-index:2;flex:0 0 auto;height:calc(28px * var(--ui-scale));margin:calc(-2px * var(--ui-scale)) 2.4% 0;box-sizing:border-box;background:var(--wood-300);border:var(--sw-mid) solid var(--bark-900)}.stall-tabs{position:sticky;top:0;z-index:1;flex:0 0 auto;display:flex;justify-content:center;margin:0 calc(-1 * var(--sp-3));padding:var(--sp-3) var(--sp-2) var(--sp-2);background:var(--wood-400);border-bottom:var(--sw-mid) solid var(--bark-900)}.stall-tabs .ui-tabs{background:none;border:none;border-radius:0;box-shadow:none;padding:0;gap:var(--sp-2);width:100%;justify-content:center}.stall-tabs .ui-tab{flex:1 1 0;min-width:0;justify-content:center;min-height:max(var(--touch-min),calc(48px * var(--ui-scale)));padding:0 var(--sp-2);background:url(../assets/ui/stall/tab-plank-inactive.svg) center / 100% 100% no-repeat;border:none;border-radius:var(--r-sm);color:var(--bark-900);font-weight:600;transition:transform var(--dur-fast) var(--ease-pop)}.stall-tabs .ui-tab.is-active{background:url(../assets/ui/stall/tab-plank-active.svg) center / 100% 100% no-repeat;color:var(--bark-900);transform:translateY(1px)}.ui-tabs{display:inline-flex;align-items:stretch;gap:var(--sp-1);padding:var(--sp-1);background:var(--cocoa-800);border:var(--sw-mid) solid var(--stroke-dark);border-radius:var(--r-pill);box-shadow:var(--sh-inset)}.ui-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:relative;display:inline-flex;align-items:center;gap:var(--sp-2);min-height:max(var(--touch-min),calc(44px * var(--ui-scale)));padding:0 var(--sp-4);background:var(--bg-pill);color:var(--fg-ink);border:var(--sw-thin) solid transparent;border-radius:var(--r-pill);font-family:inherit;font-weight:700;font-size:var(--fs-sm);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.ui-tab:focus{outline:none}.ui-tab:focus-visible{outline:none;box-shadow:0 0 0 3px var(--gold-400)}.ui-tab.is-active{background:linear-gradient(180deg,var(--gold-400) 0%,var(--orange-500) 100%);color:var(--cocoa-900);border-color:var(--stroke-dark)}.ui-tab__label{display:inline-block;white-space:nowrap;min-width:0;font-size:max(11px,calc(1em * var(--fit-scale, 1)))}.ui-tab__label[data-overflowing]{white-space:normal;text-wrap:balance;line-height:1.05;-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word}.ui-tab__badge{position:static;transform:none}.inventory-panel__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(calc(104px * var(--ui-scale)),1fr));gap:var(--sp-3);max-height:min(68vh,900px);flex:0 1 auto;min-height:0;overflow-y:auto;padding:var(--sp-3) var(--sp-2) var(--sp-2)}.inventory-tile{align-items:center;padding:var(--sp-3) var(--sp-2);gap:var(--sp-1);background:var(--row-cream);border-color:var(--bark-tile);border-radius:var(--r-md);box-shadow:none}.inventory-tile .ui-card__body{display:flex;flex-direction:column;align-items:center;gap:var(--sp-1);width:100%}.inventory-tile .ui-badge--num{background:var(--amber-500);color:var(--fg-ink);border-color:var(--bark-900)}.inventory-tile__label{display:block;width:100%;font-size:var(--fs-xs);color:var(--fg-ink);text-align:center;white-space:normal;overflow-wrap:break-word;line-height:1.15}.inventory-panel__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-3);padding:var(--sp-7) var(--sp-4);text-align:center}.inventory-panel__empty-text{margin:0;font-size:var(--fs-md);color:var(--cream-50)}.order-board-modal .ui-board{background-color:var(--wood-400);background-image:repeating-linear-gradient(180deg,transparent 0,transparent calc(78px * var(--ui-scale)),color-mix(in srgb,var(--bark-900) 16%,transparent) calc(78px * var(--ui-scale)),color-mix(in srgb,var(--bark-900) 16%,transparent) calc(80px * var(--ui-scale)))}.order-board-panel{display:flex;flex-direction:column;gap:var(--sp-3);min-height:0}.ship-rail{display:flex;align-items:center;gap:var(--sp-2);flex:0 0 auto;padding:var(--sp-1) var(--sp-3) var(--sp-1) var(--sp-2);background:var(--bg-pill);border:var(--sw-mid) solid var(--stroke-dark);border-radius:var(--r-pill);box-shadow:var(--sh-btn);color:var(--fg-ink)}.ship-rail__node{display:inline-flex;align-items:center;gap:var(--sp-1);color:var(--fg-muted)}.ship-rail__label{font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}.ship-rail__track{position:relative;flex:1 1 auto;height:calc(28px * var(--ui-scale));margin:0 var(--sp-2);min-width:calc(48px * var(--ui-scale))}.ship-rail__dots{position:absolute;left:0;right:0;top:50%;border-top:3px dotted var(--wood-500)}.ship-rail__ship{position:absolute;top:0;width:calc(30px * var(--ui-scale));height:calc(30px * var(--ui-scale));margin-left:calc(-15px * var(--ui-scale));border-radius:var(--r-pill);background:var(--bg-pill);color:var(--accent-speed);line-height:0;transition:left 1s linear}.ship-rail__ship .ui-icon{width:100%;height:100%}.ship-rail__status{font-size:var(--fs-sm);font-weight:700;color:var(--fg-muted);white-space:nowrap}.ship-rail__time{font-size:var(--fs-lg)}.ship-rail--landed{border-color:var(--gold-600);box-shadow:0 3px 0 0 var(--gold-600),0 0 0 4px color-mix(in srgb,var(--gold-400) 45%,transparent)}.ship-rail__status--landed{color:var(--fg-coin)}.ship-rail[data-compact] .ship-rail__label{display:none}.ship-rail[data-compact] .ship-rail__status--landed{white-space:normal;text-align:right;line-height:1.15}.ship-rail[data-compact] .ship-rail__track{flex:1 1 calc(48px * var(--ui-scale))}.order-board-skip{align-self:center}.order-board-tickets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-4);padding:var(--sp-3) var(--sp-1) var(--sp-1);align-items:start}.order-board-tickets--1{grid-template-columns:minmax(0,300px);justify-content:center}.order-board-tickets--2{grid-template-columns:repeat(2,minmax(0,300px));justify-content:center}.ticket{position:relative;display:flex;flex-direction:column;gap:var(--sp-2);min-width:0;padding:var(--sp-5) var(--sp-3) var(--sp-3);background:var(--row-cream);color:var(--fg-ink);border:var(--sw-mid) solid var(--bark-600);border-radius:var(--r-md);box-shadow:0 4px 0 0 var(--cocoa-800),0 8px 14px -6px #0000004d}.ticket--tilt-l{transform:rotate(-1.3deg)}.ticket--tilt-r{transform:rotate(1deg)}.ticket--tilt-m{transform:rotate(-.4deg)}.ticket--golden{background:var(--gold-300);border-color:var(--gold-600);box-shadow:0 4px 0 0 var(--gold-700),0 8px 14px -6px #0000004d,inset 0 0 0 3px var(--gold-200)}.ticket__pin{position:absolute;top:calc(-10px * var(--ui-scale));left:50%;width:calc(18px * var(--ui-scale));height:calc(18px * var(--ui-scale));margin-left:calc(-9px * var(--ui-scale));box-sizing:border-box;border-radius:var(--r-pill);background:var(--red-500);border:var(--sw-mid) solid var(--bark-900);box-shadow:inset 3px 3px #ffffff59,0 2px 0 var(--cocoa-800)}.ticket__pin--timed{background:var(--sky-600)}.ticket__pin--golden{background:var(--gold-400)}.ticket__top{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);min-height:calc(22px * var(--ui-scale))}.ticket__no{font-size:var(--fs-xs);font-weight:600;letter-spacing:.04em;color:var(--fg-muted);white-space:nowrap}.ticket__tag{display:inline-flex;align-items:center;gap:var(--sp-1);padding:2px var(--sp-2);border-radius:var(--r-pill);border:var(--sw-mid) solid;background:var(--bg-pill);font-size:var(--fs-xs);font-weight:700;line-height:1.2;white-space:nowrap}.ticket__tag--timed{border-color:var(--accent-warn);color:var(--red-700)}.ticket__tag--timed .ui-timer{font-size:var(--fs-xs);letter-spacing:0}.ticket__tag--golden{border-color:var(--gold-600);color:var(--gold-700)}.ticket__lines{display:flex;flex-direction:column;gap:var(--sp-2)}.ticket-line{display:flex;align-items:center;gap:var(--sp-2);min-width:0}.ticket-line__icon{flex:0 0 auto}.ticket-line__qty{display:flex;flex-direction:column;gap:var(--sp-1);flex:1 1 auto;min-width:0}.ticket-line__num{display:inline-flex;align-items:baseline;gap:3px;font-size:var(--fs-lg);font-weight:700;line-height:1;font-variant-numeric:tabular-nums}.ticket-line__num small{font-size:var(--fs-sm);font-weight:600;color:var(--fg-muted)}.ticket-line.is-done .ticket-line__num{align-items:center;color:var(--sage-600)}.ticket-line__done{font-size:var(--fs-sm);font-weight:700}.ticket-stamp{position:relative;display:inline-flex;align-items:center;align-self:center;gap:var(--sp-1);padding:var(--sp-1) var(--sp-3) var(--sp-1) calc(30px * var(--ui-scale));background:var(--bg-pill);border:var(--sw-mid) solid var(--stroke-dark);border-radius:var(--r-pill);box-shadow:var(--sh-btn);font-size:var(--fs-lg);font-weight:700;line-height:1;color:var(--fg-coin);font-variant-numeric:tabular-nums;white-space:nowrap}.ticket-stamp__coin{position:absolute;left:calc(-10px * var(--ui-scale));top:50%;transform:translateY(-50%)}.ticket-stamp__note{font-size:var(--fs-xs);font-weight:600;color:var(--fg-muted);margin-left:2px}.ticket__load{align-self:stretch}.ticket__ready{align-self:center;display:inline-flex;align-items:center;gap:var(--sp-1);margin:var(--sp-2) 0;padding:var(--sp-1) var(--sp-3);border:var(--sw-bold) solid var(--sage-600);border-radius:var(--r-sm);color:var(--sage-600);font-size:var(--fs-md);font-weight:700;letter-spacing:.12em;text-transform:uppercase;line-height:1;transform:rotate(-6deg);box-shadow:inset 0 0 0 2px var(--row-cream),inset 0 0 0 3px var(--sage-600)}.ticket--golden .ticket__ready{box-shadow:inset 0 0 0 2px var(--gold-300),inset 0 0 0 3px var(--sage-600)}.ticket__pitch{margin:0;text-align:center;font-size:var(--fs-sm);font-weight:700;color:var(--gold-700)}.ticket__pitch--empty{font-weight:600;color:var(--fg-muted)}.ticket__carry{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--sp-2)}.ticket__carry-item{display:inline-flex;align-items:center;gap:var(--sp-1);font-size:var(--fs-sm);font-weight:700;color:var(--fg-ink);font-variant-numeric:tabular-nums}.ticket-slot{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-2);min-height:calc(200px * var(--ui-scale));padding:var(--sp-4);border:var(--sw-bold) dashed var(--cocoa-700);border-radius:var(--r-md);color:var(--cocoa-700);font-size:var(--fs-sm);font-weight:700;text-align:center;opacity:.85}.ticket-slot__time{font-size:var(--fs-xl);color:var(--fg-ink)}.order-board-empty{margin:0;padding:var(--sp-4);text-align:center;font-weight:700;color:var(--fg-ink)}.order-board-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding-top:var(--sp-1);flex:0 0 auto}.rep-ribbon{display:flex;flex-direction:column;gap:var(--sp-1);min-width:0}.rep-ribbon__row{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-md);font-weight:700;color:var(--fg-ink)}.rep-ribbon__pips{display:inline-flex;gap:var(--sp-2)}.rep-ribbon__pip{display:inline-block;width:calc(12px * var(--ui-scale));height:calc(12px * var(--ui-scale));box-sizing:border-box;transform:rotate(45deg);border:var(--sw-mid) solid var(--cocoa-700);border-radius:2px;background:transparent}.rep-ribbon__pip.is-on{border-color:var(--stroke-dark);background:var(--gold-400);box-shadow:inset 0 0 0 2px var(--gold-200)}.rep-ribbon__hint,.order-board-hint,.order-board-ship__hint{font-size:var(--fs-xs);font-weight:600;color:var(--fg-muted)}.order-board-hint{max-width:46%;text-align:right}.order-board-ship{display:flex;flex-direction:column;align-items:center;gap:var(--sp-1);flex:0 0 auto}@media (max-width: 599px){.order-board-tickets,.order-board-tickets--1,.order-board-tickets--2{grid-template-columns:minmax(0,1fr);gap:var(--sp-4)}.ticket{padding:var(--sp-4) var(--sp-3) var(--sp-3)}.ticket__lines{flex-direction:row;gap:var(--sp-3)}.ticket-line{flex:1 1 0}.ticket-line__icon.ui-itemicon{width:calc(40px * var(--ui-scale))!important;height:calc(40px * var(--ui-scale))!important}.ticket-stamp,.ticket__ready{align-self:flex-start}.ticket__load{align-self:stretch}.ticket-slot{min-height:calc(72px * var(--ui-scale));padding:var(--sp-2)}.order-board-footer{flex-direction:column;align-items:stretch}.order-board-hint{max-width:none;text-align:center}}.is-quest-target.is-quest-target{position:relative;background:var(--gold-200);border-color:var(--gold-500);animation:quest-target-breathe 1.2s ease-in-out infinite}.is-quest-target.is-quest-target:after{content:"";position:absolute;inset:calc(-1 * var(--sw-mid));border-radius:var(--r-md);box-shadow:0 0 clamp(10px,1.2vw,18px) calc(var(--sw-mid) * 1.5) var(--gold-400);pointer-events:none;animation:quest-target-pulse 1.2s ease-in-out infinite}@keyframes quest-target-pulse{0%,to{opacity:.55}50%{opacity:1}}@keyframes quest-target-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}.ui-tab.is-quest-target.is-quest-target,.ui-btn.is-quest-target.is-quest-target{background:var(--gold-300);border-color:var(--gold-600);animation:quest-target-breathe-punchy 1.2s ease-in-out infinite}.ui-tab.is-quest-target.is-quest-target:after,.ui-btn.is-quest-target.is-quest-target:after{inset:calc(-2.5 * var(--sw-mid));border:var(--sw-bold) solid var(--gold-500);border-radius:var(--r-md);box-shadow:0 0 clamp(14px,1.6vw,24px) calc(var(--sw-mid) * 2) var(--gold-400)}@keyframes quest-target-breathe-punchy{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}@media (prefers-reduced-motion: reduce){.is-quest-target.is-quest-target,.ui-tab.is-quest-target.is-quest-target,.ui-btn.is-quest-target.is-quest-target{animation:none}.is-quest-target.is-quest-target:after,.ui-tab.is-quest-target.is-quest-target:after,.ui-btn.is-quest-target.is-quest-target:after{animation:none;opacity:1}}.settings-section{display:flex;flex-direction:column;gap:var(--sp-3)}.settings-section__title{margin:0;font-size:var(--fs-md);font-weight:700;color:var(--fg-ink)}.settings-row{display:grid;grid-template-columns:5.5rem 1fr 3rem;align-items:center;gap:var(--sp-2)}.settings-row--toggle{grid-template-columns:5.5rem 1fr}.settings-row__label{font-size:var(--fs-sm);color:var(--fg-ink)}.settings-row__slider{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:100%;box-sizing:content-box;height:calc(22px * var(--ui-scale));padding-block:max(0px,calc((var(--touch-min) - 22px * var(--ui-scale)) / 2));background:transparent;margin:0;cursor:pointer}.settings-row__slider::-webkit-slider-runnable-track{width:100%;height:calc(10px * var(--ui-scale));background:var(--cocoa-900);border:var(--sw-mid) solid var(--stroke-dark);border-radius:var(--r-pill);box-shadow:inset 0 2px 4px #00000073,inset 0 -1px #ffffff0f}.settings-row__slider::-moz-range-track{width:100%;height:calc(10px * var(--ui-scale));background:var(--cocoa-900);border:var(--sw-mid) solid var(--stroke-dark);border-radius:var(--r-pill);box-shadow:inset 0 2px 4px #00000073,inset 0 -1px #ffffff0f}.settings-row__slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:calc(22px * var(--ui-scale));height:calc(22px * var(--ui-scale));margin-top:calc(-6px * var(--ui-scale));border-radius:var(--r-pill);background:linear-gradient(180deg,var(--gold-400) 0%,var(--gold-500) 100%);border:var(--sw-mid) solid var(--stroke-dark);box-shadow:var(--sh-btn);cursor:pointer}.settings-row__slider::-moz-range-thumb{width:calc(22px * var(--ui-scale));height:calc(22px * var(--ui-scale));box-sizing:border-box;border-radius:var(--r-pill);background:linear-gradient(180deg,var(--gold-400) 0%,var(--gold-500) 100%);border:var(--sw-mid) solid var(--stroke-dark);box-shadow:var(--sh-btn);cursor:pointer}.settings-row__slider:focus{outline:none}.settings-row__slider:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 3px var(--accent-ok),var(--sh-btn)}.settings-row__slider:focus-visible::-moz-range-thumb{box-shadow:0 0 0 3px var(--accent-ok),var(--sh-btn)}.settings-row__slider:disabled{opacity:.4;cursor:not-allowed}.settings-row__slider:disabled::-webkit-slider-thumb,.settings-row__slider:disabled::-webkit-slider-runnable-track{cursor:not-allowed}.settings-row__slider:disabled::-moz-range-thumb,.settings-row__slider:disabled::-moz-range-track{cursor:not-allowed}.settings-switch{--switch-pad: calc(3px * var(--ui-scale));--switch-knob: calc(24px * var(--ui-scale));position:relative;flex:0 0 auto;display:inline-flex;align-items:center;width:max(calc(var(--touch-min) + 14px),calc(58px * var(--ui-scale)));height:max(var(--touch-min),calc(32px * var(--ui-scale)))}.settings-switch input[type=checkbox]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;padding:0;opacity:0;cursor:pointer}.settings-switch__track{pointer-events:none;position:relative;width:100%;height:calc(32px * var(--ui-scale));padding:var(--switch-pad);box-sizing:border-box;background:var(--cream-200);border:var(--sw-mid) solid var(--stroke-dark);border-radius:var(--r-pill);box-shadow:var(--sh-inset);transition:background var(--dur-fast) var(--ease-out)}.settings-switch__knob{position:absolute;top:50%;left:var(--switch-pad);transform:translateY(-50%);width:var(--switch-knob);height:var(--switch-knob);border-radius:var(--r-pill);background:var(--cream-50);border:var(--sw-mid) solid var(--stroke-dark);box-shadow:var(--sh-btn);transition:left var(--dur-fast) var(--ease-pop)}.settings-switch input[type=checkbox]:checked~.settings-switch__track{background:var(--accent-ok)}.settings-switch input[type=checkbox]:checked~.settings-switch__track .settings-switch__knob{left:calc(100% - var(--switch-pad) - var(--switch-knob) - 2 * var(--sw-mid))}.settings-switch input[type=checkbox]:focus{outline:none}.settings-switch input[type=checkbox]:focus-visible~.settings-switch__track{outline:var(--sw-bold) solid var(--gold-400);outline-offset:2px}@media (prefers-reduced-motion: reduce){.settings-switch__track,.settings-switch__knob{transition:none}}.settings-row__value{text-align:right;font-variant-numeric:tabular-nums;font-size:var(--fs-sm);color:var(--stroke-soft)}.settings-row--language{grid-template-columns:5.5rem 1fr}.settings-language__select{min-height:44px;width:100%;padding:0 var(--sp-3);font:inherit;font-size:var(--fs-sm);font-weight:600;color:var(--fg-ink);background:var(--bg-panel);border:var(--sw-mid) solid var(--stroke-soft);border-radius:var(--r-pill);cursor:pointer}.settings-language__select:focus-visible{outline:3px solid var(--gold-300);outline-offset:2px}.settings-help__button{width:100%}.settings-help__button+.settings-help__button{margin-top:var(--sp-2)}.settings-cloud__copy{margin:0;font-size:var(--fs-sm);line-height:1.4;color:var(--fg-ink)}.settings-cloud__copy--failed{color:var(--red-700)}.settings-cloud__button{width:100%}.settings-section--danger{padding-top:var(--sp-3);border-top:var(--sw-mid) solid var(--stroke-soft)}.settings-section--danger .settings-section__title{color:var(--red-700)}.settings-restart__warning{margin:0;font-size:var(--fs-sm);line-height:1.4;color:var(--fg-ink)}.settings-restart__warning strong{font-weight:700;font-variant-numeric:tabular-nums;color:var(--red-700)}.settings-restart__button{width:100%}.ui-levelpips{display:inline-flex;align-items:center;gap:calc(6px * var(--ui-scale))}.ui-levelpips__pip{flex:0 0 auto;width:calc(10px * var(--ui-scale));height:calc(10px * var(--ui-scale));border-radius:var(--r-pill);background:var(--bg-pill);border:var(--sw-thin) solid var(--bark-600)}.ui-levelpips__pip--filled{background:var(--amber-400);border-color:var(--bark-600)}.shop-stall__sign{display:block;width:100%}.shop-stall .ui-board__body{padding:var(--sp-4)}.shop-stall .shop-panel__tabs{margin:0 0 var(--sp-3);padding:0;background:none;border:none}.shop-stall .shop-panel__tabs .ui-tabs{gap:var(--sp-2);padding:0}.shop-stall .shop-panel__tabs .ui-tab{min-height:max(var(--touch-min),calc(40px * var(--ui-scale)));padding:0 var(--sp-3);border:var(--sw-thin) solid var(--bark-soft);border-radius:var(--r-md);background:var(--row-cream);color:var(--fg-muted);font-weight:600}.shop-stall .shop-panel__tabs .ui-tab.is-active{background:linear-gradient(180deg,var(--gold-400) 0%,var(--amber-500) 100%);border-color:var(--stroke-dark);border-width:var(--sw-mid);color:var(--fg-ink);font-weight:700;box-shadow:var(--sh-inset);transform:none}.shop-stall .shop-panel__content{max-height:min(74vh,900px);padding:0 var(--sp-1) var(--sp-1)}.shop-panel__scroll-host{position:relative;display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.shop-panel__content{display:flex;flex-direction:column;gap:var(--sp-3);max-height:calc(var(--app-vh) * .45);flex:1 1 auto;min-height:0;overflow-y:auto;padding:var(--sp-3) var(--sp-1) var(--sp-3)}.shop-panel__empty{margin:0;padding:var(--sp-6) var(--sp-4);text-align:center;color:var(--fg-muted);font-size:var(--fs-md)}.shop-panel__fx-host .ui-btn--sm{min-height:max(calc(var(--touch-min) - 12px),calc(36px * var(--ui-scale)));border-radius:var(--r-md);font-size:var(--fs-md)}.shop-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--sp-3);padding:var(--sp-3);background:var(--row-cream);border:var(--sw-mid) solid var(--bark-soft);border-radius:var(--r-md)}.shop-row__icon{flex:0 0 auto;display:inline-flex;padding:var(--sp-2);background:var(--bg-pill);border:var(--sw-mid) solid var(--bark-tile);border-radius:var(--r-md)}.shop-row .ui-badge--num{background:var(--amber-500);color:var(--fg-ink);border-color:var(--bark-900)}.shop-row__main{display:flex;flex-direction:column;gap:var(--sp-2);min-width:0}.shop-row__name{margin:0;font-size:var(--fs-md);font-weight:600;color:var(--fg-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shop-row.is-seed-locked .shop-row__icon{filter:saturate(.35);opacity:.7}.shop-row__unlock-requirement{align-self:flex-start;display:inline-flex;align-items:center;min-height:calc(24px * var(--ui-scale));padding:0 var(--sp-2);background:var(--bg-pill);border:var(--sw-mid) solid var(--bark-600);border-radius:var(--r-md);color:var(--fg-muted);font-size:var(--fs-xs);font-weight:600}.shop-row__price{position:relative;align-self:flex-start;display:inline-flex;align-items:center;gap:var(--sp-1);min-height:calc(24px * var(--ui-scale));padding:0 var(--sp-2) 0 calc(16px * var(--ui-scale));background:var(--bg-pill);border:var(--sw-mid) solid var(--bark-600);border-radius:var(--r-md);font-size:var(--fs-sm);color:var(--fg-ink);font-variant-numeric:tabular-nums}.shop-row__price-value{font-weight:600}.shop-row__price-suffix{color:var(--fg-muted);font-weight:500}.shop-row__price-icon{position:absolute;left:calc(-10px * var(--ui-scale));top:50%;transform:translateY(-50%);color:var(--accent-coin)}.shop-row__stats{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-1)}.shop-row__stat{position:relative;display:inline-flex;align-items:center;gap:calc(var(--sp-1) / 2);min-height:calc(20px * var(--ui-scale));padding:0 calc(var(--sp-2) * .75);background:var(--bg-pill);border:var(--sw-thin) solid var(--bark-soft);border-radius:var(--r-sm);font-size:var(--fs-xs);font-weight:600;color:var(--fg-ink);font-variant-numeric:tabular-nums;white-space:nowrap}.shop-row__stat-face{display:inline-flex;align-items:center;gap:calc(var(--sp-1) / 2)}.shop-row__stat-glyph{flex:0 0 auto;color:var(--fg-muted)}.shop-row__stat-glyph--coin{color:var(--accent-coin)}.shop-row__stat-arrow{color:var(--fg-muted);font-weight:500}.shop-row__actions{display:flex;flex-direction:column;align-items:flex-end;gap:max(var(--sp-3),12px)}.shop-row__sell-all{align-self:stretch}@media (max-width: 480px){.shop-row{grid-template-columns:auto 1fr}.shop-row__actions{grid-column:1 / -1;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between}.shop-row__sell-all{align-self:auto}}.shop-upgrade{background:var(--row-cream);border-color:var(--bark-soft);border-radius:var(--r-md);box-shadow:none}.shop-upgrade__body{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-3)}.shop-upgrade__icon{flex:0 0 auto;align-self:center;box-sizing:content-box;width:52px;height:52px;padding:var(--sp-2);background:var(--bg-pill);border:var(--sw-mid) solid var(--bark-tile);border-radius:var(--r-md)}.shop-upgrade__copy{display:flex;flex-direction:column;gap:var(--sp-1);min-width:0;flex:1 1 auto}.shop-upgrade__title{margin:0;font-size:var(--fs-md);font-weight:600;color:var(--fg-ink)}.shop-upgrade__desc{margin:0;font-size:var(--fs-xs);color:var(--fg-ink)}.shop-upgrade__cost{position:relative;align-self:flex-start;display:inline-flex;align-items:center;gap:var(--sp-1);min-height:calc(24px * var(--ui-scale));margin-left:calc(10px * var(--ui-scale));padding:0 var(--sp-2) 0 calc(16px * var(--ui-scale));background:var(--bg-pill);border:var(--sw-mid) solid var(--bark-600);border-radius:var(--r-md);font-size:var(--fs-sm);color:var(--fg-ink);font-variant-numeric:tabular-nums;font-weight:600}.shop-upgrade__cost-icon{position:absolute;left:calc(-10px * var(--ui-scale));top:50%;transform:translateY(-50%);color:var(--accent-coin)}.shop-upgrade__cost--owned{color:var(--accent-ok);margin-left:0;padding-left:var(--sp-2)}@media (max-width: 480px){.shop-upgrade__body{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"icon title" "icon pips" "desc desc" "cost action";align-items:center;column-gap:var(--sp-3);row-gap:var(--sp-2)}.shop-upgrade__copy{display:contents}.shop-upgrade__icon{grid-area:icon}.shop-upgrade__title{grid-area:title;align-self:end}.shop-upgrade__body .ui-levelpips{grid-area:pips;align-self:start}.shop-upgrade__desc{grid-area:desc}.shop-upgrade__cost{grid-area:cost;align-self:center;justify-self:start}.shop-upgrade__action{grid-area:action;justify-self:end}}.shop-panel__content:has(.is-quest-target) :is(.shop-row,.shop-upgrade):not(.is-quest-target):not(:has(.is-quest-target)){opacity:.7}.shop-panel__tabs:has(.is-quest-target) .ui-tab:not(.is-quest-target){opacity:.7}.shop-scroll-cue{position:absolute;left:50%;bottom:var(--sp-2);z-index:2;display:inline-flex;align-items:center;justify-content:center;width:calc(36px * var(--ui-scale));height:calc(36px * var(--ui-scale));padding:0;background:var(--gold-400);border:var(--sw-mid) solid var(--stroke-dark);border-radius:var(--r-pill);box-shadow:var(--sh-btn);color:var(--cocoa-900);cursor:pointer;animation:shop-scroll-cue-bob 1.2s ease-in-out infinite}.shop-scroll-cue--up{bottom:auto;top:var(--sp-2);animation-name:shop-scroll-cue-bob-up}.shop-scroll-cue:focus-visible{outline:var(--sw-mid) solid var(--stroke-dark);outline-offset:2px}.shop-scroll-cue--down .shop-scroll-cue__icon{transform:rotate(90deg)}.shop-scroll-cue--up .shop-scroll-cue__icon{transform:rotate(-90deg)}@keyframes shop-scroll-cue-bob{0%,to{transform:translate(-50%)}50%{transform:translate(-50%,calc(3px * var(--ui-scale)))}}@keyframes shop-scroll-cue-bob-up{0%,to{transform:translate(-50%)}50%{transform:translate(-50%,calc(-3px * var(--ui-scale)))}}@media (prefers-reduced-motion: reduce){.shop-scroll-cue{animation:none;transform:translate(-50%)}}.shop-panel__fx-host{display:contents}.ui-btn.is-popping{animation:shop-btn-pop var(--shop-tf-pop-duration) var(--ease-pop);transform-origin:center}@keyframes shop-btn-pop{0%{transform:scale(1)}50%{transform:scale(var(--shop-tf-pop-scale))}to{transform:scale(1)}}.ui-btn.is-shaking{animation:shop-btn-shake var(--shop-tf-shake-duration) cubic-bezier(.36,.07,.19,.97);transform-origin:center}@keyframes shop-btn-shake{0%,to{transform:translate(0)}10%{transform:translate(calc(var(--shop-tf-shake-amp) * -1))}30%{transform:translate(var(--shop-tf-shake-amp))}50%{transform:translate(calc(var(--shop-tf-shake-amp) * -.6))}70%{transform:translate(calc(var(--shop-tf-shake-amp) * .6))}90%{transform:translate(calc(var(--shop-tf-shake-amp) * -.2))}}.shop-row.is-fail-flash{animation:shop-row-fail-flash var(--shop-tf-fail-duration) ease-out}@keyframes shop-row-fail-flash{0%{background:var(--row-cream)}35%{background:var(--shop-tf-fail-color);box-shadow:0 0 0 2px var(--shop-tf-fail-color)}to{background:var(--row-cream)}}@media (prefers-reduced-motion: reduce){.ui-btn.is-popping,.ui-btn.is-shaking,.shop-row.is-fail-flash{animation-duration:1ms!important}}.lucky-spin{position:absolute;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;padding:max(var(--sp-4),calc(env(safe-area-inset-top) + var(--sp-4))) max(var(--sp-4),env(safe-area-inset-right)) max(var(--sp-4),env(safe-area-inset-bottom)) max(var(--sp-4),env(safe-area-inset-left));box-sizing:border-box;overflow-y:auto;-webkit-overflow-scrolling:touch;background:repeating-conic-gradient(from 0deg at 50% 46%,color-mix(in srgb,var(--cream-50) 7%,transparent) 0deg 9deg,transparent 9deg 18deg),radial-gradient(circle at 50% 46%,color-mix(in srgb,var(--cocoa-700) 40%,transparent),color-mix(in srgb,var(--cocoa-900) 62%,transparent) 72%);animation:lucky-spin-fade var(--dur-med) var(--ease-out);--wheel-size: min(calc(var(--app-vh) * .52), 92vw)}@keyframes lucky-spin-fade{0%{opacity:0}to{opacity:1}}.lucky-spin:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:radial-gradient(circle at 50% 46%,color-mix(in srgb,var(--cocoa-900) 42%,transparent),color-mix(in srgb,var(--cocoa-900) 62%,transparent));opacity:0;transition:opacity var(--dur-slow) var(--ease-out)}.lucky-spin--spinning:after{opacity:1}.lucky-spin__panel{position:relative;display:flex;flex-direction:column;align-items:center;gap:var(--sp-3);margin:auto;flex-shrink:0}.lucky-spin__banner{--spin-corner-size: max(var(--touch-min), calc(44px * var(--ui-scale)));--spin-corner-offset: calc(18px * var(--ui-scale));--spin-corner-reserve: calc( var(--spin-corner-size) - var(--spin-corner-offset) + var(--sp-2) );position:relative;display:flex;align-items:center;justify-content:center;padding:var(--sp-2) max(var(--sp-8),var(--spin-corner-reserve));max-width:100%;border-radius:var(--r-lg);background:linear-gradient(var(--red-400),var(--red-500));border:var(--sw-bold) solid var(--red-700);box-shadow:0 4px 0 0 var(--red-700),0 8px 16px -4px #00000059,inset 0 2px #ffffff40}.lucky-spin__title{font-family:var(--font-ui);font-weight:700;font-size:min(clamp(calc(20px * var(--ui-scale)),min(calc(6.5vw * var(--ui-scale)),calc(var(--app-vh) * .08 * var(--ui-scale))),calc(42px * var(--ui-scale))),calc((100vw - 2 * max(var(--sp-8),var(--spin-corner-reserve)) - 2 * var(--sw-bold) - 2 * var(--spin-corner-offset) - 2 * var(--sp-4)) / var(--spin-title-em, 12)));letter-spacing:.04em;color:var(--fg-on-dark);text-shadow:-2px 0 var(--red-700),2px 0 var(--red-700),0 -2px var(--red-700),0 2px var(--red-700),2px 2px var(--red-700),-2px 2px var(--red-700),0 4px 0 var(--red-700);pointer-events:none;white-space:nowrap}.lucky-spin__close{position:absolute;top:calc(-14px * var(--ui-scale));right:calc(-1 * var(--spin-corner-offset));width:var(--spin-corner-size);height:var(--spin-corner-size);padding:calc(9px * var(--ui-scale));border-radius:var(--r-pill);border:var(--sw-bold) solid var(--red-700);background:linear-gradient(var(--red-400),var(--red-500));color:var(--fg-on-dark);cursor:pointer;box-shadow:0 3px 0 0 var(--red-700),0 6px 10px -4px #0000004d;transition:transform var(--dur-fast) var(--ease-out)}.lucky-spin__close:hover{transform:scale(1.08)}.lucky-spin__close:active{transform:scale(.96)}.lucky-spin__close svg{width:100%;height:100%;display:block}.lucky-spin__wheel{position:relative;width:var(--wheel-size);height:var(--wheel-size);margin-top:clamp(12px,calc(var(--app-vh) * .05),44px);transition:filter var(--dur-med) var(--ease-out)}.lucky-spin__wheel--cooling{filter:saturate(.75) brightness(.9)}.lucky-spin__wheel--cooling .lucky-spin__bulbs{opacity:.45}.lucky-spin__rim{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--r-pill);background:radial-gradient(circle at 50% 32%,var(--gold-200),var(--gold-500) 55%,var(--gold-600) 92%);border:var(--sw-bold) solid var(--cocoa-700);box-shadow:0 14px 30px -6px #00000073,inset 0 -5px #0000002e,inset 0 4px #ffffff73;pointer-events:none}.lucky-spin__disc{position:absolute;top:8%;left:8%;width:84%;height:84%;box-sizing:border-box;border-radius:var(--r-pill);border:var(--sw-bold) solid var(--cocoa-700);overflow:hidden;transition:none}.lucky-spin__disc:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--r-pill);background:var(--wheel-divider-bg, none);pointer-events:none}.lucky-spin__disc.wheel-spinning{animation:wheel-spin var(--spin-duration, 3s) cubic-bezier(.2,.8,.3,1) forwards}@keyframes wheel-spin{0%{transform:rotate(0)}to{transform:rotate(var(--spin-target, 1800deg))}}.lucky-spin__slot{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;pointer-events:none}.lucky-spin__slot-img{display:block;width:calc(var(--wheel-size) * .11);height:auto;filter:drop-shadow(0 1px 2px rgba(0,0,0,.28))}.lucky-spin__slot--special .lucky-spin__slot-img{width:calc(var(--wheel-size) * .065)}.lucky-spin__cap{position:absolute;top:50%;left:50%;width:20%;height:20%;transform:translate(-50%,-50%);border-radius:var(--r-pill);background:radial-gradient(circle at 40% 32%,var(--gold-200),var(--gold-400) 55%,var(--gold-600));border:var(--sw-bold) solid var(--cocoa-700);box-shadow:0 3px 8px #00000059;display:grid;place-items:center}.lucky-spin__cap:after{content:"★";color:var(--gold-700);font-size:calc(var(--wheel-size) * .075);line-height:1;text-shadow:0 1px 0 rgba(255,255,255,.35)}.lucky-spin__bulbs{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;transition:opacity var(--dur-med) var(--ease-out)}.lucky-spin__bulbs span{position:absolute;top:50%;left:50%;width:calc(var(--wheel-size) * .047);height:calc(var(--wheel-size) * .047);border-radius:var(--r-pill);transform:translate(-50%,-50%) rotate(var(--bulb-angle, 0deg)) translateY(calc(var(--wheel-size) * -.46));background:radial-gradient(circle at 35% 30%,var(--cream-50),var(--gold-300) 60%,var(--gold-600));border:var(--sw-thin) solid var(--gold-700);box-shadow:0 0 calc(var(--wheel-size) * .02) color-mix(in srgb,var(--gold-300) 90%,transparent)}.lucky-spin__pointer{position:absolute;top:-5%;left:50%;width:16%;height:auto;transform:translate(-50%);z-index:3;filter:drop-shadow(0 3px 3px rgba(0,0,0,.35));pointer-events:none}.lucky-spin__wheel-fx{position:absolute;top:50%;left:50%;width:150%;height:150%;transform:translate(-50%,-50%);pointer-events:none}.lucky-spin__footer{display:flex;flex-direction:column;align-items:center;gap:var(--sp-2);min-width:min(80vw,320px)}.lucky-spin__action{min-height:max(var(--touch-min),calc(52px * var(--ui-scale)));font-family:var(--font-ui);font-weight:700;font-size:var(--fs-xl);letter-spacing:.06em;text-transform:uppercase;color:var(--fg-on-dark);padding:var(--sp-3) var(--sp-10);border:none;border-radius:var(--r-pill);background:linear-gradient(var(--sage-400),var(--sage-600));box-shadow:0 5px 0 0 var(--sage-800),0 10px 16px -6px #00000059,inset 0 2px #ffffff4d;text-shadow:0 2px 0 var(--sage-800);cursor:pointer;transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.lucky-spin__action:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 7px 0 0 var(--sage-800),0 12px 18px -6px #00000059,inset 0 2px #ffffff4d}.lucky-spin__action:active:not(:disabled){transform:translateY(3px);box-shadow:0 2px 0 0 var(--sage-800),0 6px 10px -6px #00000059,inset 0 2px #ffffff4d}.lucky-spin__action:disabled{cursor:default;filter:grayscale(.4);opacity:.7}.lucky-spin__cooldown{display:flex;flex-direction:column;align-items:stretch;gap:var(--sp-2);width:min(80vw,340px);box-sizing:border-box;padding:var(--sp-3) var(--sp-4);border-radius:var(--r-lg);background:color-mix(in srgb,var(--cocoa-900) 60%,transparent);border:var(--sw-mid) solid var(--gold-600);box-shadow:inset 0 2px #ffffff14,0 6px 14px -4px #00000059}.lucky-spin__cooldown-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-2)}.lucky-spin__cooldown-label{font-weight:700;font-size:var(--fs-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--cream-200)}.lucky-spin__cooldown .lucky-spin__cooldown-timer{font-size:var(--fs-lg);font-weight:700;color:var(--gold-300);font-variant-numeric:tabular-nums}.lucky-spin__cooldown-bar{height:12px;border-radius:var(--r-pill);overflow:hidden;background:var(--cocoa-900);border:var(--sw-thin) solid var(--cocoa-700)}.lucky-spin__cooldown-fill{height:100%;border-radius:var(--r-pill);background:linear-gradient(var(--gold-200),var(--gold-500));transition:width 1s linear}.lucky-spin__skip{display:inline-flex;align-items:center;gap:var(--sp-2);font-family:var(--font-ui);font-weight:700;font-size:var(--fs-sm);letter-spacing:.05em;text-transform:uppercase;color:var(--cocoa-800);padding:var(--sp-2) var(--sp-5);border:none;border-radius:var(--r-pill);background:linear-gradient(var(--gold-200),var(--gold-400));box-shadow:0 3px 0 0 var(--gold-600),0 6px 10px -4px #00000040;cursor:pointer;transition:transform var(--dur-fast) var(--ease-out)}.lucky-spin__skip-video{flex-shrink:0}.lucky-spin__skip:hover{transform:translateY(-1px)}.lucky-spin__skip:active{transform:translateY(1px)}.lucky-spin__skip-note{margin:0;font-weight:600;font-size:var(--fs-sm);text-align:center;color:var(--cream-200);opacity:.7}.lucky-spin__reveal{position:relative;width:var(--wheel-size);height:var(--wheel-size);display:flex;align-items:center;justify-content:center}.lucky-spin__glow{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:repeating-conic-gradient(color-mix(in srgb,var(--gold-200) 16%,transparent) 0deg 10deg,transparent 10deg 20deg),radial-gradient(circle,color-mix(in srgb,var(--gold-300) 55%,transparent) 0%,color-mix(in srgb,var(--gold-300) 18%,transparent) 38%,transparent 66%);-webkit-mask-image:radial-gradient(circle,#000 30%,transparent 70%);mask-image:radial-gradient(circle,#000 30%,transparent 70%)}.lucky-spin__reveal-fx{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.lucky-spin__prize{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:var(--sp-2);animation:lucky-prize-pop var(--dur-med) var(--ease-pop)}.lucky-spin__prize--fx{animation:lucky-prize-reveal-pop .4s cubic-bezier(.34,1.56,.64,1) .35s both,lucky-prize-float 2.4s ease-in-out .75s infinite}.lucky-spin__prize-img{display:block;width:calc(var(--wheel-size) * .34);height:auto;filter:drop-shadow(0 3px 3px rgba(0,0,0,.28))}.lucky-spin__prize-text{display:flex;flex-direction:column;align-items:center;gap:var(--sp-1);margin-top:var(--sp-2)}.lucky-spin__prize-qty{font-family:var(--font-ui);font-weight:700;font-size:clamp(32px,calc(var(--app-vh) * .08),56px);color:var(--gold-300);text-shadow:-2px 0 var(--red-700),2px 0 var(--red-700),0 -2px var(--red-700),0 2px var(--red-700),2px 2px var(--red-700),-2px 2px var(--red-700),0 4px 0 var(--red-700);font-variant-numeric:tabular-nums;line-height:1}.lucky-spin__prize-name{font-family:var(--font-ui);font-weight:700;font-size:var(--fs-md);letter-spacing:.08em;text-transform:uppercase;color:var(--fg-on-dark);text-shadow:0 2px 3px rgba(0,0,0,.4)}.lucky-spin__help{position:absolute;top:calc(-14px * var(--ui-scale));left:calc(-1 * var(--spin-corner-offset));width:var(--spin-corner-size);height:var(--spin-corner-size);border-radius:var(--r-pill);border:var(--sw-bold) solid var(--gold-700);background:linear-gradient(var(--gold-200),var(--gold-400));color:var(--cocoa-900);font-family:var(--font-ui);font-weight:700;font-size:var(--fs-lg);line-height:1;cursor:pointer;box-shadow:0 3px 0 0 var(--gold-700),0 6px 10px -4px #0000004d;transition:transform var(--dur-fast) var(--ease-out)}.lucky-spin__help:hover{transform:scale(1.08)}.lucky-spin__help:active{transform:scale(.96)}.lucky-spin__prizes{width:min(92vw,460px);max-height:calc(var(--app-vh) * .6);overflow-y:auto;box-sizing:border-box;margin-top:clamp(12px,calc(var(--app-vh) * .05),44px);padding:var(--sp-4);background:color-mix(in srgb,var(--cocoa-900) 60%,transparent);border:var(--sw-mid) solid var(--gold-600);border-radius:var(--r-lg);box-shadow:inset 0 2px #ffffff14,0 6px 14px -4px #00000059}.lucky-spin__prizes-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-2)}.lucky-spin__prizes-item{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-1) var(--sp-2);background:var(--cream-50);border:var(--sw-mid) solid var(--cocoa-700);border-radius:var(--r-md)}.lucky-spin__prizes-item--special{background:linear-gradient(var(--gold-200),var(--gold-400));border-color:var(--gold-700)}.lucky-spin__prizes-icon{flex:0 0 auto;width:calc(34px * var(--ui-scale));height:auto}.lucky-spin__prizes-label{font-family:var(--font-ui);font-weight:700;font-size:var(--fs-sm);color:var(--fg-ink)}@keyframes lucky-prize-pop{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@keyframes lucky-prize-reveal-pop{0%{opacity:0;transform:scale(0) rotate(-6deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes lucky-prize-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@media (prefers-reduced-motion: reduce){.lucky-spin,.lucky-spin__prize{animation:none}}@media (max-height: 500px){.lucky-spin{--wheel-size: min(calc(var(--app-vh) * .48), 62vw)}.lucky-spin__wheel{margin-top:4px}.lucky-spin__banner{padding:var(--sp-1) max(var(--sp-6),var(--spin-corner-reserve))}.lucky-spin__title{font-size:clamp(calc(16px * var(--ui-scale)),min(calc(5vw * var(--ui-scale)),calc(var(--app-vh) * .06 * var(--ui-scale))),calc(28px * var(--ui-scale)))}.lucky-spin__action{font-size:var(--fs-md);padding:var(--sp-2) var(--sp-8)}.lucky-spin__prizes{max-height:calc(var(--app-vh) * .45);margin-top:var(--sp-2)}}.unlock-flash-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-transaction-fx);pointer-events:none}.unlock-flash{position:absolute;left:var(--unlock-flash-left, max(var(--sp-3), env(safe-area-inset-left)));top:var(--unlock-flash-top, calc(max(var(--sp-3), env(safe-area-inset-top)) + 140px * var(--ui-scale)));margin-top:var(--sp-2);margin-left:var(--sp-7);display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);background:var(--bg-pill);border:var(--sw-mid) solid var(--stroke-dark);border-radius:var(--r-lg);box-shadow:var(--sh-btn);color:var(--fg-ink);pointer-events:none;max-width:min(calc(100vw - 2 * var(--sp-7)),calc(220px * var(--ui-scale)));animation:unlock-flash-in .32s var(--ease-pop) both}.unlock-flash__icon{flex:none}.unlock-flash--speed .unlock-flash__icon{color:var(--accent-speed)}.unlock-flash--coins{box-shadow:var(--sh-btn),0 0 calc(14px * var(--ui-scale)) var(--accent-coin)}.unlock-flash--speed{box-shadow:var(--sh-btn),0 0 calc(14px * var(--ui-scale)) var(--accent-speed)}.unlock-flash__text{display:flex;flex-direction:column;gap:calc(2px * var(--ui-scale));min-width:0}.unlock-flash__value{font-size:calc(20px * var(--ui-scale));font-weight:800;line-height:1;font-feature-settings:"tnum"}.unlock-flash__label{color:var(--fg-muted);font-size:calc(11px * var(--ui-scale));font-weight:600;line-height:1.15}.unlock-flash.is-exiting{animation:unlock-flash-out .3s var(--ease-out) both}@keyframes unlock-flash-in{0%{opacity:0;transform:translateY(calc(14px * var(--ui-scale))) scale(.92)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes unlock-flash-out{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(calc(-22px * var(--ui-scale))) scale(.9)}}@media (prefers-reduced-motion: reduce){.unlock-flash{animation:none}.unlock-flash.is-exiting{animation:none;opacity:0}}.seed-selector__list{list-style:none;margin:0;padding:max(var(--sp-4),16px) 0 0;display:flex;flex-direction:column;gap:var(--sp-2)}.seed-selector__row{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);background:var(--row-cream);border:var(--sw-mid) solid var(--bark-soft);border-radius:var(--r-md)}.seed-selector__list:has(.is-quest-target) .seed-selector__row:not(.is-quest-target){opacity:.7}.seed-selector__label{font-size:var(--fs-md);font-weight:600;text-align:left}.seed-selector__qty{font-size:var(--fs-sm);font-variant-numeric:tabular-nums;opacity:.85}.seed-selector__empty{margin:0;text-align:center;font-size:var(--fs-md)}.seed-selector__empty-state{display:flex;flex-direction:column;align-items:center;gap:var(--sp-3);padding:var(--sp-2) 0}.combo-pill{position:fixed;top:calc(max(var(--sp-3),env(safe-area-inset-top)) + var(--sp-9));left:50%;transform:translate(-50%);display:flex;align-items:baseline;gap:var(--sp-2);padding:var(--sp-1) var(--sp-4) calc(var(--sp-1) + 4px);border-radius:999px;background:var(--cocoa-800);border:2px solid var(--cocoa-900);color:var(--fg-on-dark);font-weight:700;pointer-events:none;z-index:var(--z-hud);overflow:hidden;white-space:nowrap}.combo-pill__count{font-size:calc(20px * var(--ui-scale))}.combo-pill__tier{font-size:calc(14px * var(--ui-scale));letter-spacing:.05em;text-transform:uppercase}.combo-pill--amazing .combo-pill__tier{color:var(--wheel-teal)}.combo-pill--legendary .combo-pill__tier{color:var(--gold-300)}.combo-pill__drain{position:absolute;left:0;bottom:0;height:4px;width:100%;background:#84c0fe;transform-origin:left;animation:combo-pill-drain linear forwards}@keyframes combo-pill-drain{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@media (prefers-reduced-motion: reduce){.combo-pill__drain{animation:none}}.vstick{position:fixed;z-index:var(--z-hud);width:var(--vstick-ring);height:var(--vstick-ring);transform:translate(-50%,-50%);display:grid;place-items:center;pointer-events:none;-webkit-user-select:none;user-select:none;opacity:.72;animation:vstick-in var(--dur-fast) var(--ease-out)}@keyframes vstick-in{0%{opacity:0;transform:translate(-50%,-50%) scale(.86)}to{opacity:.72;transform:translate(-50%,-50%) scale(1)}}.vstick__ring{width:100%;height:100%;border-radius:var(--r-pill);background:color-mix(in srgb,var(--cocoa-900) 55%,transparent);border:var(--sw-bold) solid color-mix(in srgb,var(--cream-50) 78%,transparent);box-shadow:0 0 0 var(--sw-mid) color-mix(in srgb,var(--cocoa-900) 50%,transparent),var(--sh-inset)}.vstick__knob{position:absolute;left:50%;top:50%;width:var(--vstick-knob);height:var(--vstick-knob);border-radius:var(--r-pill);background:linear-gradient(180deg,var(--cream-50),var(--cream-200));border:var(--sw-mid) solid var(--cocoa-800);box-shadow:var(--sh-btn)}@media (prefers-reduced-motion: reduce){.vstick{animation:none}}.confirmation-modal__message{margin:0;text-align:center;font-size:var(--fs-md)}.confirmation-modal__cost{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);align-self:center;min-height:calc(28px * var(--ui-scale));padding:var(--sp-1) var(--sp-3);background:var(--bg-pill);border:var(--sw-mid) solid var(--bark-600);border-radius:var(--r-md)}.confirmation-modal__cost-value{font-size:var(--fs-lg);font-weight:700;font-variant-numeric:tabular-nums;color:var(--fg-ink)}.confirmation-modal__actions{display:flex;justify-content:center;gap:var(--sp-3)}.confirmation-modal__ad-unlock{display:flex;flex-direction:column;align-items:center;gap:var(--sp-2);margin-top:var(--sp-3)}.confirmation-modal__ad-unlock-or{font-size:var(--fs-sm);font-weight:600;color:var(--fg-muted);text-transform:uppercase;letter-spacing:.05em}.confirmation-modal__cost--short .confirmation-modal__cost-value{color:var(--red-500)}.confirmation-modal__shortfall{margin:0;text-align:center;font-size:var(--fs-sm);font-weight:600;color:var(--red-500)}.confirmation-details{display:flex;flex-direction:column;gap:var(--sp-3)}.confirmation-details__hero{display:flex;align-items:center;justify-content:center;gap:var(--sp-3)}.confirmation-details__hero img{display:block;object-fit:contain}.confirmation-details__hero-copy{display:flex;flex-direction:column;gap:2px;text-align:left;min-width:0}.confirmation-details__hero-heading{margin:0;font-size:var(--fs-md);font-weight:700;color:var(--fg-ink)}.confirmation-details__hero-subtext{margin:0;font-size:var(--fs-sm);color:var(--fg-muted)}.confirmation-details__levelup{display:flex;align-items:center;justify-content:center;gap:var(--sp-2)}.confirmation-details__levelup-label{font-size:var(--fs-sm);font-weight:600;color:var(--fg-muted)}.confirmation-details__arrow{color:var(--fg-muted);flex:0 0 auto}.confirmation-details__stat{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--sp-2);background:var(--bg-pill);border:var(--sw-thin) solid var(--stroke-soft);border-radius:var(--r-md);padding:var(--sp-2) var(--sp-3);font-size:var(--fs-sm)}.confirmation-details__stat-label{color:var(--fg-muted);font-weight:600}.confirmation-details__stat-values{display:inline-flex;flex-wrap:wrap;justify-content:flex-end;margin-left:auto;min-width:0;align-items:center;gap:var(--sp-1);font-variant-numeric:tabular-nums}.confirmation-details__stat-before{color:var(--fg-muted);white-space:nowrap}.confirmation-details__stat-after{font-weight:700;color:var(--fg-ink);white-space:nowrap}.confirmation-details__stat-after--improved{color:var(--accent-ok)}.confirmation-details__callout{display:flex;align-items:center;gap:var(--sp-2);background:linear-gradient(180deg,var(--gold-200) 0%,var(--gold-300) 100%);border:var(--sw-thin) solid var(--gold-600);border-radius:var(--r-md);padding:var(--sp-2) var(--sp-3);font-size:var(--fs-sm);font-weight:700;color:var(--gold-700);text-align:left}.confirmation-details__callout>:first-child{flex:0 0 auto}.confirmation-details__features{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:var(--sp-2)}.confirmation-details__feature{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-sm);color:var(--fg-ink);text-align:left}.confirmation-details__feature>:first-child{flex:0 0 auto}.confirmation-details__prizes{display:flex;flex-direction:column;gap:var(--sp-2)}.confirmation-details__prize-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--sp-2)}.confirmation-details__prize-chip{display:inline-flex;align-items:center;gap:var(--sp-1);padding:var(--sp-1) var(--sp-2);background:var(--bg-pill);border:var(--sw-thin) solid var(--stroke-soft);border-radius:var(--r-md)}.confirmation-details__prize-chip-art{width:24px;height:24px;object-fit:contain}.confirmation-details__prize-chip-qty{font-size:var(--fs-sm);font-weight:700;font-variant-numeric:tabular-nums;color:var(--fg-ink)}.confirmation-details__jackpot{display:flex;align-items:center;justify-content:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);background:linear-gradient(180deg,var(--gold-200) 0%,var(--gold-300) 100%);border:var(--sw-thin) solid var(--gold-600);border-radius:var(--r-md)}.confirmation-details__jackpot-art{width:48px;height:48px;object-fit:contain}.confirmation-details__jackpot-copy{display:flex;flex-direction:column;text-align:left}.confirmation-details__jackpot-label{font-size:var(--fs-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--gold-700)}.confirmation-details__jackpot-qty{font-size:var(--fs-lg);font-weight:700;font-variant-numeric:tabular-nums;color:var(--fg-ink)}.dbg-stats{position:absolute;bottom:8px;left:8px;display:flex;flex-direction:column;gap:2px;pointer-events:none;z-index:100}.dbg-stats span{font-size:11px;font-family:monospace;color:var(--debug-text-on-dark);background:#000000b3;padding:1px 5px;border-radius:2px}.cutscene-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:var(--z-cutscene);pointer-events:auto;cursor:pointer;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.cutscene-overlay:focus{outline:none}.cutscene-overlay:focus-visible{outline:none}.cutscene-overlay:focus-visible .cutscene-overlay__text{box-shadow:0 0 0 3px var(--gold-400),0 8px 24px -10px color-mix(in srgb,var(--black) 70%,transparent)}.cutscene-overlay__text-wrap{position:absolute;left:0;right:0;bottom:8%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-2);background:transparent;border:0;padding:0;margin:0;font:inherit;color:inherit;pointer-events:auto;cursor:pointer;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;text-align:center}.cutscene-overlay__loading{position:absolute;left:0;right:0;bottom:8%;display:flex;justify-content:center;pointer-events:none}.cutscene-overlay__loading .cutscene-overlay__text{width:auto;animation:cutscene-tap-pulse 1.6s ease-in-out infinite}.cutscene-overlay__mute{position:absolute;top:max(var(--sp-3),env(safe-area-inset-top));left:max(var(--sp-3),env(safe-area-inset-left));pointer-events:auto}.cutscene-overlay__skip{position:absolute;top:max(var(--sp-3),env(safe-area-inset-top));right:max(var(--sp-3),env(safe-area-inset-right));display:inline-flex;align-items:center;padding:var(--sp-2) var(--sp-4);min-height:44px;background:var(--bg-cutscene-dialog);color:var(--fg-on-dark);border:var(--sw-thin) solid var(--stroke-cutscene-dialog);border-radius:var(--r-pill);backdrop-filter:blur(8px) saturate(1.1);-webkit-backdrop-filter:blur(8px) saturate(1.1);font-family:var(--font-ui);font-weight:600;font-size:var(--fs-sm);letter-spacing:.08em;text-transform:uppercase;text-shadow:0 1px 4px color-mix(in srgb,var(--black) 70%,transparent);pointer-events:auto;cursor:pointer;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:manipulation;opacity:.75;transition:opacity var(--dur-fast) var(--ease-out)}.cutscene-overlay__skip:after{content:"";position:absolute;top:-9px;right:-9px;bottom:-9px;left:-9px}.cutscene-overlay__skip:hover{opacity:1}.cutscene-overlay__skip:focus{outline:none}.cutscene-overlay__skip:focus-visible{outline:none;box-shadow:0 0 0 3px var(--gold-400)}.cutscene-overlay__skip-label{position:relative;display:inline-flex;align-items:center;gap:var(--sp-1)}.cutscene-overlay__text{margin:0;padding:var(--sp-3) var(--sp-5);width:min(90vw,54rem);max-width:calc(100vw - 10%);box-sizing:border-box;background:var(--bg-cutscene-dialog);color:var(--fg-on-dark);border:var(--sw-thin) solid var(--stroke-cutscene-dialog);border-radius:var(--r-pill);box-shadow:0 8px 24px -10px color-mix(in srgb,var(--black) 70%,transparent);backdrop-filter:blur(8px) saturate(1.1);-webkit-backdrop-filter:blur(8px) saturate(1.1);font-family:var(--font-ui);font-weight:500;font-size:var(--fs-lg);line-height:1.45;text-align:center;text-shadow:0 1px 2px color-mix(in srgb,var(--black) 50%,transparent);animation:cutscene-text-in var(--dur-slow) var(--ease-out) both;transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),background-color var(--dur-fast) var(--ease-out)}.cutscene-overlay__text-wrap:hover .cutscene-overlay__text{background:color-mix(in srgb,var(--black) 78%,transparent)}.cutscene-overlay__text-wrap:active .cutscene-overlay__text{transform:translateY(1px);box-shadow:0 4px 14px -8px color-mix(in srgb,var(--black) 70%,transparent)}.cutscene-overlay__tap{position:relative;display:inline-flex;align-items:center;gap:var(--sp-1);margin:0;min-height:24px;padding:var(--sp-1) var(--sp-3);background:transparent;border:0;border-radius:var(--r-sm);color:var(--fg-on-dark);font-family:var(--font-ui);font-weight:600;font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;text-shadow:0 1px 4px color-mix(in srgb,var(--black) 70%,transparent);animation:cutscene-tap-pulse 1.6s ease-in-out infinite;pointer-events:none}.cutscene-overlay__tap-icon{animation:cutscene-tap-bounce 1.4s ease-in-out infinite}@keyframes cutscene-tap-pulse{0%,to{opacity:.65}50%{opacity:1}}@keyframes cutscene-tap-bounce{0%,to{transform:translate(0)}50%{transform:translate(3px)}}@keyframes cutscene-text-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.cutscene-overlay__text{animation:none;transition:none}.cutscene-overlay__tap,.cutscene-overlay__tap-icon,.cutscene-overlay__loading .cutscene-overlay__text{animation:none}}@media (max-aspect-ratio: 1/1){.cutscene-overlay__text{width:min(90vw,40rem);max-width:calc(100vw - 10%);font-size:var(--fs-md)}}@media (max-height: 500px){.cutscene-overlay__text-wrap{bottom:var(--sp-3);gap:var(--sp-1)}.cutscene-overlay__text{padding:var(--sp-2) var(--sp-4);font-size:var(--fs-md);line-height:1.3}.cutscene-overlay__tap{min-height:0;padding:0 var(--sp-2)}.cutscene-overlay__skip{top:var(--sp-2);right:var(--sp-2);min-height:26px;padding:0 var(--sp-2)}.cutscene-overlay__mute{top:var(--sp-2);left:var(--sp-2)}}.onboarding-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:var(--z-onboarding);pointer-events:none}.onboarding-hint{position:absolute;pointer-events:none}.onboarding-hint[data-side=below]{transform:none}.onboarding-hint[data-side=above]{transform:translateY(-100%)}.onboarding-hint[data-side=right]{transform:translateY(-50%)}.onboarding-hint[data-side=left]{transform:translate(-100%,-50%)}.onboarding-hint--bottom{left:50%;bottom:max(var(--sp-7),env(safe-area-inset-bottom));top:auto;width:clamp(280px,28vw,440px);transform:translate(-50%)}.onboarding-hint__card{padding-block:var(--sp-3)}.onboarding-hint__text{margin:0;font-family:var(--font-ui);font-weight:400;font-size:var(--fs-lg);line-height:1.4;text-align:center;color:var(--fg-ink)}.onboarding-hint__tail{position:absolute;width:0;height:0}.onboarding-hint__tail:after{content:"";position:absolute;width:0;height:0}.onboarding-hint[data-side=below] .onboarding-hint__tail,.onboarding-hint--bottom .onboarding-hint__tail{left:50%;top:calc(-1 * var(--sp-2));transform:translate(-50%);border-left:12px solid transparent;border-right:12px solid transparent;border-bottom:12px solid var(--stroke-dark)}.onboarding-hint[data-side=below] .onboarding-hint__tail:after,.onboarding-hint--bottom .onboarding-hint__tail:after{left:50%;top:calc(var(--sw-mid));transform:translate(-50%);border-left:10px solid transparent;border-right:10px solid transparent;border-bottom:10px solid var(--bg-pill)}.onboarding-hint[data-side=above] .onboarding-hint__tail{left:50%;bottom:calc(-1 * var(--sp-2));transform:translate(-50%);border-left:12px solid transparent;border-right:12px solid transparent;border-top:12px solid var(--stroke-dark)}.onboarding-hint[data-side=above] .onboarding-hint__tail:after{left:50%;top:calc(-1 * (12px + var(--sw-mid)));transform:translate(-50%);border-left:10px solid transparent;border-right:10px solid transparent;border-top:10px solid var(--bg-pill)}.onboarding-hint[data-side=right] .onboarding-hint__tail{top:50%;left:calc(-1 * var(--sp-2));transform:translateY(-50%);border-top:12px solid transparent;border-bottom:12px solid transparent;border-right:12px solid var(--stroke-dark)}.onboarding-hint[data-side=right] .onboarding-hint__tail:after{top:50%;left:calc(var(--sw-mid));transform:translateY(-50%);border-top:10px solid transparent;border-bottom:10px solid transparent;border-right:10px solid var(--bg-pill)}.onboarding-hint[data-side=left] .onboarding-hint__tail{top:50%;right:calc(-1 * var(--sp-2));transform:translateY(-50%);border-top:12px solid transparent;border-bottom:12px solid transparent;border-left:12px solid var(--stroke-dark)}.onboarding-hint[data-side=left] .onboarding-hint__tail:after{top:50%;right:calc(var(--sw-mid));transform:translateY(-50%);border-top:10px solid transparent;border-bottom:10px solid transparent;border-left:10px solid var(--bg-pill)}.onboarding-modal-dock{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-end;justify-content:center;padding:var(--sp-5);padding-bottom:max(var(--sp-5),env(safe-area-inset-bottom));pointer-events:none}.onboarding-modal{display:grid;grid-template-columns:auto 1fr;gap:var(--sp-3);align-items:center;width:clamp(320px,38vw,520px);max-width:calc(100vw - var(--sp-7));padding:var(--sp-3) var(--sp-4);background:var(--bg-panel);color:var(--fg-ink);border:var(--sw-mid) solid var(--stroke-dark);border-radius:var(--r-lg);box-shadow:var(--sh-card);text-align:left;cursor:pointer;font:inherit;pointer-events:auto;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;animation:onboarding-modal-in var(--dur-med) var(--ease-pop) both}.onboarding-modal:focus-visible{outline:none;box-shadow:0 0 0 3px var(--gold-400),var(--sh-card)}@keyframes onboarding-modal-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media (prefers-reduced-motion: reduce){.onboarding-modal{animation:none}}.onboarding-modal__portrait{flex:0 0 auto;width:72px;height:86px;border-radius:var(--r-md);background:var(--bg-pill);border:var(--sw-mid) solid var(--stroke-dark);display:inline-flex;align-items:center;justify-content:center;overflow:hidden}.onboarding-modal__portrait-img{display:block;width:100%;height:100%;object-fit:contain}.onboarding-modal__column{display:flex;flex-direction:column;gap:var(--sp-1);min-width:0}.onboarding-modal__title{margin:0;font-family:var(--font-ui);font-weight:600;font-size:var(--fs-md);color:var(--fg-ink)}.onboarding-modal__text{margin:0;font-family:var(--font-ui);font-weight:400;font-size:var(--fs-md);line-height:1.35;color:var(--fg-ink)}.onboarding-modal__hint{display:inline-flex;align-items:center;gap:var(--sp-1);margin-top:var(--sp-1);font-family:var(--font-ui);font-weight:600;font-size:var(--fs-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--stroke-soft)}.onboarding-modal__hint-icon{animation:onboarding-hint-bounce 1.4s ease-in-out infinite}@keyframes onboarding-hint-bounce{0%,to{transform:translate(0)}50%{transform:translate(3px)}}@media (prefers-reduced-motion: reduce){.onboarding-modal__hint-icon{animation:none}}@media (max-width: 640px){.onboarding-modal-dock{padding:var(--sp-3);padding-bottom:max(var(--sp-3),env(safe-area-inset-bottom))}.onboarding-modal{width:calc(100vw - var(--sp-6))}.onboarding-modal__portrait{width:64px;height:76px}}@media (max-height: 500px){.onboarding-modal-dock{padding:var(--sp-3);padding-bottom:max(var(--sp-3),env(safe-area-inset-bottom))}.onboarding-modal{width:min(480px,calc(100vw - var(--sp-6)));padding:var(--sp-2) var(--sp-4)}.onboarding-modal__portrait{width:64px;height:76px}.onboarding-modal__text{font-size:var(--fs-sm)}}.shipping-tally.shipping-tally{background:#32180999;cursor:pointer}.shipping-tally:focus{outline:none}.shipping-tally:focus-visible{outline:none;box-shadow:inset 0 0 0 3px var(--gold-400)}.shipping-tally .ui-board{cursor:default}.shipping-tally__rows{display:flex;flex-direction:column;gap:var(--sp-3)}.tally-receipt{position:relative;display:flex;flex-direction:column;gap:var(--sp-1);padding:var(--sp-3) var(--sp-4);background:var(--row-cream);border:var(--sw-mid) solid var(--bark-600);border-radius:var(--r-md);box-shadow:0 3px 0 0 var(--cocoa-800);opacity:0;transform:translateY(8px);transition:opacity var(--dur-med) var(--ease-out),transform var(--dur-med) var(--ease-out)}.tally-receipt.is-visible{opacity:1;transform:translateY(0)}.tally-receipt--golden{background:var(--gold-300);border-color:var(--gold-600);box-shadow:0 3px 0 0 var(--gold-700),inset 0 0 0 3px var(--gold-200)}.shipping-tally__group-header{display:flex;align-items:center;gap:var(--sp-2);padding-bottom:var(--sp-1);padding-right:calc(64px * var(--ui-scale));border-bottom:var(--sw-mid) dashed color-mix(in srgb,var(--bark-600) 35%,transparent);font-size:var(--fs-sm);font-weight:700;color:var(--fg-muted);opacity:0;transform:translateY(8px);transition:opacity var(--dur-med) var(--ease-out),transform var(--dur-med) var(--ease-out)}.shipping-tally__group-header.is-visible{opacity:1;transform:translateY(0)}.shipping-tally__group-header-tag{display:inline-flex;align-items:center;gap:var(--sp-1);padding:1px var(--sp-2);border-radius:var(--r-pill);border:var(--sw-mid) solid;background:var(--bg-pill);font-size:var(--fs-xs);font-weight:700;line-height:1.2;white-space:nowrap}.shipping-tally__group-header-tag--timed{border-color:var(--accent-warn);color:var(--red-700)}.shipping-tally__group-header-tag--golden{border-color:var(--gold-600);color:var(--gold-700)}.shipping-tally__paid{position:absolute;right:var(--sp-3);top:var(--sp-2);padding:3px var(--sp-2);border:var(--sw-bold) solid var(--gold-700);border-radius:var(--r-sm);color:var(--gold-700);font-size:var(--fs-xs);font-weight:700;letter-spacing:.14em;text-transform:uppercase;line-height:1;transform:rotate(8deg);box-shadow:inset 0 0 0 2px var(--row-cream),inset 0 0 0 3px var(--gold-700);opacity:.85}.tally-receipt--golden .shipping-tally__paid{box-shadow:inset 0 0 0 2px var(--gold-300),inset 0 0 0 3px var(--gold-700)}.shipping-tally__row{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-1) 0;font-size:var(--fs-md);color:var(--fg-ink);opacity:0;transform:translateY(8px);transition:opacity var(--dur-med) var(--ease-out),transform var(--dur-med) var(--ease-out)}.shipping-tally__row.is-visible{opacity:1;transform:translateY(0)}.shipping-tally__row-label{display:inline-flex;align-items:center;gap:var(--sp-2);font-weight:600;min-width:0}.shipping-tally__row-icon{flex:0 0 auto}.shipping-tally__row-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shipping-tally__row-qty{color:var(--fg-muted);font-weight:600;font-variant-numeric:tabular-nums;flex:0 0 auto}.shipping-tally__row-leader{flex:1 1 auto;margin:0 var(--sp-1);border-bottom:2px dotted color-mix(in srgb,var(--cocoa-700) 50%,transparent);transform:translateY(4px)}.shipping-tally__row-value{display:inline-flex;align-items:baseline;gap:var(--sp-1);font-weight:700;font-variant-numeric:tabular-nums;color:var(--fg-coin)}.shipping-tally__row-num{min-width:2ch;text-align:right}.shipping-tally__row-boosted{flex:0 0 auto;padding:1px var(--sp-2);border-radius:var(--r-pill);background:var(--sage-400);border:var(--sw-thin) solid var(--sage-600);color:var(--cocoa-900);font-size:var(--fs-xs);font-weight:700;white-space:nowrap}.shipping-tally__row--total{justify-content:space-between;padding:var(--sp-2) var(--sp-1) 0;font-size:var(--fs-lg)}.shipping-tally__row--total .shipping-tally__row-label{font-weight:700}.shipping-tally__stamp{position:relative;display:inline-flex;align-items:center;padding:var(--sp-2) var(--sp-4) var(--sp-2) calc(38px * var(--ui-scale));background:var(--bg-pill);border:var(--sw-mid) solid var(--stroke-dark);border-radius:var(--r-pill);box-shadow:var(--sh-btn);font-size:var(--fs-xl);font-weight:700;line-height:1;color:var(--fg-coin);font-variant-numeric:tabular-nums;white-space:nowrap}.shipping-tally__stamp-coin{position:absolute;left:calc(-12px * var(--ui-scale));top:50%;transform:translateY(-50%)}.shipping-tally__row--total.is-glow .shipping-tally__stamp{box-shadow:var(--sh-btn),0 0 0 4px color-mix(in srgb,var(--gold-400) 45%,transparent);transition:box-shadow var(--dur-med) var(--ease-out)}.shipping-tally__streak-row{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);margin-top:var(--sp-2);padding:var(--sp-2) var(--sp-3);background:var(--bg-pill);border:var(--sw-mid) solid var(--stroke-dark);border-radius:var(--r-md);font-size:var(--fs-sm);font-weight:600;color:var(--fg-muted)}.shipping-tally__streak-tier{display:inline-flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-md);font-weight:700;color:var(--fg-ink);white-space:nowrap}.shipping-tally__streak-pips{display:inline-flex;gap:var(--sp-2)}.shipping-tally__streak-pip{display:inline-block;width:calc(12px * var(--ui-scale));height:calc(12px * var(--ui-scale));box-sizing:border-box;transform:rotate(45deg);border:var(--sw-mid) solid var(--cocoa-700);border-radius:2px}.shipping-tally__streak-pip.is-on{border-color:var(--stroke-dark);background:var(--gold-400);box-shadow:inset 0 0 0 2px var(--gold-200)}.shipping-tally__streak-hint{flex:1 1 auto;text-align:center;font-variant-numeric:tabular-nums}.shipping-tally__streak-plus{flex:0 0 auto;padding:2px var(--sp-2);border-radius:var(--r-pill);background:var(--leaf-300);border:var(--sw-mid) solid var(--leaf-700);color:var(--white);font-size:var(--fs-xs);font-weight:700;text-shadow:1px 0 var(--leaf-700),-1px 0 var(--leaf-700),0 1px var(--leaf-700),0 -1px var(--leaf-700)}.shipping-tally__actions{display:flex;align-items:center;justify-content:center;gap:var(--sp-2);margin-top:var(--sp-2)}.shipping-tally__continue{flex:1 1 auto;max-width:calc(240px * var(--ui-scale))}@media (max-width: 480px){.shipping-tally__actions{flex-direction:column;align-items:stretch}.shipping-tally__continue{max-width:none}.shipping-tally__streak-row{flex-wrap:wrap}.shipping-tally__streak-hint{order:3;flex-basis:100%}}@media (prefers-reduced-motion: reduce){.shipping-tally__row,.shipping-tally__group-header,.tally-receipt{transition:none;opacity:1;transform:none}}.festival-stats.festival-stats{background:#32180999;cursor:pointer}.festival-stats:focus{outline:none}.festival-stats:focus-visible{outline:none;box-shadow:inset 0 0 0 3px var(--gold-400)}.festival-stats .ui-board{cursor:default;max-width:min(560px,calc(100vw - 32px));max-height:min(82vh,calc(100% - var(--sp-6)))}.festival-stats .ui-board__body{padding:var(--sp-4) var(--sp-5)}.festival-stats__lead,.festival-stats__footer{flex:0 0 auto;margin:0;text-align:center;text-wrap:balance;color:var(--fg-muted);font-size:var(--fs-sm);font-weight:600;line-height:1.4}.festival-stats__footer{font-style:italic}.festival-stats__rows{flex:0 0 auto;display:flex;flex-direction:column}.festival-stats__row{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-2) 0;border-bottom:var(--sw-thin) solid var(--stroke-soft);font-size:var(--fs-md);color:var(--fg-ink);opacity:0;transform:translateY(8px);transition:opacity var(--dur-med) var(--ease-out),transform var(--dur-med) var(--ease-out)}.festival-stats__row:last-child{border-bottom:none}.festival-stats__row.is-visible{opacity:1;transform:translateY(0)}.festival-stats__row-label{display:inline-flex;align-items:center;gap:var(--sp-2);font-weight:600;min-width:0}.festival-stats__row-icon{flex:0 0 auto;color:var(--fg-muted)}.festival-stats__row-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.festival-stats__row-value{display:inline-flex;align-items:baseline;gap:var(--sp-1);font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.festival-stats__row-num{min-width:2ch;text-align:right}.festival-stats__row-suffix{color:var(--fg-muted);font-size:var(--fs-sm);font-weight:600}.festival-stats__row--finale{margin-top:var(--sp-2);padding-top:var(--sp-3);border-top:var(--sw-thin) solid var(--stroke-dark);border-bottom:none;font-size:var(--fs-lg)}.festival-stats__row--finale .festival-stats__row-value{color:var(--fg-coin)}.festival-stats__row--finale .festival-stats__row-num{font-size:var(--fs-xl)}.festival-stats__row--finale.is-glow .festival-stats__row-num{text-shadow:0 0 4px rgba(232,168,51,.45),0 1px 0 rgba(50,24,9,.3);transition:text-shadow var(--dur-med) var(--ease-out)}.festival-stats__continue{flex:0 0 auto;align-self:stretch;margin-top:var(--sp-1)}@media (prefers-reduced-motion: reduce){.festival-stats__row{transition:none;opacity:1;transform:none}}.festival-stats__season{flex:0 0 auto;margin:0;text-align:center;color:var(--fg-coin);font-size:var(--fs-lg);font-weight:800;letter-spacing:.03em}.festival-stats__farms-sold{flex:0 0 auto;margin:calc(var(--sp-2) * -1) 0 0;text-align:center;color:var(--fg-muted);font-size:var(--fs-xs);font-weight:600}.festival-stats__footer-actions{display:flex;align-items:center;justify-content:center;gap:var(--sp-3);flex-wrap:wrap;width:100%}.away-tally.away-tally{background:#32180999;cursor:pointer}.away-tally:focus{outline:none}.away-tally:focus-visible{outline:none;box-shadow:inset 0 0 0 3px var(--gold-400)}.away-tally .ui-board{cursor:default;max-width:min(520px,calc(100vw - 32px));max-height:min(82vh,calc(100% - var(--sp-6)))}.away-tally .ui-board__body{padding:var(--sp-4) var(--sp-5)}.away-tally__lead{flex:0 0 auto;margin:0 0 var(--sp-2);text-align:center;text-wrap:balance;color:var(--fg-muted);font-size:var(--fs-sm);font-weight:600;line-height:1.4}.away-tally__lead strong{color:var(--fg-ink);font-weight:700}.away-tally__rows{flex:0 0 auto;display:flex;flex-direction:column}.away-tally__row{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-2) 0;border-bottom:var(--sw-thin) solid var(--stroke-soft);font-size:var(--fs-md);color:var(--fg-ink);opacity:0;transform:translateY(8px);transition:opacity var(--dur-med) var(--ease-out),transform var(--dur-med) var(--ease-out)}.away-tally__row:last-child{border-bottom:none}.away-tally__row.is-visible{opacity:1;transform:translateY(0)}.away-tally__row-label{display:inline-flex;align-items:center;gap:var(--sp-2);font-weight:600;min-width:0}.away-tally__row-icon{flex:0 0 auto;color:var(--fg-muted)}.away-tally__row-item{flex:0 0 auto}.away-tally__row-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.away-tally__row-value{display:inline-flex;align-items:baseline;gap:var(--sp-1);font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.away-tally__row-num{min-width:2ch;text-align:right}.away-tally__row--finale{margin-top:var(--sp-2);padding-top:var(--sp-3);border-top:var(--sw-thin) solid var(--stroke-dark);border-bottom:none;font-size:var(--fs-lg)}.away-tally__row--finale .away-tally__row-value{color:var(--fg-coin)}.away-tally__row--finale .away-tally__row-num{font-size:var(--fs-xl)}.away-tally__row--finale.is-glow .away-tally__row-num{text-shadow:0 0 4px rgba(232,168,51,.45),0 1px 0 rgba(50,24,9,.3);transition:text-shadow var(--dur-med) var(--ease-out)}.away-tally__actions{display:flex;align-items:center;justify-content:center;gap:var(--sp-2);margin-top:var(--sp-2)}.away-tally__collect{flex:1 1 auto;max-width:calc(240px * var(--ui-scale))}@media (max-width: 480px){.away-tally__actions{flex-direction:column;align-items:stretch}.away-tally__collect{max-width:none}}@media (prefers-reduced-motion: reduce){.away-tally__row{transition:none;opacity:1;transform:none}}.loading-screen{position:absolute;top:0;right:0;bottom:0;left:0;z-index:var(--z-loading);display:flex;align-items:center;justify-content:center;padding:max(var(--sp-4),env(safe-area-inset-top)) max(var(--sp-4),env(safe-area-inset-right)) max(var(--sp-4),env(safe-area-inset-bottom)) max(var(--sp-4),env(safe-area-inset-left));box-sizing:border-box;pointer-events:auto;background:radial-gradient(ellipse 120% 80% at 50% 20%,color-mix(in srgb,var(--gold-400) 18%,transparent),transparent 55%),linear-gradient(165deg,var(--cocoa-900) 0%,color-mix(in srgb,var(--cocoa-800) 88%,var(--black)) 45%,var(--black) 100%);animation:loading-screen-in var(--dur-med) var(--ease-out)}.loading-screen.is-exiting{animation:loading-screen-out var(--dur-fast) var(--ease-out) forwards;pointer-events:none}.loading-screen__content{display:flex;flex-direction:column;align-items:center;gap:var(--sp-4);width:min(90vw,28rem);text-align:center}.loading-screen__title{margin:0;font-family:var(--font-ui);font-weight:600;font-size:clamp(2rem,6vw,3rem);line-height:1.05;letter-spacing:.01em;color:var(--cream-50);text-shadow:0 2px 0 color-mix(in srgb,var(--cocoa-900) 70%,transparent),0 8px 24px color-mix(in srgb,var(--black) 55%,transparent)}.loading-screen__subtitle{margin:0;font-family:var(--font-ui);font-weight:500;font-size:var(--fs-md);color:color-mix(in srgb,var(--cream-100) 82%,transparent);letter-spacing:.04em}.loading-screen__bar{width:100%;margin-top:var(--sp-2)}.loading-screen__retry{margin-top:var(--sp-1)}.loading-screen__bar .ui-progress__label{color:var(--fg-on-dark)}.loading-screen__bar .ui-progress__percent{color:var(--cream-100)}@keyframes loading-screen-in{0%{opacity:0}to{opacity:1}}@keyframes loading-screen-out{0%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion: reduce){.loading-screen,.loading-screen.is-exiting{animation:none}}.pause-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:calc(var(--z-cutscene) + 10);display:flex;align-items:center;justify-content:center;padding:max(var(--sp-4),env(safe-area-inset-top)) max(var(--sp-4),env(safe-area-inset-right)) max(var(--sp-4),env(safe-area-inset-bottom)) max(var(--sp-4),env(safe-area-inset-left));box-sizing:border-box;pointer-events:auto;background:color-mix(in srgb,var(--cocoa-900) 72%,transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:pause-overlay-in var(--dur-fast) var(--ease-out)}.pause-overlay__card{display:flex;flex-direction:column;align-items:center;gap:var(--sp-3);text-align:center;max-width:min(88vw,22rem)}.pause-overlay__title{margin:0;color:var(--cream-50);font-size:var(--fs-xl, 1.75rem);letter-spacing:.02em}.pause-overlay__hint{margin:0;color:var(--cream-200);font-size:var(--fs-sm, .875rem);line-height:1.4}.pause-overlay__keys{margin:0;color:color-mix(in srgb,var(--cream-200) 70%,transparent);font-size:var(--fs-xs, .75rem)}.pause-overlay__keys kbd{display:inline-block;padding:.1em .45em;border-radius:var(--radius-sm, 4px);background:color-mix(in srgb,var(--cream-50) 16%,transparent);font-family:inherit;font-size:.95em}@keyframes pause-overlay-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion: reduce){.pause-overlay{animation:none}}.ad-break-shield{position:absolute;top:0;right:0;bottom:0;left:0;z-index:calc(var(--z-cutscene) + 20);pointer-events:auto;background:color-mix(in srgb,var(--cocoa-900) 12%,transparent);cursor:wait}.domain-blocked{position:absolute;top:0;right:0;bottom:0;left:0;z-index:var(--z-loading);display:flex;align-items:center;justify-content:center;padding:max(var(--sp-4),env(safe-area-inset-top)) max(var(--sp-4),env(safe-area-inset-right)) max(var(--sp-4),env(safe-area-inset-bottom)) max(var(--sp-4),env(safe-area-inset-left));box-sizing:border-box;background:radial-gradient(ellipse 120% 80% at 50% 20%,color-mix(in srgb,var(--orange-500) 16%,transparent),transparent 55%),linear-gradient(165deg,var(--cocoa-900) 0%,color-mix(in srgb,var(--cocoa-800) 88%,var(--black)) 45%,var(--black) 100%);animation:domain-blocked-in var(--dur-med) var(--ease-out)}.domain-blocked__content{display:flex;flex-direction:column;align-items:center;gap:var(--sp-3);width:min(90vw,28rem);text-align:center}.domain-blocked__title{margin:0;font-family:var(--font-ui);font-weight:600;font-size:clamp(2rem,6vw,3rem);line-height:1.05;letter-spacing:.01em;color:var(--cream-50);text-shadow:0 2px 0 color-mix(in srgb,var(--cocoa-900) 70%,transparent),0 8px 24px color-mix(in srgb,var(--black) 55%,transparent)}.domain-blocked__subtitle{margin:0;font-family:var(--font-ui);font-weight:500;font-size:var(--fs-md);color:color-mix(in srgb,var(--cream-100) 88%,transparent);letter-spacing:.02em}.domain-blocked__host{margin:var(--sp-2) 0 0;font-family:var(--font-ui);font-weight:400;font-size:var(--fs-sm);color:color-mix(in srgb,var(--cream-200) 70%,transparent)}.domain-blocked__host code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.95em;color:var(--cream-50);word-break:break-all}@keyframes domain-blocked-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion: reduce){.domain-blocked{animation:none}}.unpublished-demo{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-watermark);pointer-events:none;overflow:hidden;user-select:none;-webkit-user-select:none}.unpublished-demo__pattern{position:absolute;top:-40%;right:-40%;bottom:-40%;left:-40%;z-index:1;display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(2.5rem,8vw,5rem) clamp(1.5rem,5vw,3.5rem);align-content:center;justify-items:center;transform:rotate(-28deg);opacity:.14}.unpublished-demo__tile{margin:0;white-space:nowrap;font-family:var(--font-ui);font-weight:700;font-size:clamp(1.1rem,3.2vw,1.85rem);letter-spacing:.14em;color:var(--cream-50);text-shadow:0 1px 0 color-mix(in srgb,var(--cocoa-900) 50%,transparent)}.unpublished-demo__corner{position:absolute;z-index:2;padding:var(--sp-1) var(--sp-2);font-family:var(--font-ui);font-weight:700;font-size:clamp(.65rem,1.8vw,.8rem);letter-spacing:.1em;text-transform:uppercase;color:var(--cocoa-900);background:color-mix(in srgb,var(--gold-400) 88%,var(--cream-50));border:2px solid color-mix(in srgb,var(--cocoa-800) 70%,transparent);box-shadow:0 2px 8px color-mix(in srgb,var(--black) 30%,transparent)}.unpublished-demo__corner--bl{bottom:max(var(--sp-3),env(safe-area-inset-bottom));left:max(var(--sp-3),env(safe-area-inset-left))}.unpublished-demo__corner--br{bottom:max(var(--sp-3),env(safe-area-inset-bottom));right:max(var(--sp-3),env(safe-area-inset-right))}@media (max-height: 500px){.unpublished-demo__pattern{opacity:.11}}
