body{margin:0;min-width:320px;min-height:100vh;font-family:Segoe UI,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root{--bg-dark: #1a1a2e;--bg-panel: #16213e;--bg-card: #1e293b;--text-primary: #e2e8f0;--text-secondary: #94a3b8;--accent: #f59e0b;--border: #334155}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Segoe UI,system-ui,-apple-system,sans-serif;background-color:var(--bg-dark);color:var(--text-primary);min-height:100vh}#root{min-height:100vh;max-width:none;margin:0;padding:0;text-align:left}.start-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460)}.start-content{text-align:center;padding:40px;width:500px;max-width:90vw;display:flex;flex-direction:column;align-items:center}.title-logo{width:120px;height:120px;margin-bottom:12px}.title-logo-large{width:480px;max-width:90%;margin-bottom:24px}.game-title{font-size:3.5rem;font-weight:900;letter-spacing:.15em;color:#f59e0b;text-shadow:0 0 30px rgba(245,158,11,.3);margin-bottom:4px}.game-subtitle{font-size:1.1rem;font-weight:400;letter-spacing:.3em;color:#94a3b8;margin-bottom:40px}.start-options{margin-bottom:24px}.player-select-label{display:block;font-size:.9rem;color:var(--text-secondary);margin-bottom:10px}.player-select-buttons{display:flex;gap:8px;justify-content:center}.player-count-btn{flex:1;max-width:160px;padding:10px 24px;border:2px solid var(--border);background:var(--bg-card);color:var(--text-primary);border-radius:8px;cursor:pointer;font-size:.95rem;transition:all .2s;text-align:center}.player-count-btn:hover{border-color:var(--accent)}.player-count-btn.selected{border-color:var(--accent);background:#f59e0b26;color:var(--accent)}.player-preview{display:flex;flex-direction:column;gap:4px;margin-bottom:24px;font-size:.9rem;font-weight:600}.turn-config-section{margin-bottom:24px}.turn-config-grid{display:flex;flex-direction:column;gap:8px;margin-top:10px}.turn-config-row{display:flex;align-items:center;justify-content:space-between;padding:6px 14px;background:var(--bg-card);border:1px solid var(--border);border-radius:8px}.turn-config-label{font-size:.85rem;font-weight:600;color:var(--text-secondary);min-width:70px}.turn-config-options{display:flex;gap:6px}.turn-config-btn{padding:5px 14px;border:1px solid var(--border);background:var(--bg-panel);color:var(--text-secondary);border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:700;transition:all .15s;min-width:40px;text-align:center}.turn-config-btn:hover{border-color:var(--accent)}.turn-config-btn.selected{border-color:var(--accent);background:#f59e0b26;color:var(--accent)}.player-slots-setup{display:flex;flex-direction:column;gap:8px;margin-bottom:24px}.player-slot-row{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--bg-card);border:1px solid var(--border);border-left:4px solid;border-radius:8px}.player-slot-name{font-size:.85rem;font-weight:700}.player-slot-controls{display:flex;align-items:center;gap:4px}.slot-type-btn{padding:5px 12px;border:1px solid var(--border);background:var(--bg-panel);color:var(--text-secondary);border-radius:6px;cursor:pointer;font-size:.75rem;font-weight:600;transition:all .15s}.slot-type-btn:hover{border-color:var(--accent)}.slot-type-btn.active{border-color:var(--accent);background:#f59e0b26;color:var(--accent)}.slot-difficulty-select{padding:5px 8px;background:var(--bg-panel);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:.75rem;cursor:pointer;margin-left:4px}.title-buttons{display:flex;gap:12px;margin-top:32px;justify-content:center}.start-btn{padding:14px 48px;font-size:1.2rem;font-weight:700;border:none;border-radius:10px;background:linear-gradient(135deg,#f59e0b,#d97706);color:#1a1a2e;cursor:pointer;letter-spacing:.05em;transition:transform .15s,box-shadow .15s}.start-content>.start-btn{margin-top:auto}.title-buttons .start-btn{flex:1;max-width:200px;padding:14px 24px}.start-btn:hover{transform:translateY(-2px);box-shadow:0 4px 20px #f59e0b66}.start-btn-outline{background:transparent;border:2px solid var(--accent);color:var(--accent)}.start-btn-outline:hover{background:var(--accent);color:var(--bg);box-shadow:0 4px 20px #f59e0b4d}.setup-tabs{display:flex;gap:4px;margin-bottom:20px;background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:4px}.setup-tab{flex:1;padding:10px 16px;border:none;background:transparent;color:var(--text-secondary);border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:600;transition:all .2s;position:relative}.setup-tab:hover{color:var(--text-primary);background:#ffffff0d}.setup-tab.active{background:#f59e0b26;color:var(--accent)}.setup-tab-badge{position:absolute;top:6px;right:6px;width:7px;height:7px;background:var(--accent);border-radius:50%}.setup-tab-content{min-height:590px;display:flex;flex-direction:column;flex:1}.army-sliders-section{margin-bottom:8px}.army-slider-row{display:flex;align-items:center;justify-content:space-between;padding:4px 12px;height:44px;min-height:44px;position:relative;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;margin-bottom:4px}.army-slider-info{display:flex;flex-direction:column;min-width:100px}.army-slider-label{font-size:.78rem;font-weight:600;color:var(--text-primary)}.army-slider-cost{font-size:.7rem;color:var(--text-secondary);opacity:.7}.army-slider-control{display:flex;align-items:center;gap:10px;flex:1;justify-content:flex-end}.army-slider{width:120px;accent-color:var(--accent);cursor:pointer}.army-slider:disabled{opacity:.3;cursor:not-allowed}.army-slider-value{font-size:.85rem;font-weight:700;color:var(--text-secondary);min-width:22px;text-align:center}.army-slider-value.has-units{color:var(--accent)}.army-totals{display:flex;justify-content:space-between;padding:10px 14px;margin-bottom:20px;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;font-size:.82rem;color:var(--text-secondary)}.army-totals strong{color:var(--accent)}.start-rules{margin-top:16px;text-align:left;background:var(--bg-card);padding:16px 20px;border-radius:10px;border:1px solid var(--border);max-width:540px;width:100%}.rules-tabs{display:flex;gap:4px;margin-bottom:12px;border-bottom:1px solid var(--border);padding-bottom:8px}.rules-tab{flex:1;padding:6px 12px;background:transparent;color:var(--text-secondary);border:1px solid transparent;border-radius:6px 6px 0 0;font-size:.8rem;cursor:pointer;transition:background .2s,color .2s}.rules-tab:hover{color:var(--text);background:#ffffff0d}.rules-tab.active{color:var(--accent);border-color:var(--border);border-bottom-color:var(--bg-card);background:var(--bg-card)}.rules-panel{font-size:.82rem;color:var(--text-secondary);line-height:1.5}.rules-panel h4{color:var(--accent);font-size:.85rem;margin:12px 0 4px}.rules-panel h4:first-child{margin-top:0}.rules-panel p{margin:4px 0 8px}.rules-panel ul,.rules-panel ol{margin:4px 0 8px;padding-left:20px}.rules-panel li{padding:2px 0}.rules-panel ol li{list-style:decimal}.rules-panel ul li{list-style:none;position:relative;padding-left:12px}.rules-panel ul li:before{content:">";position:absolute;left:0;color:var(--accent)}.rules-formula{background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:6px;padding:8px 12px;font-family:monospace;font-size:.85rem;color:var(--accent);text-align:center}.rules-note{font-style:italic;opacity:.8;font-size:.78rem}.rules-table{width:100%;border-collapse:collapse;margin:6px 0 12px;font-size:.78rem}.rules-table th{text-align:left;color:var(--accent);border-bottom:1px solid var(--border);padding:4px 6px;font-weight:600;white-space:nowrap}.rules-table td{padding:3px 6px;border-bottom:1px solid rgba(255,255,255,.05);white-space:nowrap}.rules-table tr:last-child td{border-bottom:none}.dev-credit{margin-top:32px;font-size:.78rem;color:var(--text-secondary);text-align:center;opacity:.7}.dev-credit a{color:var(--accent);text-decoration:none}.dev-credit a:hover{text-decoration:underline}.app-version{margin-top:8px;font-size:.7rem;color:var(--text-secondary);opacity:.4;text-align:center}.feedback-form{margin-top:16px;text-align:left;background:var(--bg-card);padding:16px 20px;border-radius:10px;border:1px solid var(--border);max-width:540px;width:100%}.feedback-fields{display:flex;flex-direction:column;gap:10px}.feedback-input{padding:10px 14px;width:100%;background:var(--bg-panel);border:2px solid var(--border);border-radius:8px;color:var(--text-primary);font-size:.9rem;outline:none;transition:border-color .15s;font-family:inherit}.feedback-input:focus{border-color:var(--accent)}.feedback-input::placeholder{color:var(--text-secondary);opacity:.7}.feedback-textarea{resize:vertical;min-height:80px}.feedback-actions{display:flex;gap:10px}.feedback-submit-btn,.feedback-close-btn{flex:1;padding:10px 16px!important;font-size:.9rem!important}.feedback-submit-btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important;box-shadow:none!important}.feedback-error{background:#ef444426;border:1px solid rgba(239,68,68,.3);color:#ef4444;padding:8px 12px;border-radius:8px;font-size:.8rem;text-align:center}.feedback-success{text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px}.feedback-success p{color:#4ade80;font-size:.9rem;font-weight:600}.game-menu-feedback{padding:0 16px 16px}.game-menu-feedback .feedback-form{margin-top:0;max-width:none}.mode-cards{display:flex;gap:16px;margin:32px 0 24px;justify-content:center}.mode-card{flex:1;max-width:220px;padding:24px 20px;background:var(--bg-card);border:2px solid var(--border);border-radius:12px;cursor:pointer;text-align:center;color:var(--text-primary);transition:all .2s}.mode-card:hover{border-color:var(--accent);background:#f59e0b14;transform:translateY(-3px);box-shadow:0 4px 20px #f59e0b26}.mode-card-icon{font-size:2.5rem;margin-bottom:12px}.mode-card-title{font-size:1.05rem;font-weight:700;color:var(--accent);margin-bottom:8px}.mode-card-desc{font-size:.78rem;color:var(--text-secondary);line-height:1.4}.back-link{display:inline-block;margin-top:20px;background:none;border:none;color:var(--text-secondary);font-size:.85rem;cursor:pointer;transition:color .15s}.back-link:hover{color:var(--accent)}.nickname-form{margin-top:24px;display:flex;flex-direction:column;gap:12px;align-items:center}.nickname-input{padding:12px 16px;width:280px;background:var(--bg-card);border:2px solid var(--border);border-radius:8px;color:var(--text-primary);font-size:1rem;text-align:center;outline:none;transition:border-color .15s}.nickname-input:focus{border-color:var(--accent)}.nickname-input::placeholder{color:var(--text-secondary);opacity:.7}.room-code-input{font-family:monospace;font-size:1.2rem;letter-spacing:.2em;text-transform:uppercase}.room-actions{display:flex;gap:10px;margin-top:8px;justify-content:center}.room-join-btn{padding:10px 24px!important;font-size:.95rem!important}.room-join-form{display:flex;flex-direction:column;gap:8px;align-items:center}.room-browser{margin-top:24px;background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:14px;text-align:left}.room-browser-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.room-browser-title{font-size:.85rem;color:var(--accent);font-weight:700}.room-browser-empty{text-align:center;color:var(--text-secondary);font-size:.8rem;padding:16px 0}.room-browser-list{display:flex;flex-direction:column;gap:4px;max-height:240px;overflow-y:auto}.room-browser-header-row{display:grid;grid-template-columns:2fr 1.2fr 1.2fr .8fr .8fr 70px;gap:8px;padding:4px 12px;font-size:.65rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border);margin-bottom:2px}.room-browser-item{display:grid;grid-template-columns:2fr 1.2fr 1.2fr .8fr .8fr 70px;gap:8px;align-items:center;padding:8px 12px;background:var(--bg-panel);border:1px solid var(--border);border-radius:8px;transition:border-color .15s}.room-browser-item:hover{border-color:var(--accent)}.room-browser-name{font-size:.8rem;font-weight:700;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.room-browser-host{font-size:.72rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.room-browser-players{font-size:.78rem;color:var(--text-primary);font-weight:600}.room-browser-map{font-size:.72rem;color:var(--text-secondary);text-transform:capitalize}.room-status-badge{font-size:.65rem;font-weight:700;padding:2px 6px;border-radius:4px;text-align:center;white-space:nowrap}.room-status-badge.waiting{background:#22c55e26;color:#4ade80}.room-status-badge.in-progress{background:#f59e0b26;color:#fbbf24}.rb-col-action{text-align:right}.connection-status{padding:8px 16px;border-radius:8px;font-size:.8rem;text-align:center;margin-bottom:12px}.connection-status.connecting{background:#f59e0b26;color:var(--accent);border:1px solid rgba(245,158,11,.3)}.connection-status.connected{background:#22c55e26;color:#22c55e;border:1px solid rgba(34,197,94,.3)}.connection-status.failed{background:#ef444426;color:#ef4444;border:1px solid rgba(239,68,68,.3)}.lobby-room-code{margin:20px 0 16px;text-align:center}.lobby-room-label{font-size:.8rem;color:var(--text-secondary);display:block;margin-bottom:6px}.lobby-code-row{display:flex;align-items:center;justify-content:center;gap:10px}.lobby-code{font-family:monospace;font-size:2rem;font-weight:900;letter-spacing:.2em;color:var(--accent)}.lobby-slots{display:flex;flex-direction:column;gap:8px;margin:20px 0}.lobby-slot{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--bg-card);border:1px solid var(--border);border-radius:8px}.lobby-slot-closed{opacity:.4}.lobby-slot-header{display:flex;align-items:center;gap:8px}.lobby-slot-dot{width:12px;height:12px;border-radius:50%}.lobby-slot-label{font-size:.85rem;font-weight:600}.lobby-slot-content{font-size:.85rem}.lobby-slot-nickname{color:var(--text-primary);font-weight:600}.lobby-slot-status{color:var(--text-secondary)}.lobby-slot-select{padding:6px 12px;background:var(--bg-panel);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:.8rem;cursor:pointer}.lobby-settings{display:flex;flex-direction:column;gap:10px;margin-top:16px;padding:12px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:10px}.lobby-setting-row{display:flex;align-items:center;gap:10px}.lobby-setting-label{font-size:.8rem;color:var(--text-secondary);min-width:70px;font-weight:600}.lobby-setting-options{display:flex;gap:6px;flex-wrap:wrap}.lobby-setting-btn{padding:4px 10px;border-radius:6px;border:1px solid rgba(255,255,255,.15);background:#ffffff0d;color:var(--text-primary);font-size:.72rem;cursor:pointer;transition:all .15s}.lobby-setting-btn:hover{background:#ffffff1a}.lobby-setting-btn.selected{background:#f59e0b33;border-color:#f59e0b;color:#f59e0b}.lobby-setting-value{font-size:.8rem;color:var(--text-primary)}.lobby-activity-log{margin-top:16px;background:var(--bg-panel);border:1px solid var(--border);border-radius:8px;overflow:hidden}.lobby-activity-header{font-size:.72rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;padding:6px 12px;border-bottom:1px solid var(--border);background:#ffffff05}.lobby-activity-messages{max-height:100px;overflow-y:auto;padding:6px 12px;display:flex;flex-direction:column;gap:3px}.lobby-activity-empty{font-size:.72rem;color:var(--text-secondary);opacity:.6;padding:4px 0}.lobby-activity-entry{display:flex;align-items:baseline;gap:8px;font-size:.72rem;line-height:1.4}.lobby-activity-time{color:var(--text-secondary);opacity:.6;font-variant-numeric:tabular-nums;flex-shrink:0}.lobby-activity-text{color:var(--text-primary);opacity:.85}.lobby-actions{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:16px}.lobby-waiting{font-size:.9rem;color:var(--text-secondary);padding:10px}.lobby-hint{font-size:.8rem;color:var(--text-secondary);opacity:.8;text-align:center}.lobby-error{background:#ef444426;border:1px solid rgba(239,68,68,.3);color:#ef4444;padding:8px 14px;border-radius:8px;font-size:.8rem;margin-bottom:12px;text-align:center}.game-layout{display:flex;flex-direction:row;height:100vh;overflow:hidden}.game-left-column{flex:1;display:flex;flex-direction:column;min-width:0;overflow:hidden}.game-main{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:10px;overflow:auto;min-width:0;min-height:0;position:relative;z-index:5}.game-sidebar{width:320px;border-left:1px solid var(--border);display:flex;flex-direction:column;background:var(--bg-panel);flex-shrink:0}.game-bottom-bar{flex-shrink:0;border-top:1px solid var(--border);background:var(--bg-panel);display:flex;align-items:center}.phase-timer{display:flex;flex-direction:column;align-items:center;padding:6px 8px;flex-shrink:0}.phase-timer-text{font-size:.6rem;color:var(--text-secondary);margin-top:1px;font-variant-numeric:tabular-nums}.phase-timer-text-urgent{color:#ef4444;font-weight:700}.phase-timer-urgent svg circle:first-child{stroke:#ef44444d!important}@keyframes timer-pulse{0%,to{opacity:1}50%{opacity:.6}}.phase-timer-urgent{animation:timer-pulse 1s ease-in-out infinite}.turn-timer-card{padding:12px 14px;border-bottom:1px solid var(--border);flex-shrink:0}.turn-timer-layout{display:flex;align-items:center;gap:12px;margin-bottom:10px}.turn-timer-layout.turn-timer-centered{justify-content:center}.turn-timer-layout.turn-timer-centered .turn-timer-info{text-align:center;display:flex;flex-direction:column;align-items:center}.turn-timer-layout.turn-timer-centered .turn-timer-stats{justify-content:center}.turn-timer-clock{flex-shrink:0}.turn-timer-clock-placeholder{width:80px;height:80px}.turn-timer-info{flex:1;min-width:0}.turn-timer-turn{font-size:.7rem;font-weight:600;color:var(--text-secondary);letter-spacing:.05em;margin-bottom:2px}.turn-timer-player{font-size:1rem;font-weight:900;letter-spacing:.03em;margin-bottom:4px}.turn-timer-stats{display:flex;align-items:center;gap:10px;font-size:.85rem;font-weight:600;color:var(--text-primary)}.turn-timer-stats>span{display:flex;align-items:center;gap:3px}.turn-indicator{font-size:.65rem;font-weight:800;letter-spacing:.1em;padding:2px 8px;border-radius:4px;margin-top:4px;text-align:center;width:fit-content}.turn-indicator-active{color:#22c55e;background:#22c55e26;border:1px solid rgba(34,197,94,.3);animation:turn-glow 2s ease-in-out infinite}@keyframes turn-glow{0%,to{box-shadow:0 0 4px #22c55e33}50%{box-shadow:0 0 8px #22c55e66}}.turn-indicator-waiting{color:var(--text-secondary);background:#ffffff0d;border:1px solid var(--border);display:flex;flex-direction:column;align-items:center;gap:2px;white-space:normal;text-align:center}.waiting-label{font-size:.68rem;opacity:.7}.waiting-player{font-size:.72rem;font-weight:700;color:var(--text-primary)}.turn-timer-phases{display:flex;justify-content:center;gap:4px}.turn-timer-remaining{display:flex;align-items:center;justify-content:center;gap:6px;font-size:.75rem;color:var(--text-secondary);padding-top:6px}.turn-timer-remaining .remaining-active{color:var(--accent);font-weight:700}.turn-timer-remaining .remaining-sep{opacity:.4}.hud-menu-section{padding-left:0;flex-shrink:0}.hud-timer-section{align-items:center;flex-shrink:0;padding:0 12px}.hud-timer-label{font-size:.55rem;font-weight:700;letter-spacing:.1em;color:var(--text-secondary);text-transform:uppercase}.hud-timer-section .game-timer{font-size:1.3rem;font-weight:800;font-variant-numeric:tabular-nums;color:var(--text-primary)}.board-container{display:flex;justify-content:center;padding:8px 0;flex-shrink:0}.board-with-labels{display:flex;flex-direction:column;width:100%}.board-inner{display:flex;align-items:stretch}.coord-col-left{display:flex;flex-direction:column;justify-content:space-around;width:16px;flex-shrink:0}.coord-row-bottom{display:flex;align-items:center;height:14px}.coord-spacer{width:16px;flex-shrink:0}.coord-label{font-family:Courier New,monospace;font-size:7px;color:#3a4a30;text-align:center;line-height:1;-webkit-user-select:none;user-select:none}.coord-row-label{display:flex;align-items:center;justify-content:center}.coord-col-label{flex:1;min-width:0}.board-grid-wrapper{flex:1;overflow:visible}.board{border:2px solid rgba(0,0,0,.3);border-radius:8px;overflow:visible}.cell{width:100%;height:100%;min-width:24px;min-height:24px;display:flex;align-items:center;justify-content:center;font-size:9px;transition:background-color .1s;overflow:visible}.cell:hover{filter:brightness(1.3);z-index:20}.cell-state-overlay{position:absolute;inset:0;pointer-events:none;z-index:1}.cell-cant-target{position:absolute;top:0;right:0;font-size:.6em;line-height:1;z-index:3;pointer-events:none;opacity:.85;filter:drop-shadow(0 0 2px rgba(0,0,0,.6))}.cell-wire-overlay{position:absolute;inset:0;pointer-events:none;z-index:1;background:repeating-linear-gradient(45deg,rgba(80,50,20,.35) 0px,rgba(80,50,20,.35) 1px,transparent 1px,transparent 3px),repeating-linear-gradient(-45deg,rgba(80,50,20,.35) 0px,rgba(80,50,20,.35) 1px,transparent 1px,transparent 3px)}.wire-overlay{position:absolute;pointer-events:none;z-index:15}.wire-overlay-h{left:0;right:0;height:28px;transform:translateY(-50%);background-repeat:repeat-x;background-size:44px 28px;filter:drop-shadow(0 1px 3px rgba(0,0,0,.5))}.wire-overlay-v{top:0;bottom:0;width:28px;transform:translate(-50%);background-repeat:repeat-y;background-size:28px 44px;filter:drop-shadow(1px 0 3px rgba(0,0,0,.5))}.wire-hp-chip{font-size:6px;color:#00000080;font-weight:700;z-index:1;text-shadow:0 0 2px rgba(255,255,255,.6)}.unit-display{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;padding:1px;gap:0;overflow:visible}.unit-icons{display:flex;align-items:center;justify-content:center;gap:0;line-height:0;filter:drop-shadow(0 0 1px rgba(0,0,0,.4)) drop-shadow(0 0 2px rgba(255,255,255,.15))}.unit-icon-group{display:flex;align-items:center;position:relative;line-height:0}.unit-count-badge{position:absolute;bottom:0;right:0;width:14px;height:14px;display:flex;align-items:center;justify-content:center;font-size:8px;font-weight:900;color:#e2e8f0;background:#0f0f19d9;border:1.5px solid rgba(255,255,255,.2);border-radius:50%;line-height:1;pointer-events:none;z-index:2}.unit-mix-badge{position:absolute;bottom:1px;left:1px;font-size:5px;font-weight:800;color:#fbbf24;background:#0f0f19cc;padding:1px 3px;border-radius:2px;letter-spacing:.04em;line-height:1;pointer-events:none;z-index:2}.unit-display-full{outline:1.5px solid rgba(239,68,68,.5);outline-offset:-1px;border-radius:2px}.hp-bar-container{width:80%;height:3px;background:#0000004d;border-radius:1.5px;margin-top:-6px;position:relative;z-index:1;overflow:hidden}.hp-bar{height:100%;border-radius:2px;transition:width .3s}.home-base-marker{font-size:10px;opacity:.6;filter:drop-shadow(0 0 2px rgba(0,0,0,.4))}.cc-building{display:flex;align-items:center;justify-content:center}.cc-building:hover{filter:brightness(1.1)!important;z-index:10}.cc-topleft{border-radius:6px;overflow:visible}.cc-image-clip{position:absolute;inset:0;border-radius:6px;overflow:hidden}.cc-icon-main{width:100%;height:100%;object-fit:cover;display:block}.cc-info-overlay{position:absolute;bottom:2px;left:0;right:0;display:flex;flex-direction:column;align-items:center;gap:0;pointer-events:none}.cc-hp-display{font-size:8px;font-weight:900;text-shadow:0 0 4px rgba(0,0,0,.9),0 0 8px rgba(0,0,0,.6);line-height:1.1}.cc-hp-bar-container{width:90%;height:5px;background:#0000004d;border-radius:2.5px;overflow:hidden}.cc-hp-bar{height:100%;border-radius:2.5px;transition:width .3s}.cc-label{font-size:6px;font-weight:800;letter-spacing:.1em;color:#fff;text-shadow:0 0 3px rgba(0,0,0,.9);line-height:1}.cc-placeholder{pointer-events:none}.cc-attack-overlay{position:absolute;inset:0;background:#ef44444d;border:2px solid #ef4444;border-radius:6px;pointer-events:none}.hud{display:flex;align-items:stretch;justify-content:center;padding:8px 12px;gap:0;min-height:56px;flex:1;min-width:0}.hud-section{display:flex;flex-direction:column;justify-content:center;padding:0 16px;gap:6px;min-width:0}.hud-divider{width:1px;background:var(--border);flex-shrink:0}.hud-turn-section{padding-left:0;min-width:240px;width:240px;flex-shrink:0;min-height:80px}.hud-turn-card{border:2px solid;border-radius:8px;padding:6px 12px;background:var(--bg-card)}.hud-turn-top{display:flex;align-items:center;gap:8px;margin-bottom:4px}.hud-turn-number{font-size:.75rem;color:var(--text-secondary);font-weight:600}.game-timer-overlay{position:fixed;top:20px;left:16px;z-index:50;display:flex;align-items:baseline;gap:8px}.game-timer-label{font-size:14px;color:#9ca3af;font-weight:400}.game-timer{font-size:32px;color:#d1d5db;font-weight:500;font-variant-numeric:tabular-nums;letter-spacing:1px}.connection-banner{position:fixed;top:60px;left:50%;transform:translate(-50%);z-index:200;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;display:flex;align-items:center;gap:12px;box-shadow:0 4px 20px #00000080;animation:banner-slide-in .3s ease-out;white-space:nowrap}.connection-banner.banner-warn{background:linear-gradient(135deg,#7c2d12,#92400e);border:1px solid #f59e0b;color:#fef3c7}.connection-banner.banner-ok{background:linear-gradient(135deg,#14532d,#166534);border:1px solid #22c55e;color:#dcfce7}.banner-close{background:none;border:none;color:inherit;cursor:pointer;font-size:16px;opacity:.7;padding:0 2px}.banner-close:hover{opacity:1}@keyframes banner-slide-in{0%{transform:translate(-50%) translateY(-20px);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}.hud-turn-player{font-size:.9rem;font-weight:800}.hud-turn-bottom{display:flex;gap:12px}.hud-turn-stat{font-size:.78rem;font-weight:600;color:var(--text-primary)}.hud-selected-compact{display:flex;gap:6px;align-items:center;font-size:.68rem;color:var(--text-secondary);margin-top:2px}.hud-selected-compact strong{color:var(--accent)}.cycle-unit-btn{padding:1px 6px;font-size:.62rem;border:1px solid var(--accent);background:#f59e0b26;color:var(--accent);border-radius:4px;cursor:pointer;white-space:nowrap}.cycle-unit-btn:hover{background:#f59e0b4d}.hud-dice-compact{font-size:.68rem;color:var(--text-secondary);margin-top:2px}.kills{color:#ef4444;font-weight:600}.hud-phase-section{align-items:center;min-width:180px}.hud-section-label{font-size:.6rem;font-weight:800;letter-spacing:.15em;color:var(--text-secondary);text-transform:uppercase}.phase-badges{display:flex;gap:4px}.phase-badge{padding:3px 10px;border-radius:4px;font-size:.7rem;font-weight:700;background:var(--bg-card);color:var(--text-secondary);letter-spacing:.05em;border:1px solid transparent}.phase-badge.active{background:#ffffff1f;color:var(--text-primary);border:1px solid rgba(255,255,255,.25)}.hud-phase-remaining{font-size:.68rem;color:var(--text-secondary)}.hud-players-section{flex:0 1 auto;min-width:0;display:flex;justify-content:center}.hud-players-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px;width:500px}.hud-player-chip{display:flex;align-items:center;gap:3px;padding:5px 8px;background:var(--bg-card);border:1.5px solid;border-radius:4px;font-size:.58rem;min-width:0}.hud-player-chip.active-player{box-shadow:0 0 6px #f59e0b4d}.hud-player-chip.eliminated{opacity:.4}.hud-player-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.hud-player-name{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.hud-player-stats{color:var(--text-secondary);font-size:.65rem;white-space:nowrap;margin-left:auto;flex-shrink:0;display:flex;gap:8px}.hud-stat-icon{font-size:.85rem;vertical-align:-1px}.stat-icon{font-size:1.3rem;line-height:1}.hud-ai-badge{font-size:.48rem;font-weight:700;color:var(--accent);background:#f59e0b26;padding:0 3px;border-radius:2px;margin-left:4px;vertical-align:middle}.hud-actions-section{padding-right:0;align-items:center;gap:6px;min-width:130px}.hud-actions-row{display:flex;gap:6px;align-items:center}.btn{padding:5px 14px;border:none;border-radius:6px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .15s}.btn-sm{padding:4px 12px;font-size:.75rem}.btn-secondary{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover:not(:disabled){background:#2d3748}.btn-primary{background:var(--accent);color:#1a1a2e}.btn-primary:hover:not(:disabled){background:#d97706}.btn:disabled{opacity:.35;cursor:not-allowed}.build-menu{padding:8px 10px;flex-shrink:0;transition:box-shadow .2s ease}.build-menu-flash{animation:buildFlash .6s ease}@keyframes buildFlash{0%,to{box-shadow:none}25%{box-shadow:inset 0 0 0 2px #f59e0b,0 0 12px #f59e0b80}50%{box-shadow:inset 0 0 0 2px #f59e0b,0 0 20px #f59e0bb3}75%{box-shadow:inset 0 0 0 2px #f59e0b,0 0 12px #f59e0b80}}.build-menu-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.build-menu-title{font-size:.95rem;font-weight:900;letter-spacing:.06em}.build-menu-gold{font-size:.8rem;font-weight:700;color:var(--accent);background:#f59e0b1f;padding:2px 8px;border-radius:4px}.build-section-label{font-size:.6rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-secondary);margin:8px 0 4px 2px;opacity:.7}.build-grid{display:flex;flex-direction:column;gap:4px}.build-card2{display:flex;align-items:center;gap:8px;padding:6px 8px;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;cursor:pointer;text-align:left;color:var(--text-primary);transition:all .15s}.build-card2:hover:not(.disabled){border-color:var(--accent);background:#f59e0b0f;transform:translate(2px)}.build-card2.disabled{opacity:.35;cursor:not-allowed}.bc2-icon{width:30px;height:30px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:#ffffff0a;border-radius:6px}.bc2-body{flex:1;min-width:0}.bc2-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:3px}.bc2-name{font-size:.72rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bc2-cost{font-size:.7rem;font-weight:800;flex-shrink:0;margin-left:6px}.bc2-stats{display:flex;gap:3px;flex-wrap:wrap}.bc2-chip{font-size:.55rem;font-weight:700;padding:1px 4px;border-radius:3px;line-height:1.3;white-space:nowrap}.bc2-hp{background:#22c55e26;color:#4ade80}.bc2-hp:before{content:"HP ";font-weight:600;opacity:.7}.bc2-atk{background:#ef444426;color:#f87171}.bc2-atk:before{content:"ATK ";font-weight:600;opacity:.7}.bc2-spd{background:#38bdf826;color:#38bdf8}.bc2-spd:before{content:"SPD ";font-weight:600;opacity:.7}.bc2-rng{background:#a855f726;color:#c084fc}.bc2-rng:before{content:"RNG ";font-weight:600;opacity:.7}.bc2-aoe{background:#fb923c26;color:#fb923c}.bc2-aoe:before{content:"AOE ";font-weight:600;opacity:.7}.cc-upgrade-section{margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}.cc-upgrade-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.cc-upgrade-icon-wrap{width:34px;height:34px;border-radius:6px;overflow:hidden;flex-shrink:0;background:#ffffff0a}.cc-upgrade-icon{width:100%;height:100%;object-fit:cover;display:block}.cc-upgrade-info{flex:1;min-width:0}.cc-upgrade-name{font-size:.78rem;font-weight:800;display:block;margin-bottom:3px}.cc-upgrade-hp-row{display:flex;align-items:center;gap:6px}.cc-upgrade-hp-bar-bg{flex:1;height:4px;background:#ffffff14;border-radius:2px;overflow:hidden}.cc-upgrade-hp-bar-fill{height:100%;border-radius:2px;transition:width .3s}.cc-upgrade-hp-text{font-size:.6rem;font-weight:700;color:var(--text-secondary);flex-shrink:0}.cc-upgrade-buttons{display:flex;gap:4px}.cc-upg-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:1px;padding:5px 4px;background:var(--bg-card);border:1px solid var(--border);border-radius:6px;cursor:pointer;color:var(--text-primary);transition:all .15s}.cc-upg-btn:hover:not(.disabled){border-color:var(--accent);background:#f59e0b0f}.cc-upg-btn.disabled{opacity:.35;cursor:not-allowed}.cc-upg-btn-level{border-color:#a855f74d}.cc-upg-btn-level:hover:not(.disabled){border-color:#a855f7;background:#a855f714}.cc-upg-btn-label{font-size:.65rem;font-weight:700}.cc-upg-btn-cost{font-size:.6rem;font-weight:700;color:var(--accent)}.combat-log{display:flex;flex-direction:column;height:100%;overflow:hidden}.combat-log-title{font-size:.85rem;color:var(--accent);padding:10px 12px;border-bottom:1px solid var(--border);flex-shrink:0}.combat-log-entries{flex:1;overflow-y:auto;padding:8px}.log-entry{padding:4px 8px;border-left:3px solid;margin-bottom:4px;font-size:.72rem;color:var(--text-secondary);line-height:1.4}.log-time{font-family:Courier New,Courier,monospace;color:#9ca3af;font-size:.75rem;margin-right:4px}.match-stats-overlay{position:fixed;inset:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:110;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.match-stats-modal{background:var(--bg-panel);border:1px solid var(--border);border-radius:16px;max-width:900px;width:95%;max-height:85vh;overflow-y:auto;padding:24px 28px;box-shadow:0 0 40px #00000080}.match-stats-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.match-stats-title{font-size:1.4rem;font-weight:800;letter-spacing:.05em;color:var(--text-primary);margin:0}.match-stats-subtitle{font-size:.85rem;color:var(--text-secondary);margin-top:2px}.match-stats-close{background:none;border:none;color:var(--text-secondary);font-size:1.6rem;cursor:pointer;padding:0 4px;line-height:1}.match-stats-close:hover{color:var(--text-primary)}.match-stats-players-header{display:grid;grid-template-columns:repeat(var(--player-count, 2),1fr);gap:8px;margin-bottom:12px;padding-left:110px}.match-stats-player-name{font-weight:700;font-size:.9rem;text-align:center}.match-stats-dead-tag{display:inline-block;font-size:.65rem;background:#dc262633;color:#f87171;padding:1px 5px;border-radius:3px;margin-left:6px;vertical-align:middle}.match-stats-body{display:flex;flex-direction:column;gap:6px}.match-stats-row{display:flex;align-items:center;gap:12px;padding:4px 0}.match-stats-label{width:100px;flex-shrink:0;font-size:.8rem;color:var(--text-secondary);text-align:right;font-weight:500}.match-stats-values{flex:1;display:grid;grid-template-columns:repeat(var(--player-count, 2),1fr);gap:8px}.match-stats-value-cell{display:flex;flex-direction:column;align-items:center;gap:2px}.match-stats-bar-track{width:100%;height:6px;background:#ffffff0d;border-radius:3px;overflow:hidden}.match-stats-bar{height:100%;border-radius:3px;transition:width .3s ease;min-width:0}.match-stats-number{font-size:.8rem;font-weight:600;color:var(--text-primary)}.victory-overlay{position:fixed;inset:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.victory-content{text-align:center;padding:36px 40px;background:var(--bg-panel);border:2px solid var(--accent);border-radius:16px;box-shadow:0 0 60px #f59e0b40;max-width:700px;width:95%;max-height:90vh;overflow-y:auto;animation:victory-scale-in .4s ease-out}@keyframes victory-scale-in{0%{transform:scale(.85);opacity:0}to{transform:scale(1);opacity:1}}.victory-icon{font-size:3.5rem;margin-bottom:4px}.victory-title{font-size:2.8rem;font-weight:900;letter-spacing:.1em;margin:0 0 6px}.victory-subtitle{font-size:1.1rem;color:var(--text-secondary);margin:0 0 4px}.victory-meta{font-size:.85rem;color:var(--text-dim, #6b7280);margin:0 0 20px}.victory-stat-cards{display:flex;justify-content:center;gap:14px;margin-bottom:24px;flex-wrap:wrap}.victory-stat-card{background:#f59e0b14;border:1px solid rgba(245,158,11,.2);border-radius:10px;padding:10px 16px;min-width:80px;display:flex;flex-direction:column;align-items:center}.victory-stat-value{font-size:1.3rem;font-weight:800;color:var(--accent)}.victory-stat-label{font-size:.7rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-top:2px}.victory-standings{margin-bottom:24px}.victory-standings-title{font-size:.9rem;font-weight:700;color:var(--text-secondary);margin:0 0 8px;text-transform:uppercase;letter-spacing:.05em}.victory-standings-table,.defeat-standings-table{width:100%;border-collapse:collapse;font-size:.85rem}.victory-standings-table th,.defeat-standings-table th{color:var(--text-secondary);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;padding:6px 8px;text-align:center;border-bottom:1px solid var(--border)}.victory-standings-table td,.defeat-standings-table td{padding:8px;text-align:center;border-bottom:1px solid rgba(255,255,255,.04)}.standings-winner-row{background:#f59e0b0f}.standings-self-row{background:#ffffff0a}.standings-ai-tag{font-size:.65rem;color:var(--text-dim, #6b7280);margin-left:4px}.badge-winner{display:inline-block;background:#f59e0b33;color:var(--accent);font-weight:700;font-size:.7rem;padding:2px 8px;border-radius:4px;letter-spacing:.04em}.badge-defeated{display:inline-block;background:#dc262626;color:#f87171;font-weight:700;font-size:.7rem;padding:2px 8px;border-radius:4px;letter-spacing:.04em}.victory-buttons{display:flex;justify-content:center;align-items:flex-start;gap:12px;flex-wrap:wrap}.rematch-vote-area{display:flex;flex-direction:column;align-items:center;gap:6px}.rematch-vote-status{font-size:.75rem;color:var(--text-secondary, #aaa);text-align:center}.rematch-voters{font-style:italic;opacity:.8}.btn-gold{background:linear-gradient(135deg,#f59e0b,#d97706);color:#000;font-weight:700;border:none;padding:10px 28px;border-radius:8px;cursor:pointer;font-size:.9rem;letter-spacing:.04em;transition:filter .15s}.btn-gold:hover{filter:brightness(1.1)}.btn-outline-gold{background:transparent;color:var(--accent);border:1px solid var(--accent);padding:10px 28px;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:600;transition:background .15s}.btn-outline-gold:hover{background:#f59e0b1a}.btn-outline{background:transparent;color:var(--text-secondary);border:1px solid var(--border);padding:10px 28px;border-radius:8px;cursor:pointer;font-size:.9rem;transition:background .15s}.btn-outline:hover{background:#ffffff0d}.defeat-screen-overlay{position:fixed;inset:0;background:#1e0000e0;display:flex;align-items:center;justify-content:center;z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.defeat-screen-content{text-align:center;padding:36px 40px;background:linear-gradient(180deg,#1a0a0a,var(--bg-panel));border:2px solid #dc2626;border-radius:16px;box-shadow:0 0 50px #dc262633;max-width:700px;width:95%;max-height:90vh;overflow-y:auto;animation:defeat-scale-in .4s ease-out}@keyframes defeat-scale-in{0%{transform:scale(.85);opacity:0}to{transform:scale(1);opacity:1}}.defeat-screen-icon{font-size:3.5rem;margin-bottom:4px}.defeat-screen-title{font-size:2.8rem;font-weight:900;letter-spacing:.1em;color:#ef4444;margin:0 0 6px}.defeat-screen-subtitle{font-size:1.1rem;color:var(--text-secondary);margin:0 0 4px}.defeat-screen-meta{font-size:.85rem;color:var(--text-dim, #6b7280);margin:0 0 20px}.defeat-winner-name{font-weight:700}.defeat-stat-cards{display:flex;justify-content:center;gap:14px;margin-bottom:24px;flex-wrap:wrap}.defeat-stat-card{background:#dc262614;border:1px solid rgba(220,38,38,.2);border-radius:10px;padding:10px 16px;min-width:80px;display:flex;flex-direction:column;align-items:center}.defeat-stat-value{font-size:1.3rem;font-weight:800;color:#f87171}.defeat-stat-label{font-size:.7rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-top:2px}.defeat-standings{margin-bottom:24px}.defeat-standings-title{font-size:.9rem;font-weight:700;color:var(--text-secondary);margin:0 0 8px;text-transform:uppercase;letter-spacing:.05em}.defeat-screen-buttons{display:flex;justify-content:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}.btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;font-weight:700;border:none;padding:10px 28px;border-radius:8px;cursor:pointer;font-size:.9rem;letter-spacing:.04em;transition:filter .15s}.btn-danger:hover{filter:brightness(1.1)}.btn-outline-light{background:transparent;color:var(--text-primary);border:1px solid rgba(255,255,255,.2);padding:10px 28px;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:600;transition:background .15s}.btn-outline-light:hover{background:#ffffff0f}.defeat-screen-tip{font-size:.8rem;color:var(--text-dim, #6b7280);margin:0}.effect-muzzle-flash{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle,rgba(255,200,50,.9) 0%,rgba(255,120,20,.6) 40%,transparent 70%);animation:muzzle-flash-anim .3s ease-out forwards;pointer-events:none;z-index:10}@keyframes muzzle-flash-anim{0%{opacity:1;transform:scale(.3)}50%{opacity:1;transform:scale(1.2)}to{opacity:0;transform:scale(1.5)}}.effect-explosion{position:absolute;inset:-30%;border-radius:50%;background:radial-gradient(circle,rgba(255,80,20,.9) 0%,rgba(255,160,40,.6) 30%,rgba(200,50,10,.3) 60%,transparent 80%);animation:explosion-anim .6s ease-out forwards;pointer-events:none;z-index:10;display:flex;align-items:center;justify-content:center}@keyframes explosion-anim{0%{opacity:1;transform:scale(.1)}30%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.6)}}.effect-death{position:absolute;inset:0;background:#dc262680;animation:death-flash-anim .8s ease-out forwards;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:10}.effect-skull{font-size:14px;animation:skull-fade-in .8s ease-out forwards}@keyframes death-flash-anim{0%{background:#dc2626b3}40%{background:#dc262666}to{background:#dc262600}}@keyframes skull-fade-in{0%{opacity:0;transform:scale(.5)}30%{opacity:1;transform:scale(1.3)}70%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}.effect-death{flex-direction:column;gap:1px}.effect-damage{font-size:11px;font-weight:800;color:#f44;text-shadow:0 0 3px rgba(0,0,0,.9),0 1px 2px rgba(0,0,0,.8);animation:damage-float .6s ease-out forwards;pointer-events:none;white-space:nowrap}@keyframes damage-float{0%{opacity:0;transform:translateY(4px) scale(.7)}20%{opacity:1;transform:translateY(0) scale(1.1)}60%{opacity:1;transform:translateY(-3px) scale(1)}to{opacity:0;transform:translateY(-8px) scale(.9)}}.effect-loot{font-size:10px;font-weight:800;color:#fbbf24;text-shadow:0 0 3px rgba(0,0,0,.9),0 1px 2px rgba(0,0,0,.8);animation:loot-float .8s ease-out forwards;pointer-events:none;white-space:nowrap}@keyframes loot-float{0%{opacity:0;transform:translateY(2px) scale(.7)}25%{opacity:1;transform:translateY(0) scale(1.1)}65%{opacity:1;transform:translateY(-4px) scale(1)}to{opacity:0;transform:translateY(-10px) scale(.9)}}.effect-move-trail{position:absolute;inset:0;background:#22c55e66;animation:move-trail-anim .4s ease-out forwards;pointer-events:none;z-index:10}@keyframes move-trail-anim{0%{opacity:1}to{opacity:0}}.effect-build-complete{position:absolute;inset:0;border:2px solid rgba(245,158,11,.8);background:#f59e0b33;animation:build-complete-anim .5s ease-out forwards;pointer-events:none;z-index:10}@keyframes build-complete-anim{0%{opacity:0;transform:scale(.5)}40%{opacity:1;transform:scale(1.1)}to{opacity:0;transform:scale(1)}}.menu-btn{padding:4px 10px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);border-radius:6px;cursor:pointer;font-size:1.1rem;transition:all .15s;flex-shrink:0;line-height:1}.menu-btn:hover{border-color:var(--accent);color:var(--text-primary)}.hud-icon-btn{display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 8px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);border-radius:6px;cursor:pointer;transition:all .15s;position:relative;overflow:hidden}.hud-icon-btn:hover{border-color:var(--accent);color:var(--text-primary)}.hud-icon-btn.muted{opacity:.7;background:var(--bg-dark)}.hud-icon-btn.muted:after{content:"";position:absolute;top:50%;left:50%;width:120%;height:2px;background:#ef4444;transform:translate(-50%,-50%) rotate(-45deg);border-radius:1px}.hud-icon-emoji{font-size:.85rem;line-height:1}.hud-icon-label{font-size:.45rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;line-height:1}.game-menu-overlay{position:fixed;inset:0;background:#00000080;z-index:90;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.game-menu-panel{position:fixed;top:0;left:0;width:280px;height:100vh;background:var(--bg-panel);border-right:2px solid var(--accent);z-index:95;display:flex;flex-direction:column;animation:slide-in .2s ease-out}@keyframes slide-in{0%{transform:translate(-100%)}to{transform:translate(0)}}.game-menu-header{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid var(--border)}.game-menu-title{font-size:1.2rem;font-weight:900;color:var(--accent);letter-spacing:.1em}.game-menu-close{background:none;border:none;color:var(--text-secondary);font-size:1.2rem;cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .15s}.game-menu-close:hover{background:var(--bg-card);color:var(--text-primary)}.game-menu-buttons{display:flex;flex-direction:column;gap:4px;padding:16px}.game-menu-btn{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-size:.9rem;font-weight:600;cursor:pointer;transition:all .15s;text-align:left}.game-menu-btn:hover{border-color:var(--accent);background:#f59e0b14}.game-menu-btn-icon{font-size:1rem;width:20px;text-align:center}.game-menu-btn-warn{color:#f59e0b}.game-menu-btn-warn:hover{border-color:#f59e0b;background:#f59e0b1f}.game-menu-btn-danger{color:#ef4444}.game-menu-btn-danger:hover{border-color:#ef4444;background:#ef44441f}.game-menu-confirm{padding:8px 16px}.game-menu-confirm-text{text-align:center;color:#fbbf24;font-size:.95rem;margin:0 0 8px}.game-menu-confirm-actions{display:flex;gap:8px;justify-content:center}.game-menu-confirm-actions .game-menu-btn{flex:1;font-size:.85rem;padding:8px 0;text-align:center;justify-content:center}.game-rules-modal-overlay{position:fixed;inset:0;background:#0009;z-index:1100}.game-rules-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:90%;max-width:520px;max-height:80vh;background:var(--panel-bg, #1e293b);border:2px solid #fbbf24;border-radius:12px;z-index:1101;display:flex;flex-direction:column;box-shadow:0 8px 32px #00000080}.game-rules-modal-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--border, #334155)}.game-rules-modal-title{color:#fbbf24;font-size:1.1rem;font-weight:700;letter-spacing:1px;margin:0}.game-rules-modal-close{background:none;border:none;color:#94a3b8;font-size:1.3rem;cursor:pointer;padding:4px 8px;border-radius:6px;transition:color .15s,background .15s}.game-rules-modal-close:hover{color:#f1f5f9;background:#ffffff1a}.game-rules-modal-body{padding:16px 20px;overflow-y:auto;flex:1}.game-rules-section{margin-bottom:12px}.game-rules-section h4{color:#fbbf24;font-size:.85rem;margin:0 0 4px;text-transform:uppercase;letter-spacing:.5px}.game-rules-section p{color:#cbd5e1;font-size:.82rem;margin:0;line-height:1.45}.game-rules-section strong{color:#f1f5f9}.game-rules-modal--wide{max-width:680px}.game-rules-tabs{display:flex;border-bottom:1px solid var(--border, #334155);padding:0 20px;gap:4px}.game-rules-tab{background:none;border:none;border-bottom:2px solid transparent;color:#94a3b8;font-size:.85rem;font-weight:600;padding:8px 16px;cursor:pointer;transition:color .15s,border-color .15s;letter-spacing:.5px;text-transform:uppercase}.game-rules-tab:hover{color:#e2e8f0}.game-rules-tab.active{color:#fbbf24;border-bottom-color:#fbbf24}.unit-cards-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.unit-card{background:#ffffff0a;border:1px solid var(--border, #334155);border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:8px}.unit-card-header{display:flex;align-items:center;gap:10px}.unit-card-title{display:flex;flex-direction:column;gap:2px}.unit-card-name{color:#f1f5f9;font-size:.9rem;font-weight:700}.unit-card-badge{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;padding:1px 6px;border-radius:4px;width:fit-content}.unit-card-badge--infantry{background:#60a5fa33;color:#93c5fd}.unit-card-badge--vehicle{background:#fbbf2433;color:#fcd34d}.unit-card-stats{display:grid;grid-template-columns:1fr 1fr;gap:3px 8px}.unit-card-stat{display:flex;justify-content:space-between;align-items:center;font-size:.75rem}.unit-card-stat-label{color:#94a3b8}.unit-card-stat-value{color:#e2e8f0;font-weight:600}.unit-card-abilities{display:flex;flex-wrap:wrap;gap:4px}.unit-card-ability{font-size:.65rem;color:#a5b4fc;background:#a5b4fc1a;padding:2px 6px;border-radius:4px}@media(max-width:767px){.game-rules-modal--wide{max-width:95%}.unit-cards-grid{grid-template-columns:1fr}}.game-menu-config{padding:12px 16px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:8px}.game-menu-config-title{font-size:.7rem;font-weight:700;letter-spacing:.1em;color:var(--accent);text-align:center;margin-bottom:2px}.game-menu-config-row{display:flex;align-items:center;gap:8px}.game-menu-config-row .turn-config-label{min-width:60px}.game-menu-config-row .turn-config-options{display:flex;gap:4px;flex-wrap:wrap}.game-menu-config-hint{font-size:.65rem;color:var(--text-secondary);opacity:.7;text-align:center;margin-top:2px}.game-menu-version{margin-top:auto;padding:12px 16px;text-align:center;font-size:.7rem;color:var(--text-secondary);opacity:.5}.unit-tooltip{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);background:var(--bg-panel);border:1px solid var(--border);border-radius:8px;padding:8px 10px;min-width:160px;z-index:50;pointer-events:none;box-shadow:0 4px 16px #0006;white-space:nowrap}.unit-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:var(--border)}.unit-tooltip-interactive{pointer-events:auto}.unit-tooltip-interactive:before{content:"";position:absolute;top:100%;left:0;right:0;height:14px}.unit-tooltip-below{bottom:auto;top:calc(100% + 6px)}.unit-tooltip-below:after{top:auto;bottom:100%;border-top-color:transparent;border-bottom-color:var(--border)}.unit-tooltip-below.unit-tooltip-interactive:before{top:auto;bottom:100%}.unit-tooltip-align-left{left:0;transform:none}.unit-tooltip-align-left:after{left:10px;transform:none}.unit-tooltip-align-right{left:auto;right:0;transform:none}.unit-tooltip-align-right:after{left:auto;right:10px;transform:none}.unit-tooltip-header{font-size:.7rem;padding-bottom:4px;margin-bottom:4px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:8px}.unit-tooltip-capacity{font-size:.55rem;font-weight:700;color:var(--text-secondary)}.unit-tooltip-full{color:#ef4444;background:#ef444426;padding:1px 4px;border-radius:3px;letter-spacing:.05em}.unit-tooltip-entry{margin-bottom:4px}.unit-tooltip-entry:last-child{margin-bottom:0}.unit-tooltip-name{display:flex;align-items:center;gap:6px;font-size:.72rem;font-weight:700;color:var(--text-primary);margin-bottom:2px}.unit-tooltip-stats{display:flex;gap:6px;font-size:.65rem;color:var(--accent);font-weight:600}.unit-tooltip-extra{font-size:.6rem;color:var(--text-secondary);margin-top:1px}.unit-tooltip-status{display:flex;gap:4px;margin-top:3px}.unit-status-moved{font-size:.55rem;padding:1px 4px;background:#22c55e33;color:#22c55e;border-radius:3px;font-weight:600}.unit-status-attacked{font-size:.55rem;padding:1px 4px;background:#ef444433;color:#ef4444;border-radius:3px;font-weight:600}.unit-tooltip-tab-hint{margin-top:6px;padding-top:5px;border-top:1px solid var(--border);font-size:.58rem;color:var(--text-secondary);text-align:center;opacity:.75}.unit-tooltip-tab-hint kbd{background:#ffffff1a;border:1px solid var(--border);border-radius:3px;padding:0 3px;font-size:.55rem;font-family:inherit}.unit-selector{position:absolute;top:0;right:0;z-index:55;pointer-events:none}.unit-selector-below{top:0;right:0}.unit-selector-align-left,.unit-selector-align-left .unit-selector-dropdown{right:auto;left:0}.unit-selector-dropdown{position:absolute;top:calc(100% + 2px);right:0;pointer-events:auto;background:var(--bg-panel);border:1px solid var(--border);border-radius:8px;padding:4px 0;min-width:130px;box-shadow:0 4px 16px #0006;white-space:nowrap;animation:selector-pop .15s ease-out}@keyframes selector-pop{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.unit-selector-option{display:flex;align-items:center;gap:6px;padding:4px 10px;font-size:.68rem;color:var(--text-primary);cursor:pointer;transition:background .12s}.unit-selector-option:hover{background:#ffffff14}.unit-selector-active{background:#fbbf2426}.unit-selector-active:hover{background:#fbbf2438}.unit-selector-option-label{flex:1;font-weight:600}.unit-selector-hp{font-size:.6rem;color:var(--accent);font-weight:600}.unit-selector-check{color:#f59e0b;font-weight:700;font-size:.7rem}.unit-selector-full-badge{font-size:.5rem;font-weight:800;color:#ef4444;background:#ef444426;padding:1px 4px;border-radius:3px;margin-left:4px;vertical-align:middle;letter-spacing:.05em}.phase-modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:80;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:phase-overlay-in .3s ease-out}@keyframes phase-overlay-in{0%{opacity:0}to{opacity:1}}.phase-modal{text-align:center;padding:32px 48px;background:var(--bg-panel);border:3px solid;border-radius:16px;box-shadow:0 0 40px #00000080;animation:phase-modal-in .4s cubic-bezier(.34,1.56,.64,1)}@keyframes phase-modal-in{0%{opacity:0;transform:scale(.6) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.phase-modal-icon{font-size:3rem;margin-bottom:8px;animation:phase-icon-bounce .5s ease-out}@keyframes phase-icon-bounce{0%{transform:scale(0)}60%{transform:scale(1.3)}to{transform:scale(1)}}.phase-modal-player{font-size:1.4rem;font-weight:900;letter-spacing:.1em;margin-bottom:4px}.phase-modal-title{font-size:1.1rem;font-weight:700;color:var(--text-primary);letter-spacing:.15em;margin-bottom:8px}.phase-modal-sub{font-size:.8rem;color:var(--text-secondary)}.mute-buttons{display:flex;gap:4px;flex-shrink:0}.mute-btn{padding:4px 8px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);border-radius:6px;cursor:pointer;font-size:.75rem;transition:all .15s;display:flex;align-items:center;gap:3px}.mute-btn:hover{border-color:var(--accent);color:var(--text-primary)}.mute-btn.muted{opacity:.7;background:var(--bg-dark);position:relative;overflow:hidden}.mute-btn.muted:after{content:"";position:absolute;top:50%;left:50%;width:120%;height:2px;background:#ef4444;transform:translate(-50%,-50%) rotate(-45deg);border-radius:1px}@media(max-width:900px)and (min-width:768px){.game-sidebar{width:240px}.hud{flex-wrap:wrap;min-height:auto;gap:8px}.hud-divider{display:none}.hud-section{padding:4px 8px}.turn-timer-card{padding:8px 12px}.turn-timer-layout{gap:8px;margin-bottom:6px}}.hud-speed-row{display:flex;gap:4px;justify-content:center;margin-top:4px}.speed-btn{padding:2px 8px;font-size:.7rem;font-weight:700;border:1px solid var(--border);border-radius:4px;background:var(--bg-card);color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.speed-btn:hover{border-color:var(--accent);color:var(--text-primary)}.speed-btn:disabled{opacity:.35;cursor:not-allowed;border-color:var(--border);color:var(--text-secondary)}.speed-btn.active{background:var(--accent);color:#000;border-color:var(--accent)}.skip-ai-btn{padding:2px 10px;font-size:.7rem;font-weight:700;display:inline-flex;align-items:center;line-height:1;border:1px solid #f59e0b;border-radius:4px;background:#f59e0b26;color:#f59e0b;cursor:pointer;transition:all .15s ease;margin-left:4px}.skip-ai-btn:hover{background:#f59e0b4d;border-color:#fbbf24;color:#fbbf24}.auto-skip-btn{padding:2px 8px;font-size:.65rem;font-weight:700;display:inline-flex;align-items:center;gap:3px;border-radius:4px;border:1px solid rgba(255,255,255,.15);background:#ffffff0d;color:var(--text-secondary);cursor:pointer;transition:all .15s ease;margin-left:4px;text-transform:uppercase;letter-spacing:.03em}.auto-skip-btn:hover{background:#22c55e26;border-color:#22c55e66;color:#86efac}.auto-skip-btn.active{background:#22c55e40;border-color:#22c55e;color:#4ade80}.auto-skip-toggle{display:inline-block;padding:1px 5px;border-radius:3px;font-size:.6rem;font-weight:800;margin-left:2px}.auto-skip-toggle.off{background:#ffffff1a;color:#9ca3af}.auto-skip-toggle.on{background:#22c55e;color:#fff}.defeat-modal-overlay{position:fixed;inset:0;background:#3c000099;display:flex;align-items:center;justify-content:center;z-index:85;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:defeat-overlay-in .3s ease-out}@keyframes defeat-overlay-in{0%{opacity:0}to{opacity:1}}.defeat-modal{text-align:center;padding:32px 48px;background:linear-gradient(135deg,#1a0a0a,#2a1020);border:3px solid;border-radius:16px;box-shadow:0 0 50px #c800004d;animation:defeat-modal-in .5s cubic-bezier(.34,1.56,.64,1)}@keyframes defeat-modal-in{0%{opacity:0;transform:scale(.5) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.defeat-modal-icon{font-size:3.5rem;margin-bottom:8px;animation:defeat-icon-pulse .6s ease-out}@keyframes defeat-icon-pulse{0%{transform:scale(0)}50%{transform:scale(1.4)}70%{transform:scale(.9)}to{transform:scale(1)}}.defeat-modal-player{font-size:1.5rem;font-weight:900;letter-spacing:.1em;margin-bottom:4px}.defeat-modal-title{font-size:1.2rem;font-weight:700;color:#f44;letter-spacing:.15em;margin-bottom:8px}.defeat-modal-sub{font-size:.8rem;color:var(--text-secondary)}.feedback-captcha{display:flex;justify-content:center;margin:8px 0;transform:scale(.75);transform-origin:center}.nickname-error{color:#ef4444;font-size:.78rem;font-weight:600;text-align:center}@keyframes nickname-shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.nickname-shake{animation:nickname-shake .4s ease-in-out;border-color:#ef4444!important}.room-create-options{display:flex;flex-direction:column;gap:8px;align-items:center;width:100%}.room-private-toggle{display:flex;align-items:center;gap:10px;justify-content:center}.room-private-label{font-size:.85rem;color:var(--text-secondary);font-weight:600}.toggle-switch{position:relative;display:inline-block;width:40px;height:22px;flex-shrink:0}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background:var(--bg-card);border:1px solid var(--border);border-radius:22px;transition:background .2s,border-color .2s}.toggle-slider:before{content:"";position:absolute;width:16px;height:16px;left:2px;bottom:2px;background:var(--text-secondary);border-radius:50%;transition:transform .2s,background .2s}.toggle-switch input:checked+.toggle-slider{background:#f59e0b33;border-color:var(--accent)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(18px);background:var(--accent)}.lobby-room-name{margin:16px 0 8px;text-align:center}.lobby-name-display{display:flex;align-items:center;justify-content:center;gap:10px}.lobby-room-name-text{font-size:1.5rem;font-weight:900;color:var(--accent);letter-spacing:.05em}.lobby-name-edit-btn{padding:4px 10px!important;font-size:.72rem!important}.lobby-name-edit-row{display:flex;align-items:center;justify-content:center;gap:8px}.lobby-name-input{width:200px!important;font-size:.9rem!important;text-align:left!important}.lobby-room-meta{display:flex;flex-direction:column;align-items:center;gap:10px;margin:12px 0 16px}.lobby-visibility-row{display:flex;align-items:center;gap:10px}.lobby-visibility-label{font-size:.82rem;color:var(--text-secondary);font-weight:600}.lobby-visibility-badge{font-size:.78rem;color:var(--text-secondary);padding:4px 12px;background:#ffffff0d;border:1px solid var(--border);border-radius:6px}.tutorial-overlay{position:fixed;inset:0;z-index:120;pointer-events:auto}.tutorial-backdrop{position:fixed;inset:0;background:#000000bf}.tutorial-spotlight{position:fixed;border-radius:8px;box-shadow:0 0 0 9999px #000000bf;z-index:121;pointer-events:none}.tutorial-card{width:340px;max-width:calc(100vw - 32px);background:var(--bg-panel);border:2px solid var(--accent);border-radius:12px;padding:20px;box-shadow:0 8px 32px #00000080,0 0 20px #f59e0b26;z-index:122;animation:tutorial-card-in .3s ease-out}@keyframes tutorial-card-in{0%{opacity:0}to{opacity:1}}.tutorial-arrow{position:absolute;width:0;height:0;z-index:123}.tutorial-arrow-left .tutorial-arrow{left:-14px;border-top:12px solid transparent;border-bottom:12px solid transparent;border-right:14px solid var(--accent)}.tutorial-arrow-right .tutorial-arrow{right:-14px;border-top:12px solid transparent;border-bottom:12px solid transparent;border-left:14px solid var(--accent)}.tutorial-arrow-down .tutorial-arrow{bottom:-14px;border-left:12px solid transparent;border-right:12px solid transparent;border-top:14px solid var(--accent)}.tutorial-arrow-up .tutorial-arrow{top:-14px;border-left:12px solid transparent;border-right:12px solid transparent;border-bottom:14px solid var(--accent)}.tutorial-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.tutorial-card-title{font-size:1.1rem;font-weight:800;color:var(--accent);letter-spacing:.03em}.tutorial-voice-btn{background:#ffffff14;border:1px solid var(--border);border-radius:6px;padding:4px 8px;font-size:.9rem;cursor:pointer;color:var(--text-primary);transition:background .15s}.tutorial-voice-btn:hover{background:#ffffff26}.tutorial-voice-btn.muted{opacity:.5}.tutorial-card-text{font-size:.88rem;line-height:1.5;color:var(--text-primary);margin-bottom:16px}.tutorial-card-actions{display:flex;gap:10px;justify-content:flex-end;margin-bottom:12px}.tutorial-back-btn{margin-right:auto}.tutorial-skip-btn{opacity:.75}.tutorial-skip-btn:hover{opacity:1}.tutorial-next-btn{min-width:80px}.tutorial-card-footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--border);padding-top:10px}.tutorial-step-counter{font-size:.72rem;color:var(--text-secondary);font-weight:600}.tutorial-dont-show{display:flex;align-items:center;gap:6px;font-size:.72rem;color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none}.tutorial-dont-show input[type=checkbox]{accent-color:var(--accent);cursor:pointer}.tutorial-timer-bar{width:100%;height:3px;background:#ffffff1a;border-radius:0 0 12px 12px;overflow:hidden;margin-top:10px}.tutorial-timer-fill{height:100%;width:100%;background:linear-gradient(90deg,var(--accent),#ff6b6b);border-radius:0 0 12px 12px;animation:tutorial-timer-shrink linear forwards;transform-origin:left}@keyframes tutorial-timer-shrink{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.tutorial-card-image{display:flex;flex-direction:column;align-items:center;margin-bottom:14px;gap:6px}.tutorial-card-image img{max-width:100%;max-height:180px;border-radius:8px;border:1px solid var(--border);object-fit:contain}.tutorial-image-caption{font-size:.68rem;color:var(--text-secondary);font-style:italic;text-align:center}.tutorial-side-layout{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:stretch;gap:0;z-index:122;animation:tutorial-card-in .3s ease-out}.tutorial-card-side{border-top-right-radius:0;border-bottom-right-radius:0;border-right:1px solid var(--border);width:360px}.tutorial-side-image{display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg-card);border:2px solid var(--accent);border-left:none;border-radius:0 12px 12px 0;padding:16px;max-width:220px}.tutorial-side-image img{max-height:420px;width:auto;border-radius:6px;object-fit:contain}.tutorial-side-image .tutorial-image-caption{margin-top:8px}.mobile-bottom-panel{display:flex;flex-direction:column;background:var(--bg-panel);border-top:1px solid var(--border);flex-shrink:0;padding:4px 6px calc(12px + env(safe-area-inset-bottom,0px));gap:4px;overflow:hidden}.mbp-status{display:flex;align-items:center;gap:6px;padding:2px 4px;min-height:36px}.mbp-player-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.mbp-player-info{display:flex;flex-direction:column;gap:1px;min-width:0}.mbp-player-row{display:flex;align-items:center;gap:6px}.mbp-player-name{font-size:.82rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mbp-waiting-text{font-size:.62rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-left:16px}.mbp-turn-badge{font-size:.65rem;font-weight:800;padding:2px 6px;border-radius:4px;letter-spacing:.04em;white-space:nowrap}.mbp-turn-active{background:#22c55e33;color:#22c55e;border:1px solid rgba(34,197,94,.4)}.mbp-timer{flex-shrink:0}.mbp-icon{font-size:1rem;vertical-align:-1px}.mbp-gold{font-size:.78rem;font-weight:700;color:#f59e0b;white-space:nowrap;margin-left:auto}.mbp-units{font-size:.78rem;font-weight:600;color:var(--text-secondary);white-space:nowrap;margin-right:4px}.mbp-drawer-btn{width:36px;height:36px;border:1px solid var(--border);border-radius:6px;background:var(--bg-card);color:var(--text-primary);font-size:1.1rem;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center}.mbp-stats-bar{display:flex;flex-direction:column;gap:3px;padding:6px 10px;background:#00000059;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08);animation:mbpStatsSlideIn .15s ease-out}.mbp-stats-bar.mbp-stats-enemy{border-left:3px solid #ef4444}.mbp-stats-row{display:flex;align-items:center;gap:6px;min-height:20px}.mbp-stats-icon{font-size:16px;line-height:1;flex-shrink:0}.mbp-stats-name{font-weight:700;font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mbp-stats-badge-enemy{font-size:.6rem;font-weight:700;color:#fff;background:#ef4444;padding:1px 5px;border-radius:3px;flex-shrink:0;letter-spacing:.5px}.mbp-stats-hp-bar{flex:1;height:6px;background:#ffffff1f;border-radius:3px;overflow:hidden;min-width:60px}.mbp-stats-hp-fill{height:100%;border-radius:3px;transition:width .3s ease}.mbp-stats-hp-text{font-size:.7rem;color:#ffffffb3;white-space:nowrap;flex-shrink:0}.mbp-stats-detail{font-size:.7rem;color:#ffffff8c;white-space:nowrap;flex-shrink:0}@keyframes mbpStatsSlideIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.mbp-phases{display:flex;gap:4px}.mbp-phase-btn{flex:1;height:40px;border:1px solid var(--border);border-radius:6px;background:var(--bg-card);color:var(--text-secondary);font-size:.75rem;font-weight:700;cursor:default;letter-spacing:.03em}.mbp-phase-active{border-color:var(--accent);background:#f59e0b26;color:var(--accent)}.mbp-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.mbp-action-btn{flex:1;height:44px;border:1px solid var(--border);border-radius:8px;font-size:.85rem;font-weight:700;cursor:pointer;transition:all .15s}.mbp-end-phase{background:var(--bg-card);color:var(--text-primary)}.mbp-end-turn{background:linear-gradient(135deg,#f59e0b,#d97706);color:#1a1a2e;border-color:#d97706}.mbp-skip-ai{background:var(--bg-card);color:var(--text-primary);flex:0 0 auto;width:auto;max-width:120px;height:34px;font-size:.75rem;padding:0 12px}.mbp-action-btn:disabled{opacity:.35;cursor:not-allowed}.mbp-build-card{display:flex;flex-direction:column;align-items:center;min-width:72px;padding:6px 8px;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);color:var(--text-primary);cursor:pointer;flex-shrink:0;gap:2px;transition:all .15s}.mbp-build-card:not(.disabled):active{border-color:var(--accent);background:#f59e0b1a}.mbp-build-card.disabled{opacity:.4;cursor:not-allowed}.mbp-build-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px}.mbp-build-name{font-size:.62rem;font-weight:600;white-space:nowrap;text-align:center}.mbp-build-cost{font-size:.62rem;font-weight:700}.mbp-build-sections{display:flex;flex-direction:column;gap:4px;padding:4px 0}.mbp-build-section{display:flex;flex-direction:column;gap:3px}.mbp-build-section-label{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);text-align:center;opacity:.7}.mbp-build-row{display:flex;gap:6px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:0 2px}.mbp-build-row::-webkit-scrollbar{display:none}.mbp-speed-row{display:flex;gap:6px;align-items:center}.mbp-speed-btn{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border);border-radius:6px;padding:6px 14px;font-size:.78rem;font-weight:700;cursor:pointer;min-height:36px}.mbp-speed-btn.active{background:var(--accent);color:#1a1a2e;border-color:#d97706}.mobile-drawer-overlay{position:fixed;inset:0;background:#00000080;z-index:89;opacity:0;pointer-events:none;transition:opacity .3s ease}.mobile-drawer-overlay-visible{opacity:1;pointer-events:auto}.mobile-drawer{position:fixed;bottom:0;left:0;right:0;max-height:70vh;background:var(--bg-panel);border-top:1px solid var(--border);border-radius:16px 16px 0 0;z-index:90;transform:translateY(100%);transition:transform .3s ease;display:flex;flex-direction:column;overflow-y:auto;-webkit-overflow-scrolling:touch}.mobile-drawer-open{transform:translateY(0)}.md-handle-row{display:flex;align-items:center;justify-content:center;padding:8px 12px 4px;position:relative;flex-shrink:0}.md-handle{width:40px;height:4px;background:var(--border);border-radius:2px}.md-close-btn{position:absolute;right:12px;top:6px;width:32px;height:32px;border:none;background:none;color:var(--text-secondary);font-size:1.4rem;cursor:pointer;display:flex;align-items:center;justify-content:center}.md-scoreboard{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:8px 12px}.md-player-chip{display:flex;align-items:center;gap:6px;padding:6px 8px;border:1px solid;border-radius:6px;background:var(--bg-card);font-size:.78rem}.md-player-chip.eliminated{opacity:.4}.md-active-player{background:#f59e0b14}.md-player-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.md-player-name{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.md-ai-badge{font-size:.6rem;color:var(--text-secondary);margin-left:2px}.md-player-stats{font-size:.7rem;color:var(--text-secondary);margin-left:auto;white-space:nowrap;flex-shrink:0}.md-controls{display:flex;gap:6px;padding:6px 12px}.md-ctrl-btn{flex:1;height:44px;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);color:var(--text-primary);font-size:.72rem;font-weight:600;cursor:pointer}.md-ctrl-btn.md-muted{opacity:.5}.md-speed-row{display:flex;gap:6px;padding:4px 12px;justify-content:center}.md-speed-btn{padding:6px 14px;border:1px solid var(--border);border-radius:6px;background:var(--bg-card);color:var(--text-secondary);font-size:.78rem;font-weight:700;cursor:pointer}.md-speed-btn.active{background:var(--accent);color:#000;border-color:var(--accent)}.md-speed-btn:disabled{opacity:.35;cursor:not-allowed}.md-skip-btn{color:var(--text-primary)}.md-game-timer{display:flex;align-items:center;gap:8px;padding:6px 12px;font-size:.82rem}.md-timer-label{color:var(--text-secondary);font-size:.75rem}.md-combat-log{padding:0 12px 12px;min-height:0;flex:1;overflow:hidden}.md-combat-log .combat-log{max-height:200px}.board-zoom-container{width:100%;height:100%;overflow:hidden;touch-action:none;position:relative;display:flex;align-items:center;justify-content:center}.board-zoom-inner{width:100%;transform-origin:center center;will-change:transform}.board-zoom-inner.zoom-animating{transition:transform .3s ease}@media(max-width:767px){.game-layout-mobile{flex-direction:column;height:100dvh;overflow:hidden}.game-layout-mobile .game-left-column{flex:none;height:60vh;min-height:0}.game-layout-mobile .game-main{overflow:hidden;padding:2px;flex:1}.game-layout-mobile .board-container{height:100%;padding:0;display:flex;align-items:stretch;justify-content:stretch}.game-layout-mobile .board-with-labels{max-width:100%!important;height:100%}.game-layout-mobile .board-inner,.game-layout-mobile .board-grid-wrapper{height:100%}.game-layout-mobile .coord-col-left,.game-layout-mobile .coord-row-bottom{display:none}.game-layout-mobile .cell .unit-display{overflow:hidden}.game-layout-mobile .unit-tooltip,.game-layout-mobile .wire-tooltip{position:fixed;bottom:auto;left:50%;top:8px;transform:translate(-50%);z-index:100;max-width:calc(100vw - 24px);min-width:200px;white-space:normal;padding:10px 12px}.game-layout-mobile .unit-tooltip-below{top:8px;bottom:auto}.game-layout-mobile .unit-tooltip-align-left,.game-layout-mobile .unit-tooltip-align-right{left:50%;right:auto;transform:translate(-50%)}.game-layout-mobile .unit-tooltip:after,.game-layout-mobile .wire-tooltip:after{display:none}.game-layout-mobile .unit-tooltip-stats{display:grid;grid-template-columns:1fr 1fr;gap:2px 10px;font-size:.68rem}.game-layout-mobile .unit-tooltip-name{font-size:.76rem;margin-bottom:4px}.game-layout-mobile .unit-tooltip-extra{font-size:.64rem}.game-layout-mobile .unit-tooltip-header{font-size:.74rem;margin-bottom:6px;padding-bottom:5px}.game-layout-mobile .unit-icon-group{max-width:100%;max-height:100%}.game-layout-mobile .unit-count-badge{width:10px;height:10px;font-size:6px}.game-layout-mobile .hp-bar-container{width:90%;height:1.5px}.game-layout-mobile .wire-overlay-h{height:16px;background-size:26px 16px}.game-layout-mobile .wire-overlay-v{width:16px;background-size:16px 26px}.game-layout-mobile .connection-banner{font-size:.75rem;padding:4px 8px}.tutorial-card{width:calc(100vw - 24px);max-width:340px;font-size:.82rem}.tutorial-card-title{font-size:.95rem}.tutorial-card-text{font-size:.8rem}.tutorial-card-image img{max-height:130px}.tutorial-side-layout{flex-direction:column;width:calc(100vw - 24px);max-width:360px;max-height:80vh;overflow-y:auto}.tutorial-card-side{width:100%;border-right:none;border-bottom:1px solid var(--border);border-radius:12px 12px 0 0}.tutorial-side-image{max-width:100%;border-radius:0 0 12px 12px;max-height:200px;border-left:2px solid var(--accent)}.tutorial-next-btn,.tutorial-skip-btn,.tutorial-back-btn{min-height:40px;min-width:64px;font-size:.82rem}}@media(max-width:480px){.mbp-status{gap:4px;padding:2px}.mbp-player-name{max-width:100px;font-size:.75rem}.mbp-gold,.mbp-units{font-size:.7rem}.mbp-phase-btn{font-size:.68rem;height:36px}.mbp-action-btn{font-size:.78rem;height:40px}.mbp-build-card{min-width:64px;padding:4px 6px}.md-player-chip{padding:4px 6px;font-size:.72rem}}@media(max-width:767px){.floatingchat-container-wrap,.floatingchat-container-wrap-mo498,[id^=kofi-widget-overlay],.floating-chat-kofi-popup-btn{left:50%!important;right:auto!important;transform:translate(-50%)!important;bottom:200px!important;z-index:999!important}.start-screen{min-height:100vh;align-items:center;overflow-y:auto;-webkit-overflow-scrolling:touch}.start-content{padding:20px 16px;margin:0 auto}.start-rules{max-width:100%;overflow-x:hidden}.rules-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;font-size:.7rem}.rules-table th,.rules-table td{padding:3px 4px;font-size:.68rem}.player-slot-row{flex-direction:column;align-items:center;gap:6px;text-align:center}.player-slot-name{font-size:.82rem;text-align:center}.player-slot-controls{justify-content:center}}.cell-multi-selected{box-shadow:0 0 0 2px #8b5cf6;animation:pulse-multi 1.2s ease-in-out infinite;z-index:1}@keyframes pulse-multi{0%,to{box-shadow:0 0 0 2px #8b5cf6}50%{box-shadow:0 0 6px 3px #8b5cf680}}.cell-multi-target{cursor:pointer!important}.cell-multi-dimmed{opacity:.4}.btn-multi-active{background:#8b5cf6!important;color:#fff!important;border-color:#7c3aed!important}.btn-multi-active:hover{background:#7c3aed!important}.multi-select-badge{font-size:.7rem;color:#c4b5fd;background:#8b5cf626;border:1px solid rgba(139,92,246,.3);border-radius:4px;padding:2px 8px;margin-top:4px;text-align:center}.mbp-multi-info{font-size:.7rem;font-weight:700;color:#c4b5fd;background:#8b5cf633;border:1px solid rgba(139,92,246,.35);border-radius:4px;padding:3px 8px;margin:2px 6px;text-align:center;letter-spacing:.5px}.sidebar-tabs{display:flex;border-bottom:1px solid var(--border);flex-shrink:0}.sidebar-tab{flex:1;padding:8px 12px;background:none;border:none;color:var(--text-secondary);font-size:.8rem;cursor:pointer;border-bottom:2px solid transparent;transition:color .2s,border-color .2s}.sidebar-tab:hover{color:var(--text-primary)}.sidebar-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.sidebar-tab-content{flex:1;overflow:hidden;display:flex;flex-direction:column;min-height:0}.chat-panel{display:flex;flex-direction:column;height:100%;overflow:hidden}.chat-messages{flex:1;overflow-y:auto;padding:8px;min-height:0}.chat-empty{color:var(--text-secondary);font-size:.75rem;padding:12px;text-align:center;opacity:.6}.chat-msg{padding:3px 8px;border-left:3px solid;margin-bottom:4px;font-size:.72rem;color:var(--text-secondary);line-height:1.4;word-break:break-word}.chat-time{font-family:Courier New,Courier,monospace;color:#9ca3af;font-size:.7rem;margin-right:4px}.chat-sender{font-weight:600;margin-right:4px;cursor:context-menu;font-size:.72rem}.chat-text{font-size:.72rem}.chat-presets{display:flex;gap:4px;padding:6px 8px;overflow-x:auto;border-top:1px solid var(--border);flex-shrink:0;scrollbar-width:none}.chat-presets::-webkit-scrollbar{display:none}.chat-preset-btn{flex-shrink:0;width:28px;height:28px;border-radius:6px;border:1px solid var(--border);background:var(--bg-card);cursor:pointer;font-size:.85rem;display:flex;align-items:center;justify-content:center;transition:background .15s}.chat-preset-btn:hover{background:#ffffff1a}.chat-input-row{display:flex;gap:6px;padding:6px 8px;border-top:1px solid var(--border);flex-shrink:0}.chat-input{flex:1;background:var(--bg-card);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);padding:6px 10px;font-size:.78rem;outline:none}.chat-input:focus{border-color:var(--accent)}.chat-send-btn{padding:6px 12px;background:var(--accent);color:#000;border:none;border-radius:6px;font-size:.78rem;font-weight:600;cursor:pointer;transition:opacity .15s}.chat-send-btn:disabled{opacity:.4;cursor:default}.chat-send-btn:not(:disabled):hover{opacity:.85}.chat-context-menu{z-index:1000;background:var(--bg-card);border:1px solid var(--border);border-radius:6px;box-shadow:0 4px 12px #0006;overflow:hidden}.chat-context-menu button{display:block;width:100%;padding:8px 16px;background:none;border:none;color:var(--text-primary);font-size:.78rem;cursor:pointer;text-align:left}.chat-context-menu button:hover{background:#ffffff1a}.chat-toast{position:absolute;top:8px;left:50%;transform:translate(-50%);background:#1e293bf2;color:var(--text-primary);padding:6px 16px;border-radius:8px;font-size:.78rem;z-index:50;border:1px solid var(--border);max-width:300px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;animation:toast-fade 3s ease-in-out;pointer-events:none}@keyframes toast-fade{0%{opacity:0;transform:translate(-50%) translateY(-10px)}10%{opacity:1;transform:translate(-50%) translateY(0)}80%{opacity:1}to{opacity:0}}.online-counter{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:20px;margin-bottom:4px;color:#aaa;font-size:14px}.online-dot{width:8px;height:8px;border-radius:50%;display:inline-block;background:#4caf50;box-shadow:0 0 6px #4caf5099;animation:pulse-dot 2s ease-in-out infinite;flex-shrink:0}.online-dot.yellow{background:#ffc107;box-shadow:0 0 6px #ffc10799}@keyframes pulse-dot{0%{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.3)}to{opacity:1;transform:scale(1)}}.md-tab-strip{display:flex;padding:0 12px;gap:4px;margin-top:8px}.md-tab-btn{flex:1;padding:6px 10px;background:var(--bg-card);border:1px solid var(--border);border-radius:6px 6px 0 0;color:var(--text-secondary);font-size:.75rem;cursor:pointer;transition:color .2s,border-color .2s}.md-tab-btn.active{color:var(--accent);border-bottom-color:transparent;background:var(--bg-panel)}.md-tab-content{padding:0 12px 12px;min-height:0;flex:1;overflow:hidden}.md-tab-content .combat-log{max-height:200px}.md-tab-content .chat-panel{max-height:280px}.md-tab-content .chat-messages{max-height:150px}
