:root{--bg:#e9e6df;--bg-2:#f0ede5;--surface:#fdfcf5;--surface-2:#f5f2ea;--divider:#dedbd2;--ink:#3d4150;--ink-soft:#6c7589;--ink-faint:#9aa0ad;--accent:#5b8fd6;--accent-ink:#2f5b97;--go:#8fb573;--go-ink:#4f7a3b;--danger:#d98a72;--agent-0:#e27d6a;--agent-1:#8fb573;--agent-2:#6e9bd1;--agent-3:#e8b85c;--agent-4:#a98ac4;--agent-5:#5fb3a8;--r:16px;--r-sm:11px;--shadow:0 10px 30px #3d415024;--shadow-sm:0 3px 12px #3d41501a;--ring:0 0 0 3px #5b8fd64d;--font:"Segoe UI", system-ui, -apple-system, sans-serif;--history-panel-width:min(144px, calc(100vw - 28px));--history-panel-right:max(14px, env(safe-area-inset-right))}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg);width:100%;height:100%;color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;-webkit-user-select:none;user-select:none;touch-action:manipulation;overflow:hidden}#canvas{touch-action:none;width:100%;height:100%;display:block;position:absolute;inset:0}html.screenshot-mode{background:#2b2b36;justify-content:center;align-items:center;width:100%;height:100%;display:flex;overflow:hidden}html.screenshot-mode body{flex:none;width:min(100dvw,177.778dvh);height:min(100dvh,56.25dvw);position:relative;overflow:hidden}.screenshot-fullscreen-btn{z-index:9999;position:fixed;top:12px;right:12px}.dev-render-btn{z-index:9999;position:fixed;bottom:12px;right:12px}.screen{display:none}body[data-screen=boot] #boot,body[data-screen=menu] #screen-menu,body[data-screen=maps] #screen-maps,body[data-screen=gen] #screen-gen,body[data-screen=game] #hud{display:block}#boot,#screen-menu,#screen-maps,#screen-gen{background:radial-gradient(120% 90% at 50% -10%, var(--surface) 0%, var(--bg-2) 55%, var(--bg) 100%);display:none;position:absolute;inset:0}body[data-screen=boot] #boot,body[data-screen=menu] #screen-menu,body[data-screen=maps] #screen-maps,body[data-screen=gen] #screen-gen{display:flex}#menu-bg{z-index:0;pointer-events:none;background:#e9e6df;width:100%;height:100lvh;display:none;position:fixed;top:0;left:0;overflow:hidden}body.menu-bg-on #menu-bg{display:block}body[data-screen=game] #menu-bg{display:none}body.menu-bg-on:not([data-screen=game]) #canvas,body.background-mode:not([data-screen=game]) #canvas{visibility:hidden}.menu-bg-track{will-change:transform;display:flex;position:absolute;top:0;left:0}.menu-bg-track img{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;flex:none;max-width:none;display:block}#background-canvas{z-index:0;width:100%;height:100%;display:none;position:fixed;inset:0}body.background-mode #background-canvas{display:block}body.background-mode #boot,body.background-mode #screen-menu,body.background-mode #screen-maps,body.background-mode #screen-gen,body.menu-bg-on #boot,body.menu-bg-on #screen-menu,body.menu-bg-on #screen-maps,body.menu-bg-on #screen-gen{background:radial-gradient(120% 90% at 50% -10%,#fdfcf5eb 0%,#f6f5eecc 55%,#eeede4d9 100%)}.bg-panel{left:12px;bottom:max(12px, env(safe-area-inset-bottom));z-index:70;border:1px solid var(--divider);box-shadow:var(--shadow);background:#fdfcf5eb;border-radius:12px;flex-direction:column;gap:6px;max-width:calc(100vw - 24px);padding:10px 12px;font-size:12px;display:flex;position:fixed}.bg-head{margin-bottom:2px;font-weight:800}.bg-row{color:var(--ink-soft);grid-template-columns:64px minmax(80px,150px) 72px;align-items:center;gap:8px;display:grid}.bg-row input[type=range]{width:100%}.bg-num{box-sizing:border-box;width:100%;font:inherit;font-variant-numeric:tabular-nums;color:var(--ink);background:var(--surface);border:1px solid var(--divider);border-radius:6px;padding:2px 4px}.bg-note{color:var(--ink-soft);font-variant-numeric:tabular-nums}.btn{appearance:none;border:1px solid var(--divider);background:var(--surface);color:var(--ink);border-radius:var(--r-sm);cursor:pointer;box-shadow:var(--shadow-sm);white-space:nowrap;padding:11px 20px;font-family:inherit;font-size:15px;font-weight:600;transition:transform .12s,box-shadow .12s,background .12s,border-color .12s}.btn:hover{box-shadow:var(--shadow);border-color:var(--ink-faint);transform:translateY(-1px)}.btn:active{box-shadow:var(--shadow-sm);transform:translateY(0)}.btn:focus-visible{box-shadow:var(--ring);outline:none}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-ink);border-color:var(--accent-ink)}.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn-danger:hover{filter:brightness(1.08)}.btn-ghost{box-shadow:none;color:var(--ink-soft);background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--surface-2);border-color:var(--divider);box-shadow:none}.btn-small{padding:8px 14px;font-size:13px}#boot{flex-direction:column;justify-content:center;align-items:center;gap:14px}.boot-mark{letter-spacing:.22em;color:var(--ink);opacity:.85;font-size:clamp(22px,5vw,40px);font-weight:800}#boot-status{color:var(--ink-soft);font-size:14px}#screen-menu{flex-direction:column;justify-content:center;align-items:center;gap:22px}.menu-card{text-align:center;padding:8px}.wordmark{flex-direction:column;align-items:center;line-height:1;display:inline-flex}.wordmark-the{letter-spacing:.55em;color:var(--ink-soft);margin-bottom:.35em;margin-right:-.55em;font-size:clamp(14px,2.4vw,20px);font-weight:700}.wordmark-main{letter-spacing:.04em;color:var(--ink);margin-right:-.04em;font-size:clamp(40px,9vw,86px);font-weight:800}.wordmark-rule{background:linear-gradient(90deg, var(--agent-0), var(--agent-3), var(--agent-1), var(--agent-2), var(--agent-4));opacity:.8;border-radius:2px;width:64%;height:3px;margin-top:.5em}.tagline{color:var(--ink-soft);margin-top:4px;font-size:clamp(14px,2vw,17px)}.menu-buttons{flex-direction:column;gap:12px;width:min(280px,80vw);margin:8px auto 0;display:flex}.menu-buttons .btn{padding:14px 20px;font-size:17px}.menu-footer-link{color:var(--ink-soft);opacity:.7;margin-top:18px;font-size:12px;text-decoration:none;display:inline-block}.menu-footer-link:hover{opacity:1;text-decoration:underline}.menu-corner-btn{top:max(14px, env(safe-area-inset-top));z-index:5;position:absolute}.menu-corner-tl{left:max(14px, env(safe-area-inset-left))}.menu-corner-tr{right:max(14px, env(safe-area-inset-right))}.menu-corner-group{top:max(14px, env(safe-area-inset-top));z-index:5;align-items:center;gap:8px;display:flex;position:absolute}.hint-panel{bottom:calc(28px + env(safe-area-inset-bottom));background:var(--surface);border:1px solid var(--divider);border-radius:var(--r);width:min(440px,90vw);box-shadow:var(--shadow);text-align:left;padding:18px 22px;position:absolute;left:50%;transform:translate(-50%)}.hint-panel b{margin-bottom:8px;font-size:15px;display:block}.hint-panel ul{color:var(--ink-soft);margin:0 0 14px 18px;font-size:13.5px;line-height:1.7}.seed-input{box-sizing:border-box;width:100%;font:inherit;letter-spacing:.3px;color:var(--ink);background:var(--bg);border:1px solid var(--divider);border-radius:10px;margin-bottom:10px;padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.seed-input:focus{border-color:var(--accent);outline:none}.seed-error{min-height:16px;color:var(--danger);margin-bottom:8px;font-size:12.5px}.seed-actions{gap:8px;display:flex}.play-panel{text-align:center;opacity:0;transition:opacity .2s,transform .2s;transform:translate(-50%)translateY(14px)scale(.97)}.play-panel.is-open{opacity:1;transform:translate(-50%)translateY(0)scale(1)}.menu-buttons,.menu-footer-link{transition:opacity .2s}#screen-menu.play-open .menu-buttons,#screen-menu.play-open .menu-footer-link{opacity:.18;pointer-events:none}.play-panel-actions{flex-direction:column;gap:8px;display:flex}.play-panel-actions .btn{width:100%}.play-panel-cancel{margin:10px auto 0;display:block}#screen-maps{padding:max(5vh, env(safe-area-inset-top)) max(4vw, env(safe-area-inset-right)) max(5vh, env(safe-area-inset-bottom)) max(4vw, env(safe-area-inset-left));flex-direction:column;justify-content:flex-start;align-items:center;overflow-y:auto}.picker{width:100%;max-width:840px}.picker-head{align-items:center;gap:16px;margin-bottom:24px;display:flex}.picker-head h2{letter-spacing:.01em;font-size:clamp(20px,4vw,28px);font-weight:800}.picker-spacer{flex:1}.picker-count{color:var(--ink-soft);background:var(--surface-2);border:1px solid var(--divider);white-space:nowrap;border-radius:999px;padding:5px 12px;font-size:13px;font-weight:700}.map-grid{grid-template-columns:repeat(4,1fr);gap:18px;display:grid}.map-card{text-align:left;background:var(--surface);border:1px solid var(--divider);border-radius:var(--r);box-shadow:var(--shadow-sm);cursor:pointer;flex-direction:column;padding:8px;transition:transform .14s,box-shadow .14s,border-color .14s;display:flex;position:relative}.map-card:hover{box-shadow:var(--shadow);border-color:var(--accent);transform:translateY(-3px)}.map-card:focus-visible{box-shadow:var(--ring);outline:none}.map-card .map-emoji{margin-bottom:4px;font-size:30px}.map-card .map-name{font-size:18px;font-weight:700}.map-card .map-desc{color:var(--ink-soft);font-size:13px;line-height:1.5}.map-preview{aspect-ratio:4/3;background:radial-gradient(120% 120% at 50% 0%, var(--surface-2) 0%, var(--bg) 100%);border:1px solid var(--divider);object-fit:cover;border-radius:10px;width:100%;display:block}.map-preview.is-loading{opacity:.5}.map-pager{justify-content:center;align-items:center;gap:16px;margin-top:20px;display:flex}.map-page-dots{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;max-width:320px;display:flex}.map-page-dot{border:1px solid var(--divider);background:var(--surface);min-width:30px;height:30px;color:var(--ink-soft);cursor:pointer;border-radius:999px;padding:0 6px;font-size:13px;font-weight:700;transition:background .12s,border-color .12s,color .12s}.map-page-dot:hover{border-color:var(--accent);color:var(--ink)}.map-page-dot.is-active{background:var(--accent);border-color:var(--accent);color:#fff;cursor:default}.map-pager .btn:disabled{opacity:.4;cursor:default;pointer-events:none}.map-meta{color:var(--ink-soft);font-variant-numeric:tabular-nums;font-size:12px}@media (width<=680px) and (orientation:portrait){.map-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.picker-head{text-align:center;grid-template-rows:auto auto;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px 12px;display:grid}.picker-head h2{grid-area:1/1/auto/-1}.picker-head>.btn-ghost:first-of-type{grid-area:2/1;justify-self:start}.picker-count{text-overflow:ellipsis;white-space:nowrap;grid-area:2/2;justify-self:center;min-width:0;max-width:100%;overflow:hidden}.picker-count .picker-count-unit{display:none}.picker-head>.btn-ghost:nth-of-type(2){grid-area:2/3;justify-self:end}.picker-spacer{display:none}.map-pager{grid-template-columns:auto 1fr auto;align-items:center;gap:10px 12px;width:100%;margin-top:16px;display:grid}#map-page-dots{grid-area:1/1/auto/-1;justify-self:center;max-width:none}#map-page-prev{grid-area:2/1;justify-self:start}#map-page-next{grid-area:2/3;justify-self:end}}#screen-gen{padding:max(4vh, env(safe-area-inset-top)) max(4vw, env(safe-area-inset-right)) max(5vh, env(safe-area-inset-bottom)) max(4vw, env(safe-area-inset-left));flex-direction:column;justify-content:flex-start;align-items:center;overflow-y:auto}.gen{width:min(960px,96vw)}.gen-panel{background:var(--surface);border:1px solid var(--divider);border-radius:var(--r);box-shadow:var(--shadow-sm);margin-bottom:18px;padding:20px}.gen-hint{color:var(--ink-soft);margin:0 0 16px;font-size:13px;line-height:1.55}.gen-form{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px 18px;display:grid}.gen-param{align-items:center;gap:8px;display:flex}.gen-param>label{color:var(--ink-soft);flex:1;font-size:13px;font-weight:600}.gen-param input{width:72px;color:var(--ink);background:var(--surface-2);border:1px solid var(--divider);border-radius:var(--r-sm);text-align:right;padding:7px 9px;font-family:inherit;font-size:14px}.gen-param .gen-dash{color:var(--ink-faint)}.gen-param input:focus-visible{border-color:var(--accent);box-shadow:var(--ring);outline:none}.gen-run{border-top:1px solid var(--divider);flex-wrap:wrap;align-items:flex-end;gap:14px;margin-top:20px;padding-top:18px;display:flex}.gen-field{color:var(--ink-soft);flex-direction:column;gap:5px;font-size:12px;font-weight:600;display:flex}.gen-field input{width:92px;color:var(--ink);background:var(--surface-2);border:1px solid var(--divider);border-radius:var(--r-sm);padding:9px 10px;font-family:inherit;font-size:14px}.gen-field input:focus-visible{border-color:var(--accent);box-shadow:var(--ring);outline:none}.gen-run #gen-run-btn{margin-left:auto}.gen-progress{margin-top:18px}.gen-bar{background:var(--surface-2);border:1px solid var(--divider);border-radius:999px;height:8px;overflow:hidden}.gen-bar-fill{background:var(--accent);width:0%;height:100%;transition:width .1s linear}.gen-progress-text{color:var(--ink-soft);margin-top:8px;font-size:12px}.gen-playseed{flex-wrap:wrap;gap:10px;margin-bottom:18px;display:flex}.gen-playseed #gen-seed-input{min-width:220px;color:var(--ink);background:var(--surface);border:1px solid var(--divider);border-radius:var(--r-sm);flex:1;padding:10px 12px;font-family:Consolas,ui-monospace,monospace;font-size:13px}.gen-playseed #gen-seed-input:focus-visible{border-color:var(--accent);box-shadow:var(--ring);outline:none}.gen-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;display:grid}.gen-card{background:var(--surface);border:1px solid var(--divider);border-radius:var(--r);box-shadow:var(--shadow-sm);flex-direction:column;gap:10px;padding:16px;display:flex;position:relative}.gen-card.is-balanced{border-color:var(--go)}.gen-card-top{align-items:baseline;gap:8px;display:flex}.gen-score{color:var(--ink);font-size:24px;font-weight:800}.gen-badge{background:var(--surface-2);color:var(--ink-soft);border-radius:999px;padding:3px 8px;font-size:11px;font-weight:700}.gen-badge.ok{background:color-mix(in srgb, var(--go) 22%, transparent);color:var(--go-ink)}.gen-meta{color:var(--ink-soft);font-size:12px;line-height:1.5}.gen-seed{color:var(--ink-faint);word-break:break-all;font-family:Consolas,ui-monospace,monospace;font-size:11px;line-height:1.4}.gen-card-actions{gap:8px;margin-top:auto;display:flex}.gen-card-actions .btn{flex:1}.gen-fav{width:40px;padding:0;font-size:16px;line-height:1;flex:none!important}.gen-fav.on{background:var(--accent);border-color:var(--accent);color:#fff}.pause-seed{text-align:left;align-items:center;gap:10px;margin-bottom:16px;display:flex}.pause-seed[hidden]{display:none}.pause-seed-label{color:var(--ink-soft);flex:none;font-size:12px;font-weight:600}.pause-seed-box{background:var(--surface-2);border:1px solid var(--divider);border-radius:var(--r-sm);cursor:pointer;flex:1;min-width:0;padding:8px 10px;overflow:hidden}.pause-seed-text{letter-spacing:0;color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-family:Consolas,ui-monospace,monospace;font-size:10px;line-height:1.4;display:block;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 36px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 36px),#0000)}#hud{pointer-events:none;position:absolute;inset:0}#hud>*{pointer-events:auto}#top-bar{padding:max(12px, env(safe-area-inset-top)) max(14px, env(safe-area-inset-right)) 12px max(14px, env(safe-area-inset-left));pointer-events:none;align-items:center;gap:12px;display:flex;position:absolute;top:0;left:0;right:0}#top-bar>*{pointer-events:auto}.chip{background:var(--surface);border:1px solid var(--divider);box-shadow:var(--shadow-sm);white-space:nowrap;border-radius:999px;align-items:center;gap:8px;padding:8px 16px;font-size:14px;font-weight:600;display:inline-flex}.chip-sep{background:var(--divider);width:1px;height:16px}.chip-round{color:var(--ink-soft);font-weight:600}.chip-round b{color:var(--ink)}.agent-dot{background:var(--ink-faint);border-radius:50%;flex-shrink:0;width:13px;height:13px;display:inline-block;box-shadow:inset 0 0 0 1px #00000014}#scoreboard{flex-wrap:wrap;flex:1;justify-content:center;align-items:center;gap:8px;min-width:0;display:flex}.player-pill{background:var(--surface);border:1px solid var(--divider);box-shadow:var(--shadow-sm);border-radius:999px;align-items:center;gap:7px;padding:6px 12px 6px 9px;font-size:13px;font-weight:600;transition:opacity .2s,border-color .2s,box-shadow .2s;display:inline-flex}.player-pill .agent-dot{width:11px;height:11px}.player-pill .pp-stat{color:var(--ink-soft);align-items:center;gap:3px;display:inline-flex}.player-pill .pp-gold{color:var(--ink);font-weight:700}.pp-num{font-variant-numeric:tabular-nums;min-width:2ch;display:inline-block}.pp-gold .pp-num{min-width:3ch}.pp-line{display:contents}.player-pill.is-current{border-color:var(--accent);box-shadow:var(--ring)}.player-pill.is-eliminated{opacity:.42;filter:grayscale(.6)}.player-pill{cursor:pointer}.player-pill.is-inspecting{background:var(--accent);border-color:var(--accent);box-shadow:var(--shadow-sm), var(--ring)}.player-pill.is-inspecting .pp-gold,.player-pill.is-inspecting .pp-stat{color:#fff}.player-pill.is-locked{animation:.3s cubic-bezier(.34,1.56,.64,1) pillLockPop,1.8s ease-in-out .3s infinite pillLockGlow}@keyframes pillLockPop{0%{transform:scale(1)}50%{transform:scale(1.14)}to{transform:scale(1)}}@keyframes pillLockGlow{0%,to{box-shadow:var(--shadow-sm), var(--ring), 0 0 0 0 #5b8fd68c}50%{box-shadow:var(--shadow-sm), var(--ring), 0 0 12px 4px #5b8fd68c}}@media (prefers-reduced-motion:reduce){.player-pill.is-locked{box-shadow:var(--shadow-sm), var(--ring), 0 0 10px 3px #5b8fd68c;animation:none}}.icon-btn{border:1px solid var(--divider);background:var(--surface);width:40px;height:40px;color:var(--ink);cursor:pointer;box-shadow:var(--shadow-sm);border-radius:50%;flex-shrink:0;font-size:18px;transition:transform .12s,box-shadow .12s}.icon-btn:hover{box-shadow:var(--shadow);transform:translateY(-1px)}#purchase-indicator,#toast{z-index:60;box-shadow:var(--shadow-sm);padding:10px 18px;font-size:14px;font-weight:600;display:none;position:absolute;top:66px;left:50%;transform:translate(-50%)}#purchase-indicator{background:var(--surface);border:1px solid var(--accent);max-width:min(92vw,420px);color:var(--accent-ink);border-radius:14px;align-items:center;gap:10px;padding:7px 7px 7px 16px;animation:.18s both toast-in}#purchase-icon{object-fit:contain;background:var(--accent-soft,#0000000f);border-radius:8px;flex:none;width:32px;height:32px}#purchase-text{flex:none;line-height:1.35}#purchase-cancel{border:1px solid var(--accent);background:var(--accent);color:#fff;font:inherit;cursor:pointer;box-shadow:var(--shadow-sm);border-radius:999px;flex:none;padding:5px 14px;font-size:13px;font-weight:700}#purchase-cancel:active{transform:translateY(1px)}#toast{text-align:center;background:var(--surface);border:1px solid var(--divider);max-width:min(90vw,360px);color:var(--ink);border-radius:14px;line-height:1.4}#toast.toast-info{animation:.18s both toast-in}#toast.toast-error{border-color:var(--danger);color:#9c3b26;background:#fff0ec;font-size:15px;font-weight:700;animation:.16s both toast-in,.36s .16s both toast-shake;box-shadow:0 6px 22px #b83c283d}#toast.toast-error:before{content:"⚠";margin-right:7px}@keyframes toast-in{0%{opacity:0;transform:translate(-50%)translateY(-7px)}to{opacity:1;transform:translate(-50%)translateY(0)}}@keyframes toast-shake{0%,to{transform:translate(-50%)}15%{transform:translate(calc(-50% - 6px))}30%{transform:translate(calc(6px - 50%))}45%{transform:translate(calc(-50% - 4px))}60%{transform:translate(calc(4px - 50%))}75%{transform:translate(calc(-50% - 2px))}}@media (prefers-reduced-motion:reduce){#toast.toast-info,#toast.toast-error{animation:none}}#quick-actions{z-index:55;background:var(--surface);border:1px solid var(--accent);min-width:200px;max-width:min(78vw,300px);box-shadow:var(--shadow);border-radius:14px;flex-direction:column;gap:4px;padding:8px;animation:.12s both quick-pop;display:flex;position:absolute;top:-9999px;left:-9999px}#quick-actions[hidden]{display:none}@keyframes quick-pop{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}.quick-head{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);border-bottom:1px solid var(--divider);padding:2px 6px 6px;font-size:12px;font-weight:800}.quick-btn{appearance:none;border:1px solid var(--divider);background:var(--surface);color:var(--ink);font:inherit;text-align:left;cursor:pointer;border-radius:10px;padding:9px 12px;font-size:13.5px;font-weight:400}.quick-btn .quick-name{font-weight:700}.quick-btn:hover{background:var(--surface-2);border-color:var(--accent)}@media (prefers-reduced-motion:reduce){#quick-actions{animation:none}}#hex-info{bottom:calc(104px + env(safe-area-inset-bottom));left:max(18px, env(safe-area-inset-left));background:var(--surface);border:1px solid var(--divider);border-radius:var(--r);box-shadow:var(--shadow);text-align:center;min-width:0;padding:14px 18px;font-size:14px;line-height:1.65;display:none;position:absolute}#hex-info .hi-row{color:var(--ink-soft);cursor:help}#hex-info .hi-row .hi-sym{text-align:center;min-width:1.1em;margin-right:4px;display:inline-block}#hex-info .hi-row .hi-val{color:var(--ink);font-weight:600;display:inline-block}#hex-info .hi-val.stat-pop-up{animation:.35s ease-out stat-pop-up}#hex-info .hi-val.stat-pop-down{animation:.35s ease-out stat-pop-down}@keyframes stat-pop-up{0%{color:#4caf50;transform:scale(1.25)}to{color:var(--ink);transform:scale(1)}}@keyframes stat-pop-down{0%{color:#e05555;transform:scale(1.25)}to{color:var(--ink);transform:scale(1)}}#hint-tip{z-index:60;background:var(--surface);max-width:min(280px,82vw);color:var(--ink);border:1px solid var(--divider);border-radius:var(--r);box-shadow:var(--shadow);text-align:center;pointer-events:none;padding:8px 12px;font-size:13px;line-height:1.45;position:fixed;transform:translate(-50%,-100%)}#hint-tip[hidden]{display:none}@media (prefers-reduced-motion:reduce){#hex-info .hi-val.stat-pop-up,#hex-info .hi-val.stat-pop-down{animation:none}}#dock{bottom:calc(16px + env(safe-area-inset-bottom));background:var(--surface);border:1px solid var(--divider);box-shadow:var(--shadow);max-width:calc(100vw - 24px - env(safe-area-inset-left) - env(safe-area-inset-right));border-radius:20px;align-items:center;gap:12px;padding:10px;display:flex;position:absolute;left:50%;transform:translate(-50%)}#ai-history-panel{top:50%;right:var(--history-panel-right);min-height:56px;max-height:min(52vh,420px);width:var(--history-panel-width);background:var(--surface);border:1px solid var(--divider);border-radius:var(--r);box-shadow:var(--shadow);z-index:5;flex-direction:column;transition:transform .28s cubic-bezier(.22,.61,.36,1),opacity .24s;display:flex;position:absolute;overflow:hidden;transform:translateY(-50%)}#ai-history-panel.collapsed{transform:translateY(-50%) translateX(calc(100% + 24px + env(safe-area-inset-right)));opacity:0;pointer-events:none}.ai-history-tab.panel-open~#ai-history-panel:not(.has-entries){border-top-left-radius:0;border-bottom-left-radius:0}.ai-history-tab{background:var(--surface);border:1px solid var(--divider);border-radius:var(--r-sm) 0 0 var(--r-sm);width:22px;height:56px;box-shadow:var(--shadow-sm);color:var(--ink-soft);cursor:pointer;z-index:6;border-right:none;justify-content:center;align-items:center;padding:0;font-size:13px;line-height:1;transition:transform .28s cubic-bezier(.22,.61,.36,1);display:flex;position:absolute;top:50%;right:0;transform:translateY(-50%)}.ai-history-tab.panel-open{transform:translateY(-50%) translateX(calc(-1 * (var(--history-panel-width) + var(--history-panel-right) - 1px)));box-shadow:none}.ai-history-tab:hover{background:var(--bg-2);color:var(--ink)}.ai-history-head{border-bottom:1px solid var(--divider);flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 14px;font-size:14px;font-weight:700;display:flex}.ai-history-close{color:var(--ink-soft);cursor:pointer;background:0 0;border:none;padding:2px 4px;font-size:15px;line-height:1}#ai-history-list{scrollbar-width:none;flex:1;padding:6px 0;overflow-y:auto}#ai-history-list::-webkit-scrollbar{display:none}.ai-history-group{border-bottom:1px solid var(--divider)}.ai-history-group:last-child{border-bottom:none}.ai-history-group-head{cursor:pointer;color:var(--ink-soft);-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:8px 14px;font-size:13px;font-weight:700;display:flex}.ai-history-group-head .agent-dot{width:11px;height:11px}.ai-history-group-count{color:var(--ink-faint);margin-left:auto;font-weight:600}.ai-history-group-fold{color:var(--ink-faint);transition:transform .15s;display:inline-block}.ai-history-group.is-folded .ai-history-group-fold{transform:rotate(-90deg)}.ai-history-group.is-folded .ai-history-entries{display:none}.ai-history-entries{flex-direction:column;gap:5px;padding:5px 10px 8px;display:flex}.ai-history-entry{color:var(--ink);cursor:pointer;background:var(--surface-2);border:1px solid var(--divider);border-radius:var(--r-sm);box-shadow:var(--shadow-sm);-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:7px 9px;font-size:12.5px;line-height:1.3;transition:background .12s,border-color .12s,box-shadow .12s,transform .12s;display:flex}.ai-history-entry:hover{background:var(--bg-2);border-color:var(--ink-faint);box-shadow:var(--shadow);transform:translateY(-1px)}.ai-history-entry:active{box-shadow:var(--shadow-sm);transform:translateY(0)}.ai-history-entry.is-previewed{background:var(--bg-2);border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent), var(--shadow-sm)}.ai-history-entry.is-new{animation:.3s both aiHistoryRowIn}@keyframes aiHistoryRowIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.ai-history-entry.is-new{animation:none}}#turn-actions{bottom:calc(16px + env(safe-area-inset-bottom));right:max(16px, env(safe-area-inset-right));z-index:6;align-items:stretch;gap:10px;display:flex;position:absolute}#buy-row{scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;gap:8px;padding:4px 0;display:flex;overflow-x:auto}#buy-row::-webkit-scrollbar{display:none}.buy-btn{scroll-snap-align:start;border:1px solid var(--divider);background:var(--surface-2);border-radius:var(--r-sm);cursor:pointer;flex-direction:column;flex-shrink:0;align-items:stretch;width:64px;height:72px;transition:transform .12s,box-shadow .12s,border-color .12s,background .12s;display:flex;position:relative;overflow:hidden}.buy-icon{flex:1;justify-content:center;align-items:center;min-height:0;display:flex;overflow:hidden}.buy-icon img{object-fit:contain;pointer-events:none;filter:drop-shadow(0 2px 3px #3d41502e);width:100%;height:100%;transform:scale(1.5)}.buy-btn .buy-cost{color:var(--ink);flex:none;justify-content:center;align-items:center;gap:2px;padding-bottom:4px;font-size:12px;font-weight:700;display:flex}.buy-btn .buy-cost:before{content:"◆";color:var(--accent);font-size:9px}.buy-btn:hover{box-shadow:var(--shadow-sm);border-color:var(--ink-faint);transform:translateY(-2px)}.buy-btn.active{border-color:var(--accent);box-shadow:var(--ring);background:#5b8fd629}.buy-btn.unaffordable{opacity:.4;cursor:not-allowed;filter:grayscale(.7)}.buy-btn.unaffordable:hover{box-shadow:none;transform:none}#buy-row.locked{opacity:.4;filter:grayscale(.7);pointer-events:none}.btn-end-turn{background:var(--go);border:1px solid var(--go);color:#fff;border-radius:var(--r-sm);box-shadow:var(--shadow-sm);cursor:pointer;flex-shrink:0;padding:14px 22px;font-size:15px;font-weight:700;transition:transform .12s,box-shadow .12s,background .12s}.btn-end-turn:hover{background:var(--go-ink);border-color:var(--go-ink);box-shadow:var(--shadow);transform:translateY(-1px)}.btn-next-action{background:var(--accent);border:1px solid var(--accent);color:#fff;border-radius:var(--r-sm);box-shadow:var(--shadow-sm);cursor:pointer;flex-shrink:0;align-items:center;gap:8px;padding:14px 18px;font-size:15px;font-weight:700;transition:transform .12s,box-shadow .12s,background .12s,opacity .12s;display:flex}.btn-next-action[hidden]{display:none}.btn-next-action:hover:not(:disabled){background:var(--accent-ink);border-color:var(--accent-ink);box-shadow:var(--shadow);transform:translateY(-1px)}@keyframes na-pulse-grow{0%{transform:scale(1)}40%{transform:scale(1.12)}to{transform:scale(1)}}@keyframes na-pulse-shrink{0%{transform:scale(1)}40%{transform:scale(.92)}to{transform:scale(1)}}.btn-next-action.na-pulse-grow{animation:.28s na-pulse-grow}.btn-next-action.na-pulse-shrink{animation:.28s na-pulse-shrink}@media (prefers-reduced-motion:reduce){.btn-next-action.na-pulse-grow,.btn-next-action.na-pulse-shrink{animation:none}}.btn-next-action .na-count{min-width:22px;color:var(--accent-ink);font-variant-numeric:tabular-nums;text-align:center;background:#ffffffeb;border-radius:999px;padding:1px 5px;font-size:13px;font-weight:800}.btn-next-action:disabled{background:var(--ink-faint);border-color:var(--ink-faint);opacity:.55;cursor:default;box-shadow:none}.btn-next-action:disabled .na-count{color:var(--ink-soft);background:#ffffff80}.btn-end-turn.is-suggested{animation:2.2s ease-in-out infinite end-turn-nudge}@keyframes end-turn-nudge{0%,to{box-shadow:var(--shadow-sm)}50%{box-shadow:var(--shadow-sm), 0 0 0 6px #8fb57347}}@media (prefers-reduced-motion:reduce){.btn-end-turn.is-suggested{box-shadow:var(--shadow-sm), 0 0 0 4px #8fb57359;animation:none}}#game-over{background:var(--surface);border:1px solid var(--divider);text-align:center;box-shadow:var(--shadow);z-index:20;border-radius:22px;min-width:280px;padding:36px 48px;display:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#game-over .go-title{justify-content:center;align-items:center;gap:12px;margin-bottom:6px;font-size:30px;font-weight:800;display:flex}#game-over .go-sub{color:var(--ink-soft);margin-bottom:22px}#game-over .go-buttons{justify-content:center;gap:10px;display:flex}#game-over .agent-dot{width:24px;height:24px}#fps{bottom:calc(8px + env(safe-area-inset-bottom));right:calc(10px + env(safe-area-inset-right));background:var(--surface);border:1px solid var(--divider);color:var(--ink-soft);pointer-events:none;z-index:30;white-space:pre;opacity:.8;border-radius:7px;padding:4px 9px;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:11px;font-weight:600;display:none;position:absolute}#turn-controls{bottom:calc(16px + env(safe-area-inset-bottom));left:max(16px, env(safe-area-inset-left));background:var(--surface);border:1px solid var(--divider);box-shadow:var(--shadow);z-index:6;border-radius:18px;gap:6px;padding:6px;display:flex;position:absolute}.turn-ctrl{width:44px;height:44px;color:var(--ink-soft);cursor:pointer;background:0 0;border:none;border-radius:13px;justify-content:center;align-items:center;transition:background .12s,color .12s,transform .12s;display:inline-flex}.turn-ctrl:hover{background:var(--surface-2);color:var(--ink);transform:translateY(-1px)}.turn-ctrl:active{transform:translateY(0)}.turn-ctrl svg{width:24px;height:24px;display:block}.overlay{z-index:40;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#3d415047;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.overlay[hidden]{display:none}.overlay.overlay-confirm{z-index:60}.pause-card{background:var(--surface);border:1px solid var(--divider);width:min(340px,88vw);box-shadow:var(--shadow);text-align:center;border-radius:22px;padding:26px 26px 22px;position:relative}.pause-fs-btn{width:36px;height:36px;font-size:16px;position:absolute;top:12px;right:12px}[data-action=fullscreen][aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fff}.pause-card h2{margin-bottom:18px;font-size:24px;font-weight:800}.pause-buttons{flex-direction:column;gap:10px;margin-bottom:18px;display:flex}.setting{min-height:48px;color:var(--ink-soft);border-bottom:1px solid var(--divider);align-items:center;gap:12px;padding:0 4px;font-size:14px;font-weight:600;display:flex}.pause-buttons+.setting{border-top:1px solid var(--divider)}.setting:last-of-type{margin-bottom:18px}.setting>span:first-child{white-space:nowrap}.setting-wrap{flex-wrap:wrap;row-gap:8px;min-height:0;padding-top:10px;padding-bottom:10px}.setting-wrap .segmented{flex-basis:100%;margin-left:0}.setting input[type=range]{min-width:0;accent-color:var(--accent);flex:0 140px;margin-left:auto}.setting-slot{flex:0 0 48px;justify-content:flex-end;align-items:center;display:flex}#mute-btn{width:32px;height:32px;font-size:15px}#mute-btn.muted,#menu-mute-btn.muted{opacity:.55;color:var(--ink-soft)}.btn-quit{color:var(--danger)}.color-hint{color:var(--ink-soft);margin:-8px 0 18px;font-size:13px}.color-choices{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.segmented{border:1px solid var(--divider);background:var(--surface);border-radius:999px;flex-shrink:0;margin-left:auto;display:flex;overflow:hidden}.segmented-4 .seg{flex:1}.seg{appearance:none;font:inherit;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;padding:7px 12px;font-size:13px;font-weight:600;transition:background .12s,color .12s}.seg+.seg{border-left:1px solid var(--divider)}.seg:hover{background:var(--surface-2)}.seg[aria-pressed=true]{background:var(--accent);color:#fff}.seg:focus-visible{box-shadow:inset var(--ring);outline:none}.color-difficulty{color:var(--ink-soft);align-items:center;gap:12px;margin-top:18px;font-size:14px;font-weight:600;display:flex}@media (width<=480px){.setting-seg,.setting-wrap{flex-wrap:wrap;row-gap:8px;min-height:0;padding-top:10px;padding-bottom:10px}.setting-seg .segmented,.setting-wrap .segmented{flex-basis:100%;margin-left:0}.setting-seg .seg,.setting-wrap .seg{flex:1}.pause-card{padding:22px 18px 18px}.seg{padding:7px 8px;font-size:12px}}#screen-howto{z-index:45}.howto-card{background:var(--surface);border:1px solid var(--divider);width:min(560px,92vw);height:min(73vh,610px);box-shadow:var(--shadow);border-radius:22px;flex-direction:column;display:flex;overflow:hidden}.howto-head{border-bottom:1px solid var(--divider);justify-content:space-between;align-items:center;padding:18px 22px 14px;display:flex}.howto-head h2{font-size:22px;font-weight:800}.howto-x{color:var(--ink-soft);cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:18px;line-height:1}.howto-x:hover{color:var(--ink)}.howto-body{text-align:left;flex:auto;padding:16px 22px 20px;overflow-y:auto}.howto-page h3{color:var(--ink);margin:2px 0 8px;font-size:16px;font-weight:800}.howto-page h3:not(:first-child){margin-top:20px}.howto-page p{color:var(--ink-soft);margin-bottom:12px;font-size:14px;line-height:1.6}.howto-page p b,.howto-list b{color:var(--ink)}.howto-list{flex-direction:column;gap:8px;margin:0 0 12px;padding:0;list-style:none;display:flex}.howto-list li{color:var(--ink-soft);padding-left:16px;font-size:14px;line-height:1.5;position:relative}.howto-list li:before{content:"";background:var(--accent);border-radius:50%;width:6px;height:6px;position:absolute;top:8px;left:2px}.howto-page p.howto-note{background:var(--surface-2);border-radius:var(--r-sm);margin-top:6px;padding:10px 12px;font-size:13px}.howto-warn{color:var(--ink);border:1px solid var(--danger);border-radius:var(--r-sm);background:#d98a7224;margin:6px 0 4px;padding:11px 14px;font-size:13.5px;line-height:1.55}.howto-warn.howto-example{border-color:var(--accent);background:#5b8fd61f}.howto-obj{border-bottom:1px solid var(--divider);align-items:flex-start;gap:14px;padding:12px 0;display:flex}.howto-obj:last-of-type{border-bottom:none}.howto-art{background:var(--surface-2);border:1px solid var(--divider);border-radius:12px;flex:none;justify-content:center;align-items:center;width:60px;height:60px;display:flex}.howto-art img{object-fit:contain;max-width:48px;max-height:48px}.howto-info{flex:auto;min-width:0}.howto-name{color:var(--ink);margin-bottom:6px;font-size:15px;font-weight:700}.ht-tier{color:var(--ink-faint);margin-left:4px;font-size:12px;font-weight:600}.howto-info p{margin:0;font-size:13.5px}.howto-chips{flex-wrap:wrap;gap:6px;margin-bottom:6px;display:flex}.ht-chip{color:var(--ink-soft);background:var(--surface-2);border:1px solid var(--divider);border-radius:999px;padding:2px 9px;font-size:12px;font-weight:700}.ht-chip.ht-str{color:var(--accent-ink);border-color:var(--accent);background:#5b8fd61a}.ht-chip.ht-warn{color:#9c3b26;border-color:var(--danger);background:#d98a721f}.howto-nav{border-top:1px solid var(--divider);align-items:center;gap:12px;padding:13px 22px;display:flex}.howto-nav .btn{flex:none}.howto-nav .btn[hidden]{visibility:hidden;pointer-events:none;display:inline-block}.howto-dots{flex:auto;justify-content:center;gap:8px;display:flex}.howto-card-wide{width:min(920px,94vw);height:min(80vh,660px)}.howto-head-right{align-items:center;gap:12px;display:flex}.howto-step{color:var(--ink-faint);font-variant-numeric:tabular-nums;font-size:12px;font-weight:700}.howto-split{grid-template-columns:minmax(0,340px) minmax(0,1fr);align-items:start;gap:22px;margin-bottom:4px;display:grid}.howto-visual{flex-direction:column;gap:8px;margin:0;display:flex;position:sticky;top:0}.howto-canvas{aspect-ratio:4/3;background:var(--bg);border:1px solid var(--divider);width:100%;box-shadow:var(--shadow-sm);border-radius:14px;display:block}.howto-visual figcaption{color:var(--ink-faint);text-align:center;font-size:12.5px;font-weight:600;line-height:1.45}.howto-text>h3:first-child{margin-top:0}.howto-page>.howto-obj:first-of-type{border-top:1px solid var(--divider);margin-top:6px}@media (width<=720px){.howto-split{grid-template-columns:minmax(0,1fr);gap:14px}.howto-visual{position:static}}.howto-page{outline:none}.howto-keys{color:var(--ink-faint);text-align:center;padding:0 22px 12px;font-size:11.5px}.howto-keys kbd{min-width:18px;font:inherit;color:var(--ink-soft);background:var(--surface-2);border:1px solid var(--divider);border-bottom-width:2px;border-radius:5px;margin:0 2px;padding:1px 5px;font-weight:700;display:inline-block}.howto-controls kbd{font:inherit;color:var(--ink-soft);background:var(--surface-2);border:1px solid var(--divider);border-bottom-width:2px;border-radius:5px;margin:0 2px;padding:1px 5px;font-size:12px;font-weight:700;display:inline-block}.howto-controls-head{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);margin:2px 0 10px;font-size:12.5px;font-weight:800}.howto-dot{cursor:pointer;background:0 0;border:none;border-radius:50%;width:22px;height:22px;padding:0;position:relative}.howto-dot:after{content:"";background:var(--divider);border-radius:50%;transition:background .15s,transform .15s;position:absolute;inset:6px}.howto-dot:hover:after{background:var(--ink-faint)}.howto-dot.active:after{background:var(--accent);transform:scale(1.25)}.howto-dot:focus-visible{box-shadow:var(--ring);outline:none}.howto-x:focus-visible{box-shadow:var(--ring);border-radius:8px;outline:none}@media (prefers-reduced-motion:reduce){.howto-dot:after{transition:none}}#screen-stats{z-index:45}.stats-section{margin-bottom:22px}.stats-section:last-child{margin-bottom:0}.stats-section h3{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft);margin:0 0 8px;font-size:13px;font-weight:800}.stats-row{border-top:1px solid var(--divider);justify-content:space-between;align-items:center;gap:10px;padding:9px 0;font-size:14px;display:flex}.stats-row:first-of-type{border-top:none}.stats-row-label{color:var(--ink);font-weight:600}.stats-color-label{align-items:center;gap:7px;display:inline-flex}.stats-row-value{color:var(--ink-soft);font-variant-numeric:tabular-nums;text-align:right}.map-badges{align-items:center;gap:4px;margin-top:6px;display:flex}.map-badge-diff{color:#fff;border-radius:5px;padding:3px 5px;font-size:10px;font-weight:800;line-height:1}.map-badge-diff.diff-easy{background:#8fb573}.map-badge-diff.diff-medium{background:var(--accent)}.map-badge-diff.diff-hard{background:var(--danger)}.map-badge-color{border:1px solid #00000026;border-radius:50%;width:12px;height:12px}.map-card.is-locked{cursor:default}.map-card.is-locked>:not(.map-lock){opacity:.55}.map-card.is-locked:hover{box-shadow:var(--shadow-sm);border-color:var(--divider);transform:none}.map-lock{border-radius:inherit;pointer-events:none;background:#3d415052;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.map-lock-badge{width:44px;height:44px;box-shadow:var(--shadow-sm);background:#fffffff0;border-radius:50%;justify-content:center;align-items:center;font-size:20px;display:flex}.seg-locked{color:var(--ink-faint);cursor:not-allowed}.seg-locked:hover{background:0 0}.color-swatch{background:var(--bg);border:1px solid var(--divider);cursor:pointer;font:inherit;color:var(--ink-soft);border-radius:14px;flex-direction:column;align-items:center;gap:6px;padding:12px 6px;font-size:12.5px;font-weight:700;transition:border-color .12s,transform .12s;display:flex}.color-swatch:hover{border-color:var(--accent);transform:translateY(-2px)}.color-swatch .swatch-dot{border-radius:50%;width:34px;height:34px;box-shadow:inset 0 0 0 2px #ffffff8c}.overlay.soundboard{position:fixed}.overlay.soundboard .pause-card{width:min(520px,92vw)}.soundboard-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;max-height:60vh;margin:16px 0;display:grid;overflow-y:auto}.soundboard-grid .btn{justify-content:center;width:100%}@media (width<=680px) and (orientation:portrait){.howto-keys{display:none}.howto-nav{gap:6px;padding:10px 14px}.howto-nav .btn{padding:7px 12px;font-size:13px}.howto-dots{gap:4px}.howto-dot{width:18px;height:18px}.howto-dot:after{inset:5px}#top-bar{flex-wrap:nowrap;gap:8px}#menu-btn{margin-left:auto}#scoreboard{top:max(64px, calc(56px + env(safe-area-inset-top)));height:calc(100dvh - 300px);left:max(4px, calc(env(safe-area-inset-left) - 4px));scrollbar-width:none;z-index:5;flex-flow:column;flex:none;justify-content:center;align-items:stretch;gap:6px;width:auto;max-height:none;padding:4px;position:absolute;right:auto;overflow-y:auto;transform:none}#scoreboard::-webkit-scrollbar{display:none}.player-pill{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);box-shadow:var(--shadow-sm);background:#fdfcf5eb;border-radius:9px;flex-direction:column;flex-shrink:0;align-items:center;gap:1px;padding:4px 7px;font-size:11px;display:flex}.player-pill .pp-line{align-items:center;gap:5px;display:flex}.player-pill .agent-dot{width:10px;height:10px}.player-pill .pp-stat{gap:2px}#dock{left:max(10px, env(safe-area-inset-left));right:auto;bottom:calc(10px + env(safe-area-inset-bottom));padding:8px;transform:none}#buy-row{grid-template-columns:repeat(3,auto);grid-auto-rows:1fr;gap:6px;display:grid;overflow:visible}.buy-btn{scroll-snap-align:none;width:50px;height:54px}.buy-btn .buy-cost{padding-bottom:3px;font-size:11px}#turn-actions{right:max(10px, env(safe-area-inset-right));bottom:calc(10px + env(safe-area-inset-bottom));gap:6px}.btn-end-turn{padding:11px 14px;font-size:13px}.btn-next-action{gap:0;padding:11px 12px;font-size:13px}.btn-next-action .na-text{display:none}.btn-next-action .na-count{min-width:20px}#hex-info{bottom:calc(168px + env(safe-area-inset-bottom));left:max(10px, env(safe-area-inset-left));min-width:0;max-width:min(72vw,300px);right:auto}#fps{bottom:calc(66px + env(safe-area-inset-bottom));right:calc(10px + env(safe-area-inset-right))}#turn-controls{top:max(12px, env(safe-area-inset-top));bottom:auto;left:auto;right:calc(62px + env(safe-area-inset-right));flex-direction:row;align-items:center;gap:4px;height:40px;padding:4px;transform:none}.turn-ctrl{border-radius:8px;width:28px;height:28px}.turn-ctrl svg{width:16px;height:16px}:root{--history-panel-width:min(110px, calc(100vw - 16px));--history-panel-right:max(8px, env(safe-area-inset-right))}#ai-history-panel{max-height:min(32vh,220px)}.ai-history-head{padding:7px 8px;font-size:12px}.ai-history-close{font-size:12px}.ai-history-group-head{gap:5px;padding:6px 8px;font-size:11px}.ai-history-group-head .agent-dot{width:9px;height:9px}.ai-history-entries{gap:4px;padding:3px 4px 5px}.ai-history-entry{padding:4px;font-size:11px;line-height:1.25}}@media (hover:none){.btn:hover,.btn-primary:hover,.btn-ghost:hover,.map-card:hover,.icon-btn:hover,.turn-ctrl:hover,.buy-btn:hover,.btn-end-turn:hover,.btn-next-action:hover{transform:none}.btn:hover,.icon-btn:hover,.buy-btn:hover{box-shadow:var(--shadow-sm)}.map-card:hover{box-shadow:var(--shadow-sm);border-color:var(--divider)}.btn-end-turn:hover{background:var(--go);border-color:var(--go);box-shadow:var(--shadow-sm)}.btn-next-action:hover:not(:disabled){background:var(--accent);border-color:var(--accent);box-shadow:var(--shadow-sm)}}@media (width<=400px){.chip{padding:7px 12px;font-size:13px}.menu-buttons{width:min(280px,86vw)}.howto-nav{gap:4px;padding:8px 10px}.howto-dot{width:16px;height:16px}.howto-dot:after{inset:4px}#hex-info{padding:11px 14px;font-size:13px}}@media (height<=500px) and (orientation:landscape){#screen-menu{gap:12px}.wordmark-main{font-size:clamp(32px,11vh,56px)}.wordmark-the{font-size:clamp(12px,4vh,16px)}.tagline{margin-top:2px}.menu-buttons{gap:8px;margin-top:4px}.menu-buttons .btn{padding:10px 20px}.hint-panel,.pause-card{max-height:calc(100vh - 24px);overflow-y:auto}.howto-card,.howto-card-wide{border-radius:16px;width:min(96vw,920px);height:calc(100dvh - 16px);max-height:none}.howto-head{padding:6px 16px}.howto-head h2{font-size:17px}.howto-x{padding:2px 6px;font-size:15px}.howto-body{padding:10px 18px 12px}.howto-nav{gap:10px;padding:7px 16px}.howto-nav .btn{padding:7px 14px;font-size:13px}.howto-dots{gap:5px}.howto-keys{display:none}#top-bar{padding:max(6px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) 6px max(10px, env(safe-area-inset-left));gap:8px}.chip{gap:7px;padding:5px 11px;font-size:12px}.chip .agent-dot{width:11px;height:11px}#scoreboard{flex-wrap:nowrap;flex:0 auto;justify-content:center;gap:5px;margin-right:auto}.player-pill{border-radius:9px;flex-direction:column;align-items:center;gap:1px;padding:3px 6px;font-size:10px;line-height:1.1}.player-pill .pp-line{align-items:center;gap:4px;display:flex}.player-pill .agent-dot{width:9px;height:9px}.player-pill .pp-stat{gap:2px}.player-pill .pp-gold .pp-num{min-width:3ch}.icon-btn{width:34px;height:34px;font-size:16px}#turn-controls{bottom:calc(8px + env(safe-area-inset-bottom));left:max(10px, env(safe-area-inset-left));border-radius:14px;gap:4px;padding:4px}.turn-ctrl{border-radius:8px;width:30px;height:30px}.turn-ctrl svg{width:16px;height:16px}#dock{left:calc(50% - 42px);bottom:calc(8px + env(safe-area-inset-bottom));max-width:calc(100vw - 270px - env(safe-area-inset-left) - env(safe-area-inset-right));border-radius:14px;gap:8px;min-width:0;padding:4px 6px;transform:translate(-50%)}#buy-row{gap:5px}.buy-btn{flex-direction:row;justify-content:center;align-items:center;gap:3px;width:auto;height:32px;padding:0 8px 0 4px}.buy-icon{flex:none;width:26px;height:26px}.buy-icon img{transform:scale(2)}.buy-btn .buy-cost{padding-bottom:0;font-size:11px}#turn-actions{bottom:calc(8px + env(safe-area-inset-bottom));right:max(10px, env(safe-area-inset-right));gap:8px}.btn-end-turn{padding:7px 14px;font-size:13px}.btn-next-action{gap:0;padding:7px 10px;font-size:13px}.btn-next-action .na-text{display:none}.btn-next-action .na-count{min-width:22px;font-size:12px}#hex-info{bottom:calc(86px + env(safe-area-inset-bottom));padding:10px 14px;font-size:13px}}@media (hover:none) and (width>=681px) and (height>=501px){#top-bar{flex-wrap:nowrap}#scoreboard{flex-wrap:nowrap;gap:7px}.player-pill{flex-direction:column;align-items:center;gap:1px;padding:4px 9px;font-size:11px;line-height:1.15}.pp-line{align-items:center;gap:5px;display:flex}.player-pill .agent-dot{width:10px;height:10px}.player-pill .pp-stat{gap:2px}.btn-next-action{gap:0;padding:14px 16px}.btn-next-action .na-text{display:none}.btn-next-action .na-count{min-width:22px}#dock{left:calc(50% - 45px)}}@media (hover:none) and (width>=681px) and (height>=501px) and (orientation:landscape){#scoreboard{flex:0 auto;justify-content:center;margin-right:auto}#turn-controls{left:max(12px, env(safe-area-inset-left));border-radius:14px;gap:5px;padding:5px}.turn-ctrl{border-radius:11px;width:36px;height:36px}.turn-ctrl svg{width:20px;height:20px}#turn-actions{right:max(12px, env(safe-area-inset-right));gap:8px}.btn-end-turn{padding:9px 15px;font-size:13.5px}.btn-next-action{padding:9px 13px}#dock{border-radius:16px;padding:6px 7px;left:calc(50% - 39px)}#buy-row{gap:4px}.buy-btn{flex-direction:row;justify-content:center;align-items:center;gap:3px;width:auto;height:34px;padding:0 9px 0 4px}.buy-icon{flex:none;width:26px;height:26px}.buy-icon img{transform:scale(2)}.buy-btn .buy-cost{padding-bottom:0;font-size:11.5px}}#consent-banner{left:50%;bottom:calc(16px + env(safe-area-inset-bottom));z-index:1000;background:var(--surface);border:1px solid var(--divider);border-radius:var(--r-sm);max-width:min(640px,100vw - 24px);box-shadow:var(--shadow);align-items:center;gap:16px;padding:12px 16px;display:flex;position:fixed;transform:translate(-50%)}#consent-banner .consent-text{color:var(--ink-soft);flex:auto;font-size:13px}#consent-banner .consent-actions{flex:none;gap:8px;display:flex}@media (width<=560px){#consent-banner{text-align:center;flex-direction:column;align-items:stretch;gap:10px}#consent-banner .consent-actions{justify-content:center}}#screen-saves{z-index:44}.saves-card{background:var(--surface);border:1px solid var(--divider);width:min(520px,92vw);height:min(70vh,560px);box-shadow:var(--shadow);border-radius:22px;flex-direction:column;display:flex;overflow:hidden}.saves-head{border-bottom:1px solid var(--divider);justify-content:space-between;align-items:center;padding:18px 22px 14px;display:flex}.saves-head h2{font-size:22px;font-weight:800}.save-list{flex-direction:column;flex:auto;gap:8px;padding:12px;display:flex;overflow-y:auto}.saves-empty{text-align:center;color:var(--ink-soft);margin:auto;padding:24px 16px;font-size:14px}.save-row{background:var(--surface-2);border:1px solid var(--divider);border-radius:var(--r-sm);align-items:center;gap:12px;padding:10px;display:flex}.save-thumb{object-fit:contain;background:var(--bg-2);border-radius:6px;flex:none;width:72px;height:54px}.save-text{text-align:left;flex:auto;min-width:0}.save-title{align-items:center;gap:7px;font-size:15px;font-weight:700;display:flex}.save-sub{color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:12px;overflow:hidden}.save-actions{flex:none;align-items:center;gap:6px;display:flex}.save-actions .icon-btn{width:34px;height:34px;font-size:14px}.saves-foot{border-top:1px solid var(--divider);justify-content:space-between;gap:8px;padding:12px 16px;display:flex}#btn-continue:not([hidden])~.btn[data-action=play]{background:var(--surface);border-color:var(--divider);color:var(--ink)}#btn-continue:not([hidden])~.btn[data-action=play]:hover{background:var(--surface);border-color:var(--ink-faint)}@media (width<=480px){.save-row{flex-wrap:wrap}.save-actions{margin-left:auto}}@media (height<=500px) and (orientation:landscape){.saves-card{border-radius:16px;width:min(96vw,520px);height:calc(100dvh - 16px);max-height:none}.saves-head{padding:6px 16px}.saves-head h2{font-size:17px}.saves-foot{padding:7px 16px}.saves-foot .btn{padding:7px 14px;font-size:13px}#screen-color .pause-card{width:min(560px,94vw);max-height:none;padding:14px 20px 16px;overflow:visible}#screen-color .pause-card h2{margin-bottom:4px;font-size:18px}#screen-color .color-hint{margin:0 0 12px;font-size:12px}#screen-color .color-choices{grid-template-columns:repeat(3,auto);justify-content:center;justify-items:center;gap:12px;display:grid}#screen-color .color-swatch{border-radius:12px;flex-direction:row;gap:8px;padding:7px 12px}#screen-color .swatch-dot{width:22px;height:22px}#screen-color .color-difficulty{gap:10px;margin-top:12px}}
