*{box-sizing:border-box}html,body,#root{overscroll-behavior:none;background-color:#2d2d2d;width:100%;height:100%;margin:0;padding:0;font-family: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:ui-rounded, "SF Pro Rounded", "Hiragino Maru Gothic ProN", "Arial Rounded MT Bold", "Nunito", "Varela Round", "Quicksand", "Trebuchet MS", system-ui, sans-serif;--font-body:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--fs-xs:11px;--fs-sm:13px;--fs-md:15px;--fs-lg:18px;--fs-xl:22px;--fs-2xl:30px;--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}.app button{font-family:var(--font-display);-webkit-tap-highlight-color:transparent}.app kbd{border:1px solid var(--line);color:var(--ink-soft);font-family:var(--font-body);font-size:var(--fs-xs);background-color:#fff9;border-radius:5px;padding:1px 6px;font-weight:700}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.num{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-weight:800}.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-size:var(--fs-md);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;font-weight:800;line-height:1.1;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}.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;font-weight:800;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-size:var(--fs-sm);white-space:nowrap;transition:background-color var(--dur), border-color var(--dur), transform var(--dur-fast);justify-content:center;align-items:center;gap:4px;font-weight:800;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-family:var(--font-display);font-size:var(--fs-sm);font-variant-numeric:tabular-nums;white-space:nowrap;flex:none;align-items:center;gap:3px;padding:2px 9px;font-weight:800;line-height:1.3;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)}.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-family:var(--font-display);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;font-size:10px;font-weight:800;line-height:1;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-size:var(--fs-sm);border-radius:14px;align-items:center;gap:10px;line-height:1.3;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);font-family:inherit}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-family:var(--font-display);font-size:var(--fs-md);font-weight:800;line-height:1.2}.card-text{font-size:var(--fs-sm);color:var(--ink-soft)}.note{font-size:var(--fs-sm);color:var(--ink-soft);margin:0;line-height:1.35}.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-size:var(--fs-sm);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;font-weight:800;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}.tabs-stacked .tab{min-width:76px;min-height:56px;padding:5px var(--sp-2);flex-direction:column;gap:2px;font-size:12px}.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;text-align:center;padding:0 5px;font-size:12px;font-weight:800;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-family:var(--font-body);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;font-size:12px;font-weight:600;line-height:1.35;position:absolute;top:calc(100% + 9px);left:50%;transform:translate(-50%,-4px);box-shadow:0 4px 12px #28160a66}.tip-bubble strong{font-family:var(--font-display);font-size:var(--fs-sm);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-family:var(--font-body);font-size:var(--fs-sm);animation:popover-in var(--dur) var(--ease-out) both;flex-direction:column;font-weight:400;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-family:var(--font-display);font-size:var(--fs-md);margin:0;font-weight:800;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-family:var(--font-display);font-size:var(--fs-lg);text-shadow:0 2px 0 var(--wood-dark);margin:0 auto 0 0;font-weight:800;line-height:1.15;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;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:15px;font-weight:800;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;flex:auto;font-size:14px;line-height:1.35;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:17px}.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-family:var(--font-body);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}.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-3);display:flex}.hud-system{flex:none}.hud-avatar,.hud-level,.hud-res,.hud-boost,.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);text-shadow:0 0 2px #fff6c9,0 0 2px #fff6c9;justify-content:center;align-items:center;padding-top:3px;font-size:13px;line-height:1;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);white-space:nowrap;cursor:default;align-items:center;margin-left:18px;padding:0 14px 0 28px;font-size:17px;line-height:1}.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-value.is-bump{animation:hud-bump .36s var(--ease-out) both}.hud-delta{color:#c8f5a4;font-family:var(--font-display);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;font-weight:800;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;white-space:nowrap;background:0 0;border:0;flex-direction:column;align-items:center;padding:0;font-size:11.5px;font-weight:800;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-size:var(--fs-sm);animation:banner-in .18s var(--ease-out) both;border-radius:24px;flex-wrap:wrap;padding:6px 8px 7px 14px;display:flex}.mode-banner-sell{border-color:var(--red-dark);box-shadow:inset 0 2px 0 #ffffffe6, 0 3px 0 var(--red-dark), 0 8px 16px #28160a66;background:linear-gradient(#fff5f2,#f9d3ca)}.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-family:var(--font-display);font-size:14px}.mode-banner-text span{color:var(--ink-soft)}.mode-banner-actions{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}@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-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;font-size:10.5px}.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-avatar{width:52px;height:52px}.hud-xp .xp-bar{width:132px}.hud-resources{gap:10px}.hud-res{height:30px;margin-left:16px;padding:0 11px 0 24px;font-size:15px}.hud-res-icon{width:36px;height:36px;left:-17px}}@media (width<=380px){.toolbar-btn{letter-spacing:-.1px;font-size:10px}}@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:11px}.hud-xp{height:28px;padding-left:28px}.hud-xp .xp-bar{width:118px}.hud-resources{gap:10px}.hud-res{height:28px;margin-left:15px;padding:0 10px 0 22px;font-size:15px}.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;font-size:10.5px}.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}.hud-tip-line{margin-top:4px;display:block}.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-family:var(--font-display);text-transform:uppercase;letter-spacing:.4px;color:var(--ink-soft);margin-right:2px;font-size:12px;font-weight:800}.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}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-family:var(--font-display);flex:1;font-size:14px;font-weight:800;line-height:1.15}.shop-owned{flex-wrap:wrap;justify-content:center;gap:3px;font-weight:400;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:800;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-family:var(--font-display);font-size:var(--fs-lg);flex-wrap:wrap;margin:0;font-weight:800;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{color:#b8392a;font-weight:700}.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)}@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);margin:0;font-weight:800}.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;margin:0;font-weight:700}.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{top:calc(var(--hud-top) + env(safe-area-inset-top,0px) + 6px);left:calc(6px + env(safe-area-inset-left,0px));right:calc(6px + env(safe-area-inset-right,0px));width:auto;max-height:42%;padding:var(--sp-2) 10px;gap:6px}.build-section{gap:var(--sp-1);padding-top:6px}.build-actions,.build-inventory{flex-flow:wrap}.build-actions>.btn,.build-inventory>.btn{flex:auto;width:auto}}@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)}}.price-grain{color:#ffe9d2}button.hud-res{font-family:var(--font-display);cursor:pointer;transition:transform var(--dur-fast), filter var(--dur);gap:6px;font-weight:800;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{align-items:center;gap:var(--sp-2);display:flex}.hud-boost{align-items:center;gap:var(--sp-1);border:2px solid var(--wood-dark);border-radius:var(--r-pill);background:var(--gloss), linear-gradient(var(--blue-soft), #c9e3f5);height:28px;box-shadow:var(--shadow-float);color:var(--ink);font-family:var(--font-display);font-size:var(--fs-sm);white-space:nowrap;cursor:pointer;pointer-events:auto;padding:0 10px 0 6px;font-weight:800;display:inline-flex}.hud-boost-rush{background:var(--gloss), linear-gradient(#fff3c4, var(--orange-light))}.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);flex-wrap:wrap;margin:0;font-weight:700;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:700;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);color:var(--ink-soft);font-weight:700}.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-family:var(--font-display);font-size:var(--fs-xs);color:var(--ink-soft)}.grain-ledger .num{text-align:right;white-space:nowrap}.grain-credit{color:var(--green-deep);font-weight:800}.grain-debit{color:#b8392a;font-weight:800}.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}.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);text-align:center;background-color:#3b2416d9;font-weight:700}.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:700;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)}.hud-boost{height:26px;font-size:var(--fs-xs);padding:0 8px 0 5px}.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)}}.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-size:var(--fs-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);font-weight:700}.cafe-address-code{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:var(--fs-xl);letter-spacing:.16em;color:var(--ink);-webkit-user-select:all;user-select:all;font-weight:800}.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);flex:none;padding:2px 10px;font-weight:800}.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-family:var(--font-display);font-size:var(--fs-md);margin:0 0 6px;display:flex}.social-count{font-size:var(--fs-sm);color:var(--ink-soft);font-weight:700}.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);color:var(--ink-soft);flex-direction:column;flex:180px;gap:4px;font-weight:700;display:flex}.social-input{border:2px solid var(--line);border-radius:var(--r-md);color:var(--ink);font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:var(--fs-lg);letter-spacing:.14em;background-color:#fff;padding:8px 10px;font-weight:800}.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);margin-top:3px;padding:2px 8px;font-weight:600}.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-family:var(--font-display);font-size:var(--fs-md);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-family:var(--font-display);text-transform:uppercase;letter-spacing:.4px;color:var(--wood-dark);font-size:12px;font-weight:800}.chef-name-input{width:100%;min-height:var(--tap);border:2px solid var(--wood-dark);background-color:var(--paper);color:var(--ink);font-family:var(--font-display);-webkit-user-select:text;user-select:text;border-radius:10px;padding:0 10px;font-size:16px;font-weight:800}.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}}.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:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:var(--fs-md);letter-spacing:.12em;-webkit-user-select:all;user-select:all;font-weight:800;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);flex-direction:column;font-weight:800;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;background-color:#fff;font-size:16px;font-weight:700}.account-input:focus-visible{border-color:var(--focus);outline:2px solid var(--focus);outline-offset:1px}.account-input-code{max-width:220px;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;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);margin:0;font-weight:700;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}.account-choices{gap:var(--sp-3);grid-template-columns:1fr 1fr;display:grid}.account-choice{gap:var(--sp-2);padding:var(--sp-3);border:2px solid var(--line);background-color:var(--paper);border-radius:14px;flex-direction:column;display:flex}.account-choice h3{font-family:var(--font-display);font-size:var(--fs-lg);margin:0;font-weight:800}.account-choice dl{gap:2px var(--sp-3);font-size:var(--fs-sm);grid-template-columns:auto 1fr;margin:0;display:grid}.account-choice dt{color:var(--ink-soft);font-weight:700}.account-choice dd{text-align:right;margin:0;font-weight:800}.account-choice .btn{white-space:normal;margin-top:auto}@media (width<=480px){.account-choices{grid-template-columns:1fr}.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:250px}.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-family:var(--font-display);font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.06em;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);flex-direction:row;font-size:24px}.levelup-star{width:48px;height:48px;font-size:24px}.levelup-heading{margin-top:2px}}.recipe-book{flex-direction:column;display:flex;overflow:hidden}.recipe-hint{padding:var(--sp-2) 14px 0;flex:none}.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{color:var(--ink-soft);flex-wrap:wrap;gap:2px 10px;font-size:12px;font-weight:700;display:flex}.recipe-card-stats>span{white-space:nowrap}@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}}.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}.retention-count{margin-bottom:var(--sp-3);font-family:var(--font-display);font-size:var(--fs-md);flex-direction:column;gap:6px;display:flex}.mission-info{gap:var(--sp-1);flex-direction:column;flex:1;min-width:0;display:flex}.mission-claim{flex:none}.mission-done{font-family:var(--font-display);font-size:var(--fs-sm);color:var(--green-dark);white-space:nowrap;flex:none;font-weight:800}.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}.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-family:var(--font-display);font-size:var(--fs-md);font-weight:800;display:flex}.receipt-empty{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:14px}@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}}.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);-webkit-tap-highlight-color:transparent;font-family:ui-rounded,SF Pro Rounded,Arial Rounded MT Bold,Varela Round,Nunito,Trebuchet MS,system-ui,sans-serif}.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:inherit;cursor:pointer;border-radius:12px;flex:none;justify-content:center;align-items:center;gap:6px;padding:6px 14px;font-size:14px;font-weight:800;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);pointer-events:auto;border-radius:16px;align-items:center;gap:10px;padding:10px 12px;font-size:14px;line-height:1.35;display:flex;box-shadow:0 4px #5c3518,0 10px 22px #3b241673}.launch-notice-update{border-color:var(--green-dark)}.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;font-size:13px}.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;border-radius:20px;padding:18px 20px;font-size:15px;line-height:1.45}.crash-card p{margin:0 0 12px}.crash-title{margin:0 0 10px;font-size:24px;font-weight:800}.crash-actions{flex-wrap:wrap;gap:10px;margin-bottom:12px;display:flex}.crash-note{font-weight:700}.crash-detail{opacity:.85;font-size:12px}.crash-detail summary{cursor:pointer}.crash-detail pre{background-color:var(--cream-dark);white-space:pre-wrap;word-break:break-word;-webkit-user-select:text;user-select:text;border-radius:8px;max-height:140px;margin:8px 0;padding:8px;font-size:11px;overflow:auto}.entry{-webkit-user-select:text;user-select:text;overflow-y:auto}.entry-card{width:min(380px,100%);margin:auto 0}.entry-card-wide{width:min(460px,100%)}.entry-lead{margin:0;font-size:15px;line-height:1.45}.entry-panel{gap:var(--sp-3);width:100%;padding:var(--sp-3);border:4px solid var(--wood-dark);background-color:var(--cream);box-shadow:inset 0 0 0 3px var(--wood-light), 0 6px 0 var(--wood-deep);color:var(--ink);text-align:left;border-radius:20px;flex-direction:column;display:flex}.entry-text{font-size:var(--fs-md);line-height:1.4}.entry-text p{margin:0}.entry-heading{align-items:center;gap:var(--sp-2);font-family:var(--font-display);font-size:var(--fs-lg);margin:0;font-weight:800;display:flex}.entry-summary{padding:var(--sp-2) var(--sp-3)}.entry-notice{width:100%;color:var(--ink);text-align:left}.entry-actions{justify-content:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.entry-legal{opacity:.9;margin:0;font-size:12px;line-height:1.4}.entry-link{text-decoration:underline}.entry-bar-fill{width:35%;animation: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}.signin,.signin-menu{gap:var(--sp-2);flex-direction:column;display:flex}.signin .account-msg-error{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.net-notice{left:50%;top:calc(64px + env(safe-area-inset-top,0px));z-index:250;border:2px solid var(--orange);pointer-events:none;background-color:#fff1cf;border-radius:999px;align-items:center;gap:6px;max-width:calc(100% - 32px);padding:4px 12px;font-size:13px;font-weight:700;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{text-shadow:0 2px 0 var(--wood-dark);margin:0;font-size:19px;font-weight:800}.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);letter-spacing:.02em;text-transform:uppercase;margin:0;font-size:12px;font-weight:800}.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{flex-direction:column;flex:1;min-width:0;font-size:13px;line-height:1.35;display:flex}.settings-row-text strong{font-size:15px}.settings-row-actions{flex:none}.settings-about{grid-template-columns:auto 1fr;gap:4px 12px;margin:0;font-size:13px;line-height:1.35;display:grid}.settings-about dt{font-weight:800}.settings-about dd{margin:0}.settings-about-warn{color:#b3311c;font-weight:700}@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}}@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{flex:none;width:8.5em;font-size:15px;font-weight:800}.settings-volume-value{text-align:right;flex:none;width:3.2em;font-size:13px;font-weight:800}.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:13px}}
