.hidden { display: none !important; }
.world-map { --world-map-image: url("/map.png"); }
.online-entry-panel,.online-lobby-panel { position: relative; }
.online-entry-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; text-align:left; }
.online-entry-grid article { display:grid; gap:10px; }
.online-entry-grid label { display:grid; gap:5px; color:var(--muted); font-size:.82rem; }
input { min-height:42px; padding:8px 11px; border:1px solid var(--line); border-radius:9px; color:var(--ink); background:rgba(5,10,20,.9); }
.connection-badge { position:absolute; right:18px; top:16px; padding:6px 10px; border:1px solid #4d9d69; border-radius:999px; color:#bff6cf; background:rgba(22,90,48,.28); font-size:.72rem; }
.connection-badge.offline { border-color:#a95c55; color:#ffc4bd; background:rgba(100,34,30,.36); }
.room-code { min-height:34px; padding:4px 12px; border-color:var(--gold); color:var(--gold-bright); font-size:1.2rem; letter-spacing:.15em; }
.online-lobby-bottom { margin-top:10px; display:grid; grid-template-columns:1fr 1fr; gap:10px; text-align:left; }
.online-settings { margin:8px 0 0!important; }
.online-settings label { padding:0!important; border:0!important; background:transparent!important; }
.player-list { display:grid; gap:6px; }
.player-row { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:9px; padding:8px; border:1px solid var(--line); border-radius:9px; background:rgba(255,255,255,.035); }
.player-row small,.lobby-instructions p { color:var(--muted); }.player-row.disconnected { opacity:.5; }.ready-mark { color:#aaf1bf; font-size:.68rem; font-weight:800; }
.lobby-actions { margin-top:10px; display:flex; justify-content:flex-end; gap:8px; }.lobby-actions .quiet-button { margin:0 auto 0 0; }
.realm-card.taken { opacity:.42; }.realm-card .realm-icon { flex:none; }
.territory-layer { position:absolute; inset:0; z-index:3; pointer-events:none; }.territory-layer .territory-node { pointer-events:auto; }
.map-links .friendly { stroke:#82dcff; }.map-links .enemy { stroke:#ff9a80; }.map-links line.selected-route { stroke-width:3; stroke-dasharray:none; }
.map-links line.map-connection { stroke:rgba(255,230,165,.3); stroke-width:1.4; stroke-dasharray:3 4; }
.map-links line.map-connection.selected-route { stroke:#fff2a8; stroke-width:3.5; stroke-dasharray:none; filter:drop-shadow(0 0 6px #ffd86a); }
.hero-roster #myHeroList { display:grid; gap:5px; }.hero-roster button { width:100%; }
.territory-command:empty { display:none; }.territory-command .hero-entry { display:grid; grid-template-columns:43px 1fr; align-items:center; gap:8px; }.territory-command .hero-thumbnail { width:43px; height:43px; }
.realm-status small,.realm-status strong { display:block; }.realm-status strong { color:var(--gold-bright); }
#rulerPower { margin-top:0!important; padding:7px!important; } #rulerPower p { font-size:.7rem; } #rulerPower button { min-height:34px; padding:5px 7px; }
.ai-chip { opacity:.78; }.human-chip { box-shadow:inset 0 0 0 1px rgba(255,255,255,.14); }
.turn-order span { transition:transform .2s ease,box-shadow .2s ease; }.turn-order span.active { transform:scale(1.08); color:#1b1305; background:linear-gradient(#ffe7a5,#c79e45); box-shadow:0 0 20px rgba(255,218,112,.62); font-weight:900; }
.realm-stat > b { display:grid; justify-items:end; font-size:.82rem!important; line-height:1.15; }.realm-stat > b small { display:block; margin-top:2px; }
.map-status-banner { pointer-events:none; }.map-status-banner.current-human { border-width:2px; box-shadow:0 12px 30px rgba(0,0,0,.55),0 0 34px color-mix(in srgb,var(--realm-color) 55%,transparent); }
.battle-card .battle-actions button { pointer-events:auto; }
.online-toast { position:fixed; z-index:200; left:50%; bottom:20px; transform:translateX(-50%); max-width:min(600px,90vw); padding:11px 16px; border:1px solid #b85c50; border-radius:10px; color:#ffe1dc; background:#421d1a; box-shadow:0 14px 42px #000; }
.online-modal-backdrop { position:fixed; z-index:90; inset:0; display:grid; place-items:center; padding:16px; background:rgba(2,5,12,.78); backdrop-filter:blur(5px); }.online-action-card { pointer-events:auto; }.online-action-card p { color:var(--muted); text-align:center; }.online-action-card select { width:100%; }.capture-transfer output { color:var(--gold-bright); font-size:1.15rem; text-align:center; }
.victory-panel { max-width:1000px; }.victory-emblem { display:block; font-size:4rem; }.victory-panel .realm-card { min-height:60px; }
.battle-flash { animation:online-battle-flash .55s ease; } @keyframes online-battle-flash { 50% { filter:brightness(2); transform:translate(-50%,-50%) scale(1.2); } }
@media(max-width:900px){.online-entry-grid,.online-lobby-bottom{grid-template-columns:1fr}.connection-badge{position:static;display:inline-block;margin-top:10px}.online-entry-panel,.online-lobby-panel{overflow-y:auto}.realm-picker{grid-template-columns:repeat(2,1fr)!important}.lobby-actions{flex-wrap:wrap}}
