:root{--bg:#0e1410;--panel:#141e18eb;--border:#ffffff1f;--text:#e9f0e8;--muted:#93a795;--accent:#7bbf5a;--accent-strong:#63a544;--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;--ui-zoom:1.25}.hud,.card,.screen,.notice,.hint,.level-up,.skill-panel,.target-info,.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}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 22% 8%,#0e1410b8,#0e141000 60%),linear-gradient(#0e1410b3 0%,#0e141052 38%,#0e14109e 100%);position:absolute;inset:0}.landing{z-index:1;max-width:860px;margin:0 auto;padding:80px 24px 64px;position:relative}.landing h1{letter-spacing:-.03em;margin:0 0 18px;font-size:clamp(40px,8vw,64px);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:flex-end;margin-bottom:8px;display:flex}.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{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:0;padding:0;list-style:none;display:grid}.rules li{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:18px}.rules strong{margin-bottom:6px;display:block}.rules span{color:var(--muted);font-size:14px;line-height:1.55}.footer{border-top:1px solid var(--border);color:var(--muted);margin-top:64px;padding-top:24px;font-size:13px}.stage{flex-direction:column;display:flex;position:fixed;inset: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}.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 .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}.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}.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,.container-panel{animation:.19s cubic-bezier(.34,1.4,.64,1) both window-in}.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{top:50%;bottom:auto;transform:translate(-50%,-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 .name,.hotbar .slot .count{text-shadow:0 1px 2px #000c}.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}.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-list{flex-direction:column;gap:4px;display:flex}.craft-option{border:1px solid var(--border);color:var(--text);font:inherit;text-align:left;cursor:pointer;background:#ffffff0a;border-radius:8px;align-items:center;gap:8px;padding:7px 10px;font-size:13px;display:flex}.craft-option:hover{background:#ffffff17}.craft-option.is-selected{border-color:var(--accent);background:#7bbf5a29}.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{color:var(--muted);justify-content:space-between;gap:12px;font-size:13px;display:flex}.craft-costs li.is-short .cost{color:#ff9d84;font-weight:700}.craft-costs .cost{font-variant-numeric:tabular-nums}.craft-detail .button{padding:9px 16px;font-size:14px}.renovate-window .backpack-head .linky{margin-left:auto}.renovate-blurb{color:var(--muted);margin:0;font-size:13px;line-height:1.4}.slot{touch-action:none}.slot .pip,.slot .name,.slot .count{pointer-events:none}.slot.is-selected{border-width:2px;border-color:#fff;transform:translateY(-3px);box-shadow: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 .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}.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-head strong{font-size:15px}.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{color:var(--muted);flex-wrap:wrap;gap:6px 14px;max-width:min(62vh,62vw,620px);margin:0;padding:0;font-size:12px;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}.hotbar{gap:4px;bottom:10px}.hotbar .slot{width:36px;height:36px}.hotbar .slot .pip{width:14px;height:14px}.hotbar .slot .name{display:none}.notice,.hint{bottom:62px}.level-up{bottom:96px}.skill-panel{min-width:128px;padding:8px 10px}.skill-panel.is-raised{bottom:192px}.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{width:auto}.minimap{width:104px;height:104px;padding:4px;bottom:78px;right:10px}.minimap-key{font-size:11px;bottom:5px;right:6px}.map-card{padding:12px}.map-frame,.map-legend{width:min(76vw,78vh);max-width:min(76vw,78vh)}.map-frame{height:min(76vw,78vh)}}.recipe{border:1px solid var(--recess-edge);background:var(--recess);width:100%;color:var(--text);box-shadow:var(--recess-relief);cursor:pointer;text-align:left;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:7px 10px;font-size:13px;display:flex}.recipe:hover:not(:disabled){background:#ffffff1a}.recipe:disabled{opacity:.4;cursor:not-allowed}.recipe .cost{color:var(--muted);font-size:11px}.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:12px}.container-body{align-items:flex-start;gap:16px;display:flex}.container-body h4{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 6px;font-size:11px;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}.container-actions{justify-content:flex-end;gap:8px;margin-top:10px;display:flex}.container-actions .button{padding:8px 16px;font-size:14px}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,.recipe:focus-visible,.button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hint kbd{margin:0 1px}.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;position:absolute;top:12px;left:12px}.target-name{margin-bottom:6px;font-size:14px;font-weight:700}.skill-panel{background:var(--board);border:1px solid var(--board-edge);box-shadow:var(--board-relief);pointer-events:none;border-radius:10px;flex-direction:column;gap:8px;min-width:148px;padding:10px 12px;display:flex;position:absolute;bottom:12px;right:12px}.skill-panel.is-raised{bottom:201px}.skill-head{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:4px;display:flex}.skill-name{color:var(--muted);font-size:12px}.skill-level{font-variant-numeric:tabular-nums;font-size:14px;font-weight:700}.skill-panel .progress{width:100%;height:5px}.skill-yield{color:var(--muted);font-variant-numeric:tabular-nums;margin-top:4px;font-size:11px}.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:13px;line-height:1.4}.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:14px}.chat-input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.level-up{color:#dff5cf;pointer-events:none;background:#7bbf5a2e;border:1px solid #7bbf5a8c;border-radius:8px;padding:8px 16px;font-size:14px;font-weight:700;position:absolute;bottom:118px;left:50%;transform:translate(-50%)}.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}.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}.store+.workbench .backpack{animation-delay:55ms}.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}.store-head .tab{appearance:none;cursor:pointer;color:var(--muted);font:inherit;background:0 0;border:0;border-bottom:2px solid #0000;padding:2px 0;font-size:15px;font-weight:700}.store-head .tab.is-on{color:var(--text);border-bottom-color:var(--accent)}.store-head .tab:hover{color:var(--text)}.store-room{color:var(--muted);font-variant-numeric:tabular-nums;margin-left:auto;font-size:12px}.store-gauge{background:var(--recess);height:8px;box-shadow:var(--recess-relief);border-radius:4px;margin-bottom:6px;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-legend{color:var(--muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 10px;font-size:11px;display:flex}.store-legend .key{border-radius:2px;width:8px;height:8px}.store-legend .key:not(:first-child){margin-left:6px}.store-legend .key.is-stored{background:var(--accent)}.store-legend .key.is-listed{background:repeating-linear-gradient(-45deg, var(--accent) 0 2px, #7bbf5a59 2px 4px)}.store-legend .key.is-free{background:var(--recess);box-shadow:inset 0 0 0 1px var(--board-edge)}.store-list{flex-direction:column;gap:2px;max-height:232px;margin:0 0 10px;padding:0;list-style:none;display:flex;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}.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-name{flex:1;font-size:14px}.store-aside{color:var(--muted);font-size:11px;font-style:normal;display:block}.store-count{font-variant-numeric:tabular-nums;color:var(--muted);text-align:right;min-width:68px;font-size:14px}.store-empty{color:var(--muted);margin:0 0 10px;font-size:13px}.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:13px;font-weight:600}.action-limit{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11px;font-style:normal}.amounts{align-items:center;gap:4px;display:flex}.amounts label{color:var(--muted);flex-direction:column;gap:2px;font-size:11px;display:flex}.amounts .of{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11px}.chip{appearance:none;cursor:pointer;font:inherit;border:1px solid var(--board-edge);background:var(--board);color:var(--muted);border-radius:6px;padding:3px 7px;font-size:11px}.chip:hover{color:var(--text);border-color:var(--accent)}.input.tiny{text-align:right;font-variant-numeric:tabular-nums;width:64px;padding:4px 7px;font-size:13px}.verbs{gap:6px;margin-left:auto;display:flex}.verbs .button{padding:5px 12px;font-size:12px}.store-grow{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.grow-label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:11px}.store-grow .button{padding:5px 10px;font-size:12px}.market-head{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:12px 0 6px;font-size:11px;font-weight:600}.market-head:first-child{margin-top:0}.prices-toggle{margin-top:4px;font-size:12px;display:block}.prices{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;margin-top:6px;font-size:13px}.prices th{text-align:right;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;padding:2px 6px;font-size:11px;font-weight:600}.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{animation:none}}.members{width:min(520px, calc(96vw / var(--ui-zoom)))}.you-may{background:var(--recess);box-shadow:var(--recess-relief);color:var(--text);border-radius:10px;margin:0 0 10px;padding:8px 10px;font-size:13px;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}.admin{max-width:1100px;margin:0 auto;padding:48px 24px 80px}.admin-head{margin-bottom:28px}.admin-head h1{letter-spacing:-.02em;margin:0 0 4px;font-size:28px}.admin-sub{color:var(--muted);margin:0;font-size:14px}.admin-error{color:#e88;margin:0 0 16px}.admin-empty{color:var(--muted)}.admin-stats{flex-wrap:wrap;gap:14px;margin-bottom:28px;display:flex}.admin-stat{background:var(--panel);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:4px;min-width:130px;padding:16px 22px;display:flex}.admin-stat-value{font-variant-numeric:tabular-nums;font-size:30px;font-weight:700}.admin-stat-label{color:var(--muted);font-size:13px}.admin-table-wrap{background:var(--panel);border:1px solid var(--border);border-radius:12px;overflow-x:auto}.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);padding:11px 14px}.admin-table th{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:600}.admin-table tbody tr:last-child td{border-bottom:none}.admin-table tbody tr:hover{background:#ffffff08}.admin-muted{color:var(--muted)}.admin-name{font-weight:600}.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-now{color:var(--accent);font-weight:600}.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}
