:root{--hud-bg: rgba(12, 14, 20, .92);--hud-bg-solid: #12151c;--hud-border: rgba(201, 168, 76, .35);--hud-border-bright: rgba(230, 200, 100, .55);--hud-text: #e8ecf0;--hud-muted: #94a3b8;--hud-accent: #c9a84c;--hud-food: #86efac;--hud-wood: #a3e635;--hud-gold: #fde047;--hud-stone: #cbd5e1;--hud-danger: #f87171;--hud-panel-h: 200px;--font-ui: "Segoe UI", ui-sans-serif, system-ui, sans-serif}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#0b1020;color:var(--hud-text);font-family:var(--font-ui)}#top-bar{position:fixed;top:0;left:0;right:0;z-index:20;display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:0;min-height:40px;max-height:48px;background:linear-gradient(180deg,#12141cf5,#0c0e14e6);border-bottom:1px solid var(--hud-border);box-shadow:0 4px 20px #00000073;pointer-events:none;overflow:hidden}#top-bar .brand{display:flex;align-items:center;padding:0 14px;font-weight:700;font-size:13px;letter-spacing:.02em;color:var(--hud-accent);border-right:1px solid rgba(255,255,255,.06);white-space:nowrap;flex-shrink:0}#resource-strip{display:flex;flex:1 1 auto;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:4px;padding:6px 10px;min-width:0;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none}#resource-strip::-webkit-scrollbar{display:none}.res-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:4px;background:#00000059;border:1px solid rgba(255,255,255,.06);font-size:13px;font-variant-numeric:tabular-nums;min-width:0;flex-shrink:0;white-space:nowrap;line-height:1.2}.res-chip .ico{width:14px;height:14px;border-radius:2px;flex-shrink:0}.res-chip.food .ico{background:linear-gradient(135deg,#4ade80,#166534)}.res-chip.wood .ico{background:linear-gradient(135deg,#a3e635,#3f6212)}.res-chip.gold .ico{background:linear-gradient(135deg,#fde047,#a16207)}.res-chip.stone .ico{background:linear-gradient(135deg,#e2e8f0,#64748b)}.res-chip.pop .ico{background:linear-gradient(135deg,#93c5fd,#1d4ed8)}.res-chip.age .ico{background:linear-gradient(135deg,#c4b5fd,#6d28d9)}.res-chip.food{color:var(--hud-food)}.res-chip.wood{color:var(--hud-wood)}.res-chip.gold{color:var(--hud-gold)}.res-chip.stone{color:var(--hud-stone)}button.res-chip.idle-vills{cursor:pointer;color:#fde68a;border-color:#fde68a59;background:#78501473;font:inherit;min-width:64px;pointer-events:auto}button.res-chip.idle-vills:hover{background:#a06e1e8c;border-color:#fde68a8c}button.res-chip.idle-vills:focus-visible{outline:1px solid #fde68a;outline-offset:2px}button.res-chip.idle-vills .ico{background:linear-gradient(135deg,#fde68a,#b45309);display:inline-flex;align-items:center;justify-content:center;font-size:11px;line-height:1}button.res-chip.idle-vills .idle-vills-label{font-size:11px;opacity:.85;text-transform:uppercase;letter-spacing:.04em}button.res-chip.idle-vills.is-zero{opacity:.55}#top-meta{display:flex;align-items:center;gap:12px;padding:0 12px;font-size:11px;color:var(--hud-muted);border-left:1px solid rgba(255,255,255,.06);white-space:nowrap;flex-shrink:0;max-width:min(42vw,420px);overflow:hidden}#top-meta>span{overflow:hidden;text-overflow:ellipsis}#top-meta #civ-line{color:#c4b5fd;max-width:220px;overflow:hidden;text-overflow:ellipsis}#bottom-panel{position:fixed;left:0;right:0;bottom:0;z-index:20;display:grid;grid-template-columns:minmax(200px,280px) 1fr minmax(200px,280px);gap:0;height:var(--hud-panel-h);background:#0e1018;border-top:2px solid var(--hud-border);box-shadow:0 -8px 32px #0000008c;pointer-events:auto;overflow:hidden}.panel-section{padding:10px 12px;border-right:1px solid rgba(255,255,255,.06);min-width:0;overflow:hidden;display:flex;flex-direction:column;background:#0e1018}.panel-section:last-child{border-right:none}.panel-title{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--hud-accent);margin-bottom:6px;flex-shrink:0}#selection-panel{font-size:12px;line-height:1.4;color:var(--hud-text);overflow:hidden;flex:1;min-height:0}#selection-panel .sel-empty{color:var(--hud-muted);font-size:12px}#selection-panel .sel-row{display:flex;justify-content:space-between;gap:8px;padding:3px 0;border-bottom:1px solid rgba(255,255,255,.04)}#selection-panel .sel-name{font-weight:600}#selection-panel .sel-hp{color:#86efac;font-variant-numeric:tabular-nums;font-size:11px}#selection-panel .sel-stance{color:#fde68a;font-size:10px;text-transform:uppercase}#selection-panel .sel-building{color:#93c5fd}.portrait-grid{display:flex;flex-wrap:wrap;gap:8px}.portrait-card{position:relative;width:76px;background:#00000059;border:1px solid rgba(255,255,255,.1);border-radius:5px;overflow:hidden}.portrait-card .portrait{width:76px;height:76px;object-fit:cover;object-position:center 20%;display:block;background:#1a2230}.portrait-row .portrait{width:56px;height:56px;object-fit:cover;object-position:top center;display:block;background:#1a2230}.portrait-row.unit-hero{align-items:stretch;gap:10px}.portrait-hero-frame{flex-shrink:0;width:96px;border-radius:6px;overflow:hidden;border:1px solid rgba(255,255,255,.14);background:#1a2230;box-shadow:0 2px 8px #00000059}.portrait-row .portrait.portrait-hero{width:96px;height:96px;border:none;border-radius:0;object-fit:cover;object-position:center 18%}.portrait-hero-frame .portrait-hpbar{height:4px}.portrait.missing{background:linear-gradient(135deg,#334155,#1e293b)}.portrait-count{position:absolute;top:3px;right:3px;background:#000000bf;color:#fde68a;font-size:11px;font-weight:700;padding:1px 5px;border-radius:3px}.portrait-hpbar{height:3px;background:#3f1a1a}.portrait-hpfill{height:100%;background:linear-gradient(90deg,#22c55e,#4ade80)}.portrait-caption{font-size:11px;font-weight:600;padding:3px 4px 0;color:#e2e8f0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.portrait-stance{font-size:9px;padding:0 4px 3px;color:#fde68a;text-transform:uppercase;letter-spacing:.02em}.portrait-row{display:flex;gap:8px;align-items:flex-start;margin-bottom:6px}.portrait-row .portrait{width:56px;height:56px;border-radius:5px;border:1px solid rgba(255,255,255,.1)}.portrait-meta{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:2px}.portrait-meta .sel-name{font-size:14px;font-weight:700;line-height:1.25;white-space:normal;word-break:break-word}.portrait-meta .sel-hp{font-size:12px}.portrait-meta .sel-stance{font-size:11px;text-transform:none;letter-spacing:0}#command-panel #train-queue-strip{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:6px;box-sizing:border-box;margin:auto -12px 0;padding:6px 12px;height:48px;min-height:48px;max-height:48px;flex:0 0 48px;border-top:1px solid rgba(201,168,76,.22);background:#00000059;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:rgba(201,168,76,.35) transparent}#command-panel #train-queue-strip.is-empty{display:none}#command-panel #train-queue-strip .queue-strip-label{font-size:9px;line-height:1;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--hud-accent);margin:0 4px 0 0;flex:0 0 auto;white-space:nowrap}#command-panel .queue-tile{position:relative;box-sizing:border-box;width:36px;height:36px;min-width:36px;min-height:36px;max-width:36px;max-height:36px;flex:0 0 36px;border-radius:3px;overflow:hidden;border:1px solid rgba(255,255,255,.14);background:#1a1f2a;cursor:pointer}#command-panel .queue-tile:hover{outline:1px solid rgba(248,113,113,.85);outline-offset:0}#command-panel .queue-tile .queue-cancel{position:absolute;top:0;right:0;z-index:2;width:12px;height:12px;line-height:11px;text-align:center;font-size:11px;font-weight:700;color:#fecaca;background:#000000a6;border-radius:0 2px 0 3px;opacity:.85;pointer-events:none}#command-panel .queue-tile:hover .queue-cancel{background:#b91c1ce6;color:#fff;opacity:1}#command-panel .queue-tile img{position:absolute;inset:0;width:36px;height:36px;max-width:none;object-fit:cover;object-position:top center;display:block;pointer-events:none}#command-panel .queue-tile .queue-bar{position:absolute;left:0;right:0;bottom:0;z-index:1;height:3px;min-height:3px;background:#000000b8;border:none;border-radius:0;overflow:hidden}#command-panel .queue-tile .queue-fill{display:block;height:100%;min-height:3px;background:linear-gradient(90deg,#1d4ed8,#38bdf8);transition:width .12s linear}#command-panel .queue-tile.is-active{border-color:#38bdf8b3;box-shadow:0 0 0 1px #38bdf84d}.queue-bar{height:5px;background:#00000073;border-radius:2px;overflow:hidden;border:1px solid rgba(255,255,255,.06)}.queue-fill{height:100%;background:linear-gradient(90deg,#2563eb,#38bdf8);transition:width .15s linear}.research-progress{margin-top:6px;cursor:default}.research-progress .research-name{font-size:11px;font-weight:600;color:#c4b5fd;margin-bottom:3px}.research-progress .research-bar{height:6px;border-radius:2px;background:#00000080;border:1px solid rgba(196,181,253,.25)}.research-progress .research-bar .queue-fill{background:linear-gradient(90deg,#6d28d9,#c4b5fd)}.cmd-ico{display:flex;opacity:.9;color:#e2e8f0;line-height:0;flex-shrink:0}.cmd-ico svg{width:18px;height:18px;display:block}.cmd-ico-img{width:28px;height:28px;object-fit:cover;border-radius:3px;display:block;opacity:.95}.cmd-btn .cmd-main{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:3px;flex:1 1 auto;min-height:0;width:100%;padding-top:1px}.cmd-btn .cmd-label{font-size:10px;font-weight:600;line-height:1.1;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis;flex-shrink:0}.cmd-btn .cmd-ico{margin-top:auto;margin-bottom:auto}.cmd-btn .cmd-cost-bar{flex:0 0 auto;width:100%;margin-top:auto;padding-top:4px;border-top:1px solid rgba(255,255,255,.14)}.cmd-btn .cmd-cost{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:2px 5px;max-width:100%;line-height:1;padding-top:3px}.cost-chip{display:inline-flex;align-items:center;gap:1px;font-size:9px;font-weight:700;font-variant-numeric:tabular-nums;color:#e2e8f0;letter-spacing:-.02em}.cost-chip svg{width:10px;height:10px;display:block;flex-shrink:0}.cost-chip .cost-n{line-height:1}.cost-chip.is-short{color:#fca5a5}.cost-chip.is-short svg{filter:saturate(.7)}.cmd-btn.is-disabled .cmd-cost,.cmd-btn:disabled .cmd-cost{opacity:.95;filter:none}.cmd-btn.order-mode{border-color:#38bdf859}.res-chip .ico{display:flex;align-items:center;justify-content:center;background:transparent!important;width:16px;height:16px}.res-chip .ico svg{display:block}#command-panel{display:flex;flex-direction:column;min-width:0}#command-grid{--cmd-tile-w: 78px;--cmd-row-h: max(80px, calc((100% - 5px)/2) );display:grid;grid-template-columns:repeat(auto-fill,var(--cmd-tile-w));grid-auto-rows:var(--cmd-row-h);grid-auto-flow:row;justify-content:start;align-content:start;gap:5px;overflow-x:hidden;overflow-y:auto;flex:1 1 auto;min-height:0;padding-bottom:2px}.cmd-btn{appearance:none;border:1px solid rgba(255,255,255,.12);background:linear-gradient(180deg,#282c38f2,#161820fa);color:var(--hud-text);border-radius:4px;padding:5px 4px 4px;font-size:10px;line-height:1.15;cursor:pointer;text-align:center;width:100%;max-width:var(--cmd-tile-w);min-height:0;height:100%;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:0;transition:border-color .12s,background .12s,transform .08s}.cmd-btn:hover:not(:disabled){border-color:var(--hud-border-bright);background:linear-gradient(180deg,#373224f2,#1e1c16fa)}.cmd-btn:active:not(:disabled){transform:translateY(1px)}.cmd-btn:disabled,.cmd-btn.is-disabled{opacity:.72;cursor:not-allowed;border-color:#ffffff0f;box-shadow:none}.cmd-btn:disabled .cmd-ico,.cmd-btn.is-disabled .cmd-ico,.cmd-btn:disabled .cmd-label,.cmd-btn.is-disabled .cmd-label{opacity:.45;filter:grayscale(.9)}.cmd-btn:disabled:hover,.cmd-btn.is-disabled:hover{border-color:#ffffff0f;background:linear-gradient(180deg,#282c38f2,#161820fa);transform:none}.cmd-btn.stance{padding:5px 4px 4px}.cmd-btn.stance.active{border-color:var(--hud-accent);box-shadow:inset 0 0 0 1px #c9a84c66;color:var(--hud-accent)}.cmd-btn.danger:hover:not(:disabled){border-color:var(--hud-danger)}#cmd-hint{margin-top:4px;font-size:10px;color:#7dd3fc;flex-shrink:0}#cmd-hint[hidden]{display:none!important}#minimap-panel{display:flex;flex-direction:column;align-items:stretch;background:transparent}#minimap-wrap{flex:1;display:flex;align-items:center;justify-content:center;min-height:0;background:transparent;border:none;border-radius:0;overflow:hidden;padding:0}#minimap-wrap canvas{display:block;cursor:crosshair;image-rendering:pixelated;width:100%;height:auto;max-height:100%;background:#0a0c10}#end-game-overlay,#leave-confirm-overlay{position:fixed;inset:0;z-index:40;display:flex;align-items:center;justify-content:center;background:#04060c9e;pointer-events:auto}#end-game-overlay[hidden],#leave-confirm-overlay[hidden]{display:none!important}#leave-confirm-overlay{z-index:45}#leave-confirm-overlay .end-game-actions button#leave-confirm-yes{border-color:#f8717173;background:linear-gradient(180deg,#3a2020,#1f1212);color:#fecaca}.end-game-card{min-width:320px;max-width:min(560px,94vw);padding:22px 26px;border-radius:10px;border:1px solid var(--hud-border-bright);background:linear-gradient(160deg,#161a24,#0c0e16);box-shadow:0 16px 48px #0000008c;text-align:center}.end-game-card h2{margin:0 0 8px;font-size:28px;letter-spacing:.04em;color:var(--hud-accent)}.end-game-card.loss h2{color:#f87171}.end-game-card.draw h2,.end-game-card.complete h2{color:#93c5fd}.end-game-card p{margin:0 0 12px;color:var(--hud-muted);font-size:13px}.end-game-mmr{margin:0 0 12px!important;color:var(--hud-accent)!important;font-size:13px;font-weight:600}.end-game-scoreboard-wrap{margin:0 0 16px;overflow-x:auto;border-radius:6px;border:1px solid rgba(255,255,255,.08);background:#00000040}.end-game-scoreboard{width:100%;border-collapse:collapse;font-size:12px;text-align:left;color:var(--hud-text)}.end-game-scoreboard th,.end-game-scoreboard td{padding:7px 10px;border-bottom:1px solid rgba(255,255,255,.06);white-space:nowrap}.end-game-scoreboard th{color:var(--hud-muted);font-weight:600;font-size:11px;letter-spacing:.03em;text-transform:uppercase}.end-game-scoreboard tbody tr:last-child td{border-bottom:none}.end-game-scoreboard tr.is-you td{color:#fde68a;font-weight:600}.end-game-scoreboard .end-game-empty{text-align:center;color:var(--hud-muted);font-style:italic}.end-game-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.end-game-actions button{padding:8px 14px;border-radius:6px;border:1px solid rgba(255,255,255,.12);background:#1e293b;color:var(--hud-text);cursor:pointer;font-size:13px}.end-game-actions button:disabled{opacity:.45;cursor:not-allowed}.end-game-actions button#end-game-rematch{border-color:#c9a84c73;background:linear-gradient(180deg,#3a3220,#1f1a12);color:#fde68a}.end-game-actions button#end-game-rematch[hidden]{display:none!important}.end-game-actions button#end-game-menu{border-color:#94a3b859}#status-toast{position:fixed;left:50%;bottom:calc(var(--hud-panel-h) + 12px);transform:translate(-50%);z-index:25;max-width:min(520px,90vw);padding:8px 14px;border-radius:6px;background:#080c18e6;border:1px solid rgba(255,255,255,.1);font-size:12px;color:#cbd5e1;pointer-events:none;text-align:center;box-shadow:0 4px 16px #0006}#status-toast:empty{display:none}#map-loading{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 40%,rgba(40,36,28,.55),transparent 55%),#0a0c12;pointer-events:auto}#map-loading[hidden]{display:none!important}.map-loading-card{width:min(360px,88vw);padding:28px 26px 24px;border-radius:10px;border:1px solid var(--hud-border);background:linear-gradient(180deg,#161820fa,#0c0e14fc);box-shadow:0 20px 48px #0000008c;text-align:center}.map-loading-brand{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--hud-accent);margin-bottom:10px}.map-loading-title{margin:0 0 16px;font-size:18px;font-weight:600;color:var(--hud-text)}.map-loading-bar{height:8px;border-radius:4px;background:#00000073;border:1px solid rgba(255,255,255,.08);overflow:hidden}.map-loading-fill{height:100%;width:8%;border-radius:3px;background:linear-gradient(90deg,#8b6914,var(--hud-accent),#e8d48b);transition:width .2s ease}.map-loading-status{margin:12px 0 0;font-size:12px;color:var(--hud-muted);min-height:1.2em}#outcome-banner{position:fixed;top:48px;left:50%;transform:translate(-50%);z-index:22;padding:6px 16px;border-radius:4px;background:#0c0e14e0;border:1px solid rgba(255,255,255,.1);font-size:12px;font-weight:600;pointer-events:none;color:#fca5a5}#outcome-banner.win{color:#86efac;border-color:#86efac59}#outcome-banner.in-progress{color:var(--hud-muted);font-weight:500}#menu-btn,#settings-btn{position:fixed;top:6px;z-index:30;pointer-events:auto;background:#080c18e6;border:1px solid rgba(255,255,255,.15);color:var(--hud-text);border-radius:6px;padding:6px 10px;cursor:pointer;font-size:12px}#menu-btn{right:88px}#settings-btn{right:8px}#menu-btn:hover,#settings-btn:hover{border-color:var(--hud-accent)}#touch-tools{position:fixed;z-index:30;left:50%;transform:translate(-50%);bottom:calc(var(--hud-panel-h) + 10px);display:none;flex-direction:row;gap:6px;padding:4px;border-radius:10px;background:#0a0c12e0;border:1px solid var(--hud-border);box-shadow:0 6px 20px #00000073;pointer-events:auto}.touch-tool{appearance:none;min-width:64px;min-height:40px;padding:8px 12px;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:#1e222ef2;color:var(--hud-text);font-size:12px;font-weight:600;font-family:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.touch-tool:hover{border-color:#c9a84c73}.touch-tool.is-active{background:linear-gradient(180deg,#503c14f2,#281e0cfa);border-color:var(--hud-accent);color:#fde68a}body.shell-meta #touch-tools{display:none!important}@media(max-width:900px){body.hud-active:not(.shell-meta) #touch-tools{display:flex}}@media(pointer:coarse){body.hud-active:not(.shell-meta) #touch-tools{display:flex}}#shell-root{position:fixed;inset:0;z-index:35;display:flex;align-items:center;justify-content:center;background:#0b1020;pointer-events:auto}#shell-root[hidden]{display:none!important}.shell-menu-card{min-width:min(340px,92vw);max-width:420px;width:100%;max-height:min(92vh,720px);overflow-y:auto;padding:28px 30px 22px;border-radius:10px;border:1px solid var(--hud-border-bright);background:linear-gradient(160deg,#161a24,#0c0e16);box-shadow:0 16px 48px #0000008c;text-align:center}.shell-title{margin:0 0 18px;font-size:22px;letter-spacing:.06em;font-weight:700;color:var(--hud-accent);text-transform:uppercase}.shell-name-field{display:flex;flex-direction:column;align-items:stretch;gap:6px;margin-bottom:18px;text-align:left;font-size:12px;color:var(--hud-muted)}.shell-name-field input{padding:8px 10px;border-radius:6px;border:1px solid rgba(255,255,255,.12);background:#00000059;color:var(--hud-text);font-size:14px;font-family:inherit}.shell-name-field input:focus{outline:none;border-color:var(--hud-border-bright)}.shell-main-menu{display:flex;flex-direction:column;gap:0;width:100%}.shell-main-menu[hidden]{display:none!important}.shell-menu-actions{display:flex;flex-direction:column;gap:8px}.shell-menu-actions[hidden]{display:none!important}.shell-btn{display:block;width:100%;padding:10px 14px;border-radius:6px;border:1px solid rgba(255,255,255,.12);background:#1e293b;color:var(--hud-text);cursor:pointer;font-size:13px;font-family:inherit}.shell-btn:hover{border-color:var(--hud-border-bright)}.shell-btn-primary{border-color:#c9a84c73;background:linear-gradient(180deg,#3a3220,#1f1a12);color:#fde68a;font-weight:600}.shell-btn-primary:hover{border-color:var(--hud-accent)}.shell-qm-sub{display:none;flex-direction:column;gap:6px;padding:0 0 4px 10px;border-left:2px solid var(--hud-border);margin:-2px 0 2px 8px}.shell-qm-sub.is-open{display:flex}.shell-btn-sub{padding:8px 12px;font-size:12px;background:#151b28}.shell-hint{margin:-2px 0 4px;font-size:11px;color:var(--hud-muted)}.shell-queue-panel{display:flex;flex-direction:column;gap:12px;align-items:center}.shell-queue-panel[hidden]{display:none!important}.shell-queue-label{margin:0;font-size:13px;color:var(--hud-muted)}.shell-menu-card:has(#shell-lobby-panel:not([hidden])),.shell-menu-card:has(#shell-lobby-entry:not([hidden])){max-width:460px}.shell-lobby-panel{display:flex;flex-direction:column;gap:10px;align-items:stretch;text-align:left;width:100%}.shell-lobby-panel[hidden]{display:none!important}.shell-section-title{margin:0 0 4px;font-size:15px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--hud-accent);text-align:center}.shell-section-label{font-size:11px;color:var(--hud-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}.shell-lobby-divider{text-align:center;font-size:11px;color:var(--hud-muted);margin:4px 0;position:relative}.shell-lobby-create-block{display:flex;flex-direction:column;gap:8px}.shell-field-row{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;color:var(--hud-muted)}.shell-select,.shell-seed-input,.shell-code-input{padding:6px 8px;border-radius:6px;border:1px solid rgba(255,255,255,.12);background:#00000059;color:var(--hud-text);font-size:13px;font-family:inherit}.shell-select{min-width:88px}.shell-seed-input{width:110px}.shell-code-input{width:100%;text-align:center;letter-spacing:.18em;text-transform:uppercase;font-weight:600}.shell-lobby-invite{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px;border-radius:8px;border:1px solid rgba(201,168,76,.25);background:#00000040}.shell-lobby-code-label{font-size:11px;color:var(--hud-muted);text-transform:uppercase;letter-spacing:.06em}.shell-lobby-code{font-size:22px;font-weight:700;letter-spacing:.2em;color:#fde68a;font-family:ui-monospace,Cascadia Code,Consolas,monospace}.shell-lobby-invite-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;width:100%}.shell-lobby-invite-actions .shell-btn{width:auto;flex:1 1 auto;min-width:100px}.shell-lobby-roster{display:flex;flex-direction:column;gap:4px;max-height:220px;overflow-y:auto}.shell-lobby-row{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:6px;border:1px solid rgba(255,255,255,.08);background:#151b28;font-size:12px}.shell-lobby-row.is-you{border-color:#c9a84c66}.shell-lobby-row.is-ready{background:#15251c}.shell-lobby-row.is-empty{opacity:.55;border-style:dashed}.shell-lobby-name{flex:1;color:var(--hud-text);text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shell-lobby-flag{font-size:11px;color:var(--hud-muted);flex-shrink:0}.shell-lobby-row.is-ready .shell-lobby-flag{color:#86efac}.shell-lobby-host-settings{display:flex;flex-direction:column;gap:8px;padding:10px;border-radius:8px;border:1px solid rgba(255,255,255,.08);background:#0003}.shell-lobby-host-settings[hidden]{display:none!important}.shell-lobby-actions{display:flex;flex-direction:column;gap:8px}#shell-lobby-ready.is-ready{border-color:#4ade8073;background:linear-gradient(180deg,#1a3a28,#0f1f16);color:#bbf7d0}#shell-lobby-start:disabled{opacity:.45;cursor:not-allowed}.shell-btn-tiny{width:auto;padding:4px 8px;font-size:11px;flex-shrink:0}.shell-starting-label{font-size:15px;color:var(--hud-accent);font-weight:600}.shell-menu-footer{margin-top:18px;padding-top:14px;border-top:1px solid rgba(255,255,255,.06);display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 8px;font-size:12px;color:var(--hud-muted)}.shell-menu-footer[hidden]{display:none!important}.shell-link{background:none;border:none;color:var(--hud-accent);cursor:pointer;font-size:12px;font-family:inherit;padding:0;text-decoration:underline;text-underline-offset:2px}.shell-link:hover{color:#fde68a}.shell-dot{opacity:.5}.shell-hotkeys{font-size:11px;opacity:.85}body.shell-meta #top-bar,body.shell-meta #bottom-panel,body.shell-meta #outcome-banner,body.shell-meta #end-game-overlay,body.shell-meta #menu-btn,#menu-btn[hidden]{display:none!important}body.shell-meta #status-toast{bottom:24px}#settings-panel,#tutorial{position:fixed;z-index:40;left:50%;top:50%;transform:translate(-50%,-50%);width:min(420px,92vw);padding:18px 20px;border-radius:10px;background:#0c0e16fa;border:1px solid var(--hud-border);box-shadow:0 16px 48px #0000008c;pointer-events:auto;display:none}#settings-panel h2,#tutorial h2{margin:0 0 10px;font-size:16px;color:var(--hud-accent)}#settings-panel label{display:flex;align-items:center;gap:8px;margin:8px 0;font-size:13px}#settings-panel button,#tutorial button{margin-top:12px;margin-right:8px;background:#1d4ed8;border:none;color:#fff;padding:8px 14px;border-radius:6px;cursor:pointer}#tutorial p{margin:0 0 8px;font-size:13px;color:#cbd5e1;line-height:1.5}@media(max-width:900px){#bottom-panel{grid-template-columns:1fr 1.2fr}#minimap-panel{display:none}:root{--hud-panel-h: 180px;--top-bar-title-h: 36px;--top-bar-res-h: 34px;--top-bar-h: calc(var(--top-bar-title-h) + var(--top-bar-res-h))}#command-grid{--cmd-tile-w: 70px;--cmd-row-h: max(72px, calc((100% - 5px)/2) )}#top-bar{display:grid;grid-template-columns:1fr auto;grid-template-rows:var(--top-bar-title-h) var(--top-bar-res-h);align-items:stretch;min-height:var(--top-bar-h);max-height:none;height:var(--top-bar-h);overflow:visible}#top-bar .brand{grid-column:1;grid-row:1;padding:0 120px 0 12px;font-size:13px;max-width:none;border-right:none}#top-meta{display:none}#resource-strip{grid-column:1 / -1;grid-row:2;flex:none;width:100%;box-sizing:border-box;justify-content:space-between;gap:4px;padding:4px 8px;border-top:1px solid rgba(255,255,255,.06);background:#00000038;overflow-x:auto}.res-chip{flex:1 1 0;justify-content:center;gap:4px;padding:4px 6px;font-size:12px;border-radius:3px;min-width:0}.res-chip .ico{width:12px;height:12px}button.res-chip.idle-vills{flex:1 1 0;min-width:0;padding:4px 6px}button.res-chip.idle-vills .idle-vills-label{display:none}#menu-btn,#settings-btn{top:4px;padding:5px 8px;font-size:11px}#menu-btn{right:72px}#outcome-banner{top:calc(var(--top-bar-h) + 8px)}}@media(max-width:520px){:root{--top-bar-title-h: 34px;--top-bar-res-h: 32px}#top-bar .brand{padding:0 112px 0 10px;font-size:12px}#resource-strip{gap:3px;padding:3px 6px}.res-chip{gap:3px;padding:3px 4px;font-size:11px}.res-chip .ico{width:11px;height:11px}.res-chip .ico svg{width:11px;height:11px}button.res-chip.idle-vills .ico{font-size:9px}#outcome-banner{font-size:11px;padding:4px 10px}}
