:root{--bg:#0e1410;--panel:#141e18eb;--border:#ffffff1f;--text:#e9f0e8;--muted:#93a795;--accent:#7bbf5a;--accent-strong:#63a544;--warn:#e8b44a;--danger:#ff9d84;--wood-tile:512px;--board:url(/ui/wood.png) center / var(--wood-tile) repeat #3a2818;--board-edge:#00000080;--board-relief:inset 0 1px 0 #ffe8c21c, inset 0 -3px 7px #00000057;--recess:#0805036b;--recess-edge:#00000073;--recess-relief:inset 0 2px 4px #0000006b;--bar-face:#b29c78;--bar-face-edge:#2b1c0fd9;--bar-count:#2b1e12;--bar-count-text:#f3e6cc;--ui-zoom:1.25;--window-title:14px;--window-text:12px;--window-aside:11px}.hud,.card,.screen,.notice,.hint,.skill-toast,.corner-left,.dialogue{zoom:var(--ui-zoom)}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;overscroll-behavior:none;-webkit-tap-highlight-color:transparent;margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif}html:has(.stage){height:100%;overflow:hidden}html:has(.stage) body{height:100%;overflow:hidden}a{color:inherit}.stage,.button,.hud,.slot,.recipe{-webkit-user-select:none;user-select:none}.button{background:var(--accent);color:#08170a;cursor:pointer;border:0;border-radius:10px;justify-content:center;align-items:center;padding:13px 26px;font-size:16px;font-weight:700;text-decoration:none;display:inline-flex}.button:hover{background:var(--accent-strong)}.button.secondary{color:var(--text);border:1px solid var(--border);background:0 0}.button:disabled{opacity:.45;cursor:not-allowed}.input{border:1px solid var(--recess-edge);background:var(--recess);box-shadow:var(--recess-relief);color:var(--text);border-radius:10px;width:100%;padding:13px 16px;font-size:16px}.island-backdrop{z-index:0;position:fixed;inset:0;overflow:hidden}.island-backdrop canvas{width:100%;height:100%;display:block}.island-backdrop__scrim{background:radial-gradient(90% 70% at 24% 10%,#0e141099,#0e141000 62%),linear-gradient(#0e141094 0%,#0e141047 40%,#0e14108c 100%);position:absolute;inset:0}.landing{z-index:1;flex-direction:column;max-width:860px;min-height:100dvh;margin:0 auto;padding:24px 24px 40px;display:flex;position:relative}.landing-card{-webkit-backdrop-filter:blur(18px)saturate(1.2);backdrop-filter:blur(18px)saturate(1.2);background:#121a1580;border:1px solid #ffffff29;border-radius:18px;max-width:440px;margin:auto;padding:28px 30px 24px;box-shadow:0 14px 40px #00000052}.landing-card h1,.landing-card .rules li,.landing-card .footer,.landing-card .landing-signin{text-shadow:0 1px 10px #00000073}.landing h1{letter-spacing:-.03em;margin:0 0 14px;font-size:clamp(36px,7vw,56px);line-height:1.05}.landing .lede{color:var(--muted);max-width:58ch;margin:0 0 32px;font-size:19px;line-height:1.6}.landing h2{margin:48px 0 14px;font-size:22px}.landing-top{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.landing-discord{color:var(--muted);border:1px solid var(--border);background:var(--panel);border-radius:8px;align-items:center;gap:7px;padding:7px 13px;font-size:13px;text-decoration:none;transition:color .12s,border-color .12s,background .12s;display:inline-flex}.landing-discord:hover{color:var(--text);border-color:var(--accent);background:#7bbf5a29}.landing-discord-icon{flex:none;width:18px;height:18px}.landing-lang{gap:6px;display:flex}.landing-lang .chip{border-radius:8px;padding:7px 13px;font-size:13px}.landing-lang .chip.is-on{color:var(--text);border-color:var(--accent);background:#7bbf5a29}.landing-cta{flex-direction:column;align-items:flex-start;gap:14px;margin:0 0 8px;display:flex}.button-hero{border-radius:12px;padding:18px 40px;font-size:19px;transition:transform .12s,box-shadow .12s,background .12s;box-shadow:0 8px 26px #7bbf5a57}.button-hero:hover{transform:translateY(-1px);box-shadow:0 12px 30px #7bbf5a75}.landing-signin{color:var(--muted);text-underline-offset:3px;font-size:15px;text-decoration:underline}.landing-signin:hover{color:var(--text)}@media (prefers-reduced-motion:reduce){.button-hero{transition:none}.button-hero:hover{transform:none}}.rules{flex-direction:column;gap:9px;margin:22px 0 0;padding:0;list-style:none;display:flex}.rules li{color:var(--text);padding-left:22px;font-size:15px;line-height:1.45;position:relative}.rules li:before{content:"";background:var(--accent);border-radius:50%;width:7px;height:7px;position:absolute;top:8px;left:3px}.footer{border-top:1px solid var(--border);color:var(--muted);margin-top:22px;padding-top:16px;font-size:13px}.stage{flex-direction:column;height:100dvh;display:flex;position:fixed;top:0;left:0;right:0}.board-wrap{flex:1;min-height:0;position:relative}.board{touch-action:none;width:100%;height:100%;display:block}.hud{background:var(--board);border-bottom:1px solid var(--board-edge);align-items:center;gap:12px;padding:8px 12px;font-size:14px;display:flex;box-shadow:0 3px 10px #00000073}.hud .clock{font-variant-numeric:tabular-nums;font-weight:700}.hud .who{color:var(--muted)}.hud .spacer{margin-left:auto}.overlay{background:#080e0ad9;justify-content:center;align-items:center;padding:24px;display:flex;position:absolute;inset:0}.card{background:var(--board);border:1px solid var(--board-edge);box-shadow:var(--board-relief);text-align:center;border-radius:16px;width:min(430px,100%);padding:28px}.card h2{margin:0 0 8px;font-size:24px}.card p{color:var(--muted);margin:0 0 20px;line-height:1.55}.field{text-align:left;flex-direction:column;gap:12px;display:flex}.field label{color:var(--muted);font-size:13px}.card p.welcome-hint{color:var(--accent);margin:0 0 20px;font-weight:600}.card p.finale-feedback{color:var(--text);margin:0 0 20px}.card p.reconnect-hint{font-variant-numeric:tabular-nums;margin:-12px 0 20px;font-size:14px}.splash{z-index:900;background:var(--bg);opacity:1;justify-content:center;align-items:center;padding:24px;transition:opacity .8s;display:flex;position:fixed;inset:0}.splash.is-fading{opacity:0;pointer-events:none}@media (prefers-reduced-motion:reduce){.splash{transition:none}}.splash-inner{text-align:center;flex-direction:column;align-items:center;gap:6px;padding:24px;display:flex}.splash-logo{border-radius:22px;width:min(160px,40vw);height:auto;margin-bottom:20px;box-shadow:0 10px 30px #00000080}.splash-inner h2{margin:14px 0 0;font-size:22px}.splash-inner p{color:var(--muted);margin:0;line-height:1.55}.splash-spinner{border:3px solid #7bbf5a38;border-top-color:var(--accent);border-radius:50%;width:40px;height:40px;animation:.9s linear infinite splash-spin}@keyframes splash-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.splash-spinner{animation:none}}.linky{font:inherit;color:var(--muted);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;padding:0 2px;text-decoration:underline}.linky:hover{color:var(--text)}.hud .linky.secure-cta{color:#06210a;background:var(--accent);border-radius:999px;padding:3px 10px;font-weight:600;text-decoration:none}.hud .linky.secure-cta:hover{background:var(--accent-strong);color:#06210a}.hud .island-name{color:var(--text);font-weight:600;text-decoration:none}.hud .island-name:hover{text-decoration:underline}.online{display:inline-flex;position:relative}.online-toggle{color:var(--text);align-items:center;gap:6px;font-weight:600;text-decoration:none;display:inline-flex}.online-toggle:hover,.online-toggle.is-open{text-decoration:underline}.online-dot{background:var(--accent);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 3px #7bbf5a40}.online-menu{z-index:6;background:var(--board);border:1px solid var(--board-edge);width:min(300px,100vw - 24px);box-shadow:var(--board-relief), 0 8px 20px #0006;border-radius:12px;padding:8px;position:absolute;top:calc(100% + 8px);right:0}.online-empty{color:var(--muted);margin:0;padding:8px 8px 10px;font-size:13px}.online-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.online-row{border-radius:8px;align-items:center;gap:10px;padding:7px 8px;display:flex}.online-row:hover{background:#ffffff0f}.online-who{flex-direction:column;gap:1px;min-width:0;margin-right:auto;display:flex}.online-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.online-you{color:var(--muted);font-weight:400}.online-where{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.online-row .button.tiny{flex:none}.debug-heading{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:2px 4px 8px;font-size:12px;font-weight:600}.debug-row{cursor:pointer;border-radius:8px;align-items:flex-start;gap:10px;padding:7px 8px;display:flex}.debug-row:hover{background:#ffffff0f}.debug-row input{cursor:pointer;flex:none;margin:2px 0 0}.debug-label{flex-direction:column;gap:1px;min-width:0;display:flex}.debug-name{color:var(--text);font-weight:600}.debug-hint{color:var(--muted);font-size:12px}.debug-edit{flex-direction:column;gap:8px;padding:4px 8px 8px;display:flex}.debug-brushes{gap:6px;display:flex}.debug-brush{cursor:pointer;border:1px solid var(--board-edge);color:var(--muted);background:#ffffff0a;border-radius:8px;flex:1;padding:6px 4px;font-size:13px;font-weight:600}.debug-brush:hover{color:var(--text);background:#ffffff14}.debug-brush.is-active{color:#06210a;background:var(--accent-strong);border-color:var(--accent-strong)}.debug-export{align-self:flex-start}.volume-btn{align-items:center;padding:0 2px;line-height:0;text-decoration:none;display:inline-flex}.volume-btn:hover{color:var(--text)}.volume-icon{display:block}.volume-card{text-align:left;flex-direction:column;gap:18px;width:min(360px,100%);display:flex}.volume-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.volume-head h2{margin:0}.volume-master{flex-direction:column;gap:8px;display:flex}.volume-master-top{justify-content:space-between;align-items:baseline;display:flex}.volume-master-label{font-size:var(--window-text);color:var(--muted)}.volume-value{font-variant-numeric:tabular-nums;color:var(--text);font-weight:700}.volume-range{appearance:none;cursor:pointer;background:var(--recess);width:100%;height:6px;box-shadow:var(--recess-relief);border-radius:999px}.volume-range::-webkit-slider-thumb{appearance:none;background:var(--accent);border:1px solid var(--accent-strong);border-radius:50%;width:18px;height:18px;box-shadow:0 1px 3px #00000080}.volume-range::-moz-range-thumb{background:var(--accent);border:1px solid var(--accent-strong);border-radius:50%;width:18px;height:18px;box-shadow:0 1px 3px #00000080}.volume-channels{flex-direction:column;gap:6px;display:flex}.volume-channel{cursor:pointer;background:var(--recess);box-shadow:var(--recess-relief);border-radius:10px;align-items:center;gap:12px;padding:10px 12px;display:flex}.volume-channel-label{flex-direction:column;gap:2px;min-width:0;margin-right:auto;display:flex}.volume-channel-name{color:var(--text);font-weight:600}.volume-channel-hint{color:var(--muted);font-size:12px}.volume-channel.is-muted .volume-channel-name{color:var(--muted)}.volume-switch{appearance:none;cursor:pointer;border:1px solid var(--board-edge);background:#0006;border-radius:999px;flex:none;width:40px;height:22px;margin:0;transition:background .12s;position:relative}.volume-switch:after{content:"";background:var(--muted);border-radius:50%;width:16px;height:16px;transition:transform .12s,background .12s;position:absolute;top:2px;left:2px}.volume-switch:checked{background:var(--accent-strong);border-color:var(--accent-strong)}.volume-switch:checked:after{background:#06210a;transform:translate(18px)}@media (prefers-reduced-motion:reduce){.volume-switch,.volume-switch:after{transition:none}}.side-panel{z-index:5;background:var(--board);border:1px solid var(--board-edge);width:min(360px,100vw - 24px);box-shadow:var(--board-relief);zoom:var(--ui-zoom);border-radius:12px;flex-direction:column;gap:14px;padding:16px;display:flex;position:absolute;top:44px;right:12px}.side-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.side-panel .muted{color:var(--muted);margin:0;font-size:13px;line-height:1.5}.copy-field{text-align:left;flex-direction:column;gap:6px;display:flex}.copy-field label{color:var(--muted);font-size:12px}.copy-row{gap:6px;display:flex}.copy-row .input{flex:1;min-width:0}.input.mono{letter-spacing:.02em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.button.tiny{padding:6px 10px;font-size:12px}.auth-card{width:min(400px,100%)}.auth-lede{margin:0 0 20px}.auth-invite{background:var(--recess);border:1px solid var(--recess-edge);box-shadow:var(--recess-relief);text-align:left;border-radius:10px;margin:0 0 20px;padding:12px 14px;font-size:14px;line-height:1.5;color:var(--text)!important}.auth-invite strong{color:var(--accent)}.auth-tabs{background:var(--recess);border:1px solid var(--recess-edge);box-shadow:var(--recess-relief);border-radius:12px;gap:4px;margin:0 0 20px;padding:4px;display:flex}.auth-tab{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:9px;flex:1;padding:10px 12px;font-size:14px;font-weight:600;transition:color .12s,background .12s}.auth-tab:hover{color:var(--text)}.auth-tab.active{background:var(--accent);color:#08170a;box-shadow:0 1px 3px #0000004d}.auth-submit{margin-top:6px}.auth-link{align-self:center;margin-top:4px;font-size:13px}.auth-sent{margin:0}.claim-card{width:min(330px,100%);padding:20px;font-size:14px}.claim-card h2{margin:0 0 6px;font-size:18px}.claim-card .auth-lede{margin:0 0 14px;font-size:13px;line-height:1.5}.claim-card .field{gap:8px}.claim-card .field label{font-size:12px}.claim-card .input{border-radius:8px;padding:8px 11px;font-size:14px}.claim-card .auth-submit{padding:10px 20px;font-size:14px}.claim-card .auth-link,.claim-card .field-warn{font-size:12px}.claim-card .warn{margin:0 0 12px;font-size:13px}.card .warn{color:#e2b062;margin:0 0 16px}.field-warn{color:#e2b062;margin:-6px 0 0;font-size:13px}@keyframes window-in{0%{opacity:0;transform:translateY(10px)scale(.94)}to{opacity:1;transform:none}}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}.card,.backpack,.craft-window,.character-panel,.container-panel{animation:.19s cubic-bezier(.34,1.4,.64,1) both window-in}.store,.backpack,.craft-window,.character-panel,.container-panel,.map-card,.store-modal,.volume-card{font-size:var(--window-text)}.store-head strong,.backpack-head strong,.container-head strong,.map-head strong,.store-modal-name,.volume-card h2{font-size:var(--window-title)}.overlay{animation:.2s ease-out both backdrop-in}.backpack{transform-origin:50% 100%}.craft-window,.container-panel+.workbench .backpack{animation-delay:55ms}@media (prefers-reduced-motion:reduce){.card,.backpack,.craft-window,.container-panel,.map-card,.overlay{animation:none}}.screen{max-width:calc(96vw / var(--ui-zoom));flex-direction:column;align-items:center;gap:10px;display:flex;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.screen.is-open{max-height:calc(100% - 56px);top:28px;bottom:auto;overflow-y:auto;transform:translate(-50%)}.hotbar{gap:5px;display:flex}.slots{flex-wrap:wrap;flex:1;gap:6px;display:flex}.slot{border:1px solid var(--recess-edge);background:var(--recess);width:46px;height:46px;box-shadow:var(--recess-relief);color:var(--muted);border-radius:8px;flex-direction:column;justify-content:center;align-items:center;font-size:10px;display:flex;position:relative}.hotbar .slot{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#09100ba8;border-color:#ffffff38;box-shadow:0 2px 10px #00000059}.hotbar .slot .count{text-shadow:0 1px 2px #000c}.hotbar-tray{background:var(--board);border:2px solid var(--board-edge);box-shadow:var(--board-relief), 0 4px 14px #00000073;border-radius:10px;padding:5px}.hotbar-tray .hotbar{gap:3px}.hotbar-tray .slot,.hotbar-rail .slot{background:var(--bar-face);border:1px solid var(--bar-face-edge);-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:4px;box-shadow:inset 0 1px #fff4de4d,inset 0 -3px 5px #38221042}.hotbar-rail .slot{box-shadow:inset 0 1px #fff4de4d,inset 0 -3px 5px #38221042,0 2px 8px #00000073}.hotbar-tray .slot .count,.hotbar-rail .slot .count{border:1px solid var(--bar-face-edge);background:var(--bar-count);min-width:10px;color:var(--bar-count-text);text-align:center;text-shadow:none;border-radius:3px;padding:0 3px;font-size:10px;line-height:13px;bottom:2px;right:2px}.hotbar-tray .slot.is-selected,.hotbar-rail .slot.is-selected{transform:none;box-shadow:inset 0 0 0 1px #fff,0 0 0 1px #0009}.hotbar-rail .slot.is-selected{box-shadow:inset 0 0 0 1px #fff,0 0 0 1px #0009,0 2px 8px #00000073}.hotbar-tray .slot.is-clickable:hover,.hotbar-rail .slot.is-clickable:hover{border-color:var(--accent);background:#c1ac89}.slot .pip{border-radius:4px;width:18px;height:18px}.pip.is-art{background-color:#0000;background-position:50%;background-repeat:no-repeat;background-size:contain;border-radius:0}.slot .pip.is-art{width:26px;height:26px}.slot .count{color:var(--text);text-shadow:0 1px 2px #000000e6,0 0 3px #000000e6;font-size:11px;font-weight:700;position:absolute;bottom:1px;right:3px}.slot .name{text-overflow:ellipsis;white-space:nowrap;max-width:30px;margin-top:2px;font-size:9px;overflow:hidden}.slot .slot-tip{border:1px solid var(--border);color:var(--text);white-space:nowrap;z-index:12;opacity:0;visibility:hidden;background:#09100bf2;border-radius:6px;padding:3px 7px;font-size:11px;font-weight:600;line-height:1.2;transition:opacity 80ms,transform 80ms;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)translateY(2px);box-shadow:0 2px 10px #00000073}.slot:hover .slot-tip,.slot:focus-visible .slot-tip{opacity:1;visibility:visible;transform:translate(-50%)translateY(0)}.workbench{align-items:flex-start;gap:12px;display:flex}.backpack,.craft-window{background:var(--board);border:1px solid var(--board-edge);box-shadow:var(--board-relief);border-radius:14px;padding:12px 14px}.backpack-head{align-items:baseline;gap:12px;margin-bottom:10px;display:flex}.backpack-grid{grid-template-columns:repeat(9,46px);gap:5px;display:grid}.backpack .hotbar{margin-top:10px}.craft-window{flex:none;width:250px}.craft-detail{border-top:1px solid var(--border);flex-direction:column;gap:8px;margin-top:12px;padding-top:12px;display:flex}.craft-costs{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.craft-costs li{font-size:var(--window-text);color:var(--muted);align-items:center;gap:8px;display:flex}.craft-costs .pip{border-radius:3px;flex:none;width:14px;height:14px}.craft-costs .pip.is-art{width:18px;height:18px}.craft-cost-name{flex:1;min-width:0}.craft-costs li.is-short{color:var(--danger)}.craft-costs li.is-short .cost{color:var(--danger);font-weight:700}.craft-costs .cost{font-variant-numeric:tabular-nums}.craft-from-store{background:var(--pill);font-size:var(--window-aside);color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:9px;padding:1px 7px}.craft-detail .button{font-size:var(--window-text);padding:9px 16px}.craft-head{border-bottom:1px solid var(--divider);flex-wrap:wrap;align-items:center;gap:6px 12px;padding:8px 14px;display:flex}.craft-head strong{font-size:var(--window-title)}.craft-filters{flex-wrap:wrap;align-items:center;gap:2px;margin-left:auto;display:flex}.craft-chip{color:var(--muted);font:inherit;font-size:var(--window-text);cursor:pointer;background:0 0;border:0;border-radius:999px;align-items:center;gap:5px;padding:4px 9px;display:inline-flex}.craft-chip:hover:not(:disabled){background:var(--pill);color:var(--text)}.craft-chip.is-on{background:var(--pick);color:#d7efc4;font-weight:700}.craft-chip:disabled{opacity:.48;cursor:default}.craft-chip.is-ready{margin-left:8px;box-shadow:inset 0 0 0 1px #ffffff2e}.craft-chip.is-ready.is-on{box-shadow:inset 0 0 0 1px var(--accent)}.craft-body{background:var(--sheet);box-shadow:var(--sheet-relief);padding:8px 14px}.craft-catalogue{min-width:0;overflow-y:auto}.craft-shelf+.craft-shelf{margin-top:10px}.craft-shelf-head{z-index:1;background:var(--sheet);font-size:var(--window-aside);letter-spacing:.09em;text-transform:uppercase;color:var(--muted);align-items:center;gap:8px;margin:0 0 5px;padding:2px 0;font-weight:750;display:flex;position:sticky;top:0}.craft-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:0;padding:0;list-style:none;display:grid}.craft-grid li{min-width:0;display:flex}.recipe{appearance:none;cursor:pointer;font:inherit;text-align:left;border:1px solid var(--card-edge);background:var(--card);min-width:0;color:var(--text);border-radius:8px;flex:1;align-items:center;gap:10px;padding:5px 8px;display:flex}.recipe:hover{background:var(--card-hover)}.recipe.is-picked{background:var(--pick);border-color:var(--accent)}.recipe:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.recipe>.pip{border-radius:4px;flex:none;width:18px;height:18px}.recipe>.pip.is-art{width:26px;height:26px}.recipe-text{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.recipe-name{font-size:var(--window-text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.recipe-yield{font-style:normal;font-size:var(--window-aside);color:var(--muted);margin-left:5px}.recipe-cost{flex-wrap:wrap;gap:5px;display:flex}.recipe-chip{background:var(--pill);font-size:var(--window-aside);font-variant-numeric:tabular-nums;color:var(--muted);border-radius:9px;align-items:center;gap:3px;padding:1px 6px 1px 3px;display:inline-flex}.recipe-chip .pip{border-radius:3px;width:13px;height:13px}.recipe-chip .pip.is-art{width:16px;height:16px}.recipe-chip.is-short{color:var(--danger);background:var(--danger-wash);font-weight:700}.recipe-where{font-size:var(--window-aside);color:var(--muted)}.recipe.is-short{background:#1f241e;border-color:#ffffff0f}.recipe.is-short>.pip.is-art{filter:grayscale(.45);opacity:.85}.recipe.is-elsewhere{background:#1b201b;border-color:#ffffff0f}.recipe.is-elsewhere .recipe-name,.recipe.is-short .recipe-name{color:var(--muted)}.recipe.is-elsewhere>.pip.is-art{filter:grayscale(.8);opacity:.7}.recipe.is-elsewhere:hover,.recipe.is-short:hover{background:#272e25}.screen.is-craft .craft-detail{border-top:1px solid var(--divider);flex-flow:wrap;align-items:center;gap:6px 10px;margin:0;padding:8px 14px 10px}.screen.is-craft .craft-detail>.pip{border-radius:5px;flex:none;width:20px;height:20px}.screen.is-craft .craft-detail>.pip.is-art{width:26px;height:26px}.craft-detail-name{font-size:var(--window-title)}.screen.is-craft .craft-costs{flex-direction:row;align-items:center;gap:10px}.craft-detail-sub{font-size:var(--window-text);color:var(--muted)}.craft-batch{font-size:var(--window-text);color:var(--muted);font-variant-numeric:tabular-nums;align-self:center;margin-left:auto}.craft-note{font-size:var(--window-text);color:var(--muted);margin:0 0 0 auto}.screen.is-craft .craft-detail .button{margin-left:auto;padding:7px 18px}.screen.is-craft .craft-batch+.button{margin-left:0}.renovate-window .backpack-head .linky{margin-left:auto}.renovate-blurb{font-size:var(--window-text);color:var(--muted);margin:0;line-height:1.4}.slot{touch-action:none}.slot .pip,.slot .name,.slot .count,.slot .slot-tip{pointer-events:none}.slot.is-selected{border-color:#fff;transform:translateY(-3px);box-shadow:inset 0 0 0 1px #fff,0 0 0 1px #0000008c,0 2px 12px #00000073}.drag-ghost{z-index:10;transform:translate(-50%, -50%) scale(var(--ui-zoom));pointer-events:none;background:#09100bd9;border:1px solid #ffffff4d;border-radius:8px;justify-content:center;align-items:center;width:40px;height:40px;display:flex;position:fixed}.drag-ghost.is-touch{transform:translate(-50%, -50%) scale(calc(var(--ui-zoom) * 1.15))}.drag-ghost .pip{border-radius:4px;width:18px;height:18px}.drag-ghost .pip.is-art{width:30px;height:30px}.drag-ghost .count{color:var(--text);text-shadow:0 1px 2px #000c;font-size:11px;font-weight:700;position:absolute;bottom:1px;right:3px}.minimap{z-index:4;background:var(--board);border:1px solid var(--board-edge);width:174px;height:174px;box-shadow:var(--board-relief);cursor:pointer;border-radius:12px;padding:6px;position:absolute;bottom:15px;right:15px}.minimap:hover{border-color:var(--accent)}.minimap:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.minimap-key{pointer-events:none;opacity:.85;position:absolute;bottom:7px;right:9px}.map-canvas{width:100%;height:100%;image-rendering:pixelated;display:block}.selected-card{z-index:4;background:var(--board);border:1px solid var(--board-edge);width:174px;box-shadow:var(--board-relief);pointer-events:none;border-radius:12px;flex-direction:column;gap:6px;padding:8px 10px;display:flex;position:absolute;bottom:197px;right:15px}.selected-title{letter-spacing:.07em;text-transform:uppercase;color:var(--muted);font-size:10px;font-weight:700;line-height:1}.selected-body{align-items:center;gap:8px;min-width:0;display:flex}.selected-card .pip{border-radius:4px;flex:none;width:18px;height:18px}.selected-card .pip.is-art{border-radius:0;width:26px;height:26px}.selected-name{overflow-wrap:anywhere;flex:1;min-width:0;font-size:14px;font-weight:700;line-height:1.2}.selected-count{color:var(--muted);font-variant-numeric:tabular-nums;flex:none;font-size:12px}.selected-card.is-empty .pip{border:1px dashed var(--border);background:0 0}.selected-card.is-empty .selected-name{color:var(--muted);font-weight:600}.selected-wear{align-items:center;gap:8px;display:flex}.selected-wear .progress{flex:1;width:auto;height:6px}.selected-swings{text-align:right;font-variant-numeric:tabular-nums;min-width:3ch;color:var(--text);flex:none;font-size:12px;font-weight:700}.selected-wear:has(.is-low) .selected-swings{color:var(--warn)}.selected-wear:has(.is-critical) .selected-swings{color:var(--danger)}.map-overlay{z-index:6}.map-card{background:var(--board);border:1px solid var(--board-edge);box-shadow:var(--board-relief);border-radius:16px;flex-direction:column;gap:12px;padding:16px;animation:.19s cubic-bezier(.34,1.4,.64,1) both window-in;display:flex}.map-head{justify-content:space-between;align-items:baseline;gap:20px;display:flex}.map-frame{border:1px solid var(--recess-edge);width:min(62vh,62vw,620px);height:min(62vh,62vw,620px);box-shadow:var(--recess-relief);background:#080e0a99;border-radius:10px;overflow:hidden}.map-legend{font-size:var(--window-text);color:var(--muted);flex-wrap:wrap;gap:6px 14px;max-width:min(62vh,62vw,620px);margin:0;padding:0;list-style:none;display:flex}.map-legend li{align-items:center;gap:6px;display:flex}.map-swatch{border:1px solid #00000059;border-radius:3px;width:10px;height:10px}@media (max-width:640px){:root{--ui-zoom:1}.landing{padding:24px 16px 40px}.landing-card{border-radius:16px;padding:28px 22px 24px}.button-hero{padding:16px 28px}.hotbar{gap:4px;bottom:10px}.hotbar .slot{width:36px;height:36px}.hotbar .slot .pip{width:14px;height:14px}.notice,.hint{bottom:62px}.chat{width:min(360px,92vw);bottom:64px}.chat-log{max-height:34vh}.screen{gap:8px;bottom:10px}.backpack{padding:10px}.backpack-grid{grid-template-columns:repeat(9,36px);gap:4px}.backpack .slot{width:36px;height:36px}.backpack .slot .pip{width:14px;height:14px}.backpack .slot .name{display:none}.workbench{flex-direction:column;align-items:stretch;gap:8px}.craft-window,.character-panel{width:auto}.minimap{width:104px;height:104px;padding:4px;bottom:78px;right:10px}.minimap-key{font-size:11px;bottom:5px;right:6px}.selected-card{width:104px;padding:6px 8px;bottom:190px;right:10px}.selected-name{font-size:13px}.map-card{padding:12px}.map-frame,.map-legend{width:min(76vw,78vh);max-width:min(76vw,78vh)}.map-frame{height:min(76vw,78vh)}}.notice{color:#ffd9cf;pointer-events:none;background:#ff785a29;border:1px solid #ff785a80;border-radius:8px;padding:8px 16px;font-size:14px;font-weight:600;position:absolute;bottom:82px;left:50%;transform:translate(-50%)}.hint{color:var(--muted);pointer-events:none;background:#0a120ccc;border-radius:8px;padding:7px 14px;font-size:13px;position:absolute;bottom:82px;left:50%;transform:translate(-50%)}.dialogue{text-align:left;width:min(620px, calc(94vw / var(--ui-zoom)));background:var(--board);border:1px solid var(--board-edge);box-shadow:var(--board-relief);color:var(--text);cursor:pointer;border-radius:14px;flex-direction:column;gap:5px;padding:14px 18px 12px;font-family:inherit;font-size:15px;line-height:1.45;display:flex;position:absolute;bottom:88px;left:50%;transform:translate(-50%)}.dialogue-speaker{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-size:12px;font-weight:700}.dialogue-line{display:block}.dialogue-more{color:var(--muted);align-self:flex-end;margin-top:4px;font-size:12px}.slot.is-clickable{cursor:pointer}.slot.is-clickable:hover{border-color:var(--accent);background:#7bbf5a24}.slot.is-target{border-style:dashed}.container-panel{background:var(--board);border:1px solid var(--board-edge);box-shadow:var(--board-relief);max-width:min(720px, calc(96vw / var(--ui-zoom)));border-radius:14px;padding:12px 14px}.container-panel .backpack-grid{margin-top:2px}.container-head{align-items:baseline;gap:12px;margin-bottom:8px;display:flex}.container-hint{color:var(--muted);font-size:var(--window-text)}.container-body{align-items:flex-start;gap:16px;display:flex}.container-body h4{font-size:var(--window-aside);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 6px;font-weight:600}.container-body .slots{max-width:220px}.container-arrow{color:var(--muted);flex-direction:column;align-self:center;align-items:center;gap:6px;min-width:96px;font-size:11px;display:flex}.progress{background:var(--recess);width:90px;height:8px;box-shadow:var(--recess-relief);border-radius:4px;overflow:hidden}.progress-fill{background:var(--accent);height:100%;transition:width .12s linear}.progress-fill.is-low{background:var(--warn)}.progress-fill.is-critical{background:var(--danger)}.container-actions{justify-content:flex-end;gap:8px;margin-top:10px;display:flex}.container-actions .button{font-size:var(--window-text);padding:8px 16px}kbd{border:1px solid var(--border);font:inherit;background:#ffffff17;border-radius:5px;padding:1px 6px;font-size:.85em;font-weight:700;line-height:1.5;display:inline-block}button.slot{font:inherit;color:var(--muted);padding:0}.slot.is-clickable:focus-visible,.button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hint kbd{margin:0 1px}.corner-left{pointer-events:none;flex-direction:column;align-items:flex-start;gap:8px;max-width:min(260px,100vw - 24px);display:flex;position:absolute;top:12px;left:12px}.target-info{background:var(--board);border:1px solid var(--board-edge);box-shadow:var(--board-relief);pointer-events:none;border-radius:10px;min-width:120px;padding:10px 12px}.target-name{margin-bottom:6px;font-size:14px;font-weight:700}.story-task{background:var(--board);border:1px solid var(--board-edge);width:100%;box-shadow:var(--board-relief);pointer-events:none;border-radius:10px;padding:8px 12px 10px}.story-task-step{letter-spacing:.07em;text-transform:uppercase;color:var(--muted);font-size:10px;font-weight:700;line-height:1}.story-task-name{overflow-wrap:anywhere;margin-top:5px;font-size:14px;font-weight:600;line-height:1.25}.story-task-meter{align-items:center;gap:8px;margin-top:7px;display:flex}.story-task-meter .progress{flex:1;height:5px}.story-task-count{text-align:right;font-variant-numeric:tabular-nums;min-width:3ch;color:var(--muted);flex:none;font-size:12px;font-weight:700}.story-task.is-ready{border-color:#7bbf5abf}.story-task.is-ready .story-task-count{color:var(--accent)}.story-task-ready{color:var(--accent);margin-top:6px;font-size:12px;font-weight:600}.skill-toast{background:var(--board);border:1px solid var(--board-edge);box-shadow:var(--board-relief);white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;border-radius:999px;align-items:center;gap:10px;padding:5px 14px;transition:opacity .26s,transform .26s,visibility 0s linear .26s;display:flex;position:absolute;top:12px;left:50%;transform:translate(-50%,-12px)}.skill-toast.is-visible{opacity:1;visibility:visible;transition:opacity .22s,transform .26s cubic-bezier(.34,1.4,.64,1),visibility;transform:translate(-50%)}.skill-toast.is-level-up{border-color:#7bbf5abf}.skill-toast-name{font-size:13px;font-weight:600}.skill-toast-level{font-variant-numeric:tabular-nums;font-size:13px;font-weight:700}.skill-toast.is-level-up .skill-toast-level{color:var(--accent)}.skill-toast .progress{width:110px;height:5px}.character-panel{background:var(--board);border:1px solid var(--board-edge);box-shadow:var(--board-relief);border-radius:14px;flex:none;width:200px;padding:12px 14px}.character-section{font-size:var(--window-aside);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;font-weight:700}.character-skills{flex-direction:column;gap:10px;display:flex}.skill-head{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:4px;display:flex}.skill-name{font-size:var(--window-text);color:var(--muted)}.skill-level{font-size:var(--window-title);font-variant-numeric:tabular-nums;font-weight:700}.character-panel .progress{width:100%;height:5px}.skill-yield{font-size:var(--window-aside);color:var(--muted);font-variant-numeric:tabular-nums;margin-top:4px}.chat{z-index:4;width:min(360px, calc(94vw / var(--ui-zoom)));pointer-events:none;flex-direction:column;gap:6px;display:flex;position:absolute;bottom:12px;left:12px}.chat.is-open{pointer-events:auto}.chat-log{scrollbar-width:none;flex-direction:column;gap:2px;max-height:40vh;display:flex;overflow-y:auto}.chat-log::-webkit-scrollbar{display:none}.chat.is-open .chat-log{border:1px solid var(--board-edge);background:#0a120c8c;border-radius:10px;padding:8px 10px}.chat-line{color:#eef5ea;text-shadow:0 1px 2px #000000f2,0 0 3px #000000e6;overflow-wrap:anywhere;font-size:15px;line-height:1.45}.chat.is-open .chat-line{text-shadow:none}.chat-from{color:var(--accent);margin-right:6px;font-weight:700}.chat-input{box-sizing:border-box;border:1px solid var(--board-edge);background:var(--board);width:100%;color:var(--text);font:inherit;border-radius:8px;padding:7px 10px;font-size:16px}.chat-input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.chat-ghost{box-sizing:border-box;color:#eef5ea80;text-shadow:0 1px 2px #0009;white-space:nowrap;text-overflow:ellipsis;background:#0a120c24;border:1px solid #ffffff24;border-radius:8px;padding:7px 10px;font-size:16px;line-height:normal;overflow:hidden}.target-info .progress{width:100%}.target-sub{color:var(--muted);margin-top:6px;font-size:12px}.target-wait{color:var(--accent);font-variant-numeric:tabular-nums;margin-top:4px;display:block}.screen.is-store,.screen.is-craft{--sheet:#171c17;--sheet-relief:inset 0 2px 6px #00000073;--card:#252b24;--card-edge:#ffffff17;--card-hover:#2f362d;--pick:#7bbf5a2b;--divider:#ffffff1a;--pill:#ffffff14;--danger-wash:#ff9d8424;width:min(560px, calc(96vw / var(--ui-zoom)));gap:0}.store{background:var(--board);border:1px solid var(--board-edge);box-shadow:var(--board-relief);width:min(560px, calc(96vw / var(--ui-zoom)));border-radius:14px;padding:12px 14px;animation:.19s cubic-bezier(.34,1.4,.64,1) both window-in}.screen.is-store .store,.screen.is-craft .craft-window{width:100%;padding:0;animation:none;box-shadow:inset 0 1px #ffe8c21c,0 8px 24px #0000006b}.screen.is-store .store{border-bottom:0;border-radius:14px 14px 0 0}.screen.is-craft .craft-window{border-radius:14px;flex-direction:column;flex:auto;min-height:0;display:flex}.screen.is-craft .craft-head,.screen.is-craft .craft-detail{flex:none}.screen.is-craft .craft-body{flex-direction:column;flex:auto;min-height:0;display:flex}.screen.is-craft .craft-catalogue{flex:auto;min-height:92px}.screen.is-store .workbench{gap:0;width:100%}.screen.is-store .backpack{border-top:1px solid var(--divider);border-radius:0 0 14px 14px;width:100%;padding:10px 18px 14px;animation:none;box-shadow:0 12px 32px #0000006b}.screen.is-store .backpack-grid,.screen.is-store .backpack .hotbar{justify-content:center}.screen.is-store .backpack .hotbar .slot{background:var(--recess);border-color:var(--recess-edge);box-shadow:var(--recess-relief)}.screen.is-store .backpack .slot .count,.screen.is-store .backpack .slot .name{color:var(--text);text-shadow:none}.store .pip{border-radius:4px;flex:none;width:18px;height:18px}.store .pip.is-art{width:24px;height:24px}.store-head{align-items:baseline;gap:12px;margin-bottom:8px;display:flex}.screen.is-store .store-head{border-bottom:1px solid var(--divider);align-items:stretch;gap:12px;margin-bottom:0;padding:0 14px;display:flex}.screen.is-store .store-tabs{align-items:stretch;gap:16px;display:flex}.screen.is-store .store-head .tab{appearance:none;cursor:pointer;color:var(--muted);font:inherit;font-weight:600;font-size:var(--window-title);background:0 0;border:0;border-bottom:3px solid #0000;padding:13px 4px 10px}.screen.is-store .store-head .tab.is-on{color:var(--text);border-bottom-color:var(--accent)}.screen.is-store .store-head .tab:hover{color:var(--text)}.screen.is-store .store-head .tab:focus-visible,.store-category:focus-visible,.goods:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.store-room{color:var(--muted);font-size:var(--window-text);font-variant-numeric:tabular-nums;margin-left:auto}.screen.is-store .store-close{border:1px solid var(--card-edge);width:25px;height:25px;color:var(--text);font:inherit;cursor:pointer;background:0 0;border-radius:6px;align-self:center;margin-left:auto;font-size:18px;line-height:1}.screen.is-store .store-close:hover{background:var(--pill)}.screen.is-store .store-close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.screen.is-craft .craft-close{border:1px solid var(--card-edge);width:25px;height:25px;color:var(--text);font:inherit;cursor:pointer;background:0 0;border-radius:6px;flex:none;align-self:center;font-size:18px;line-height:1}.screen.is-craft .craft-close:hover{background:var(--pill)}.screen.is-craft .craft-close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.store-capacity{border-bottom:1px solid var(--divider);padding:11px 18px 10px}.store-capacity-head{font-variant-numeric:tabular-nums;justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px;display:flex}.store-capacity-head strong{font-size:var(--window-title);color:var(--text)}.store-capacity-label{font-size:var(--window-aside);letter-spacing:.09em;margin-right:8px;font-weight:750}.store-capacity-actions{color:var(--muted);font-size:var(--window-text);white-space:nowrap;align-items:center;gap:12px;display:flex}.store-capacity-actions .button.secondary{color:var(--text);border-color:var(--card-edge);background:0 0;border-radius:7px;padding:4px 10px}.store-capacity-actions .button.secondary:hover{background:var(--pill)}.store-gauge{background:var(--recess);height:6px;box-shadow:var(--recess-relief);border-radius:3px;display:flex;overflow:hidden}.store-gauge span{height:100%;transition:width .14s linear;display:block}.store-gauge .is-stored{background:var(--accent)}.store-gauge .is-listed{background:repeating-linear-gradient(-45deg, var(--accent) 0 3px, #7bbf5a59 3px 6px)}.store-offer-note{font-size:var(--window-aside);color:var(--muted);margin:5px 0 0}.store-shelf{--goods-row:40px;--goods-gap:6px;grid-template-columns:132px minmax(0,1fr);padding:11px 14px 14px;display:grid}.screen.is-store .store-shelf{background:var(--sheet);box-shadow:var(--sheet-relief)}.store-categories{border-right:1px solid var(--divider);padding-right:10px}.store-category{width:100%;color:var(--muted);font:inherit;font-size:var(--window-text);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:space-between;align-items:center;gap:8px;padding:5px 8px;display:flex}.store-category:hover:not(:disabled){background:var(--pill);color:var(--text)}.store-category.is-on{background:var(--pick);color:#d7efc4;font-weight:700}.store-category:disabled{opacity:.48;cursor:default}.store-category-count{text-align:center;background:var(--pill);font-variant-numeric:tabular-nums;border-radius:10px;min-width:20px;padding:1px 4px}.store-shelf-body{min-width:0;padding-left:11px}.store-list{flex-direction:column;gap:2px;max-height:232px;margin:0 0 10px;padding:0;list-style:none;display:flex;overflow-y:auto}.store-shelf .store-list{gap:var(--goods-gap);height:calc(var(--goods-row) * 4 + var(--goods-gap) * 3);grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;margin:0;display:grid;overflow-y:auto}.market-scroll{max-height:268px;overflow-y:auto}.market-scroll .store-list{max-height:none;overflow:visible}.store-list li{align-items:center;gap:8px;display:flex}.store-shelf .store-list li{min-width:0}.goods{appearance:none;cursor:pointer;color:var(--text);font:inherit;text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;flex:1;align-items:center;gap:10px;padding:5px 8px;display:flex}.goods:hover{background:#ffffff0d}.goods.is-picked{border-color:var(--accent);background:#7bbf5a24}.goods.is-static{cursor:default}.goods.is-static:hover{background:0 0}.store-shelf .goods{min-width:0;min-height:var(--goods-row);border-color:var(--card-edge);background:var(--card);padding:5px 8px}.store-shelf .goods:hover{background:var(--card-hover)}.store-shelf .goods.is-picked{background:var(--pick);border-color:var(--accent)}.store-shelf .goods .pip.is-art{width:26px;height:26px}.store-name{font-size:var(--window-text);flex:1}.store-aside{font-style:normal;font-size:var(--window-aside);color:var(--muted);display:block}.store-count{font-variant-numeric:tabular-nums;color:var(--muted);font-size:var(--window-text);text-align:right;min-width:68px}.store-shelf .store-count{color:var(--text);min-width:0;font-weight:700}.store-empty{color:var(--muted);font-size:var(--window-text);margin:0 0 10px}.market-soon{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:200px;padding:56px 24px;display:flex}.market-soon-title{color:var(--text);font-weight:800;font-size:var(--window-title);letter-spacing:.01em;margin:0}.market-soon-blurb{color:var(--muted);font-size:var(--window-text);max-width:320px;margin:0;line-height:1.5}.seeds-tab{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:200px;padding:48px 24px;display:flex}.seeds-blurb{color:var(--muted);font-size:var(--window-text);max-width:320px;margin:0;line-height:1.5}.seeds-take{align-items:center;gap:8px;display:inline-flex}.seeds-take:disabled{opacity:.55;cursor:default}.action-bar{background:var(--recess);box-shadow:var(--recess-relief);border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px;padding:8px 10px;display:flex}.action-name{font-size:var(--window-text);font-weight:600}.action-limit{font-style:normal;font-size:var(--window-aside);color:var(--muted);font-variant-numeric:tabular-nums}.amounts{align-items:center;gap:4px;display:flex}.amounts label{font-size:var(--window-aside);color:var(--muted);flex-direction:column;gap:2px;display:flex}.amounts .of{font-size:var(--window-aside);color:var(--muted);font-variant-numeric:tabular-nums}.chip{appearance:none;cursor:pointer;font:inherit;font-size:var(--window-aside);border:1px solid var(--board-edge);background:var(--board);color:var(--muted);border-radius:6px;padding:3px 7px}.chip:hover{color:var(--text);border-color:var(--accent)}.input.tiny{width:64px;font-size:var(--window-text);text-align:right;font-variant-numeric:tabular-nums;padding:4px 7px}.verbs{gap:6px;margin-left:auto;display:flex}.verbs .button{font-size:var(--window-text);padding:5px 12px}.store-modal-overlay{z-index:20}.store-modal{zoom:var(--ui-zoom);background:var(--board);border:1px solid var(--board-edge);box-shadow:var(--board-relief);border-radius:16px;flex-direction:column;gap:14px;width:min(340px,92vw);padding:18px 20px;animation:.19s cubic-bezier(.34,1.4,.64,1) both window-in;display:flex}.store-modal .pip{border-radius:5px;flex:none;width:20px;height:20px}.store-modal .pip.is-art{width:26px;height:26px}.store-modal-head{align-items:center;gap:10px;display:flex}.store-modal-name{flex:1;font-weight:600}.store-modal-info{color:var(--muted);font-size:var(--window-text);font-variant-numeric:tabular-nums;margin:-4px 0 0}.store-modal .amounts{flex-wrap:wrap}.store-modal .verbs{margin-left:0}.store-modal .verbs .button{font-size:var(--window-text);flex:1;padding:8px 12px}.stepper{align-items:center;gap:4px;display:inline-flex}.stepper .chip{text-align:center;width:26px;font-size:var(--window-title);padding:4px 0;line-height:1}.stepper .input.tiny{text-align:center;width:56px}.store-modal .chip:disabled{opacity:.4;cursor:default}.store-grow{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.store-grow .button{font-size:var(--window-text);padding:5px 10px}.market-head{font-size:var(--window-aside);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:12px 0 6px;font-weight:600}.market-head:first-child{margin-top:0}.prices-toggle{font-size:var(--window-text);margin-top:4px;display:block}.prices{border-collapse:collapse;width:100%;font-size:var(--window-text);font-variant-numeric:tabular-nums;margin-top:6px}.prices th{text-align:right;font-weight:600;font-size:var(--window-aside);color:var(--muted);text-transform:uppercase;letter-spacing:.06em;padding:2px 6px}.prices th:first-child,.prices td:first-child{text-align:left}.prices td{text-align:right;padding:3px 6px}.prices td:first-child{align-items:center;gap:8px;display:flex}.prices tbody tr:hover{background:#ffffff0a}@media (prefers-reduced-motion:reduce){.store,.store-modal{animation:none}}.members{width:min(520px, calc(96vw / var(--ui-zoom)))}.you-may{background:var(--recess);box-shadow:var(--recess-relief);color:var(--text);font-size:var(--window-text);border-radius:10px;margin:0 0 10px;padding:8px 10px;line-height:1.5}.action-bar.is-grants{flex-direction:column;align-items:stretch}.roles{gap:6px;display:flex}.chip.is-on{color:var(--text);border-color:var(--accent);background:#7bbf5a29}.grant-list{grid-template-columns:1fr 1fr;gap:2px 12px;margin:0;padding:0;list-style:none;display:grid}.grant-list label{cursor:pointer;align-items:center;gap:7px;padding:2px 0;font-size:13px;display:flex}.grant-list input{accent-color:var(--accent);cursor:pointer}.members .store-list li .button{padding:4px 10px;font-size:12px}.stage.has-game-cursor,.stage.has-game-cursor *{cursor:url(/cursors/modal.svg) 3 2,pointer}.stage.has-game-cursor :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=button]):not([type=submit]),textarea,[contenteditable=true]){cursor:text}.stage.has-game-cursor :is(:disabled,[aria-disabled=true]){cursor:not-allowed}.stage.is-mobile{--ui-zoom:1}.stage.is-mobile .hud{scrollbar-width:none;gap:10px;padding:6px 10px;font-size:12px;overflow-x:auto}.stage.is-mobile .hud::-webkit-scrollbar{display:none}.stage.is-mobile .hud>*{flex:none}.stage.is-mobile .hud .who{display:none}.mobile-nav{z-index:8;background:var(--board);border-top:1px solid var(--board-edge);flex:none;display:flex;box-shadow:0 -3px 10px #00000073}.mobile-tab{min-width:0;height:44px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;flex:1 1 0;justify-content:center;align-items:center;gap:7px;padding:0;font-size:12px;font-weight:600;display:flex;position:relative}.mobile-tab svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:19px;height:19px}.mobile-tab.is-active{color:var(--accent)}.mobile-tab.is-active:after{content:"";background:var(--accent);border-radius:0 0 2px 2px;width:38px;height:2px;position:absolute;top:0;left:50%;transform:translate(-50%)}.mobile-tab-label{white-space:nowrap}.mobile-tab-dot{background:var(--accent);width:7px;height:7px;box-shadow:0 0 0 2px var(--board-edge);border-radius:50%;margin-left:16px;position:absolute;top:9px;left:50%}.stage.is-mobile .screen{align-items:stretch;gap:8px;width:100%;max-width:none;bottom:8px;left:0;right:0;transform:none}.hotbar-dock{align-items:center;width:100%;display:flex;position:relative}.hotbar-rail{scrollbar-width:none;scroll-snap-type:x proximity;overscroll-behavior-x:contain;flex:1;min-width:0;padding:6px 0 5px;overflow:auto hidden}.hotbar-rail::-webkit-scrollbar{display:none}.hotbar-rail .hotbar{width:max-content;padding-left:10px;padding-right:66px}.hotbar-rail .slot{scroll-snap-align:center;touch-action:pan-x;flex:none;width:44px;height:44px}.stage.is-mobile .pack-button{z-index:3;cursor:pointer;background:var(--board);border-color:var(--board-edge);width:50px;height:50px;box-shadow:var(--board-relief), -8px 0 12px #00000080;gap:1px;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.pack-button-icon{fill:none;width:21px;height:21px;stroke:var(--text);stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round}.pack-button-label{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:9px;overflow:hidden}.stage.is-mobile .minimap{display:none}.stage.is-mobile .selected-card{border-radius:10px;flex-direction:row;align-items:center;gap:8px;width:auto;padding:5px 10px;bottom:66px;left:10px;right:10px}.stage.is-mobile .selected-title{display:none}.stage.is-mobile .selected-body{flex:1}.stage.is-mobile .selected-name{font-size:13px}.stage.is-mobile .selected-card .pip{width:16px;height:16px}.stage.is-mobile .selected-card .pip.is-art{width:20px;height:20px}.stage.is-mobile .selected-wear{flex:none;width:92px}.stage.is-mobile .notice,.stage.is-mobile .hint{max-width:calc(100vw - 20px);font-size:12px;bottom:106px}.stage.is-mobile .skill-toast{gap:7px;padding:4px 10px;top:10px}.stage.is-mobile .skill-toast .progress{width:60px}.stage.is-mobile .chat{width:min(56vw,230px);bottom:142px;left:10px}.stage.is-mobile .chat-log{max-height:24vh}.stage.is-mobile .chat-line{font-size:13px}.stage.is-mobile .dialogue{width:calc(100vw - 20px);padding:12px 14px 10px;font-size:14px;bottom:70px}.stage.is-mobile .corner-left{gap:6px;max-width:60vw;top:10px;left:10px}.stage.is-mobile .target-info{min-width:0;padding:8px 10px}.stage.is-mobile .story-task{padding:6px 10px 8px}.stage.is-mobile .story-task-name{font-size:12px}.stage.is-mobile .story-task-meter{margin-top:5px}.stage.is-mobile .story-task-ready{margin-top:4px;font-size:11px}.stage.is-mobile .screen.is-open{background:#080e0ab8;align-items:stretch;gap:0;max-height:none;top:0;bottom:0;overflow-y:auto;transform:none}.stage.is-mobile .screen.is-open>*{width:100%;max-width:none}.stage.is-mobile .workbench{flex-direction:column;align-items:stretch;gap:8px;width:100%}.stage.is-mobile .backpack,.stage.is-mobile .container-panel,.stage.is-mobile .craft-window{border-radius:0;width:100%;max-width:none;padding:10px 10px 12px}.stage.is-mobile .workbench>:last-child{border-radius:0 0 14px 14px}.stage.is-mobile .screen.is-store{width:100%}.stage.is-mobile .screen.is-store .store{border-radius:0}.stage.is-mobile .screen.is-store .workbench{gap:0}.stage.is-mobile .screen.is-store .backpack{width:100%;max-width:none;padding:10px 10px 12px}.stage.is-mobile .store-head{padding:0 10px}.stage.is-mobile .store-tabs{gap:12px}.stage.is-mobile .store-head .tab{padding:11px 2px 9px}.stage.is-mobile .store-capacity{padding:10px}.stage.is-mobile .store-capacity-head{align-items:flex-start}.stage.is-mobile .store-capacity-actions{gap:6px}.stage.is-mobile .store-shelf{padding:10px;display:block}.stage.is-mobile .store-categories{border:0;gap:3px;margin-bottom:8px;padding:0 0 8px;display:flex;overflow-x:auto}.stage.is-mobile .store-category{white-space:nowrap;flex:none;gap:5px;width:auto}.stage.is-mobile .store-shelf-body{padding:0}.stage.is-mobile .store-shelf .store-list{grid-template-columns:repeat(2,minmax(0,1fr))}.stage.is-mobile .store-shelf .goods{gap:5px;padding:5px}.stage.is-mobile .store-shelf .goods .pip.is-art{width:24px;height:24px}.stage.is-mobile .screen.is-craft{width:100%}.stage.is-mobile .screen.is-open.is-craft{overflow:hidden}.stage.is-mobile .screen.is-craft .craft-window{border-radius:0;flex-direction:column;flex:auto;min-height:0;padding:0;display:flex}.stage.is-mobile .craft-head{flex-wrap:wrap;align-items:center;gap:8px 10px;padding:10px}.stage.is-mobile .craft-head strong{flex:1;order:1;min-width:0}.stage.is-mobile .screen.is-craft .craft-close{order:2;width:36px;height:36px;font-size:22px}.stage.is-mobile .craft-filters{margin-left:0;scrollbar-width:none;flex-wrap:nowrap;flex-basis:100%;order:3;gap:3px;margin-inline:-10px;padding-inline:10px;overflow-x:auto}.stage.is-mobile .craft-filters::-webkit-scrollbar{display:none}.stage.is-mobile .craft-chip{white-space:nowrap;flex:none;padding:6px 11px}.stage.is-mobile .craft-chip.is-ready{margin-left:5px}.stage.is-mobile .craft-body{flex-direction:column;flex:auto;min-height:0;padding:8px 10px 0;display:flex}.stage.is-mobile .screen.is-craft .craft-catalogue{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:auto;min-height:0;overflow-y:auto}.stage.is-mobile .craft-grid{grid-template-columns:minmax(0,1fr)}.stage.is-mobile .recipe{gap:12px;padding:8px 10px}.stage.is-mobile .recipe>.pip.is-art{width:30px;height:30px}.stage.is-mobile .screen.is-craft .craft-detail{padding:10px 10px calc(12px + env(safe-area-inset-bottom,0px));background:var(--board);flex:none;box-shadow:0 -8px 16px #0000004d}.stage.is-mobile .screen.is-craft .craft-detail .button{text-align:center;flex:1 0 auto;padding:10px 20px}.stage.is-mobile .backpack-grid,.stage.is-mobile .backpack .hotbar{grid-template-columns:repeat(9,minmax(0,1fr));gap:4px;width:100%;display:grid}.stage.is-mobile .backpack .slot,.stage.is-mobile .container-panel .slot,.stage.is-mobile .backpack-grid .slot{aspect-ratio:1;width:auto;height:auto}.stage.is-mobile .backpack .slot .name,.stage.is-mobile .container-panel .slot .name{display:none}.stage.is-mobile .slot .pip{width:15px;height:15px}.stage.is-mobile .slot .pip.is-art{width:22px;height:22px}.stage.is-mobile .backpack-head .container-hint,.stage.is-mobile .container-head .container-hint{display:none}.stage.is-mobile .backpack-head,.stage.is-mobile .container-head{align-items:center;margin-bottom:8px}.pack-close{border:1px solid var(--border);width:34px;height:34px;color:var(--text);font:inherit;cursor:pointer;background:#ffffff0d;border-radius:9px;justify-content:center;align-items:center;margin-left:auto;font-size:20px;line-height:1;display:flex}.stage.is-mobile .container-body{flex-direction:column;align-items:stretch;gap:10px}.stage.is-mobile .container-body .slots{grid-template-columns:repeat(9,minmax(0,1fr));gap:4px;max-width:none;display:grid}.stage.is-mobile .container-arrow{flex-direction:row;align-self:stretch;align-items:center;gap:10px;min-width:0}.stage.is-mobile .container-arrow .progress{flex:1;width:auto}.stage.is-mobile .craft-window{width:100%}.mobile-chat,.mobile-map{z-index:5;background:var(--bg);position:absolute;inset:0}.mobile-chat{flex-direction:column;display:flex}.mobile-chat-log{flex-direction:column;flex:1;gap:5px;min-height:0;padding:12px;display:flex;overflow-y:auto}.mobile-chat-log>:first-child{margin-top:auto}.stage.is-mobile .mobile-chat-log .chat-line{text-shadow:none;font-size:15px}.mobile-chat-empty{color:var(--muted);margin:auto;font-size:14px}.mobile-chat-line{padding:8px 10px calc(8px + var(--keyboard-inset,0px));background:var(--board);border-top:1px solid var(--board-edge);flex:none;align-items:center;gap:8px;display:flex}.mobile-chat-line .chat-input{flex:1;min-width:0}.mobile-chat-line .button{flex:none;padding:11px 18px;font-size:14px}.mobile-map{flex-direction:column;align-items:center;gap:10px;padding:12px;display:flex;overflow-y:auto}.mobile-map>:first-child{margin-top:auto}.mobile-map>:last-child{margin-bottom:auto}.mobile-map-name{font-size:15px}.mobile-map-frame{aspect-ratio:1;border:1px solid var(--recess-edge);width:min(100%,70vh);box-shadow:var(--recess-relief);background:#080e0a99;border-radius:10px;flex:none;overflow:hidden}.mobile-map .map-legend{justify-content:center;max-width:min(100%,70vh)}.mobile-map.is-empty{text-align:center;color:var(--muted);justify-content:center;align-items:center;padding:24px;font-size:14px;line-height:1.5}.mobile-online{z-index:5;background:var(--bg);flex-direction:column;padding:12px;display:flex;position:absolute;inset:0}.mobile-online-title{flex:none;padding:4px 4px 12px;font-size:15px}.mobile-online-list{flex:1;min-height:0;overflow-y:auto}.mobile-online .online-list{gap:6px}.mobile-online .online-row{border-bottom:1px solid var(--board-edge);padding:10px 8px}.mobile-online .online-row:last-child{border-bottom:0}.mobile-online .online-name{font-size:15px}.mobile-online .online-where{font-size:13px}.mobile-online .online-row .button.tiny{padding:9px 14px;font-size:14px}.mobile-online .online-empty{text-align:center;margin:auto;padding:24px;font-size:14px}.admin-shell{--admin-sidebar:232px;--admin-gutter:16px;--admin-solid:#131d17;background:var(--bg);min-height:100vh;color:var(--text)}.admin-sidebar{width:var(--admin-sidebar);background:var(--admin-solid);border-right:1px solid var(--border);z-index:40;flex-direction:column;gap:6px;padding:18px 12px 16px;display:flex;position:fixed;inset:0 auto 0 0;overflow-y:auto}.admin-brand{align-items:center;gap:10px;padding:4px 8px 16px;display:flex}.admin-brand-mark{background:var(--accent);color:#0e1410;letter-spacing:.02em;border-radius:9px;flex-shrink:0;place-items:center;width:32px;height:32px;font-size:13px;font-weight:800;display:grid}.admin-brand-text{flex-direction:column;font-weight:700;line-height:1.15;display:flex}.admin-brand-text small{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:600}.admin-nav{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.admin-nav-heading{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin:16px 8px 6px;font-size:11px;font-weight:700}.admin-nav-link{color:var(--muted);border-radius:9px;align-items:center;gap:10px;min-height:42px;padding:9px 10px;font-size:14px;font-weight:600;text-decoration:none;display:flex}.admin-nav-link:hover{color:var(--text);background:#ffffff0d}.admin-nav-link.is-active{color:var(--text);background:#7bbf5a29}.admin-nav-link.is-active .admin-icon{color:var(--accent)}.admin-icon{flex-shrink:0}.admin-sidebar-foot{border-top:1px solid var(--border);margin-top:auto;padding:14px 10px 0;font-size:13px}.admin-main{margin-left:var(--admin-sidebar);max-width:1400px;padding:32px 28px 72px}.admin-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.admin-head h1{letter-spacing:-.02em;margin:0 0 4px;font-size:26px}.admin-sub{color:var(--muted);max-width:70ch;margin:0;font-size:14px}.admin-head-actions{flex-wrap:wrap;gap:8px;display:flex}.admin-error{color:#ffbcbc;background:#be464624;border:1px solid #dc78784d;border-radius:10px;margin:0 0 16px;padding:10px 14px;font-size:14px}.admin-empty{color:var(--muted);margin:0;font-size:14px}.admin-muted{color:var(--muted)}.admin-now{color:var(--accent);font-weight:600}.admin-positive{color:var(--accent);font-variant-numeric:tabular-nums}.admin-negative{color:#d8a24a;font-variant-numeric:tabular-nums}.admin-back{margin:0 0 16px;font-size:13px}.admin-spaced{margin-top:16px}.admin-subhead{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:18px 0 8px;font-size:13px}.admin-note{color:var(--muted);margin:0 0 14px;font-size:13px;line-height:1.5}.admin-link{color:var(--accent);text-decoration:none}.admin-link:hover{text-decoration:underline}.admin-main code{color:var(--muted);overflow-wrap:anywhere;font-size:12px}.admin-topbar,.admin-scrim{display:none}.admin-menu-button{border:1px solid var(--border);width:42px;height:42px;color:var(--text);cursor:pointer;background:0 0;border-radius:10px;flex-shrink:0;place-items:center;display:grid}.admin-menu-button:hover{background:#ffffff0d}.admin-stats{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-bottom:24px;display:grid}.admin-stat{background:var(--panel);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:3px;min-width:0;padding:14px 16px;display:flex}.admin-stat-value{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:26px;font-weight:700;line-height:1.1}.admin-stat-value.is-accent{color:var(--accent)}.admin-stat-value.is-warn{color:#d8a24a}.admin-stat-value.is-muted{color:var(--muted)}.admin-stat-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px}.admin-stat-hint{color:var(--muted);opacity:.8;font-size:12px}.admin-panels{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));align-items:start;gap:16px;margin-bottom:16px;display:grid}.admin-panel{background:var(--panel);border:1px solid var(--border);border-radius:12px;min-width:0;margin-bottom:16px;padding:16px 18px 18px}.admin-panels>.admin-panel{margin-bottom:0}.admin-panel.is-wide{grid-column:1/-1}.admin-panel>h2{letter-spacing:-.01em;margin:0 0 6px;font-size:16px}.admin-facts-list{flex-direction:column;gap:2px;margin:0;display:flex}.admin-factline{border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;gap:12px;padding:7px 0;font-size:14px;display:flex}.admin-factline:last-child{border-bottom:none}.admin-factline dt{color:var(--muted)}.admin-factline dd{font-variant-numeric:tabular-nums;text-align:right;overflow-wrap:anywhere;margin:0;font-weight:600}.admin-plain-list{flex-direction:column;gap:6px;margin:0;padding:0;font-size:14px;list-style:none;display:flex}.admin-plain-list li{align-items:center;gap:8px;display:flex}.admin-toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.admin-filters{flex-wrap:wrap;gap:6px;display:flex}.admin-chip{border:1px solid var(--border);color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;min-height:38px;padding:8px 14px;font-size:13px;font-weight:600}.admin-chip:hover{color:var(--text)}.admin-chip.is-active{background:var(--accent);border-color:var(--accent);color:#0e1410}.admin-search{border:1px solid var(--border);min-width:0;color:var(--text);background:#00000040;border-radius:10px;flex:220px;min-height:38px;padding:9px 12px;font-size:14px}.admin-search:focus{border-color:var(--accent);outline:none}.admin-refresh{border:1px solid var(--border);color:var(--muted);cursor:pointer;background:0 0;border-radius:10px;align-items:center;gap:8px;min-height:38px;padding:8px 12px;font-size:13px;display:inline-flex}.admin-refresh:hover{color:var(--text);border-color:var(--accent)}.admin-table-wrap{background:var(--panel);border:1px solid var(--border);-webkit-overflow-scrolling:touch;border-radius:12px;overflow-x:auto}.admin-panel .admin-table-wrap{background:0 0;border:none;border-radius:0}.admin-table{border-collapse:collapse;width:100%;font-size:14px}.admin-table th,.admin-table td{text-align:left;white-space:nowrap;border-bottom:1px solid var(--border);vertical-align:middle;padding:10px 14px}.admin-table th{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:600}.admin-table tbody tr:last-child td{border-bottom:none}.admin-table tbody tr:hover{background:#ffffff08}.admin-panel .admin-table th:first-child,.admin-panel .admin-table td:first-child{padding-left:0}.admin-panel .admin-table th:last-child,.admin-panel .admin-table td:last-child{padding-right:0}.admin-table.is-sticky th:first-child,.admin-table.is-sticky td:first-child{z-index:1;background:var(--admin-solid);box-shadow:1px 0 0 var(--border);position:sticky;left:0}.admin-table.is-sticky tbody tr:hover td:first-child{background:#18231c}.admin-name{font-weight:600}.admin-subtle{color:var(--muted);text-overflow:ellipsis;max-width:100%;margin-top:1px;font-size:12px;font-weight:400;display:block;overflow:hidden}.admin-dot{background:var(--muted);opacity:.4;vertical-align:middle;border-radius:50%;width:8px;height:8px;margin-right:8px;display:inline-block}.admin-dot.is-online{background:var(--accent);opacity:1}.admin-badge{background:var(--accent);color:#0e1410;vertical-align:middle;border-radius:6px;margin-left:8px;padding:1px 6px;font-size:11px;font-weight:700}.admin-badge.warn{background:#d8a24a}.admin-tag{color:var(--muted);white-space:nowrap;background:#ffffff14;border-radius:6px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.admin-tag.is-accent{color:var(--accent);background:#7bbf5a33}.admin-tag.is-warn{color:#d8a24a;background:#d8a24a33}.admin-status{text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;border-radius:6px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.admin-status.is-verified{background:var(--accent);color:#0e1410}.admin-status.is-email{color:#0e1410;background:#d8a24a}.admin-status.is-guest{color:var(--muted);background:#ffffff14}.admin-bars{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.admin-bars li{grid-template-columns:minmax(70px,30%) 1fr auto;align-items:center;gap:10px;font-size:13px;display:grid}.admin-bar-label{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-bar-track{background:#ffffff12;border-radius:4px;height:8px;overflow:hidden}.admin-bar-fill{background:var(--accent);border-radius:4px;min-width:2px;height:100%;display:block}.admin-bar-value{font-variant-numeric:tabular-nums;font-weight:700}.admin-bar-value small{color:var(--muted);margin-left:4px;font-weight:600}.admin-daychart{flex-direction:column;gap:6px;display:flex}.admin-daychart-bars{align-items:flex-end;gap:3px;height:110px;padding:0 1px;display:flex}.admin-daycol{background:var(--accent);opacity:.85;border-radius:3px 3px 0 0;flex:1 1 0;min-width:0}.admin-daycol:hover{opacity:1}.admin-daycol.is-zero{background:#ffffff1a}.admin-daychart-axis{color:var(--muted);justify-content:space-between;gap:8px;font-size:12px;display:flex}.admin-facts{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;margin-bottom:20px;display:grid}.admin-fact{background:var(--panel);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:4px;min-width:0;padding:11px 14px;display:flex}.admin-fact-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px}.admin-fact-value{overflow-wrap:anywhere;font-size:14px;font-weight:600}.admin-slots{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;display:grid}.admin-slot{border:1px solid var(--border);background:#00000038;border-radius:10px;align-items:center;gap:8px;min-height:44px;padding:10px 12px;display:flex}.admin-slot.is-empty{opacity:.35}.admin-slot-name{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;overflow:hidden}.admin-slot-count{font-variant-numeric:tabular-nums;font-weight:700}.admin-goods{flex-direction:column;gap:6px;display:flex}.admin-good{border:1px solid var(--border);background:#00000038;border-radius:10px;align-items:center;gap:10px;padding:10px 14px;display:flex}.admin-good-name{flex:1;font-size:14px}.admin-good-count{font-variant-numeric:tabular-nums;font-weight:700}.admin-item{align-items:center;gap:8px;display:inline-flex}.admin-swatch{border:1px solid #00000040;border-radius:4px;flex-shrink:0;width:14px;height:14px;display:inline-block}@media (max-width:900px){.admin-topbar{z-index:30;padding:10px var(--admin-gutter);background:var(--bg);border-bottom:1px solid var(--border);align-items:center;gap:12px;display:flex;position:sticky;top:0}.admin-topbar-title{text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:700;overflow:hidden}.admin-sidebar{width:min(280px,84vw);transition:transform .22s ease-out;transform:translate(-100%);box-shadow:18px 0 40px #00000073}.is-menu-open .admin-sidebar{transform:translate(0)}.admin-scrim{z-index:35;opacity:0;pointer-events:none;background:#0000008c;transition:opacity .22s ease-out;display:block;position:fixed;inset:0}.is-menu-open .admin-scrim{opacity:1;pointer-events:auto}.admin-main{padding:20px var(--admin-gutter) 64px;margin-left:0}.admin-head h1{font-size:21px}.admin-stats{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:10px}.admin-stat-value{font-size:22px}.admin-panels{grid-template-columns:1fr}.admin-facts{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.admin-slots{grid-template-columns:repeat(auto-fill,minmax(104px,1fr))}.admin-search{flex-basis:100%}.admin-table.is-sticky th:first-child,.admin-table.is-sticky td:first-child{text-overflow:ellipsis;max-width:46vw;overflow:hidden}}@media (prefers-reduced-motion:reduce){.admin-sidebar,.admin-scrim{transition:none}}.update-banner{z-index:1000;border:1px solid var(--border);background:var(--panel);max-width:calc(100vw - 24px);color:var(--text);border-radius:12px;align-items:center;gap:14px;padding:10px 12px 10px 16px;font-size:15px;animation:.28s ease-out update-banner-in;display:flex;position:fixed;top:12px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #00000073}.update-banner__text{font-weight:600}.update-banner__reload{background:var(--accent);color:#08170a;cursor:pointer;border:0;border-radius:8px;flex-shrink:0;padding:7px 16px;font-size:14px;font-weight:700}.update-banner__reload:hover{background:var(--accent-strong)}@keyframes update-banner-in{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.update-banner{animation:none}}
