*{box-sizing:border-box}html,body,#root{overscroll-behavior:none;background-color:#2d2d2d;width:100%;height:100%;margin:0;padding:0;font-family:Nunito,system-ui,sans-serif;overflow:hidden}:root{--wood:#a8683a;--wood-light:#c98a4b;--wood-dark:#7a4a22;--wood-deep:#5c3518;--ink:#4a2c17;--ink-soft:#7a5a3a;--cream:#fff6e3;--cream-dark:#f1d9ae;--paper:#fffaf0;--paper-hover:#fff0cc;--line:#d9b88a;--line-soft:#ecd9b6;--gold:#ffc93c;--gold-dark:#a8650a;--orange:#f5a524;--orange-light:#ffe08a;--orange-dark:#8a4b12;--green:#6cc04a;--green-light:#a6e37a;--green-dark:#3f8a2a;--green-deep:#2c661c;--green-ink:#173d0c;--green-soft:#e6f7d6;--red:#e2533b;--red-light:#f0705a;--red-dark:#7d2417;--red-soft:#fdeae5;--blue:#2f7fb8;--blue-light:#8fd3ff;--blue-soft:#e3f2fb;--grey:#8c7a66;--grey-soft:#ece2cf;--scrim:#3b24169e;--focus:#1f6fb5;--font-display:"Baloo 2", ui-rounded, "SF Pro Rounded", "Arial Rounded MT Bold", "Varela Round", "Trebuchet MS", system-ui, sans-serif;--font-body:"Nunito", ui-rounded, "SF Pro Rounded", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--fs-xs:11px;--fs-sm:13px;--fs-md:15px;--fs-lg:18px;--fs-xl:22px;--fs-2xl:30px;--fs-3xl:38px;--fs-input:16px;--fw-text:500;--fw-strong:600;--fw-bold:700;--fw-heavy:800;--lh-flat:1;--lh-tight:1.15;--lh-snug:1.3;--lh-text:1.4;--ls-caps:.04em;--ls-code:.14em;--type-display:var(--fw-heavy) var(--fs-2xl) / 1.05 var(--font-display);--type-window-title:var(--fw-heavy) var(--fs-lg) / var(--lh-tight) var(--font-display);--type-card-title:var(--fw-bold) var(--fs-md) / 1.2 var(--font-display);--type-body:var(--fw-text) var(--fs-md) / var(--lh-text) var(--font-body);--type-body-sm:var(--fw-text) var(--fs-sm) / 1.35 var(--font-body);--type-note:var(--fw-strong) var(--fs-xs) / var(--lh-snug) var(--font-body);--type-hud-number:var(--fw-bold) var(--fs-lg) / var(--lh-flat) var(--font-display);--type-number:var(--fw-bold) var(--fs-sm) / var(--lh-snug) var(--font-display);--type-button:var(--fw-bold) var(--fs-md) / 1.1 var(--font-display);--type-label:var(--fw-bold) var(--fs-sm) / var(--lh-tight) var(--font-display);--type-badge:var(--fw-bold) var(--fs-xs) / var(--lh-flat) var(--font-display);--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--r-sm:8px;--r-md:12px;--r-lg:16px;--r-xl:20px;--r-pill:999px;--radius:var(--r-lg);--shadow-card:0 2px 0 var(--line);--shadow-panel:0 4px 0 var(--wood-deep), 0 10px 20px #4a2c1766;--shadow-modal:0 6px 0 var(--wood-deep), 0 18px 40px #28160a8c;--shine:inset 0 2px 0 #ffffff80;--shadow-float:0 3px 0 var(--wood-deep), 0 8px 16px #28160a66;--gloss:linear-gradient(#ffffffb3, #ffffff1f 46%, #fff0 50%);--z-panel:10;--z-toolbar:20;--z-popover:30;--z-modal:50;--z-modal-top:60;--z-toast:70;--z-tooltip:80;--dur-fast:.1s;--dur:.16s;--ease-out:cubic-bezier(.2, .8, .3, 1);--tap:40px;--hud-inset:12px;--hud-top:80px;--hud-bottom:96px}.app :focus-visible{outline:3px solid var(--focus);outline-offset:2px}@supports not selector(::-webkit-scrollbar){.app *{scrollbar-width:thin;scrollbar-color:var(--wood-light) var(--line-soft)}}.app ::-webkit-scrollbar{width:10px;height:10px}.app ::-webkit-scrollbar-track{background-color:var(--line-soft);border-radius:999px;margin:6px 0}.app ::-webkit-scrollbar-thumb{border:2px solid var(--line-soft);background-color:var(--wood-light);border-radius:999px}.app ::-webkit-scrollbar-thumb:hover{background-color:var(--wood)}.app button{font-family:var(--font-display);font-weight:var(--fw-bold);-webkit-tap-highlight-color:transparent}.app kbd{border:1px solid var(--line);color:var(--ink-soft);font:var(--type-note);font-weight:var(--fw-bold);background-color:#fff9;border-radius:5px;padding:1px 6px}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.num{font-family:var(--font-display);font-weight:var(--fw-bold);font-variant-numeric:tabular-nums}.btn,.tool-btn{--btn-bg:linear-gradient(#fffdf6, var(--cream-dark));--btn-edge:var(--wood-dark);--btn-ink:var(--ink);min-height:var(--tap);padding:0 var(--sp-4);border:2px solid var(--btn-edge);border-radius:var(--r-md);background:var(--btn-bg);box-shadow:var(--shine), 0 3px 0 var(--btn-edge);color:var(--btn-ink);cursor:pointer;font:var(--type-button);text-align:center;white-space:nowrap;transition:transform var(--dur-fast), box-shadow var(--dur-fast), filter var(--dur);justify-content:center;align-items:center;gap:6px;display:inline-flex}.btn:hover:not(:disabled),.tool-btn:hover:not(:disabled){filter:brightness(1.05)saturate(1.08)}.btn:active:not(:disabled),.tool-btn:active:not(:disabled){box-shadow:var(--shine), 0 1px 0 var(--btn-edge);transform:translateY(2px)}.btn:disabled,.tool-btn:disabled{filter:grayscale(.65);opacity:.55;cursor:not-allowed}.btn-primary,.primary-btn{--btn-bg:linear-gradient(var(--green-light), var(--green));--btn-edge:var(--green-deep);--btn-ink:var(--green-ink)}.btn-danger{--btn-bg:linear-gradient(var(--red-light), #cf3f28);--btn-edge:var(--red-dark);--btn-ink:#fff}.btn-ghost{--btn-bg:transparent;--btn-edge:transparent;box-shadow:none}.btn-ghost:hover:not(:disabled){background-color:#7a4a221f}.btn-ghost:active:not(:disabled){box-shadow:none}.btn-secondary[aria-pressed=true]{--btn-bg:linear-gradient(#f2fbe9, #cdeeb4);--btn-edge:var(--green-dark)}.btn-sm{min-height:34px;padding:0 var(--sp-3);font-size:var(--fs-sm);border-radius:10px}.btn-lg{min-height:48px;font-size:var(--fs-lg);border-radius:14px;padding:0 28px}.btn-block{width:100%;display:flex}.btn-split{justify-content:space-between;gap:var(--sp-2);padding-block:4px}.btn-split>.btn-label{white-space:normal;text-align:left;flex:auto;line-height:1.15}.btn-split>:not(.btn-label){flex:none}.btn-label{align-items:center;gap:6px;min-width:0;display:inline-flex}.round-btn{width:var(--tap);height:var(--tap);border:2px solid var(--wood-dark);background:linear-gradient(var(--paper), var(--cream-dark));box-shadow:inset 0 1px 0 #fff, 0 3px 0 var(--wood-dark);color:var(--ink);cursor:pointer;transition:transform var(--dur-fast), box-shadow var(--dur-fast), filter var(--dur);border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;font-size:17px;display:inline-flex;position:relative}.round-btn:hover:not(:disabled){filter:brightness(1.06)}.round-btn:active:not(:disabled){box-shadow:inset 0 1px 0 #fff, 0 1px 0 var(--wood-dark);transform:translateY(2px)}.round-btn:disabled{opacity:.55;cursor:not-allowed}.round-btn[aria-pressed=true]{background:linear-gradient(#e9dcc5,#cdbea4)}.round-btn-off .icon{opacity:.5}.round-btn-off:after{content:"";background-color:var(--red);width:68%;height:3px;box-shadow:0 0 0 1px var(--cream);border-radius:2px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-45deg)}.chip{min-height:32px;padding:0 var(--sp-3);border:2px solid var(--line);border-radius:var(--r-pill);background-color:var(--paper);color:var(--ink);cursor:pointer;font:var(--type-label);white-space:nowrap;transition:background-color var(--dur), border-color var(--dur), transform var(--dur-fast);justify-content:center;align-items:center;gap:4px;display:inline-flex}.chip:hover:not(:disabled){border-color:var(--wood);background-color:var(--paper-hover)}.chip:active:not(:disabled){transform:translateY(1px)}.chip:disabled{opacity:.55;cursor:not-allowed}.chip[aria-pressed=true]{border-color:var(--green-deep);background:linear-gradient(var(--green-light), var(--green));color:var(--green-ink)}.badge,.price{border-radius:var(--r-pill);font:var(--type-number);font-variant-numeric:tabular-nums;white-space:nowrap;flex:none;align-items:center;gap:3px;padding:2px 9px;display:inline-flex}.badge{background-color:var(--cream-dark);color:var(--ink-soft)}.badge-sm{font-size:var(--fs-xs);padding:1px 7px}.badge-info{background-color:var(--blue-soft);color:var(--blue)}.badge-success{background-color:var(--green-dark);color:#fff}.badge-warning{background-color:var(--orange);color:var(--ink)}.badge-danger{background-color:var(--red-soft);color:var(--red-dark)}.badge-lock{background-color:var(--grey);color:#fff}.badge-wood{background-color:var(--wood);color:var(--cream)}.badge-xp{background-color:var(--ink);color:var(--blue-light)}.badge.badge-lenda{border:1.5px solid var(--gold-dark);background:linear-gradient(var(--orange-light), var(--orange));box-shadow:var(--shine);color:var(--wood-deep);font:var(--type-badge);gap:4px;padding:1px 8px 1px 5px}.badge.badge-lenda .icon{width:14px;height:14px}.price{background-color:var(--ink);color:var(--gold)}.price-short{color:#ff9d8a}.price-lg{font-size:var(--fs-md);padding:4px 12px}.progress{border:2px solid var(--wood-dark);border-radius:var(--r-pill);background-color:var(--line-soft);height:16px;display:block;position:relative;overflow:hidden}.progress-fill{border-radius:inherit;background:linear-gradient(var(--green-light), var(--green));transition:width .3s ease-out;position:absolute;inset:0 auto 0 0}.progress-blue .progress-fill{background:linear-gradient(var(--blue-light), #4aa3dc)}.progress-gold .progress-fill{background:linear-gradient(var(--orange-light), var(--orange))}.progress-label{color:var(--ink);font:var(--type-badge);font-variant-numeric:tabular-nums;text-shadow:0 0 2px #fff,0 0 2px #fff,0 0 3px #fff;white-space:nowrap;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.progress-thin{border-width:1px;height:8px}.card{padding:var(--sp-2) 10px;border:2px solid var(--line);background-color:var(--paper);box-shadow:var(--shadow-card);color:var(--ink);font:var(--type-body-sm);border-radius:14px;align-items:center;gap:10px;display:flex}button.card{cursor:pointer;text-align:left;width:100%;transition:transform var(--dur-fast), box-shadow var(--dur-fast), border-color var(--dur), background-color var(--dur)}button.card:hover:not(:disabled){border-color:var(--wood);background-color:var(--paper-hover);box-shadow:0 2px 0 var(--wood)}button.card:active:not(:disabled){box-shadow:0 0 0 var(--wood);transform:translateY(2px)}button.card:disabled{opacity:.6;cursor:not-allowed}button.card[aria-pressed=true]{border-color:var(--orange-dark);box-shadow:0 0 0 3px var(--gold), 0 3px 0 3px #8a4b1259;background-color:#fff3d0}.card-success{border-color:var(--green-dark);background-color:var(--green-soft);box-shadow:0 2px 0 var(--green-dark)}.card-gold{background-color:#fff6d6;border-color:#d4a017;box-shadow:0 2px #d4a017}.card-locked{background:repeating-linear-gradient(135deg,#f1e7d2,#f1e7d2 8px,#eadcc0 8px 16px);border-color:#cdb892;box-shadow:0 2px #cdb892}.card-muted{opacity:.65}.medal{border:2px solid var(--wood);background-color:#ffe9b8;border-radius:50%;flex:none;justify-content:center;align-items:center;width:42px;height:42px;font-size:22px;display:inline-flex}.card-title{font:var(--type-card-title)}.card-text{font:var(--type-body-sm);color:var(--ink-soft)}.note{font:var(--type-body-sm);color:var(--ink-soft);margin:0}.tabs{padding:var(--sp-2) var(--sp-3);background-color:var(--cream-dark);border-bottom:2px solid var(--line);scrollbar-width:none;flex:none;gap:6px;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tab{min-height:38px;padding:0 var(--sp-3);border-radius:var(--r-md);color:var(--ink-soft);cursor:pointer;font:var(--type-label);white-space:nowrap;transition:background-color var(--dur), color var(--dur);background-color:#0000;border:2px solid #0000;flex:none;justify-content:center;align-items:center;gap:6px;display:inline-flex;position:relative}.tab:hover{color:var(--ink);background-color:#7a4a2224}.tab:active{transform:translateY(1px)}.tab[aria-selected=true]{border-color:var(--wood-dark);background:linear-gradient(var(--wood-light), var(--wood));box-shadow:inset 0 2px 0 #ffffff47, 0 2px 0 var(--wood-dark);color:var(--cream)}.tab-count{border-radius:var(--r-pill);font-size:var(--fs-xs);font-variant-numeric:tabular-nums;background-color:#4a2c1724;padding:1px 7px}.tab[aria-selected=true] .tab-count{background-color:#fff6e347}.tabs-fill .tab{flex:1 1 0}@media (width<=520px){.tabs:not(.tabs-stacked){padding-inline:var(--sp-2);gap:4px}.tabs:not(.tabs-stacked) .tab{flex-direction:column;flex:1 1 0;gap:1px;min-width:0;min-height:42px;padding:3px 4px}}.tabs-stacked .tab{min-width:76px;min-height:56px;padding:5px var(--sp-2);font-size:var(--fs-xs);flex-direction:column;gap:2px}.tabs-stacked .tab>.icon{vertical-align:0;width:24px;height:24px}.tabs-stacked .tab-count{padding:0 6px;position:absolute;top:3px;right:4px}.notify-badge{border:2px solid var(--red-dark);border-radius:var(--r-pill);background:linear-gradient(var(--red-light), #cf3f28);min-width:20px;height:20px;box-shadow:0 2px 0 var(--red-dark);color:#fff;font:var(--type-badge);font-variant-numeric:tabular-nums;text-align:center;padding:0 5px;line-height:16px;animation:1.6s ease-in-out infinite notify-pulse;position:absolute;top:-7px;right:-5px}@keyframes notify-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.14)}}.tip{display:inline-flex;position:relative}.tip-bubble{z-index:var(--z-tooltip);background-color:var(--ink);width:max-content;max-width:min(230px,70vw);color:var(--cream);font:var(--type-note);font-size:var(--fs-sm);text-align:left;text-shadow:none;white-space:normal;pointer-events:none;opacity:0;visibility:hidden;transition:opacity var(--dur), transform var(--dur), visibility 0s var(--dur);border-radius:10px;padding:7px 10px;position:absolute;top:calc(100% + 9px);left:50%;transform:translate(-50%,-4px);box-shadow:0 4px 12px #28160a66}.tip-bubble strong{font:var(--type-label);color:var(--gold);display:block}.tip-top>.tip-bubble{top:auto;bottom:calc(100% + 9px)}.tip-start>.tip-bubble{left:0;transform:translateY(-4px)}.tip-end>.tip-bubble{left:auto;right:0;transform:translateY(-4px)}.tip:hover>.tip-bubble,.tip:focus-visible>.tip-bubble,.tip:focus-within>.tip-bubble{opacity:1;visibility:visible;transition-delay:0s;transform:translate(-50%)}.tip-start:hover>.tip-bubble,.tip-start:focus-within>.tip-bubble,.tip-end:hover>.tip-bubble,.tip-end:focus-within>.tip-bubble{transform:translate(0)}.popover{z-index:var(--z-popover);gap:var(--sp-2);min-width:230px;max-height:60vh;padding:var(--sp-3);border:3px solid var(--wood-dark);border-radius:var(--r-lg);background-color:var(--cream);box-shadow:var(--shadow-panel);color:var(--ink);font:var(--type-body-sm);animation:popover-in var(--dur) var(--ease-out) both;flex-direction:column;display:flex;position:absolute;bottom:calc(100% + 14px);left:50%;overflow-y:auto;transform:translate(-50%)}.popover-title{justify-content:space-between;align-items:center;gap:var(--sp-3);font:var(--type-card-title);margin:0;display:flex}@keyframes popover-in{0%{opacity:0;margin-bottom:-6px}to{opacity:1;margin-bottom:0}}.modal-backdrop{z-index:var(--z-modal);padding:var(--sp-4);background-color:var(--scrim);font-family:var(--font-body);animation:fade-in var(--dur) ease-out both;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-backdrop-top{z-index:var(--z-modal-top)}.modal{--modal-w:480px;width:min(var(--modal-w), 100%);border:3px solid var(--wood-dark);border-radius:var(--r-xl);background-color:var(--cream);max-height:100%;box-shadow:var(--shadow-modal);color:var(--ink);animation:modal-in .2s var(--ease-out) both;flex-direction:column;display:flex;overflow:hidden}.app .modal:focus-visible{outline:none}.modal-sm{--modal-w:400px}.modal-md{--modal-w:540px}.modal-lg{--modal-w:800px}.modal-tall{height:min(640px,100%)}.modal-backdrop.is-closing{pointer-events:none;animation:.14s ease-in both fade-out}.is-closing>.modal{animation:.14s ease-in both modal-out}.modal-header{background:linear-gradient(var(--wood-light), var(--wood));border-bottom:3px solid var(--wood-dark);min-height:54px;color:var(--cream);flex:none;align-items:center;gap:10px;padding:7px 10px 7px 14px;display:flex;box-shadow:inset 0 2px #ffffff40}.modal-title,.modal-header h2{align-items:center;gap:var(--sp-2);min-width:0;font:var(--type-window-title);text-shadow:0 2px 0 var(--wood-dark);margin:0 auto 0 0;display:flex}.modal-title-icon{border:2px solid var(--wood-dark);background-color:var(--cream);width:34px;height:34px;text-shadow:none;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:18px;display:inline-flex}.modal-title-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.modal-close{border:2px solid var(--red-dark);background:linear-gradient(var(--red-light), #cf3f28);width:36px;height:36px;box-shadow:inset 0 1px 0 #ffffff80, 0 2px 0 var(--red-dark);color:#fff;cursor:pointer;font-size:15px;font-weight:var(--fw-heavy);transition:transform var(--dur-fast), box-shadow var(--dur-fast), filter var(--dur);border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.modal-close:hover{filter:brightness(1.1)}.modal-close:active{box-shadow:inset 0 1px 0 #ffffff80, 0 1px 0 var(--red-dark);transform:translateY(1px)}.modal-header :focus-visible{outline-color:#fff}.modal-body{min-height:0;padding:var(--sp-3) 14px;overscroll-behavior:contain;font:var(--type-body);flex:auto;overflow-y:auto}.modal-body-flush{padding:0}.modal-footer{justify-content:center;align-items:center;gap:var(--sp-2);border-top:2px solid var(--line-soft);flex:none;padding:10px 14px 14px;display:flex}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes modal-in{0%{opacity:0;transform:translateY(14px)scale(.96)}to{opacity:1;transform:none}}@keyframes modal-out{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(10px)scale(.97)}}@keyframes sheet-in{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}@keyframes sheet-out{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(40px)}}@media (width<=640px),(height<=480px),(pointer:coarse){.btn-sm,.chip,.tab{min-height:var(--tap)}.modal-close{width:var(--tap);height:var(--tap)}.btn kbd{display:none}}@media (width<=640px),(height<=480px){.modal-backdrop{padding:0;padding-top:env(safe-area-inset-top);align-items:flex-end}.modal{border-width:3px 0 0;border-radius:18px 18px 0 0;width:100%;max-width:720px;animation-name:sheet-in;box-shadow:0 -6px 24px #28160a73}.is-closing>.modal{animation-name:sheet-out}.modal-tall{height:100%}.tabs-stacked .tab{min-width:64px}.modal-header{min-height:50px;padding-left:max(12px, env(safe-area-inset-left));padding-right:max(8px, env(safe-area-inset-right))}.modal-title,.modal-header h2{font-size:var(--fs-md)}.modal-title-icon{width:30px;height:30px;font-size:16px}.modal-body{padding-left:max(12px, env(safe-area-inset-left));padding-right:max(12px, env(safe-area-inset-right))}.modal-body-flush{padding-left:0;padding-right:0}.modal-footer{padding:8px 12px max(10px, env(safe-area-inset-bottom))}.modal-footer>.btn{flex:auto}}@media (height<=480px){.modal-header{min-height:44px;padding-top:2px;padding-bottom:2px}.modal-body{padding-top:var(--sp-2);padding-bottom:var(--sp-2)}.modal-body-flush{padding-top:0;padding-bottom:0}.modal-footer{padding-top:6px}.tabs{padding:var(--sp-1) var(--sp-3)}.tabs-stacked .tab{min-width:0;min-height:var(--tap);padding:0 var(--sp-3);flex-direction:row;gap:6px}.tabs-stacked .tab>.icon{width:18px;height:18px}.tabs-stacked .tab-count{position:static}}:root.reduce-motion .app *,:root.reduce-motion .app :before,:root.reduce-motion .app :after,:root.reduce-motion .launch-root *,:root.reduce-motion .launch-root :before,:root.reduce-motion .launch-root :after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.app{width:100vw;height:100dvh;color:var(--ink);font:var(--type-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;touch-action:pan-x pan-y;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;flex-direction:column;display:flex}.app-stage canvas{touch-action:none;display:block}.app-stage{flex:1;min-height:0;position:relative;overflow:hidden}.help-steps{gap:var(--sp-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.help-step{gap:var(--sp-3)}.help-step-text{flex-direction:column;gap:2px;display:flex}.help-tip{margin-top:var(--sp-3);text-align:center}.help-review{align-items:center;gap:var(--sp-1);margin-top:var(--sp-3);text-align:center;flex-direction:column;display:flex}.clock-gate{z-index:900;background:#3b241659;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.clock-gate-card{color:#3b2416;text-align:center;background:#fff6e3;border:3px solid #3b2416;border-radius:16px;justify-items:center;gap:10px;max-width:360px;padding:18px 20px;display:grid}.clock-gate-card p{margin:0}.notice-banner{top:calc(env(safe-area-inset-top,0px) + 64px);z-index:250;color:#3b2416;width:max-content;max-width:min(92vw,560px);font:var(--type-body-sm);font-weight:var(--fw-bold);pointer-events:none;background:#ffe9a8;border:2px solid #3b2416;border-radius:14px;align-items:center;gap:8px;padding:8px 14px;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 3px #3b241659}.free-rush-banner{z-index:var(--z-toolbar);font:var(--type-badge);white-space:nowrap;color:#ffe9a8;pointer-events:auto;background:#3d2a4f;border-color:#1f1428;border-radius:999px;gap:5px;padding:3px 10px}@media (width<=599px){.free-rush-banner{top:calc(env(safe-area-inset-top,0px) + 112px);max-width:calc(100vw - 92px);left:10px;transform:none}}.free-rush-banner .icon{width:14px;height:14px}.free-rush-close{width:22px;height:22px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;margin:-2px -6px -2px 0;padding:0;display:inline-flex}.free-rush-close:hover,.free-rush-close:focus-visible{background:#ffe9a82e}.prize-balloon{z-index:var(--z-toast);max-width:calc(100vw - 16px);padding:var(--sp-1) var(--sp-3);border:2px solid var(--wood-deep);border-radius:var(--r-md);background-color:var(--cream);box-shadow:var(--shadow-panel);color:var(--ink);text-align:center;pointer-events:none;flex-direction:column;align-items:center;display:flex;position:fixed}.prize-balloon:after{content:"";bottom:-7px;left:var(--tail,50%);border-right:2px solid var(--wood-deep);border-bottom:2px solid var(--wood-deep);background-color:var(--cream);width:10px;height:10px;position:absolute;transform:translate(-50%)rotate(45deg)}.prize-balloon.is-below:after{top:-7px;bottom:auto;transform:translate(-50%)rotate(225deg)}.prize-balloon-title{font:var(--type-label)}.prize-balloon-line{color:var(--ink-soft);font:var(--type-note)}.hud-top{top:calc(var(--hud-inset) + env(safe-area-inset-top,0px));left:calc(var(--hud-inset) + env(safe-area-inset-left,0px));right:calc(var(--hud-inset) + env(safe-area-inset-right,0px));z-index:var(--z-toolbar);pointer-events:none;position:absolute}.hud{justify-content:space-between;align-items:flex-start;gap:var(--sp-3);display:flex}.hud-left{align-items:center;gap:10px 20px;min-width:0;display:flex}.hud-player{flex:none;align-items:center;display:flex}.hud-resources{align-items:center;gap:var(--sp-2) var(--sp-3);flex-wrap:wrap;min-width:0;display:flex}.hud-system{align-items:flex-start;gap:var(--sp-2);flex:none;display:flex}.hud-avatar,.hud-level,.hud-res,.hud-boosts,.hud .round-btn{pointer-events:auto}.hud-avatar{z-index:1;border:3px solid var(--cream);background:radial-gradient(circle at 50% 28%, #fffdf2, var(--orange-light) 62%, var(--orange));width:60px;height:60px;box-shadow:0 0 0 2px var(--wood-dark), 0 3px 0 2px var(--wood-deep), 0 9px 16px #28160a66;cursor:pointer;transition:transform var(--dur-fast), box-shadow var(--dur-fast), filter var(--dur);border-radius:50%;flex:none;padding:0;position:relative;overflow:hidden}.hud-avatar:active{box-shadow:0 0 0 2px var(--wood-dark), 0 1px 0 2px var(--wood-deep), 0 4px 8px #28160a66;transform:translateY(2px)}.chef-face{width:100%;height:100%;display:block}.hud-level{border-radius:var(--r-pill);cursor:default;align-items:center;margin-left:-22px}.hud-level-star{z-index:2;filter:drop-shadow(0 2px #3b24168c);width:38px;height:38px;position:absolute;bottom:-16px;left:-8px}.hud-level-star>.icon{width:100%;height:100%;display:block}.hud-level-num{color:var(--ink);font:var(--type-hud-number);font-size:var(--fs-sm);font-variant-numeric:tabular-nums;text-shadow:0 0 2px #fff6c9,0 0 2px #fff6c9;justify-content:center;align-items:center;padding-top:3px;display:flex;position:absolute;inset:0}.hud-xp{border:2px solid var(--wood-dark);border-radius:var(--r-pill);background:var(--gloss), linear-gradient(var(--paper), var(--cream-dark));height:30px;box-shadow:var(--shadow-float);align-items:center;padding:0 5px 0 34px;display:flex}.hud-xp .xp-bar{border-color:var(--ink);background-color:#6a4528;flex:none;width:150px;height:18px;box-shadow:inset 0 2px 2px #28160a80}.hud-xp .progress-fill{box-shadow:inset 0 2px #ffffff73}.hud-xp .progress-label{color:#fff;font-size:var(--fs-xs);text-shadow:0 1px #28160ae6,0 0 3px #28160ae6}.hud-res{border:2px solid var(--wood-dark);border-radius:var(--r-pill);background:var(--gloss), linear-gradient(var(--paper), var(--cream-dark));height:32px;box-shadow:var(--shadow-float);color:var(--ink);font:var(--type-hud-number);font-variant-numeric:tabular-nums;white-space:nowrap;cursor:default;align-items:center;margin-left:18px;padding:0 14px 0 28px}.hud-res-icon{filter:drop-shadow(0 2px #3b24168c);width:42px;height:42px;position:absolute;top:50%;left:-19px;transform:translateY(-50%)rotate(-8deg)}.hud-res-icon>.icon{width:100%;height:100%;display:block}.hud-res-value{display:inline-block}.hud-res-coins .hud-res-value{color:var(--gold-dark)}.hud-res-popularity .hud-res-value{color:#b8392a}.hud-res-more{border:2px solid var(--wood-dark);background:var(--cream);width:18px;height:18px;color:var(--wood-dark);font:var(--type-badge);border-radius:50%;justify-content:center;align-items:center;margin-right:-6px;display:inline-flex}.hud-res-value.is-bump{animation:hud-bump .36s var(--ease-out) both}.hud-delta{color:#c8f5a4;font:var(--type-hud-number);font-size:var(--fs-md);font-variant-numeric:tabular-nums;text-shadow:0 1px 0 var(--ink), 1px 0 0 var(--ink), -1px 0 0 var(--ink), 0 -1px 0 var(--ink), 0 2px 3px #28160ab3;pointer-events:none;animation:1.1s ease-out both hud-delta;position:absolute;top:calc(100% + 3px);right:10px}.hud-delta-loss{color:#ffc0b3}@keyframes hud-bump{0%{transform:scale(1)}35%{transform:scale(1.28)}to{transform:scale(1)}}@keyframes hud-delta{0%{opacity:0;transform:translateY(10px)scale(.8)}16%{opacity:1;transform:translateY(0)scale(1.1)}70%{opacity:1;transform:translateY(-3px)scale(1)}to{opacity:0;transform:translateY(-10px)scale(1)}}.hud .round-btn{background:var(--gloss), linear-gradient(var(--paper), var(--cream-dark));width:44px;height:44px;box-shadow:var(--shadow-float);font-size:20px}.hud .round-btn[aria-pressed=true]{background:var(--gloss), linear-gradient(#e9dcc5, #cdbea4)}.hud .round-btn:active:not(:disabled){box-shadow:0 1px 0 var(--wood-deep), 0 4px 8px #28160a66;transform:translateY(2px)}.hud-actions{position:relative}.hud-actions-items{gap:var(--sp-2);display:flex}.hud-menu-btn{display:none}.app-dock{left:calc(8px + env(safe-area-inset-left,0px));right:calc(8px + env(safe-area-inset-right,0px));bottom:calc(14px + env(safe-area-inset-bottom,0px));z-index:var(--z-toolbar);pointer-events:none;flex-direction:column;align-items:center;gap:10px;display:flex;position:absolute}.app-dock :is(.mode-banner,.toolbar-btn,.popover,.stove-card){pointer-events:auto}.app-toolbar{max-width:100%;position:relative}.toolbar{justify-content:center;align-items:flex-start;gap:var(--sp-3);display:flex}.toolbar-item{display:flex;position:relative}.toolbar-btn{border-radius:var(--r-lg);min-width:72px;color:var(--cream);cursor:pointer;font:var(--type-badge);white-space:nowrap;background:0 0;border:0;flex-direction:column;align-items:center;padding:0;line-height:1.1;display:flex;position:relative}.toolbar-disc{border:2px solid var(--orange-dark);background:var(--gloss), linear-gradient(var(--orange-light), var(--orange));width:60px;height:60px;box-shadow:0 4px 0 var(--orange-dark), 0 10px 16px #28160a6b;transition:transform var(--dur-fast), box-shadow var(--dur-fast), filter var(--dur);border-radius:50%;justify-content:center;align-items:center;display:flex;position:relative}.toolbar-disc>.icon{vertical-align:0;width:34px;height:34px}.toolbar-label{border:2px solid var(--cream);border-radius:var(--r-pill);background-color:var(--wood-deep);transition:transform var(--dur-fast), background-color var(--dur);margin-top:-6px;padding:2px 8px 3px;position:relative;box-shadow:0 2px 5px #28160a73}.toolbar-btn:active .toolbar-disc{box-shadow:0 1px 0 var(--orange-dark), 0 4px 8px #28160a6b;transform:translateY(3px)}.toolbar-btn[aria-pressed=true] .toolbar-disc,.toolbar-btn[aria-expanded=true] .toolbar-disc{border-color:var(--green-deep);background:var(--gloss), linear-gradient(#c5f0a2, var(--green));box-shadow:inset 0 3px 5px #173d0c59, 0 0 0 3px var(--gold), 0 1px 0 3px var(--green-deep), 0 6px 12px #28160a6b;transform:translateY(3px)}.toolbar-btn[aria-pressed=true] .toolbar-label,.toolbar-btn[aria-expanded=true] .toolbar-label{border-color:var(--gold);background-color:var(--green-deep);transform:translateY(3px)}.app .toolbar-btn:focus-visible{outline:none}.toolbar-btn:focus-visible .toolbar-disc{outline:3px solid var(--focus);outline-offset:3px}.toolbar-disc>.notify-badge{top:-5px;right:-7px}.mode-banner{justify-content:center;align-items:center;gap:var(--sp-2) 10px;border:2px solid var(--wood-dark);background:linear-gradient(var(--paper), var(--cream-dark));max-width:100%;box-shadow:inset 0 2px 0 #ffffffe6, var(--shadow-float);color:var(--ink);font:var(--type-body-sm);animation:banner-in .18s var(--ease-out) both;border-radius:24px;flex-wrap:wrap;padding:6px 8px 7px 14px;display:flex}.door-hint{border-color:var(--red-dark);background:linear-gradient(#fffaf0,#ffe9a8)}.door-hint .mode-banner-text{max-width:340px}.mode-banner-icon{flex:none;font-size:20px;display:inline-flex}.mode-banner-text{flex-direction:column;min-width:0;line-height:1.2;display:flex}.mode-banner-text strong{font:var(--type-label)}.mode-banner-text span{color:var(--ink-soft)}.mode-banner-actions{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.place-banner{flex-direction:column;align-items:stretch;gap:6px;max-width:min(560px,100%);padding:6px 10px 8px}.place-banner-head{align-items:center;gap:10px;display:flex}.place-actions{justify-content:center}.place-confirm{flex:100%;order:-1}.place-status{color:var(--ink-soft);display:inline}.place-status>.icon{vertical-align:-3px}.place-status.is-warn{color:#b8392a;font-weight:var(--fw-bold)}@media (width>=641px){.place-banner{flex-direction:row;align-items:center;max-width:min(860px,100%);padding:6px 8px 7px 14px}.place-banner-head{flex:220px}.place-confirm{flex:none;order:0}}@keyframes banner-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (hover:hover){.hud-avatar:hover:not(:active),.hud .round-btn:hover:not(:active,:disabled){filter:brightness(1.06);transform:translateY(-2px)}.toolbar-btn:hover:not(:active,[aria-pressed=true],[aria-expanded=true]) .toolbar-disc{filter:brightness(1.06);transform:translateY(-3px)}.toolbar-btn[aria-pressed=true]:hover .toolbar-disc,.toolbar-btn[aria-expanded=true]:hover .toolbar-disc{filter:brightness(1.06)}}@keyframes hud-fan{0%{opacity:0;transform:translateY(-18px)scale(.5)}}@media (width<=720px){.hud-menu-btn{display:inline-flex}.hud-actions-items{top:calc(100% + var(--sp-2));visibility:hidden;flex-direction:column;position:absolute;right:0}.hud-actions.is-open>.hud-actions-items{visibility:visible}.hud-actions.is-open>.hud-actions-items>.round-btn{animation:hud-fan .22s var(--ease-out) backwards}.hud-actions.is-open>.hud-actions-items>.round-btn:nth-child(2){animation-delay:40ms}.hud-actions.is-open>.hud-actions-items>.round-btn:nth-child(3){animation-delay:80ms}.hud-actions.is-open>.hud-actions-items>.round-btn:nth-child(4){animation-delay:.12s}.hud-actions.is-open>.hud-actions-items>.round-btn:nth-child(5){animation-delay:.16s}.hud-menu-btn[aria-expanded=true]{background:var(--gloss), linear-gradient(#e9dcc5, #cdbea4)}}@media (width<=599px){.app-dock{bottom:calc(8px + env(safe-area-inset-bottom,0px))}.app-toolbar{width:100%;max-width:460px}.toolbar{gap:0}.toolbar>*{flex:1 1 0;min-width:0}.toolbar-item>.toolbar-btn{flex:1 1 0}.toolbar-btn{min-width:0;min-height:44px}.toolbar-disc{width:48px;height:48px}.toolbar-disc>.icon{width:28px;height:28px}.toolbar-label{box-shadow:none;text-shadow:0 1px 0 var(--ink), 1px 0 0 var(--ink), -1px 0 0 var(--ink), 0 -1px 0 var(--ink), 0 2px 3px #28160acc;background:0 0;border:0;margin-top:3px;padding:0}.toolbar-btn[aria-pressed=true] .toolbar-label,.toolbar-btn[aria-expanded=true] .toolbar-label{color:#d9ffb8;background:0 0}.toolbar-item{position:static}.toolbar-item>.popover{min-width:0;max-height:min(60vh,100dvh - 220px);left:0;right:0;transform:none}.mode-banner{border-radius:20px}}@media (width<=599px) and (height>=481px){:root{--hud-inset:8px;--hud-top:106px;--hud-bottom:74px}.hud-left{flex-direction:column;align-items:flex-start}.hud-system{position:relative}.hud-system>.hud-book-btn{top:0;right:calc(100% + var(--sp-2));position:absolute}.hud-avatar{width:52px;height:52px}.hud-xp .xp-bar{width:132px}.hud-resources{gap:10px}.hud-res{height:30px;font-size:var(--fs-md);margin-left:16px;padding:0 11px 0 24px}.hud-res-icon{width:36px;height:36px;left:-17px}}@media (height<=480px){:root{--hud-inset:6px;--hud-top:58px;--hud-bottom:68px}.hud-left{gap:8px 14px}.hud-avatar{width:46px;height:46px}.hud-level{margin-left:-18px}.hud-level-star{width:32px;height:32px;bottom:-13px;left:-8px}.hud-level-num{font-size:var(--fs-xs)}.hud-xp{height:28px;padding-left:28px}.hud-xp .xp-bar{width:118px}.hud-resources{gap:10px}.hud-res{height:28px;font-size:var(--fs-md);margin-left:15px;padding:0 10px 0 22px}.hud-res-icon{width:34px;height:34px;left:-16px}.app-dock{bottom:calc(6px + env(safe-area-inset-bottom,0px));gap:6px}.toolbar{gap:6px}.toolbar-btn{min-width:62px}.toolbar-disc{width:44px;height:44px}.toolbar-disc>.icon{width:26px;height:26px}.toolbar-label{border-width:1.5px;margin-top:-5px;padding:1px 6px 2px}.toolbar-item>.popover{max-height:calc(100dvh - 150px)}.mode-banner{padding:3px 6px 4px 10px}}@media (height<=480px) and (width<=599px){.toolbar{gap:0}.toolbar-btn{min-width:0}.toolbar-label{border-width:0;margin-top:2px;padding:0}}:root.reduce-motion .hud-delta{display:none}.app-dock:has(.counter-card)>.door-hint{display:none}.event-stack{top:calc(var(--hud-inset) + env(safe-area-inset-top,0px) + var(--tap) + 3px + var(--sp-4));right:calc(var(--hud-inset) + env(safe-area-inset-right,0px));z-index:var(--z-toolbar);align-items:flex-end;gap:var(--sp-5);pointer-events:none;flex-direction:column;display:flex;position:absolute}.app-stage:has(.hud-actions.is-open) .event-stack{visibility:hidden}.event-btn{border:2px solid var(--wood-dark);border-radius:var(--r-md);background:linear-gradient(var(--paper), var(--cream-dark));width:60px;height:54px;box-shadow:inset 0 1px 0 #fff, 0 3px 0 var(--wood-dark), 0 8px 14px #28160a4d;color:var(--ink);cursor:pointer;pointer-events:auto;transition:transform var(--dur-fast), box-shadow var(--dur-fast), filter var(--dur);place-items:center;padding:0;display:grid;position:relative}.event-btn:active{box-shadow:inset 0 1px 0 #fff, 0 1px 0 var(--wood-dark);transform:translateY(2px)}@media (hover:hover){.event-btn:hover:not(:active){filter:brightness(1.06);transform:translateY(-2px)}}@media (width<=520px){.event-btn{width:54px;height:48px}}.event-btn-count{border:2px solid var(--wood-dark);border-radius:var(--r-pill);background:var(--cream);color:var(--wood-deep);font:var(--type-label);font-weight:var(--fw-heavy);white-space:nowrap;padding:1px 9px;position:absolute;bottom:-13px;left:50%;translate:-50%}.event-btn-dot{border:2px solid var(--cream);background:var(--red);border-radius:50%;width:13px;height:13px;position:absolute;top:-5px;right:-5px}.event-btn-new{border-radius:var(--r-sm);background:var(--red);color:#fff;font:var(--type-badge);font-weight:var(--fw-heavy);padding:1px 6px;line-height:1.25;position:absolute;top:-9px;left:-12px;rotate:-9deg}.icon{vertical-align:-.28em;flex:none;width:1.25em;height:1.25em;display:inline-block;overflow:visible}.dish-icon{vertical-align:-.4em;object-fit:contain;-webkit-user-select:none;user-select:none;flex:none;width:1.5em;height:1.5em;display:inline-block}.shop-main{flex-direction:column;display:flex;overflow:hidden}.shop-filters{align-items:center;gap:6px var(--sp-3);padding:var(--sp-2) var(--sp-3);border-bottom:2px solid var(--line-soft);flex-wrap:wrap;flex:none;display:flex}.shop-status{flex:220px;min-width:0}.shop-hint{font-size:var(--fs-sm);color:var(--ink-soft)}.shop-limit{align-items:center;gap:6px var(--sp-2);flex-wrap:wrap;display:inline-flex}.shop-limit .progress{width:72px}.shop-sort{align-items:center;gap:var(--sp-1);display:flex}.shop-sort-label{font:var(--type-label);color:var(--ink-soft);margin-right:2px}.shop-filter-short{display:none}.shop-panel{flex-direction:column;flex:1;min-height:0;display:flex}.shop-grid{min-height:0;padding:var(--sp-3) var(--sp-3) 14px;overscroll-behavior:contain;flex:1;grid-template-columns:repeat(auto-fill,minmax(138px,1fr));align-content:start;gap:10px;margin:0;list-style:none;display:grid;overflow-y:auto}.shop-grid>li{display:flex}.shop-empty{justify-content:center;align-items:center;gap:var(--sp-3);padding:var(--sp-5);text-align:center;flex-direction:column;flex:1;display:flex}.atelier-banner{align-items:center;gap:var(--sp-3);margin:var(--sp-2) var(--sp-3) 0;padding:var(--sp-2) var(--sp-3);border:2px solid var(--gold-dark);border-radius:var(--r-md);background:linear-gradient(#fff6d6,#ffe9b0);flex:none;display:flex}.atelier-banner-closed{border-color:var(--line);background:var(--paper)}.atelier-banner-text{gap:var(--sp-1);flex-direction:column;min-width:0;display:flex}.atelier-banner .card-title{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}button.shop-card{text-align:center;flex-direction:column;flex:1;gap:5px;padding:6px 6px 10px;position:relative}.shop-card-dim .shop-preview,.shop-card-dim .shop-name{opacity:.6}.shop-card.card-locked .shop-preview img{filter:grayscale()brightness(.7)}.shop-card.card-locked .shop-name{color:var(--ink-soft)}.shop-card.card-locked .shop-machine{filter:grayscale()}.shop-card.card-locked .shop-yield{color:inherit;opacity:.7}.shop-preview{border:1px solid var(--line-soft);background:radial-gradient(at 50% 30%,#fff 0%,#fff8e6 50%,#f7e6c4 100%);border-radius:10px;flex:none;justify-content:center;width:100%;padding-bottom:10px;display:flex;position:relative;overflow:hidden}.shop-preview:before{content:"";background:linear-gradient(#f6e2b6,#e6c98f);border:1px solid #d6b77f;border-radius:50%;width:84px;height:32px;position:absolute;bottom:3px;left:50%;transform:translate(-50%);box-shadow:0 3px #d6b77f,0 6px 8px #7a4a222e}.shop-preview .item-art{max-width:100%}.shop-swatch{align-items:center;height:114px;padding:0}.shop-swatch:before{display:none}.shop-name{font:var(--type-label);flex:1;line-height:1.15}.shop-owned{font-weight:var(--fw-text);flex-wrap:wrap;justify-content:center;gap:3px;display:inline-flex}.shop-size{position:absolute;top:10px;right:10px}.shop-machine{width:22px;height:22px;box-shadow:0 0 0 2px var(--wood), 0 2px 0 2px #3b241659;background-color:#ffd54a;border-radius:50%;place-items:center;font-size:12px;line-height:1;display:grid;position:absolute;top:10px;left:10px}.shop-yield{color:var(--green-dark);font-size:var(--fs-xs);font-weight:var(--fw-heavy);line-height:1.1}.shop-detail{align-items:center;gap:var(--sp-3);border-top:3px solid var(--wood-dark);background:linear-gradient(var(--cream-dark), #ecd0a0);font-size:var(--fs-sm);flex:none;padding:10px 14px 12px;line-height:1.35;display:flex}.shop-detail-info{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.shop-detail-name{align-items:center;gap:var(--sp-1) 6px;font:var(--type-window-title);flex-wrap:wrap;margin:0;line-height:1.15;display:flex}.shop-detail-text,.shop-detail-extra,.shop-detail-reason{margin:0}.shop-detail-extra{color:var(--ink-soft)}.shop-detail-reason{font-weight:var(--fw-bold);color:#b8392a}.shop-detail-buy{flex-direction:column;flex:none;align-items:center;gap:6px;display:flex}.item-art{flex:none;width:96px;height:104px;display:block;position:relative;overflow:hidden}.item-art img{pointer-events:none;height:128px;position:absolute;bottom:-10px;left:50%;transform:translate(-50%)}.item-art-wide img{height:96px;bottom:-2px}.item-art-small{width:30px;height:32px}.item-art-small img{height:40px;bottom:-3px}.item-art-small.item-art-wide img{height:30px;bottom:1px}.item-label{vertical-align:middle;align-items:center;gap:6px;display:inline-flex}.style-art{flex:none;justify-content:center;align-items:center;width:96px;height:100px;display:flex}.style-art img{pointer-events:none}.style-art-floor img{width:96px}.style-art-wall{align-items:flex-end;overflow:hidden}.style-art-wall img{height:80px}.style-art-wall img:nth-child(2){transform:translateY(-10px)}.style-art-wall img:nth-child(3){transform:translateY(-20px)}.style-art-window{height:104px;overflow:hidden}.style-art-window img{height:208px;margin-top:26px}.style-art-door img{height:84px}.style-art-sign img{width:104px}.shop-subtabs{background:var(--cream-dark);border-bottom:2px solid var(--line)}.shop-subtabs .tabs{padding-block:var(--sp-1);background:0 0;border:0}.shop-subtabs .tab{min-width:0;padding-inline:6px}.shop-subtabs .tab-count{display:none}@media (width<=640px){.shop-filters{gap:6px var(--sp-2);padding:6px var(--sp-2)}.shop-status:not(:has(.shop-limit)){display:none}.shop-status{flex-basis:100%}.shop-sort-label,.shop-filter-long{display:none}.shop-filter-short{display:inline}.shop-grid{gap:var(--sp-2);padding:var(--sp-2);grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.shop-name{font-size:var(--fs-sm)}.shop-detail{padding:var(--sp-2) max(12px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));flex-direction:column;align-items:stretch;gap:6px}.shop-detail-name{font-size:var(--fs-md)}.shop-detail-text{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.shop-detail-extra{display:none}.shop-detail-buy{flex-direction:row;justify-content:space-between}.shop-detail-buy>.btn{flex:1}}@media (height<=480px){.shop-filters{padding:var(--sp-1) var(--sp-2)}.shop-status{display:none}.shop-panel{flex-direction:row}.shop-grid{gap:var(--sp-2);padding:var(--sp-2);grid-template-columns:repeat(auto-fill,minmax(104px,1fr))}.shop-detail{width:min(240px,40%);padding:var(--sp-2) max(10px, env(safe-area-inset-right)) var(--sp-2) 10px;border-top:0;border-left:3px solid var(--wood-dark);flex-direction:column;align-items:stretch;gap:6px;overflow-y:auto}.shop-detail-info{flex:0 auto}.shop-detail-name{font-size:var(--fs-md)}.shop-detail-text{display:block;overflow:visible}.shop-detail-extra{display:none}.shop-detail-buy{flex-direction:column;align-items:stretch;margin-top:auto}.shop-detail-buy>.price{align-self:center}.shop-detail-buy>.btn{padding:0 var(--sp-2);white-space:normal;flex:none}}.sell-confirm{align-items:center;gap:var(--sp-2) var(--sp-3);font-size:var(--fs-md);grid-template-columns:auto 1fr;line-height:1.4;display:grid}.sell-confirm p{margin:0}.sell-confirm .note{grid-column:1/-1}.build-panel{top:calc(var(--hud-top) + env(safe-area-inset-top,0px) + 10px);left:calc(12px + env(safe-area-inset-left,0px));z-index:var(--z-panel);width:244px;max-height:calc(100% - var(--hud-top) - env(safe-area-inset-top,0px) - 22px);padding:var(--sp-3);border:3px solid var(--wood-dark);border-radius:var(--r-lg);background-color:var(--cream);box-shadow:var(--shadow-panel);color:var(--ink);font-size:var(--fs-sm);animation:build-in .18s var(--ease-out) both;flex-direction:column;gap:10px;display:flex;position:absolute;overflow-y:auto}.build-title,.build-subtitle{font-family:var(--font-display);font-weight:var(--fw-heavy);margin:0}.build-title{font-size:var(--fs-md)}.build-subtitle{font-size:var(--fs-sm);color:var(--wood-dark)}.build-section{padding-top:var(--sp-2);border-top:2px solid var(--line-soft);flex-direction:column;gap:6px;display:flex}.build-text{margin:0;line-height:1.35}.build-notice{color:#b8392a;font-weight:var(--fw-bold);margin:0}.build-actions,.build-inventory{flex-direction:column;gap:6px;display:flex}.build-stock{white-space:normal;text-align:left;min-height:40px}@keyframes build-in{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:none}}@media (width<=1000px){.build-panel{max-height:calc(100% - var(--hud-top) - var(--hud-bottom) - env(safe-area-inset-top,0px) - 86px)}}@media (width<=640px){.build-panel{display:none}}@media (height<=480px) and (width>=641px){.build-panel{top:calc(var(--hud-top) + env(safe-area-inset-top,0px) + 6px);left:calc(6px + env(safe-area-inset-left,0px));width:210px;max-height:calc(100% - var(--hud-top) - var(--hud-bottom) - env(safe-area-inset-top,0px) - 70px);padding:var(--sp-2);gap:6px}.build-section{gap:var(--sp-1);padding-top:6px}}@media (height<=480px) and (width>=860px){.build-panel{max-height:calc(100% - var(--hud-top) - env(safe-area-inset-top,0px) - 12px)}}.build-dock{display:none}@media (width<=640px){.build-dock{align-items:center;gap:var(--sp-2);pointer-events:none;width:100%;animation:build-dock-in .2s var(--ease-out) both;flex-direction:column;display:flex}.app-dock:has(.build-dock)>:is(.app-toolbar,.mode-banner:not(.mode-banner-buy),.kitchen-bar,.door-hint){display:none}.build-chip{border:2px solid var(--wood-dark);background:linear-gradient(var(--paper), var(--cream-dark));max-width:100%;box-shadow:inset 0 2px 0 #ffffffe6, var(--shadow-float);color:var(--ink);font-size:var(--fs-sm);pointer-events:auto;border-radius:18px;padding:5px 12px;line-height:1.25}.build-chip-text{text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:2px 8px;display:inline-flex}.build-chip-item{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.build-chip-text.is-warn{color:#b8392a;font-weight:var(--fw-bold)}.build-dock-bar{pointer-events:auto}.build-dock-btn{min-width:68px;animation:build-dock-pop .22s var(--ease-out) both}.build-dock-btn:nth-child(2){animation-delay:30ms}.build-dock-btn:nth-child(3){animation-delay:60ms}.build-dock-btn:nth-child(4){animation-delay:90ms}.build-dock-btn.is-danger .toolbar-disc{border-color:var(--red-dark);background:var(--gloss), linear-gradient(var(--red-light), #cf3f28);box-shadow:0 4px 0 var(--red-dark), 0 10px 16px #28160a6b;color:#fff}.build-dock-btn.is-go .toolbar-disc{border-color:var(--green-deep);background:var(--gloss), linear-gradient(var(--green-light), var(--green));box-shadow:0 4px 0 var(--green-deep), 0 10px 16px #28160a6b;color:#fff}.build-dock-btn:disabled{cursor:default}.build-dock-btn:disabled .toolbar-disc{filter:grayscale(.85)opacity(.6);transform:none}.build-dock-btn.is-quiet .toolbar-disc{border-color:var(--wood-dark);background:var(--gloss), linear-gradient(var(--paper), var(--cream-dark));box-shadow:0 4px 0 var(--wood-dark), 0 10px 16px #28160a6b;color:var(--wood-deep)}.build-tray{flex-direction:column;gap:6px;max-width:calc(100vw - 44px);display:flex}.build-tray-title{color:var(--wood-dark);font:var(--type-label);align-items:center;gap:6px;display:inline-flex}.build-tray-list{gap:6px;margin:0;padding:0 0 2px;list-style:none;display:flex;overflow-x:auto}.build-tray-item{border:2px solid var(--wood);border-radius:var(--r-md);background-color:var(--paper);width:76px;color:var(--ink);cursor:pointer;font:inherit;flex-direction:column;align-items:center;gap:2px;padding:6px 4px;display:flex}.build-tray-item:active{transform:translateY(1px)}.build-tray-name{max-width:100%;font-size:var(--fs-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.build-confirm{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 10px;display:flex}}@keyframes build-dock-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes build-dock-pop{0%{opacity:0;scale:.8}to{opacity:1;scale:1}}.reduce-motion .build-dock,.reduce-motion .build-dock-btn{animation:none}.price-grain{color:#ffe9d2}button.hud-res{cursor:pointer;transition:transform var(--dur-fast), filter var(--dur);gap:6px;display:inline-flex;position:relative}button.hud-res:hover{filter:brightness(1.05)}button.hud-res:active{transform:translateY(2px)}.hud-res-grains .hud-res-value{color:#6b3a1c}.hud-res-grains .hud-res-icon{transform:translateY(-50%)}.hud-res-plus{border:2px solid var(--green-deep);background:var(--green);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;margin-right:-6px;font-size:14px;line-height:1;display:inline-flex}.hud-boosts{pointer-events:auto;display:flex;position:relative}.hud-boosts-btn{border:2px solid var(--wood-dark);border-radius:var(--r-pill);background:var(--gloss), linear-gradient(var(--blue-soft), #c9e3f5);height:30px;box-shadow:var(--shadow-float);color:var(--ink);cursor:pointer;font:var(--type-label);align-items:center;gap:5px;padding:0 4px;display:inline-flex}.hud-boosts-btn.is-ending{background:var(--gloss), linear-gradient(#fff3c4, var(--orange-light));padding-right:9px}.hud-boosts-btn.is-event{background:var(--gloss), linear-gradient(#5a3d74, #3d2a4f);color:#ffe9a8;border-color:#1f1428;padding-right:9px}.hud-boosts-icons{display:inline-flex}.hud-boosts-disc{border:1.5px solid var(--wood-dark);background-color:var(--paper);border-radius:50%;flex:none;place-items:center;width:22px;height:22px;display:inline-grid}.hud-boosts-disc>.icon{vertical-align:0;width:14px;height:14px}.hud-boosts-icons>.hud-boosts-disc+.hud-boosts-disc{margin-left:-7px}.hud-boosts-disc.is-ending{z-index:1;border-color:var(--orange-dark);background-color:#fff3c4;animation:1.2s ease-in-out infinite boost-ending}@keyframes boost-ending{50%{scale:1.14}}.reduce-motion .hud-boosts-disc.is-ending{animation:none}.hud-boosts-time{font-variant-numeric:tabular-nums}.hud-boosts-pop{z-index:var(--z-popover);gap:var(--sp-2);width:max-content;max-width:min(300px,100vw - 24px);padding:var(--sp-2) 10px 10px;border:3px solid var(--wood-dark);border-radius:var(--r-lg);background-color:var(--cream);box-shadow:var(--shadow-panel);color:var(--ink);animation:boosts-pop .16s var(--ease-out) both;flex-direction:column;display:flex;position:absolute;top:calc(100% + 8px);left:0}@keyframes boosts-pop{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.reduce-motion .hud-boosts-pop{animation:none}.hud-boosts-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.hud-boosts-list>li{align-items:center;gap:var(--sp-2);padding:5px 0;display:flex}.hud-boosts-list>li+li{border-top:2px solid var(--line-soft)}.hud-boosts-list .hud-boosts-disc{width:28px;height:28px}.hud-boosts-list .hud-boosts-disc>.icon{width:18px;height:18px}.hud-boosts-what{min-width:0;font-size:var(--fs-xs);flex-direction:column;flex:1;line-height:1.25;display:flex}.hud-boosts-what strong{font:var(--type-label)}.hud-boosts-what span{color:var(--ink-soft)}.hud-boosts-left{border-radius:var(--r-pill);background-color:var(--blue-soft);font:var(--type-label);font-variant-numeric:tabular-nums;flex:none;padding:1px 8px}.hud-boosts-list>li.is-ending .hud-boosts-left{background-color:var(--orange-light)}.hud-boosts-shop{border:2px solid var(--wood-dark);border-radius:var(--r-md);background:linear-gradient(var(--paper), var(--cream-dark));min-height:34px;box-shadow:0 2px 0 var(--wood-dark);color:var(--ink);cursor:pointer;font:var(--type-label);justify-content:center;align-items:center;gap:6px;display:inline-flex}.hud-boosts-shop:active{box-shadow:0 1px 0 var(--wood-dark);transform:translateY(1px)}.grain-notice{align-items:center;gap:var(--sp-2);padding:var(--sp-2) 10px;border:2px solid var(--line);border-radius:var(--r-md);background-color:var(--paper);color:var(--ink);font-size:var(--fs-sm);font-weight:var(--fw-bold);flex-wrap:wrap;margin:0;line-height:1.35;display:flex}.grain-notice-success{border-color:var(--green-dark);background-color:var(--green-soft)}.grain-notice-info{border-color:var(--blue);background-color:var(--blue-soft)}.grain-notice-warning{border-color:var(--orange-dark);background-color:#fff3d0}.grain-notice-danger{border-color:var(--red-dark);background-color:var(--red-soft)}.grain-toast{top:calc(var(--hud-top) + env(safe-area-inset-top,0px) + 8px);z-index:var(--z-toast);align-items:flex-start;gap:var(--sp-2);width:max-content;max-width:min(440px,100% - 24px);padding:var(--sp-2) var(--sp-2) var(--sp-2) 12px;border:2px solid var(--wood-dark);border-radius:var(--r-lg);box-shadow:var(--shadow-float);color:var(--ink);font-size:var(--fs-sm);font-weight:var(--fw-bold);line-height:1.35;display:flex;position:absolute;left:50%;transform:translate(-50%)}.grain-toast>.icon{flex:none;font-size:18px}.grain-toast-close{width:28px;height:28px;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.grain-toast-close:hover{background-color:#4a2c171f}.grain-panel{gap:var(--sp-3);flex-direction:column;display:flex}.grain-list{gap:var(--sp-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.grain-row{align-items:flex-start}.grain-row-text{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.grain-row-hint{font-size:var(--fs-xs);font-weight:var(--fw-bold);color:var(--ink-soft)}.grain-row-short{color:#b8392a}.grain-row-active{color:var(--green-deep)}.grain-row-action{flex-direction:column;flex:none;align-self:center;align-items:flex-end;gap:6px;display:flex}.grain-confirm{gap:6px;display:flex}.grain-empty{text-align:center}.grain-ledger{border-collapse:collapse;width:100%;font-size:var(--fs-sm)}.grain-ledger th,.grain-ledger td{padding:6px var(--sp-2);border-bottom:1px solid var(--line-soft);text-align:left;vertical-align:top}.grain-ledger th{font:var(--type-badge);color:var(--ink-soft)}.grain-ledger .num{text-align:right;white-space:nowrap}.grain-credit{color:var(--green-deep);font-weight:var(--fw-heavy)}.grain-debit{color:#b8392a;font-weight:var(--fw-heavy)}.grain-soon{align-items:center;gap:var(--sp-2);padding:var(--sp-5) var(--sp-3);text-align:center;flex-direction:column;display:flex}.grain-soon-medal{width:64px;height:64px;font-size:34px}.stove-card{gap:var(--sp-2);width:min(360px,100%);padding:10px var(--sp-3) var(--sp-3);border:3px solid var(--wood-dark);border-radius:var(--r-lg);background-color:var(--cream);box-shadow:var(--shadow-panel);color:var(--ink);font-size:var(--fs-sm);pointer-events:auto;animation:banner-in .18s var(--ease-out) both;flex-direction:column;display:flex}.stove-card-head{align-items:center;gap:10px;display:flex}.stove-card-title{flex-direction:column;flex:auto;min-width:0;display:flex}.stove-card-actions{justify-content:flex-end;gap:var(--sp-2);flex-wrap:wrap;display:flex}.counter-card-values{justify-content:space-between;gap:var(--sp-1) var(--sp-3);flex-wrap:wrap;margin:0;display:flex}.counter-card-values>span{align-items:center;gap:var(--sp-1);display:inline-flex}.kitchen-bar{flex-direction:column;align-items:center;gap:6px;max-width:100%;display:flex}.kitchen-buttons{justify-content:center;gap:var(--sp-2);pointer-events:auto;flex-wrap:wrap;display:flex}.kitchen-buttons>*{box-shadow:var(--shadow-float)}.kitchen-said{max-width:100%;padding:var(--sp-1) 10px;border-radius:var(--r-pill);color:#fff;font-size:var(--fs-sm);font-weight:var(--fw-bold);text-align:center;background-color:#3b2416d9}.build-layout{gap:var(--sp-1);flex-direction:column;display:flex}.build-layout-name{justify-content:space-between;align-items:baseline;gap:var(--sp-2);font-weight:var(--fw-bold);display:flex}.build-layout-actions{gap:6px;display:flex}.build-layout-actions>.btn{flex:1 1 0}@media (width<=599px){.hud-resources{flex-wrap:wrap;row-gap:8px}.hud-res-plus{display:none}.grain-toast{top:calc(var(--hud-top) + env(safe-area-inset-top,0px) + 40px)}.grain-row{flex-wrap:wrap}.grain-row-text{flex:1 1 0}.grain-row-action{flex-direction:row;flex:100%;justify-content:flex-end;align-items:center}.grain-ledger{font-size:var(--fs-xs)}.grain-ledger th,.grain-ledger td{padding:5px var(--sp-1)}}.grain-packs{gap:var(--sp-3) var(--sp-2);padding:var(--sp-2) 0 0;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));margin:0;list-style:none;display:grid}.grain-packs>li{display:flex}.grain-pack{padding:var(--sp-3) 10px 10px;text-align:center;flex-direction:column;flex:auto;justify-content:flex-end;gap:6px;position:relative}.grain-pack-art{justify-content:center;align-items:flex-end;height:84px;display:flex}.grain-pack-art>.icon{width:var(--pack-art,50px);height:var(--pack-art,50px);filter:drop-shadow(0 2px #3b241640);display:block}.grain-pack-art.is-size-2{--pack-art:58px}.grain-pack-art.is-size-3{--pack-art:66px}.grain-pack-art.is-size-4{--pack-art:74px}.grain-pack-art.is-size-5{--pack-art:84px}.grain-pack-amount{color:var(--ink);font:var(--type-label)}.grain-pack-amount>strong{color:#6b3a1c;font:var(--type-display);display:block}.grain-pack-nobonus{height:18px;display:block}.grain-pack-price{color:var(--ink);font:var(--type-card-title)}.grain-pack-trust{text-align:center;display:block}.grain-pack-trust>.icon{color:var(--green-dark)}.grain-receipt{flex-wrap:wrap}.grain-receipt>.grain-row-text{flex:160px}@media (width<=599px){.grain-packs{grid-template-columns:repeat(2,minmax(0,1fr))}}.grain-buy-notice:empty{display:none}.grain-buy-notice{scroll-margin-top:var(--sp-2)}.rank-panel{gap:var(--sp-3);flex-direction:column;display:flex}.rank-me{align-items:center;gap:var(--sp-3);padding:var(--sp-3);border:2px solid var(--gold-dark);border-radius:var(--r-lg);box-shadow:var(--shine), 0 2px 0 var(--gold-dark);background:linear-gradient(#fff3c9,#ffe08a);display:flex}.rank-me-place{border:2px solid var(--gold-dark);background:var(--paper);width:68px;height:68px;box-shadow:var(--shine);border-radius:50%;flex:none;place-items:center;display:grid}.rank-me-place .icon{opacity:.22;grid-area:1/1;width:46px;height:46px}.rank-me-place strong{font:var(--type-display);font-size:var(--fs-xl);color:var(--orange-dark);grid-area:1/1}.rank-me-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.rank-me-points{font:var(--type-body-sm);color:var(--ink)}.rank-me-points .icon{vertical-align:-3px;width:16px;height:16px}.rank-me-points .num{font:var(--type-number)}.rank-me-min{gap:var(--sp-1);margin-top:var(--sp-1);flex-direction:column;display:flex}.rank-me>.badge{flex:none;align-self:flex-start}.rank-list{gap:var(--sp-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.rank-row{align-items:center;gap:var(--sp-3);min-height:48px;padding:var(--sp-1) var(--sp-3);border:2px solid var(--line-soft);border-radius:var(--r-md);background:var(--paper);display:flex}.rank-row.is-me{border-color:var(--green-dark);background:var(--green-soft)}.rank-place{width:36px;height:36px;font:var(--type-label);color:var(--ink-soft);flex:none;place-items:center;display:grid}.rank-place>*{grid-area:1/1}.rank-place-medal .icon{width:36px;height:36px}.rank-place-medal .num{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.rank-who{flex-direction:column;flex:1;min-width:0;display:flex}.rank-name{font:var(--type-card-title);color:var(--ink);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.rank-level{font:var(--type-note);color:var(--ink-soft)}.rank-points{align-items:center;gap:var(--sp-1);font:var(--type-hud-number);font-size:var(--fs-md);color:var(--ink);flex:none;display:inline-flex}.rank-points .icon{width:18px;height:18px}.rank-prize,.rank-result{justify-content:flex-end;align-items:center;gap:var(--sp-1) var(--sp-2);flex-wrap:wrap;flex:none;display:inline-flex}.rank-gap{font:var(--type-label);color:var(--ink-soft);text-align:center;line-height:var(--lh-flat)}.rank-empty,.rank-warmup{align-items:center;gap:var(--sp-2);padding:var(--sp-5) var(--sp-4);font:var(--type-body);color:var(--ink-soft);text-align:center;flex-direction:column;margin:0;display:flex}.rank-empty .icon,.rank-warmup .icon{width:56px;height:56px}.rank-warmup p{margin:0}.rank-warmup strong{color:var(--ink)}.rank-review,.rank-error{align-items:center;gap:var(--sp-2);margin:0 0 var(--sp-3);padding:var(--sp-2) var(--sp-3);border:2px solid var(--red);border-radius:var(--r-md);background:var(--red-soft);font:var(--type-body-sm);color:var(--red-dark);flex-wrap:wrap;display:flex}.rank-review{margin:0}.rank-error span{flex:1;min-width:12ch}.rank-review .icon,.rank-error .icon{flex:none;width:20px;height:20px}.rank-foot{text-align:center;margin:0}@media (width<=640px){.rank-me{gap:var(--sp-2);padding:var(--sp-2)}.rank-me-place{width:56px;height:56px}.rank-me-place .icon{width:38px;height:38px}.rank-row{gap:var(--sp-2);padding:var(--sp-1) var(--sp-2)}.rank-result{flex-direction:column;align-items:flex-end}}@media (width<=350px){.rank-row:has(.rank-result){flex-wrap:wrap}.rank-row:has(.rank-result) .rank-who{flex:1 1 0}.rank-result{flex-direction:row;flex:1 0 100%;justify-content:space-between;align-items:center}}.gifts-btn-art{font-size:32px;line-height:1;display:inline-flex}.gifts-btn .notify-badge{top:-9px;right:-9px}.gifts-btn.has-gifts .gifts-btn-art{animation:4.5s ease-in-out infinite gifts-btn-hop}@keyframes gifts-btn-hop{0%,80%,to{transform:translateY(0)rotate(0)}84%{transform:translateY(-5px)rotate(-7deg)}88%{transform:translateY(0)rotate(5deg)}92%{transform:translateY(-2px)rotate(-3deg)}96%{transform:translateY(0)rotate(0)}}@media (width<=520px){.gifts-btn-art{font-size:28px}}.gifts-count{margin-right:var(--sp-2);border-radius:var(--r-pill);background-color:var(--red);color:#fff;min-width:26px;font:var(--type-label);text-align:center;flex:none;padding:2px 9px}.gift-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.gift-card{border:2px solid var(--line);border-radius:var(--r-lg);background:linear-gradient(var(--paper), var(--cream));box-shadow:var(--shadow-card);animation:gift-in var(--dur) ease-out both;align-items:center;gap:12px;padding:10px 12px;display:flex}.gift-card.is-from-game{background:linear-gradient(#fffbea,#fff1c4);border-color:#d4a017;box-shadow:0 2px #d4a017}@keyframes gift-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.gift-art{border:2px solid var(--wood-dark);background:radial-gradient(circle at 35% 30%, #fff, var(--cream-dark));border-radius:50%;flex:none;place-items:center;width:58px;height:58px;font-size:34px;line-height:1;display:grid;position:relative;overflow:hidden}.gift-art-coins{background:radial-gradient(circle at 35% 30%, #fff8d6, var(--orange-light))}.gift-art-grains{background:radial-gradient(circle at 35% 30%,#fff3e4,#e8c39a)}.gift-art-xp{background:radial-gradient(circle at 35% 30%,#fffbe8,#ffe39a)}.gift-art-gift{background:radial-gradient(circle at 35% 30%, #fff, var(--red-soft))}.gift-art-item{border-radius:var(--r-md)}.gift-art-item .item-art{width:54px;height:54px}.gift-art-item .item-art img{height:70px;bottom:-4px}.gift-art-item .item-art-wide img{height:56px}.gift-text{flex-direction:column;flex:160px;gap:1px;min-width:0;display:flex}.gift-amount{font:var(--type-hud-number);color:var(--wood-deep);overflow-wrap:anywhere}.gift-title{font:var(--type-card-title);color:var(--ink);overflow-wrap:anywhere}.gift-message{font:var(--type-body-sm);color:var(--ink-soft);font-style:italic}.gift-from{font:var(--type-note);color:var(--ink-soft);align-items:center;gap:4px;margin-top:2px;display:inline-flex}.gift-claim{flex:none}@media (width<=520px){.gift-card{flex-wrap:wrap;gap:8px 12px}.gift-art{width:50px;height:50px;font-size:30px}.gift-claim{flex:100%}}.gift-burst{border:2px solid var(--green-dark);border-radius:var(--r-lg);background:linear-gradient(#f3ffe9, var(--green-soft));box-shadow:0 2px 0 var(--green-dark);color:var(--green-ink);flex-wrap:wrap;align-items:center;gap:8px 10px;margin-bottom:12px;padding:10px 12px;animation:.38s cubic-bezier(.2,1.4,.4,1) both gift-burst-pop;display:flex}.gift-burst-title{font:var(--type-window-title)}.gift-burst-chips{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.gift-chip{border:2px solid var(--green-dark);border-radius:var(--r-pill);font:var(--type-label);background:#fff;align-items:center;gap:4px;padding:3px 10px 3px 6px;animation:.42s cubic-bezier(.2,1.5,.4,1) both gift-chip-pop;display:inline-flex}.gift-chip .icon{font-size:18px}@keyframes gift-burst-pop{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:none}}@keyframes gift-chip-pop{0%{opacity:0;transform:translateY(8px)scale(.6)}to{opacity:1;transform:none}}.gift-empty{text-align:center;flex-direction:column;align-items:center;gap:6px;padding:18px 8px 8px;display:flex}.gift-empty-art{filter:saturate(.55);opacity:.85;font-size:64px;line-height:1;animation:3.2s ease-in-out infinite gift-empty-float;display:inline-flex}.gift-empty-title{font:var(--type-card-title);color:var(--ink)}.gift-empty .note{max-width:320px;margin:0}@keyframes gift-empty-float{0%,to{transform:translateY(0)rotate(-3deg)}50%{transform:translateY(-6px)rotate(3deg)}}@media (prefers-reduced-motion:reduce){.gifts-btn.has-gifts .gifts-btn-art,.gift-card,.gift-burst,.gift-chip,.gift-empty-art{animation:none}}.reduce-motion .gifts-btn.has-gifts .gifts-btn-art,.reduce-motion .gift-card,.reduce-motion .gift-burst,.reduce-motion .gift-chip,.reduce-motion .gift-empty-art{animation:none}.chef-body{gap:14px;display:flex}.chef-preview{padding:10px var(--sp-3);border:2px solid var(--line);background:radial-gradient(ellipse at 50% 30%, #fff, var(--cream-dark));border-radius:14px;flex-direction:column;flex:none;align-self:flex-start;align-items:center;gap:6px;display:flex}.chef-preview-name{text-overflow:ellipsis;white-space:nowrap;max-width:128px;font:var(--type-card-title);overflow:hidden}.chef-portrait{width:128px;height:172px;display:block}.chef-fields{flex-direction:column;flex:1;gap:10px;min-width:0;display:flex}.chef-field{gap:var(--sp-1);flex-direction:column;display:flex}.chef-field-label{font:var(--type-label);color:var(--wood-dark)}.chef-name-input{width:100%;min-height:var(--tap);border:2px solid var(--wood-dark);background-color:var(--paper);color:var(--ink);font:var(--type-card-title);font-size:var(--fs-input);-webkit-user-select:text;user-select:text;border-radius:10px;padding:0 10px}.chef-name-input:hover{border-color:var(--wood)}.chef-options{gap:var(--sp-2);flex-wrap:wrap;display:flex}.chef-swatch{border:2px solid var(--wood-dark);width:34px;height:34px;box-shadow:inset 0 2px 0 #ffffff73, 0 2px 0 var(--wood-dark);cursor:pointer;transition:transform var(--dur-fast);border-radius:50%;padding:0}.chef-swatch:hover{transform:scale(1.1)}.chef-swatch:active{transform:scale(.95)}.chef-swatch[aria-pressed=true]{box-shadow:0 0 0 2px var(--cream), 0 0 0 5px var(--green-dark)}@media (width<=640px),(height<=480px),(pointer:coarse){.chef-swatch{width:var(--tap);height:var(--tap)}}@media (width<=480px){.chef-body{flex-direction:column;align-items:stretch;gap:10px}.chef-preview{align-self:center;padding:6px 10px}.chef-portrait{width:96px;height:129px}.chef-preview-name{max-width:96px}}@media (height<=480px){.chef-portrait{width:80px;height:108px}}.chef-stage{place-items:end center;padding:6px 14px 10px;display:grid;position:relative}.chef-stage:before{content:"";background:radial-gradient(at 50% 40%,#784e2c57,#784e2c00 70%);border-radius:50%;width:104px;height:26px;position:absolute;bottom:4px;left:50%;translate:-50%}.chef-stage>.chef-portrait{position:relative}.chef-preview-cafe{max-width:150px;color:var(--ink-soft);font-size:var(--fs-sm);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:4px;display:inline-flex;overflow:hidden}.chef-preview-cafe svg{flex:none;width:12px;height:12px}.chef-preview-actions{gap:var(--sp-1);width:100%;margin-top:var(--sp-1);flex-direction:column;display:flex}.chef-section{gap:var(--sp-2);padding:10px var(--sp-3);border:2px solid var(--line);background:var(--paper);border-radius:14px;flex-direction:column;display:flex}.chef-section-title{font:var(--type-card-title);color:var(--wood-deep);margin:0}.chef-tiles{gap:var(--sp-2);grid-template-columns:repeat(auto-fill,minmax(76px,1fr));display:grid}.chef-tile{border:2px solid var(--line);background:radial-gradient(ellipse at 50% 30%, #fff, var(--cream-dark));color:var(--ink);font:inherit;cursor:pointer;transition:transform var(--dur-fast), border-color var(--dur-fast);border-radius:12px;flex-direction:column;align-items:center;gap:2px;padding:4px 4px 6px;display:flex;position:relative}.chef-tile:hover{border-color:var(--wood)}.chef-tile:active{transform:scale(.97)}.chef-tile[aria-pressed=true]{border-color:var(--green-dark);box-shadow:0 0 0 2px var(--green-dark)}.chef-tile-art{width:56px;height:62px;display:block}.chef-bust{width:100%;height:100%;display:block}.chef-tile-name{max-width:100%;font-size:var(--fs-xs);text-align:center;overflow-wrap:anywhere;font-weight:700;line-height:1.15}.chef-tile.is-locked{cursor:default}.chef-tile.is-locked:hover{border-color:var(--line)}.chef-tile.is-locked:active{transform:none}.chef-tile.is-locked>.chef-tile-art{filter:grayscale();opacity:.45}.chef-tile.is-locked>.chef-tile-name{color:var(--ink-soft)}.chef-tile-lock{background:var(--paper);width:20px;height:20px;box-shadow:inset 0 0 0 1.5px var(--line);color:var(--ink-soft);border-radius:50%;place-items:center;display:grid;position:absolute;top:4px;right:4px}.chef-tile-lock svg{width:11px;height:11px}.chef-costume-note{margin:0}@media (width<=480px){.chef-preview-actions{flex-direction:row;justify-content:center}.chef-stage:before{width:80px}}.pop-body{gap:var(--sp-3);flex-direction:column;display:flex}.pop-lead{font:var(--type-body);margin:0}.pop-meter-wrap{padding:var(--sp-3);border:2px solid var(--line);border-radius:var(--r-md);background:var(--paper);flex-direction:column;gap:6px;display:flex}.pop-meter-numbers{justify-content:space-between;align-items:baseline;gap:var(--sp-2);display:flex}.pop-now{color:#b8392a;font:var(--type-display);align-items:center;gap:6px;display:inline-flex}.pop-now .icon{width:30px;height:30px}.pop-roof{color:var(--ink-soft);font:var(--type-label)}.pop-roof strong{color:var(--ink)}.pop-meter{border:2px solid var(--wood-dark);border-radius:var(--r-pill);background:var(--cream-dark);height:18px;position:relative;overflow:hidden}.pop-meter-fill{background:linear-gradient(#f0705a,#c8402c);position:absolute;inset:0 auto 0 0}.pop-meter-locked{background:repeating-linear-gradient(-45deg,#7a4a2247 0 5px,#0000 5px 10px);position:absolute;top:0;bottom:0;right:0}.pop-meter-roof{background:var(--wood-deep);width:4px;margin-left:-2px;position:absolute;top:-2px;bottom:-2px}.pop-status{font:var(--type-body-sm);margin:0}.pop-status-done{color:var(--green-deep)}.pop-arrivals{gap:var(--sp-2);font:var(--type-body-sm);align-items:flex-start;margin:0;display:flex}.pop-arrivals>.icon{flex:none;width:28px;height:28px}.pop-rules{gap:var(--sp-2);grid-template-columns:1fr 1fr;display:grid}.pop-rule{font:var(--type-body-sm);flex-direction:column;align-items:stretch;gap:4px}.pop-rule b{font:var(--type-number)}.pop-rule-up{border-color:var(--green);background:var(--green-soft)}.pop-rule-up b{color:var(--green-deep)}.pop-rule-down{border-color:var(--red-light);background:var(--red-soft)}.pop-rule-down b{color:var(--red-dark)}.pop-note{margin:0}.pop-ceiling{gap:var(--sp-3);align-items:flex-start}.pop-ceiling-text{font:var(--type-body-sm);flex-direction:column;gap:4px;display:flex}.pop-shop{align-self:flex-start;margin-top:4px}@media (width<=420px){.pop-rules{grid-template-columns:1fr}}.cafe-address{align-items:center;gap:var(--sp-2) 12px;background-color:#fff6d6;border:2px solid #d4a017;border-radius:14px;flex-wrap:wrap;padding:10px 12px;display:flex;box-shadow:0 2px #d4a017}.cafe-address-icon{flex:none;font-size:30px;display:inline-flex}.cafe-address-text{flex-direction:column;flex:160px;gap:2px;min-width:0;display:flex}.cafe-address-label{font:var(--type-label);color:var(--ink-soft)}.cafe-address-code{font-family:var(--font-mono);font-size:var(--fs-xl);font-weight:var(--fw-heavy);letter-spacing:var(--ls-code);color:var(--ink);-webkit-user-select:all;user-select:all}.cafe-address-actions{gap:var(--sp-2);flex-wrap:wrap;margin-left:auto;display:flex}.cafe-address-compact{padding:8px 10px}.cafe-address-compact .cafe-address-code{font-size:var(--fs-lg)}.social-limit{margin-right:var(--sp-2);border-radius:var(--r-pill);background-color:var(--wood-dark);color:var(--cream);font-size:var(--fs-sm);font-weight:var(--fw-heavy);flex:none;padding:2px 10px}.social-panel{flex-direction:column;gap:10px;display:flex}.social-list{gap:var(--sp-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.social-row{flex-wrap:wrap}.social-row-text{flex-direction:column;flex:140px;gap:2px;min-width:0;display:flex}.social-row-text .card-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.social-row-actions{flex-wrap:wrap;gap:6px;margin-left:auto;display:flex}.social-section h3{align-items:center;gap:var(--sp-2);font:var(--type-card-title);margin:0 0 6px;display:flex}.social-count{font-size:var(--fs-sm);font-weight:var(--fw-bold);color:var(--ink-soft)}.social-empty{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:18px 8px;display:flex}.social-helps-today{align-items:center;gap:6px;display:flex}.social-add{flex-direction:column;gap:12px;display:flex}.social-form{align-items:flex-end;gap:var(--sp-2);flex-wrap:wrap;display:flex}.social-field{font-size:var(--fs-sm);font-weight:var(--fw-bold);color:var(--ink-soft);flex-direction:column;flex:180px;gap:4px;display:flex}.social-input{border:2px solid var(--line);border-radius:var(--r-md);color:var(--ink);font-family:var(--font-mono);font-size:var(--fs-lg);font-weight:var(--fw-heavy);letter-spacing:var(--ls-code);background-color:#fff;padding:8px 10px}.social-input:focus-visible{outline:3px solid var(--focus);outline-offset:1px}.social-found{border-color:var(--green-dark);background-color:var(--green-soft)}.social-notice{border-radius:var(--r-md);font-size:var(--fs-sm);margin:0;padding:8px 10px;line-height:1.35}.social-notice-success{background-color:var(--green-soft);color:var(--green-ink)}.social-notice-info{background-color:var(--blue-soft);color:#164a70}.social-notice-warning{color:var(--orange-dark);background-color:#fff0cc}.social-notice-danger{background-color:var(--red-soft);color:var(--red-dark)}.app-dock .visit-banner{pointer-events:auto;border-color:var(--green-dark);box-shadow:inset 0 2px 0 #ffffffe6, 0 3px 0 var(--green-deep), 0 8px 16px #28160a66;background:linear-gradient(#f6fff0,#d9f0c6)}.app-dock .visit-banner-error{border-color:var(--red-dark);background:linear-gradient(#fff5f2,#f9d3ca)}.visit-banner .mode-banner-text{max-width:420px}.visit-notice{border-radius:var(--r-sm);font-weight:var(--fw-strong);margin-top:3px;padding:2px 8px}.social-news{gap:var(--sp-2);border:2px solid var(--line);border-radius:var(--r-lg);background-color:var(--paper-hover);flex-direction:column;padding:10px;display:flex}.social-news-head{justify-content:space-between;align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.social-news-head h3{font:var(--type-card-title);align-items:center;gap:6px;margin:0;display:flex}.social-news-row .card-title{white-space:normal}.name-title,.social-row-text .card-title.name-title,.rank-name.name-title,.mode-banner-text strong.name-title{align-items:center;gap:2px var(--sp-1);white-space:normal;flex-wrap:wrap;min-width:0;display:flex;overflow:visible}.name-title-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%;overflow:hidden}.mode-banner-text .name-title-name{color:inherit}.name-title-stars{flex:none;display:inline-flex}.name-title-stars .star-row{flex-wrap:nowrap;display:inline-flex}.visit-banner .mode-banner-text{gap:2px}.account-row{flex-wrap:wrap}.account-row .settings-row-text{flex-basis:180px}.account-actions{justify-content:flex-end;gap:var(--sp-2);flex-wrap:wrap;margin-left:auto;display:flex}.account-code{margin-left:var(--sp-1);padding:1px var(--sp-2);border:2px solid var(--line);border-radius:var(--r-sm);background-color:var(--cream-dark);color:var(--ink);font-family:var(--font-mono);font-size:var(--fs-md);font-weight:var(--fw-heavy);letter-spacing:var(--ls-code);-webkit-user-select:all;user-select:all;display:inline-block}.account-form{gap:var(--sp-2);border:2px solid var(--wood);background-color:var(--paper);border-radius:14px;flex-direction:column;padding:10px;display:flex}.account-field{gap:var(--sp-1);font-size:var(--fs-sm);font-weight:var(--fw-heavy);flex-direction:column;display:flex}.account-input{width:100%;min-height:var(--tap);padding:0 var(--sp-3);border:2px solid var(--line);border-radius:var(--r-md);color:var(--ink);font:inherit;font-size:var(--fs-input);font-weight:var(--fw-bold);background-color:#fff}.account-input:focus-visible{border-color:var(--focus);outline:2px solid var(--focus);outline-offset:1px}.account-input-code{max-width:220px;font-family:var(--font-mono);font-size:var(--fs-xl);letter-spacing:.3em;text-align:center}.account-hint{color:var(--ink-soft);font-size:var(--fs-sm);margin:0;line-height:1.35}.account-form-actions{justify-content:flex-end;gap:var(--sp-2);flex-wrap:wrap;display:flex}.account-msg{padding:var(--sp-2) 10px;border:2px solid var(--green-dark);border-radius:var(--r-md);background-color:var(--green-soft);font-size:var(--fs-sm);font-weight:var(--fw-bold);margin:0;line-height:1.35}.account-msg-error{border-color:var(--red);background-color:var(--red-soft)}.account-danger{justify-content:space-between;align-items:center;gap:var(--sp-2);color:var(--ink-soft);font-size:var(--fs-xs);flex-wrap:wrap;line-height:1.35;display:flex}.modal-backdrop:has(>.account-modal){z-index:400}.account-text{gap:var(--sp-3);font-size:var(--fs-md);flex-direction:column;line-height:1.4;display:flex}.account-text p,.account-text ul{margin:0}.account-text ul{gap:var(--sp-1);flex-direction:column;padding-left:20px;display:flex}.account-text ul.account-fix-list{gap:var(--sp-2);padding-left:0;list-style:none}.account-fix-row{justify-content:space-between;align-items:center;gap:var(--sp-3);display:flex}@media (width<=480px){.account-actions{width:100%}.account-actions .btn{flex:1}}.cloud-ind-signed_out .icon,.cloud-ind-standby .icon{opacity:.55}.cloud-ind-syncing .icon{animation:1.2s ease-in-out infinite cloud-pulse}.hud-actions.is-open>.hud-actions-items>.round-btn:nth-child(5){animation-delay:.16s}@keyframes cloud-pulse{50%{opacity:.45}}:root.reduce-motion .cloud-ind-syncing .icon{opacity:.7;animation:none}.account-modal .modal-footer{flex-wrap:wrap}.staff-menu{width:280px}.levelup .modal-title{margin:0 auto}.levelup-body{align-items:center;gap:var(--sp-2);text-align:center;flex-direction:column;display:flex}.levelup-level{align-items:center;gap:var(--sp-1);font-size:var(--fs-2xl);color:var(--gold-dark);flex-direction:column;display:flex}.levelup-star{width:76px;height:76px;animation:levelup-pop .5s var(--ease-out) both;background:radial-gradient(circle at 50% 35%,#fff8d8,#ffe08a);border:3px solid #d4a017;border-radius:50%;justify-content:center;align-items:center;font-size:38px;display:inline-flex;box-shadow:0 0 0 6px #ffc93c4d,0 4px #b8860b}.levelup-reward{align-items:center;gap:var(--sp-2);font-size:var(--fs-md);display:flex}.levelup-heading{margin:var(--sp-2) 0 0;padding-top:var(--sp-2);border-top:2px dashed var(--line);font:var(--type-label);color:var(--ink-soft);align-self:stretch}.levelup-list{text-align:left;flex-direction:column;align-self:stretch;gap:6px;margin:0;padding:0;list-style:none;display:flex}.levelup-list .card>.icon{font-size:20px}@keyframes levelup-pop{0%{opacity:0;transform:scale(.4)rotate(-20deg)}70%{opacity:1;transform:scale(1.12)rotate(4deg)}to{transform:none}}@media (width<=599px){.staff-menu{width:auto}}@media (height<=480px){.levelup-body{gap:var(--sp-1)}.levelup-level{gap:var(--sp-3);font-size:var(--fs-xl);flex-direction:row}.levelup-star{width:48px;height:48px;font-size:24px}.levelup-heading{margin-top:2px}}.recipe-book{flex-direction:column;display:flex;overflow:hidden}.recipe-sort{padding:var(--sp-2) 14px 0;flex-wrap:wrap;flex:none;align-items:center;gap:6px;display:flex}.recipe-sort-label{font-size:var(--fs-xs);font-weight:var(--fw-bold);color:var(--ink-soft)}.recipe-hint{padding:var(--sp-2) 14px 0;flex:none}.recipe-consult-note{text-align:center}.recipe-panel{overscroll-behavior:contain;flex:1;min-height:0;overflow-y:auto}.recipe-grid{align-content:start;gap:var(--sp-2);padding:10px var(--sp-3) 14px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin:0;list-style:none;display:grid}.recipe-card{height:100%;min-height:74px}.recipe-card .dish-icon{border:2px solid var(--line-soft);box-sizing:content-box;background-color:#fff3d6;border-radius:14px;padding:3px}.recipe-card.card-locked{opacity:.8}.recipe-card.card-locked .dish-icon,.recipe-card.card-locked .recipe-card-info{filter:grayscale();opacity:.6}.recipe-card-info{gap:var(--sp-1);flex-direction:column;flex:1;min-width:0;display:flex}.recipe-card-stats{font-size:var(--fs-xs);font-weight:var(--fw-bold);color:var(--ink-soft);flex-wrap:wrap;gap:2px 10px;display:flex}.recipe-card-stats>span{white-space:nowrap}.recipe-card-profit>span:first-child{color:var(--green-deep)}@media (width<=640px),(height<=480px){.recipe-grid{padding:var(--sp-2);grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}}@media (height<=480px){.recipe-hint{display:none}}.recipe-pass-ends{align-items:center;gap:var(--sp-2);margin:0 var(--sp-3) var(--sp-2);font-size:var(--fs-sm);display:flex}.recipe-pass-lock{justify-content:space-between;align-items:center;gap:var(--sp-2);margin:0 var(--sp-3) var(--sp-2);padding:var(--sp-2) var(--sp-3);border:2px dashed var(--line);border-radius:var(--r-md);background-color:var(--paper);font-size:var(--fs-sm);flex-wrap:wrap;display:flex}.retention-list,.receipt-list{gap:var(--sp-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.retention-note{margin-top:var(--sp-3);text-align:center}.challenges{margin-top:var(--sp-4,16px)}.challenges-title{align-items:center;gap:var(--sp-1);margin:0 0 var(--sp-2);font-size:var(--fs-md);display:flex}.daily-gift{gap:var(--sp-2);margin-bottom:var(--sp-3);display:grid}.daily-gift-head{justify-content:space-between;align-items:center;gap:var(--sp-2);display:flex}.daily-gift-days{gap:var(--sp-1);grid-template-columns:repeat(7,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.daily-gift-day{padding:var(--sp-1) 2px;border-radius:var(--radius-sm,8px);font-size:var(--fs-xs);background:#0000000d;border:2px solid #0000;justify-items:center;gap:2px;display:grid}.daily-gift-coins{font-weight:var(--fw-bold);white-space:nowrap;align-items:center;gap:2px;display:inline-flex}.daily-gift-done{opacity:.55}.daily-gift-today{font-weight:var(--fw-bold);background:#ffffff8c;border-color:currentColor}@media (width<=520px){.daily-gift-days{grid-template-columns:repeat(4,minmax(0,1fr))}}.retention-count{margin-bottom:var(--sp-3);font:var(--type-card-title);flex-direction:column;gap:6px;display:flex}.mission-info{gap:var(--sp-1);flex-direction:column;flex:1;min-width:0;display:flex}.mission-tier{align-self:flex-start}.mission-claim{flex:none}.mission-done{font:var(--type-label);color:var(--green-dark);white-space:nowrap;flex:none}.reward{gap:var(--sp-1);flex-wrap:wrap;display:inline-flex}.achievement-locked .medal{background-color:var(--grey-soft);filter:grayscale(.6);border-color:#b9a88c}.achievement-unlocked.achievement-bronze{border-color:#b87333;box-shadow:0 2px #b87333}.achievement-unlocked.achievement-silver{border-color:#8f9aa3;box-shadow:0 2px #8f9aa3}.star-row{vertical-align:middle;gap:2px;display:inline-flex}.stars-head .card-text{font-family:var(--font-body,inherit);font-size:var(--fs-sm)}.star-card{align-items:center}.star-buy{align-items:flex-end;gap:var(--sp-1);flex-direction:column;flex:none;display:flex}.star-confirm{gap:var(--sp-1);display:flex}.star-reason{font-size:var(--fs-sm);font-weight:var(--fw-bold);color:var(--wood-dark,#7a4a22)}@media (width<=520px){.star-card{flex-wrap:wrap}.star-buy{flex-direction:row;justify-content:flex-end;align-items:center;width:100%}}.receipt-body{gap:var(--sp-2);flex-direction:column;display:flex}.receipt-body p{margin:0}.receipt-away{text-align:center}.receipt-note{display:block}.receipt-list{gap:6px}.receipt-row{padding:5px 10px}.receipt-dish{align-items:center;gap:var(--sp-2);flex:1;min-width:0;display:inline-flex}.receipt-count{color:var(--ink-soft)}.receipt-total{justify-content:space-between;align-items:center;gap:var(--sp-2);padding:var(--sp-2) 2px 0;border-top:2px dashed var(--wood);font:var(--type-card-title);display:flex}.receipt-empty{text-align:center}.receipt-missed .receipt-row .price{opacity:.6;text-decoration:line-through}.receipt-pitch{text-align:center}.receipt-spoiled{border-radius:var(--r-md);background-color:var(--red-soft);font-size:var(--fs-sm);color:#8f2e1c;border:2px solid #e0a79b;padding:6px 10px}.toasts{top:calc(var(--hud-top) + env(safe-area-inset-top,0px) + 8px);z-index:var(--z-toast);align-items:center;gap:var(--sp-2);padding:0 var(--sp-3);pointer-events:none;flex-direction:column;display:flex;position:absolute;left:0;right:0}.toast{border:3px solid var(--wood-dark);border-radius:var(--r-pill);background:linear-gradient(var(--paper), var(--cream-dark));max-width:min(380px,100%);min-height:48px;box-shadow:var(--shadow-panel);color:var(--ink);cursor:pointer;font-size:var(--fs-sm);text-align:left;pointer-events:auto;transition:transform var(--dur-fast), filter var(--dur);animation:toast-in .25s var(--ease-out) both;align-items:center;gap:10px;padding:5px 16px 5px 6px;line-height:1.25;display:flex}.app .toast{font-family:var(--font-body)}.toast:hover{filter:brightness(1.04)}.toast:active{transform:translateY(2px)}.toast-achievement{border-color:#b8860b}.toast-icon{width:36px;height:36px;font-size:19px}.toast-achievement .toast-icon{background-color:#fff1bf;border-color:#d4a017}.toast-body{flex-direction:column;min-width:0;display:flex}.toast-body .card-title{font-size:var(--fs-sm)}@keyframes toast-in{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}@media (width<=640px){.mission,.achievement{flex-wrap:wrap}.mission .medal,.achievement .medal{width:36px;height:36px;font-size:19px}.mission-claim,.mission-done,.achievement>.reward{margin-left:auto}}.tutorial-names{gap:var(--sp-3);flex-direction:column;display:flex}.tutorial-names-intro{margin:0;line-height:1.4}.tutorial-names-warning{padding:var(--sp-2) var(--sp-3);border:2px solid var(--orange);border-radius:var(--r-md);background-color:var(--orange-light);color:var(--orange-dark);font-size:var(--fs-sm);font-weight:var(--fw-bold);margin:0;line-height:1.35}.tutorial-names-error{color:var(--red-dark);font-size:var(--fs-sm);font-weight:var(--fw-bold)}.tutorial-names-summary{gap:var(--sp-2);flex-direction:column;margin:0;display:flex}.tutorial-names-summary>div{align-items:baseline;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);border:2px solid var(--line);border-radius:var(--r-md);background-color:var(--paper);display:flex}.tutorial-names-summary dt{min-width:44px;font:var(--type-label);color:var(--wood-dark);flex:none}.tutorial-names-summary dd{min-width:0;font:var(--type-window-title);overflow-wrap:anywhere;margin:0}.tutorial-ring{z-index:calc(var(--z-modal) + 5);border:3px solid var(--gold);border-radius:var(--r-lg);box-shadow:0 0 0 2px var(--wood-deep), 0 0 0 6px #ffc93c59;pointer-events:none;animation:1.3s ease-in-out infinite tutorial-pulse;position:fixed}.tutorial-ring-round{border-radius:50%}@keyframes tutorial-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.75;transform:scale(1.08)}}.tutorial-balloon{z-index:calc(var(--z-modal) + 5);gap:var(--sp-2);padding:var(--sp-3);border:3px solid var(--wood-deep);border-radius:var(--r-lg);background-color:var(--cream);box-shadow:var(--shadow-float);color:var(--ink);font-size:var(--fs-sm);-webkit-user-select:text;user-select:text;flex-direction:column;line-height:1.4;display:flex;position:fixed}.tutorial-balloon-docked{top:calc(var(--hud-top,80px) + env(safe-area-inset-top,0px) + 8px);left:50%;transform:translate(-50%)}.tutorial-balloon-above:after,.tutorial-balloon-below:after{content:"";left:var(--tutorial-arrow,50%);border:3px solid var(--wood-deep);background-color:var(--cream);width:14px;height:14px;margin-left:-7px;position:absolute;transform:rotate(45deg)}.tutorial-balloon-above:after{border-top-color:#0000;border-left-color:#0000;bottom:-10px}.tutorial-balloon-below:after{border-bottom-color:#0000;border-right-color:#0000;top:-10px}.tutorial-balloon-text{flex-direction:column;gap:2px;display:flex}.tutorial-balloon-text p{margin:0}.tutorial-count{font:var(--type-label);color:var(--ink-soft)}.tutorial-title{font:var(--type-card-title)}.tutorial-actions{justify-content:space-between;align-items:center;gap:var(--sp-2);display:flex}.launch-root{--wood:#a8683a;--wood-light:#c98a4b;--wood-dark:#7a4a22;--ink:#4a2c17;--cream:#fff6e3;--cream-dark:#f1d9ae;--gold:#ffc93c;--orange:#f5a524;--green:#6cc04a;--green-dark:#3f8a2a;--red:#e2533b;--red-dark:#7d2417;color:var(--ink);font:var(--type-body);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}.launch-btn{border:2px solid var(--wood-dark);background:linear-gradient(#fffaf0, var(--cream-dark));min-height:36px;box-shadow:inset 0 1px 0 #fff, 0 3px 0 var(--wood-dark);color:var(--ink);font:var(--type-button);font-size:var(--fs-sm);cursor:pointer;border-radius:12px;flex:none;justify-content:center;align-items:center;gap:6px;padding:6px 14px;display:inline-flex}.launch-btn:active{box-shadow:inset 0 1px 0 #fff, 0 1px 0 var(--wood-dark);transform:translateY(2px)}.launch-btn-primary{border-color:var(--green-dark);background:linear-gradient(#a6e37a, var(--green));box-shadow:inset 0 1px 0 #fff9, 0 3px 0 var(--green-dark)}.launch-btn-primary:active{box-shadow:inset 0 1px 0 #fff9, 0 1px 0 var(--green-dark)}.launch-btn-danger{border-color:var(--red-dark);box-shadow:inset 0 1px 0 #ffffff80, 0 3px 0 var(--red-dark);color:#fff;background:linear-gradient(#f0705a,#cf3f28)}.launch-btn-danger:active{box-shadow:inset 0 1px 0 #ffffff80, 0 1px 0 var(--red-dark)}.launch-notices{left:50%;top:calc(var(--hud-top,80px) + env(safe-area-inset-top,0px) + 8px);z-index:200;pointer-events:none;flex-direction:column;gap:8px;width:min(520px,100vw - 16px);display:flex;position:fixed;transform:translate(-50%)}.launch-notice{border:3px solid var(--wood-dark);background-color:var(--cream);font:var(--type-body-sm);font-weight:var(--fw-bold);pointer-events:auto;border-radius:16px;align-items:center;gap:10px;padding:10px 12px;display:flex;box-shadow:0 4px #5c3518,0 10px 22px #3b241673}.launch-notice-warn{border-color:var(--orange);background-color:#fff1cf}.launch-notice-text{flex:1;min-width:0}.launch-notice-close{border:2px solid var(--wood-dark);background:var(--cream-dark);width:28px;height:28px;color:var(--ink);cursor:pointer;border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;font-size:12px;display:inline-flex}@media (width<=480px){.launch-notice{flex-wrap:wrap}.launch-notice-text{flex-basis:calc(100% - 40px);order:-1}.launch-notice-close{order:-1}}.crash{z-index:1100;background:radial-gradient(circle at 50% 35%,#c98a4b,#a8683a 55%,#7a4a22);justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0;overflow-y:auto}.crash-card{border:4px solid var(--wood-dark);background-color:var(--cream);width:min(460px,100%);box-shadow:inset 0 0 0 3px var(--wood-light), 0 6px 0 #5c3518, 0 14px 30px #3b24168c;font:var(--type-body);border-radius:20px;padding:18px 20px}.crash-card p{margin:0 0 12px}.crash-title{font:var(--type-window-title);font-size:var(--fs-xl);margin:0 0 10px}.crash-actions{flex-wrap:wrap;gap:10px;margin-bottom:12px;display:flex}.crash-note{font-weight:var(--fw-bold)}.crash-detail{font:var(--type-note);opacity:.85}.crash-detail summary{cursor:pointer}.crash-detail pre{background-color:var(--cream-dark);max-height:140px;font-family:var(--font-mono);font-size:var(--fs-xs);white-space:pre-wrap;word-break:break-word;-webkit-user-select:text;user-select:text;border-radius:8px;margin:8px 0;padding:8px;overflow:auto}.entry{-webkit-user-select:text;user-select:text}.entry :focus-visible{outline:3px solid var(--focus);outline-offset:2px}.entry-card{gap:var(--sp-3);width:min(400px,100%)}.entry-card-wide{width:min(460px,100%)}.entry-card .boot-logo{width:min(320px,78%,34vh)}.entry-body{align-items:center;gap:var(--sp-3);flex-direction:column;width:100%;display:flex}.entry-panel{gap:var(--sp-3);width:100%;padding:var(--sp-4);border:4px solid var(--wood-dark);background:linear-gradient(var(--paper), var(--cream));box-shadow:inset 0 0 0 3px var(--wood-light), 0 6px 0 var(--wood-deep), 0 16px 28px #4a2c1747;color:var(--ink);font-family:var(--font-body);font-size:var(--fs-md);text-align:left;border-radius:22px;flex-direction:column;line-height:1.4;display:flex}.entry-heading{justify-content:center;align-items:center;gap:var(--sp-2);font:var(--type-window-title);font-size:var(--fs-xl);text-align:center;margin:0;line-height:1.15;display:flex}.entry-lead{color:var(--ink-soft);font-weight:var(--fw-strong);text-align:center;margin:0}.entry-panel:has(.signin .account-form)>.entry-lead{display:none}.entry-actions{justify-content:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.entry-actions>.btn{flex:auto}.entry-actions-stack{flex-direction:column;align-items:stretch}.entry-panel .account-hint{text-align:center}.entry-account{overflow-wrap:anywhere}.entry-legal{max-width:100%;padding:6px var(--sp-3);border-radius:var(--r-md);color:var(--ink);font-family:var(--font-body);font-size:var(--fs-xs);background-color:#fff6e3f0;margin:0;line-height:1.45}.entry-link{color:#8a3b12;font-weight:var(--fw-heavy);text-underline-offset:2px;border-radius:4px;text-decoration:underline}.entry-link:hover{color:var(--red-dark)}.entry-bar-fill{width:35%;animation:1.6s linear infinite boot-stripes,1.4s ease-in-out infinite alternate entry-slide}@keyframes entry-slide{0%{margin-left:0}to{margin-left:65%}}:root.reduce-motion .entry-bar-fill{width:100%;animation:none}@media (prefers-reduced-motion:reduce){.entry-bar-fill{width:100%;animation:none}}.signin,.signin-menu{gap:var(--sp-2);flex-direction:column;display:flex}.signin-google{border-radius:var(--r-lg);min-height:54px;font-family:var(--font-display);border-width:3px}.signin-google .icon{width:1.5em;height:1.5em}.signin-or{align-items:center;gap:var(--sp-2);color:var(--ink-soft);font-size:var(--fs-sm);font-weight:var(--fw-heavy);margin:2px 0;display:flex}.signin-or:before,.signin-or:after{content:"";background-color:var(--line);border-radius:2px;flex:1;height:2px}.signin-test{opacity:.75}.signin .account-form{gap:var(--sp-3);background:0 0;border:0;padding:0}.signin .account-input-code{align-self:center;max-width:240px}.signin .account-field{text-align:center}.signin .account-field:has(input[type=email]){text-align:left}.signin-email{overflow-wrap:anywhere;color:var(--ink-soft)}.signin-code-actions{flex-wrap:nowrap;justify-content:space-between}.signin-code-actions>.btn{min-width:0;padding:0 var(--sp-2);white-space:normal;flex:0 auto}.signin .account-msg-error{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}@media (orientation:landscape) and (height<=520px){.entry-card,.entry-card-wide{align-items:center;gap:var(--sp-5);flex-direction:row;width:min(780px,100%)}.entry-card .boot-brand{flex:0 38%}.entry-card .boot-logo{width:min(300px,100%,76vh)}.entry-body{flex:1 1 0;min-width:0}.entry-panel{gap:var(--sp-2);padding:var(--sp-3)}.signin-google{min-height:46px}}.net-notice{left:50%;top:calc(64px + env(safe-area-inset-top,0px));z-index:250;border:2px solid var(--orange);max-width:calc(100% - 32px);font-size:var(--fs-sm);font-weight:var(--fw-bold);pointer-events:none;background-color:#fff1cf;border-radius:999px;align-items:center;gap:6px;padding:4px 12px;line-height:1.3;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 2px #3b241659}.settings-backdrop{z-index:300;background-color:#3b24168c;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.settings{border:4px solid var(--wood-dark);background-color:var(--cream);width:min(520px,100%);max-height:100%;box-shadow:inset 0 0 0 3px var(--wood-light), 0 6px 0 #5c3518, 0 14px 30px #3b24168c;border-radius:20px;flex-direction:column;display:flex;overflow:hidden}.settings-header{border-bottom:3px solid var(--wood-dark);color:var(--cream);background:linear-gradient(#c98a4b,#a8683a);justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;display:flex}.settings-header h2{font:var(--type-window-title);text-shadow:0 2px 0 var(--wood-dark);margin:0}.settings-close{border:2px solid var(--red-dark);width:30px;height:30px;box-shadow:inset 0 1px 0 #ffffff80, 0 2px 0 var(--red-dark);color:#fff;cursor:pointer;background:linear-gradient(#f0705a,#cf3f28);border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;font-size:13px;display:inline-flex}.settings-close:active{box-shadow:inset 0 1px 0 #ffffff80, 0 1px 0 var(--red-dark);transform:translateY(1px)}.settings-body{overscroll-behavior:contain;flex-direction:column;gap:12px;padding:12px 14px 14px;display:flex;overflow-y:auto}.settings-section{flex-direction:column;gap:8px;display:flex}.settings-section h3{color:var(--wood-dark);font:var(--type-card-title);margin:0}.settings-row{border:2px solid var(--wood);background-color:#fffaf0;border-radius:14px;align-items:center;gap:10px;padding:8px 10px;display:flex}.settings-row-icon{flex:none;font-size:22px}.settings-row-text{min-width:0;font:var(--type-body-sm);flex-direction:column;flex:1;display:flex}.settings-row-text strong{font:var(--type-card-title)}.settings-row-actions{flex:none}.settings-about{font:var(--type-body-sm);grid-template-columns:auto 1fr;gap:4px 12px;margin:0;display:grid}.settings-about dt{font:var(--type-label);line-height:1.35}.settings-about dd{margin:0}.settings-about-warn{color:#b3311c;font-weight:var(--fw-bold)}@media (width<=480px){.settings-backdrop{padding:8px}.settings-row{flex-wrap:wrap}.settings-row-text{flex-basis:calc(100% - 40px)}.settings-row-actions{margin-left:auto}.settings-row:has(.settings-switch){flex-wrap:nowrap}.settings-row:has(.settings-switch)>.settings-row-text{flex-basis:0}}@media (height<=420px){.settings-backdrop{padding:6px}.settings-header{padding:5px 12px}.settings-body{gap:8px;padding:8px 12px 10px}}.settings-volume{gap:8px}.settings-mute{border:2px solid var(--wood-dark);background:linear-gradient(#fffaf0, var(--cream-dark));width:36px;height:36px;box-shadow:inset 0 1px 0 #fff, 0 2px 0 var(--wood-dark);color:var(--ink);cursor:pointer;border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;font-size:18px;display:inline-flex}.settings-mute.is-off{opacity:.6}.settings-mute:active{box-shadow:inset 0 1px 0 #fff, 0 1px 0 var(--wood-dark);transform:translateY(1px)}.settings-volume-label{width:8.5em;font:var(--type-card-title);flex:none}.settings-volume-value{width:3.2em;font:var(--type-number);font-variant-numeric:tabular-nums;text-align:right;flex:none}.settings-range{cursor:pointer;appearance:none;background:0 0;flex:1;min-width:80px;height:28px;margin:0}.settings-range:focus-visible{outline:2px solid var(--wood-dark);outline-offset:2px;border-radius:8px}.settings-range::-webkit-slider-runnable-track{border:2px solid var(--wood-dark);background:linear-gradient(90deg, var(--orange) var(--fill,0%), #f8e7c4 var(--fill,0%));border-radius:8px;height:12px}.settings-range::-moz-range-track{border:2px solid var(--wood-dark);background:linear-gradient(90deg, var(--orange) var(--fill,0%), #f8e7c4 var(--fill,0%));border-radius:8px;height:8px}.settings-range::-webkit-slider-thumb{border:2px solid var(--wood-dark);background:linear-gradient(#fffaf0, var(--cream-dark));width:22px;height:22px;box-shadow:0 2px 0 var(--wood-dark);appearance:none;border-radius:50%;margin-top:-7px}.settings-range::-moz-range-thumb{border:2px solid var(--wood-dark);background:linear-gradient(#fffaf0, var(--cream-dark));width:18px;height:18px;box-shadow:0 2px 0 var(--wood-dark);border-radius:50%}.settings-switch{border:2px solid var(--wood-dark);cursor:pointer;appearance:none;background-color:#e9d3ab;border-radius:999px;width:48px;height:28px;margin:0;transition:background-color .15s;position:relative}.settings-switch:after{content:"";width:20px;height:20px;box-shadow:0 1px 0 var(--wood-dark);background-color:#fff;border-radius:50%;transition:transform .15s;position:absolute;top:2px;left:2px}.settings-switch:checked{background-color:var(--green);border-color:var(--green-dark)}.settings-switch:checked:after{transform:translate(20px)}.settings-switch:focus-visible{outline:2px solid var(--wood-dark);outline-offset:2px}label.settings-row-text{cursor:pointer}@media (width<=480px){.settings-row.settings-volume{flex-wrap:nowrap}.settings-volume-label{width:4.6em;font-size:var(--fs-sm)}}.settings-select{border:2px solid var(--wood-dark);min-height:36px;color:inherit;font:var(--type-label);cursor:pointer;background-color:#fffaf0;border-radius:12px;padding:4px 10px}.settings-select:focus-visible{outline:2px solid var(--wood-dark);outline-offset:2px}
