:root{--ui-text: #eef4ff;--ui-muted: rgba(226, 235, 255, .72);--ui-panel: rgba(21, 31, 48, .9);--ui-panel-strong: rgba(15, 24, 39, .94);--ui-border: rgba(177, 196, 228, .2);--ui-shadow: 0 18px 36px rgba(0, 0, 0, .3);--bar-bg: #1e2940;--bar-fill: linear-gradient(90deg, #2275c7 0%, #2f93e2 100%);--bar-commit: linear-gradient(90deg, #79c9ff 0%, #c8ecff 100%);--safe-top: env(safe-area-inset-top, 0px);--safe-right: env(safe-area-inset-right, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);color:var(--ui-text);background:#11151c;font-family:Trebuchet MS,Segoe UI,sans-serif}*{box-sizing:border-box;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}html,body,#app{margin:0;width:100%;height:100%;overflow:hidden;overscroll-behavior:none}body{background:radial-gradient(circle at top,rgba(199,170,103,.15),transparent 35%),linear-gradient(180deg,#141b24,#0c1016);-webkit-text-size-adjust:100%}.game-shell{position:relative;width:100%;height:100%}.world-popup-layer{position:absolute;inset:0;z-index:12;pointer-events:none;overflow:hidden}.world-popup{position:absolute;left:0;top:0;transform:translate(-50%,-50%);padding:5px 10px;border-radius:999px;font-size:16px;font-weight:900;line-height:1;letter-spacing:.01em;white-space:nowrap;text-shadow:0 2px 8px rgba(0,0,0,.45);box-shadow:0 10px 24px #0000003d;will-change:transform,opacity,left,top}.world-popup-treasury{border:1px solid rgba(255,213,96,.62);background:#171c26e0;color:#ffe18d}.action-menu{position:absolute;z-index:20;width:164px;height:164px;transform:translate(-50%,-50%);pointer-events:auto}.action-menu[hidden]{display:none}.action-menu-center,.action-menu-button{position:absolute;border:0;color:#f7f2e8;font:inherit;cursor:pointer;box-shadow:0 12px 24px #00000047}.action-menu-center{left:50%;top:50%;width:54px;height:54px;border-radius:50%;transform:translate(-50%,-50%);background:#626a78eb;font-size:28px;line-height:1}.action-menu-button{width:62px;height:62px;border-radius:16px;font-size:28px;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.action-menu-button:disabled{opacity:.4;cursor:default}.action-menu button[data-hovered=true]{outline:3px solid rgba(255,255,255,.55);filter:brightness(1.12)}.action-menu-top{left:50%;top:6px;transform:translate(-50%);background:#606f7ce6}.action-menu-left{left:6px;top:50%;transform:translateY(-50%);background:#c54343eb}.action-menu-right{right:6px;top:50%;transform:translateY(-50%);background:#818da0eb}.action-menu-bottom{left:50%;bottom:6px;transform:translate(-50%);background:#3dab5feb}.top-hud{position:absolute;top:calc(12px + var(--safe-top));left:50%;transform:translate(-50%);z-index:10;width:min(420px,calc(100vw - var(--safe-left) - var(--safe-right) - 22px));display:flex;align-items:center;gap:8px;pointer-events:none}.status-cluster{position:relative;display:flex;align-items:center;gap:8px;pointer-events:auto}.room-button{border:1px solid var(--ui-border);border-radius:12px;width:46px;height:46px;padding:0;background:var(--ui-panel);box-shadow:var(--ui-shadow);color:var(--ui-text);cursor:pointer;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}.hamburger{position:relative;display:inline-block;width:20px;height:14px;flex-shrink:0}.hamburger>span{position:absolute;left:0;width:100%;height:2px;background:currentColor;border-radius:2px;transition:top .24s cubic-bezier(.32,.72,0,1),transform .24s cubic-bezier(.32,.72,0,1),opacity .16s ease}.hamburger>span:nth-child(1){top:0}.hamburger>span:nth-child(2){top:6px}.hamburger>span:nth-child(3){top:12px}.room-button[data-active=true] .hamburger>span:nth-child(1){top:6px;transform:rotate(45deg)}.room-button[data-active=true] .hamburger>span:nth-child(2){opacity:0;transform:scaleX(.4)}.room-button[data-active=true] .hamburger>span:nth-child(3){top:6px;transform:rotate(-45deg)}.room-button[data-active=true],.room-button[data-mode=host]{border-color:#7eacff7a}.room-button[data-mode=live]{border-color:#48d27673}.room-menu{position:absolute;top:calc(100% + 10px);right:0;width:min(420px,calc(100vw - var(--safe-left) - var(--safe-right) - 22px));max-height:min(72dvh,calc(100vh - 190px));overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:14px;border:1px solid var(--ui-border);border-radius:18px;background:#080c12f0;box-shadow:0 18px 40px #00000057;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);display:flex;flex-direction:column;gap:10px}.room-menu[hidden]{display:none}.room-menu-title,.room-list-label{font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--ui-muted)}.room-menu-status{font-size:13px;line-height:1.45;color:var(--ui-text)}.room-menu-actions{display:flex;flex-wrap:wrap;gap:8px}.room-menu-config{display:flex;flex-direction:column;gap:10px;padding:10px 0 2px;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}.room-menu-slider-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px}.room-menu-slider-label{font-size:12px;font-weight:700;color:var(--ui-text);white-space:nowrap}.room-code-section{display:flex;flex-direction:column;gap:8px}.tab-bar{box-sizing:border-box;display:flex;align-items:stretch;height:44px;padding:4px;background:#00000047;border:1px solid rgba(255,255,255,.1);border-radius:999px;position:relative}.tab-bar-tabs{position:relative;display:flex;flex:1;min-width:0}.tab-bar-indicator{position:absolute;top:0;left:0;height:100%;width:0;background:#ffffff1a;border:1px solid rgba(255,255,255,.16);border-radius:999px;pointer-events:none;z-index:0;opacity:0}.tab-bar[data-ready=true] .tab-bar-indicator{opacity:1;transition:transform .32s cubic-bezier(.32,.72,0,1),width .32s cubic-bezier(.32,.72,0,1),background-color .22s ease,border-color .22s ease}.tab-bar-tab{position:relative;z-index:1;flex:1;min-width:0;background:transparent;border:0;color:var(--ui-muted);font:inherit;font-size:13px;font-weight:700;padding:0 14px;cursor:pointer;white-space:nowrap;display:flex;align-items:center;justify-content:center;gap:6px;transition:color .2s ease;outline:none;-webkit-tap-highlight-color:transparent}.tab-bar-tab:focus{outline:none}.tab-bar-tab::-moz-focus-inner{border:0}.tab-bar-tab:hover:not([data-active=true]):not(:disabled){color:var(--ui-text)}.tab-bar-tab[data-active=true]{color:var(--ui-text)}.tab-bar-tab:disabled{opacity:.5;cursor:not-allowed}.tab-bar-tab-icon{font-size:15px;line-height:1}.tab-bar[data-tone=difficulty][data-active-key=easy] .tab-bar-indicator{background:#32be6447;border-color:#50dc82b3}.tab-bar[data-tone=difficulty][data-active-key=normal] .tab-bar-indicator{background:#5f96ff47;border-color:#7eacffb3}.tab-bar[data-tone=difficulty][data-active-key=hard] .tab-bar-indicator{background:#d2a01e47;border-color:#f0be3cb3}.tab-bar[data-tone=difficulty][data-active-key=brutal] .tab-bar-indicator{background:#dc3c3c52;border-color:#ff6464bf}.btn{box-sizing:border-box;height:44px;border:1px solid rgba(255,255,255,.14);border-radius:10px;padding:0 14px;background:#ffffff0f;color:var(--ui-text);font:inherit;font-size:13px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}.btn:disabled{opacity:.48;cursor:not-allowed}.btn-primary{border-color:#7eacff80}.ui-input{box-sizing:border-box;height:44px;width:100%;border:1px solid rgba(255,255,255,.16);border-radius:10px;padding:0 12px;background:#ffffff12;color:var(--ui-text);font:inherit;font-size:13px;outline:none}.ui-input:focus{border-color:#7eacff94;box-shadow:0 0 0 2px #7eacff29}.ui-input:disabled{opacity:.62;cursor:not-allowed}.ui-input[readonly]:not(:disabled){cursor:copy}.room-code-join-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.room-code-input{font-size:16px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.room-code-join-row .room-row-button{min-width:72px}.room-menu-button,.room-row-button{box-sizing:border-box;height:44px;border:1px solid rgba(255,255,255,.14);border-radius:10px;padding:0 14px;background:#ffffff0f;color:var(--ui-text);font:inherit;font-size:13px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center}.room-menu-button{flex:1}.room-menu-button-primary{border-color:#7eacff80}.room-menu-button:disabled,.room-row-button:disabled,.speed-button:disabled,.building-button:disabled{opacity:.48;cursor:not-allowed}.room-list{display:flex;flex-direction:column;gap:8px}.room-list-empty{display:flex;flex-direction:column;gap:10px;padding:12px;border:1px dashed rgba(255,255,255,.12);border-radius:12px;font-size:12px;color:var(--ui-muted)}.room-list-empty .room-menu-button{align-self:flex-start;min-width:120px}.room-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:#ffffff0a}.room-row-meta{min-width:0;display:flex;flex-direction:column;gap:2px}.room-row-name{font-size:13px;font-weight:700;color:var(--ui-text)}.room-row-detail{font-size:11px;color:var(--ui-muted)}.diplomacy-inbox{position:relative;z-index:21;width:100%;display:flex;align-items:center;gap:8px;min-height:46px;margin-top:2px;margin-bottom:2px;padding:7px 10px;border:1px solid var(--ui-border);border-radius:12px;background:var(--ui-panel);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--ui-shadow);pointer-events:auto}.diplomacy-inbox[hidden]{display:none}.message-scroll-panel{position:relative;z-index:20;width:100%;max-height:min(126px,24dvh);display:flex;flex-direction:column;gap:6px;overflow-y:auto;overscroll-behavior:contain;overflow-anchor:none;pointer-events:auto;padding-right:3px;scrollbar-width:thin;scrollbar-color:rgba(172,221,255,.42) rgba(255,255,255,.06);transition:max-height .26s cubic-bezier(.32,.72,0,1)}.message-scroll-panel[data-expanded=true]{max-height:min(312px,48dvh)}.message-scroll-panel[hidden]{display:none}.message-scroll-panel::-webkit-scrollbar{width:7px}.message-scroll-panel::-webkit-scrollbar-track{background:#ffffff0f;border-radius:999px}.message-scroll-panel::-webkit-scrollbar-thumb{background:#acddff6b;border-radius:999px}.message-scroll-panel .diplomacy-inbox{margin-top:0;margin-bottom:0}.diplomacy-panel{width:100%;display:contents}.diplomacy-panel[hidden]{display:none}.battle-orders-panel{width:100%;display:contents}.battle-orders-panel[hidden]{display:none}.battle-order-row{position:relative;z-index:21;display:flex;align-items:center;gap:8px;min-height:46px;padding:7px 10px;border:1px solid var(--ui-border);border-radius:12px;background:var(--ui-panel);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--ui-shadow)}.battle-order-label,.diplomacy-message{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:700;color:var(--ui-text);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex:0 0 28px;font-size:22px;line-height:1;pointer-events:none}.message-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;pointer-events:none}.diplomacy-message[data-clickable=true]{cursor:pointer}.diplomacy-button{position:relative;z-index:22;border:1px solid rgba(255,255,255,.14);border-radius:9px;padding:6px 10px;background:#ffffff14;color:var(--ui-text);font:inherit;font-size:12px;font-weight:700;cursor:pointer;pointer-events:auto;touch-action:manipulation}.diplomacy-accept{border-color:#48d27666}.diplomacy-deny{border-color:#eb696966}.resource-cluster{display:flex;align-items:stretch;pointer-events:auto;height:46px;border:1px solid var(--ui-border);border-radius:12px;background:var(--ui-panel);box-shadow:var(--ui-shadow);overflow:hidden;flex:1 1 0;min-width:0}.resource-chip{flex:1 1 auto;padding:0 10px;display:flex;flex-direction:column;justify-content:center;gap:1px;white-space:nowrap;min-width:0}.resource-chip[data-tone=growth]{flex:0 0 82px}.resource-chip[data-tone=money]{flex:0 1 auto}.resource-chip[data-tone=tech]{flex:1 1 auto}.resource-chip+.resource-chip{border-left:1px solid rgba(255,255,255,.08)}.resource-label{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--ui-muted)}.resource-value{display:flex;align-items:baseline;gap:4px;line-height:1;white-space:nowrap}.resource-chip[data-tone=tech] .resource-value{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;width:100%}.resource-col{display:flex;align-items:baseline;gap:4px;min-width:0}.resource-bonus.is-active{color:#4ed884;transition:color .2s ease}.resource-icon{font-size:20px;line-height:1;flex-shrink:0}.resource-num{font-size:13px;font-weight:800}.resource-aux{font-size:12px;font-weight:800;color:var(--ui-muted)}.command-panel{position:absolute;left:50%;bottom:calc(14px + var(--safe-bottom));z-index:10;width:min(420px,calc(100vw - var(--safe-left) - var(--safe-right) - 22px));transform:translate(-50%);padding:8px 10px 10px;border:1px solid var(--ui-border);border-radius:14px;background:var(--ui-panel-strong);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:var(--ui-shadow)}.population-panel{display:flex;flex-direction:column;gap:6px}.population-meta{display:flex;justify-content:center;align-items:center}.alpha-label{display:inline-flex;align-items:baseline;gap:8px;font-size:13px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#ff3c3ce6;cursor:pointer;pointer-events:auto;-webkit-user-select:none;user-select:none;touch-action:none;-webkit-tap-highlight-color:transparent}.alpha-version{font-size:inherit;font-weight:inherit;letter-spacing:inherit;text-transform:none;color:#ff6060e6}.alpha-label[data-active=true]{color:#ff5c5c;text-shadow:0 0 12px rgba(255,72,72,.28)}.population-bar{position:relative;height:46px;overflow:visible;border:1px solid rgba(183,203,235,.2);border-bottom-width:3px;border-radius:10px 10px 0 0;background:var(--bar-bg);box-shadow:inset 0 -1px #acddff38;--population-current-ratio: 0;--population-committed-ratio: 0;--growth-marker-current-ratio: var(--population-current-ratio);--growth-slider-ratio: .2}.population-bar:after{content:"";position:absolute;left:-1px;right:-1px;bottom:-3px;height:3px;background:linear-gradient(90deg,#64a8eedb,#dbf5ffeb,#64a8eeb3);box-shadow:0 0 8px #5cb2ff6b,0 1px #081322e6;pointer-events:none;z-index:4}.population-fill,.projected-commit-fill,.committed-fill{position:absolute;top:0;bottom:0}.population-fill{left:0;background:var(--bar-fill);border-radius:9px 0 0}.population-bar[data-current-full=true] .population-fill{border-radius:9px 9px 0 0}.committed-fill{background:var(--bar-commit);border-radius:0}.projected-commit-fill{background:transparent;border-radius:0;opacity:0}.population-bar-text{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:0 92px;font-size:13px;font-weight:800;text-align:center;text-shadow:0 2px 10px rgba(0,0,0,.55);pointer-events:none;z-index:9}.population-commit-controls{position:absolute;inset:0;z-index:8;pointer-events:none}.population-commit-controls[hidden]{display:none}.building-row{margin-top:18px;display:flex;flex-direction:column;align-items:stretch;gap:8px}.building-label{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--ui-muted)}.panel-tabs{height:34px;border-color:#b7cbeb38;background:#00000038}.panel-tabs .tab-bar-tab{font-size:10px;text-transform:uppercase;letter-spacing:.12em}.panel-tabs .tab-bar-tab-icon{font-size:15px}.panel-tabs[data-active-key=military] .tab-bar-indicator{background:#3e87ff3d;border-color:#569dffc7}.building-buttons{display:flex;gap:6px;justify-content:space-between}.building-buttons[hidden]{display:none}.building-button{flex:1}.panel-action-card{min-height:58px;min-width:0;border:1px solid rgba(255,255,255,.14);border-radius:11px;background:linear-gradient(135deg,#ffffff0e,#ffffff06),#ffffff0e;color:var(--ui-text);font:inherit;cursor:pointer;display:grid;grid-template-columns:24px minmax(0,1fr) minmax(45px,auto);align-items:center;gap:7px;padding:7px 8px;text-align:left}.panel-action-card[data-layout=cost-only]{grid-template-columns:minmax(28px,.85fr) minmax(58px,1.15fr);gap:6px}.panel-action-card[data-disabled=true]{opacity:.58}.building-button[data-active=true]{background:#d6ab533d;border-color:#ecc362b3;color:#fff5df}.panel-action-card-icon{font-size:22px;line-height:1;text-align:center}.panel-action-card[data-layout=cost-only] .panel-action-card-icon{font-size:24px}.panel-action-card-body,.panel-action-card-costs{min-width:0;display:flex;flex-direction:column}.panel-action-card-body{gap:4px}.military-button-body{min-width:0;display:flex;flex-direction:column;gap:4px}.panel-action-card-costs{align-self:stretch;justify-content:center;gap:4px;padding-left:7px;border-left:1px solid rgba(255,255,255,.14)}.panel-action-card-cost-row{display:inline-flex;align-items:center;gap:5px;min-width:0;color:var(--ui-text);font-size:10px;line-height:1;font-weight:800;white-space:nowrap}.panel-action-card-cost-row[hidden]{display:none}.panel-action-card-cost-row[data-met=false]{color:#ff6e6ee6}.panel-action-card-cost-icon{font-size:12px;line-height:1;filter:saturate(1.15)}.panel-action-card-cost-value{min-width:0}.panel-action-card[data-layout=cost-only] .panel-action-card-cost-value{overflow:visible;text-overflow:clip}.military-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.military-buttons[hidden]{display:none}.military-button{grid-template-columns:24px minmax(0,1fr) 45px}.military-button[data-accent=red]{border-color:#ff554847;background:linear-gradient(135deg,#ff4b411f,#ffffff06),#ffffff0b}.military-button[data-accent=blue]{border-color:#4196ff47;background:linear-gradient(135deg,#2d82ff24,#ffffff06),#ffffff0b}.military-button-title{font-size:9px;line-height:1;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.military-button[data-accent=red] .military-button-title{color:#ff594f}.military-button[data-accent=blue] .military-button-title{color:#3da0ff}.military-button-level{font-size:13px;line-height:1.05;font-weight:800}.military-button-level span:last-child{color:var(--ui-muted)}.military-button-progress{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;height:5px}.military-button-progress span{border-radius:1px;background:#ffffff17}.military-button[data-accent=red] .military-button-progress span[data-filled=true]{background:#ff4b42;box-shadow:0 0 10px #ff4b4247}.military-button[data-accent=blue] .military-button-progress span[data-filled=true]{background:#258be8;box-shadow:0 0 10px #258be847}.growth-commit-box{position:absolute;left:6px;top:50%;transform:translateY(-50%);height:36px;min-width:126px;padding:0 10px;display:flex;align-items:center;justify-content:flex-start;gap:6px;font-weight:800;white-space:nowrap;pointer-events:none;z-index:10}.growth-commit-icon{font-size:20px;line-height:1;margin-right:4px}.growth-commit-percent{font-size:13px;font-weight:800;position:relative;z-index:11;text-shadow:0 2px 10px rgba(0,0,0,.55)}.growth-commit-value{display:inline;font-size:12px;font-weight:800;color:#f5f8ffd1;margin-left:1px;text-shadow:0 2px 10px rgba(0,0,0,.55)}.growth-slider{width:100%;margin:0;accent-color:#5f96ff;cursor:pointer;align-self:center}.population-bar .growth-slider{position:absolute;left:calc(var(--population-committed-ratio) * 100%);top:0;width:calc(max(0,var(--population-current-ratio) - var(--population-committed-ratio))*100%);height:calc(100% + 18px);margin:0;accent-color:#5f96ff;cursor:pointer;background:transparent;pointer-events:auto;z-index:12;-webkit-appearance:none;appearance:none;align-self:auto;opacity:0;direction:ltr}.growth-slider-marker{position:absolute;top:0;bottom:-3px;left:calc(var(--growth-marker-current-ratio) * 100%);width:2px;transform:translate(-50%);background:linear-gradient(180deg,#e8f9ff5c,#e8f9ff 42%,#e8f9ffb8);box-shadow:0 0 14px #75cfffe6,0 0 0 1px #278bd933;pointer-events:none;z-index:2}.growth-slider-marker:after{content:"";position:absolute;left:50%;top:100%;width:24px;height:24px;transform:translate(-50%,-50%);border:3px solid rgba(179,222,255,.96);border-radius:50%;background:#123d66;box-shadow:0 0 0 2px #0f1a2bd6,0 0 18px #68bcffb8}.population-bar .growth-slider::-webkit-slider-runnable-track{height:100%;background:transparent;border:0}.population-bar .growth-slider::-moz-range-track{height:100%;background:transparent;border:0}.population-bar .growth-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:30px;height:64px;margin-top:0;border:0;border-radius:0;background:transparent}.population-bar .growth-slider::-moz-range-thumb{width:30px;height:64px;border:0;border-radius:0;background:transparent}.command-footer{margin-top:7px;display:flex;align-items:center;gap:6px;overflow:visible;scrollbar-width:none}.command-footer::-webkit-scrollbar{display:none}.speed-label{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--ui-muted)}.speed-buttons{display:flex;gap:6px}.speed-button{border:1px solid rgba(255,255,255,.14);background:#ffffff0f;color:#f4efe2;border-radius:9px;padding:3px 7px;font:inherit;font-size:10px;cursor:pointer;flex-shrink:0;white-space:nowrap}.speed-button[data-active=true]{background:#5f96ff38;border-color:#7eacffb3;color:#f6fbff}.footer-divider{width:1px;align-self:stretch;background:#ffffff1f;margin:0 2px;flex-shrink:0}.log-filter-dropdown{position:relative;flex-shrink:0}.log-filter-dropdown>summary{list-style:none}.log-filter-dropdown>summary::-webkit-details-marker{display:none}.log-filter-summary{display:block;-webkit-user-select:none;user-select:none}.log-filter-panel{position:absolute;right:0;bottom:calc(100% + 8px);z-index:20;width:210px;max-height:280px;padding:9px;border:1px solid rgba(160,195,255,.36);border-radius:12px;background:#0d1523f7;box-shadow:0 16px 40px #00000073}.log-filter-actions{display:flex;gap:6px;margin-bottom:8px}.log-filter-actions button{flex:1;border:1px solid rgba(255,255,255,.14);border-radius:8px;background:#ffffff12;color:#f4efe2;font:inherit;font-size:10px;padding:5px 6px;cursor:pointer}.log-filter-options{display:grid;gap:5px;max-height:218px;overflow-y:auto;padding-right:2px}.log-filter-option{display:flex;align-items:center;gap:7px;min-width:0;color:#f4efe2;font-size:11px;line-height:1.2;cursor:pointer}.log-filter-option input{margin:0;flex-shrink:0}.log-filter-color{width:9px;height:9px;border-radius:999px;box-shadow:0 0 0 1px #ffffff6b;flex-shrink:0}.status-pill{padding:10px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:#080c12bf;font-size:12px;letter-spacing:.08em;text-transform:uppercase}canvas{display:block;width:100%;height:100%;touch-action:none}@media(max-width:720px){.top-hud{top:calc(8px + var(--safe-top));width:calc(100vw - var(--safe-left) - var(--safe-right) - 16px);gap:6px}.resource-chip{padding:0 6px}.resource-cluster{height:46px}.room-button{width:46px;height:46px;padding:0}.status-cluster{gap:6px}.status-pill{padding:9px 12px;font-size:11px}.room-menu{width:calc(100vw - var(--safe-left) - var(--safe-right) - 16px);max-height:min(58dvh,calc(100dvh - 230px))}.room-menu-slider-row{grid-template-columns:1fr}.command-panel{width:calc(100vw - var(--safe-left) - var(--safe-right) - 16px);bottom:calc(8px + var(--safe-bottom));padding:8px}.command-slider-row{grid-template-columns:1fr}.population-bar{height:46px}.population-bar-text{font-size:13px;padding:0 98px}.population-commit-controls{inset:0}}.game-over-overlay{position:absolute;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;background:#000000a6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:fadeIn .6s ease-out}.game-over-overlay[hidden]{display:none}.game-over-box{display:flex;flex-direction:column;align-items:center;gap:16px;padding:40px 56px;border:1px solid var(--ui-border);border-radius:20px;background:var(--ui-panel-strong);box-shadow:0 24px 64px #00000080;text-align:center}.game-over-title{font-size:42px;font-weight:900;letter-spacing:.15em;text-transform:uppercase}.game-over-overlay[data-result=victory] .game-over-title{color:#ffd84e;text-shadow:0 0 28px rgba(255,210,60,.4)}.game-over-overlay[data-result=defeat] .game-over-title{color:#ff6b6b;text-shadow:0 0 28px rgba(255,80,80,.35)}.game-over-sub{font-size:15px;color:var(--ui-muted);max-width:280px}.game-over-restart{margin-top:8px;padding:12px 36px;border:1px solid rgba(255,255,255,.18);border-radius:12px;background:#ffffff14;color:var(--ui-text);font:inherit;font-size:15px;font-weight:700;cursor:pointer;transition:background .15s,border-color .15s}.game-over-restart:hover{background:#ffffff29;border-color:#ffffff59}.game-over-difficulty-label{margin-top:4px;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--ui-muted)}.game-over-difficulty-buttons{justify-content:center;flex-wrap:wrap;max-width:280px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}
