*{box-sizing:border-box;margin:0;padding:0}body{background:#0a0a1a;color:#fff;font-family:Courier New,monospace;overflow:hidden}#app{width:100vw;height:100vh;display:flex;align-items:center;justify-content:center}.game-wrap{position:relative;width:800px;height:800px}canvas{display:block;border:2px solid #333;background:#0a0a1a}.mini-map{position:absolute;bottom:10px;right:10px;z-index:5;border:2px solid #00aaff;pointer-events:none}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;background:#000000d9;z-index:10;overflow-y:auto;padding:1rem}.auth-bar{display:flex;align-items:center;justify-content:space-between;width:min(560px,100%);padding:.5rem .75rem;background:#12162a;border:1px solid #334;font-size:12px}.auth-actions{display:flex;gap:.5rem}.auth-label{color:#9ab;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:60%}.btn-sm{width:auto;padding:.35rem .75rem;margin:0;font-size:.85rem}.forgot-row{text-align:right;margin:.25rem 0 .5rem}.panel .btn-link{color:#0af;font-size:12px}.success-msg{color:#6f6;font-size:12px;margin:.5rem 0}.hint{color:#888;font-size:12px;margin-bottom:.75rem}.tab-row{display:flex;gap:.5rem;margin-bottom:.5rem}.panel.wide{min-width:min(960px,100%);max-width:min(1100px,100%);width:100%}.clone-color-picker{display:flex;align-items:center;gap:.75rem;margin-top:.75rem;padding:.5rem;background:#0003;border:1px solid #333;border-radius:4px}#clone-preview{border:1px solid #00aaff;border-radius:4px;image-rendering:pixelated}.clone-color-label{display:flex;flex-direction:column;gap:.35rem;flex:1;font-size:12px;color:#888;text-align:left}.clone-color-label input[type=color]{width:100%;height:36px;padding:0;border:1px solid #444;background:transparent;cursor:pointer}.overlay.hidden{display:none!important}.panel{background:#1a1a2e;border:2px solid #00aaff;padding:2rem;min-width:360px;text-align:center}.panel h1,.panel h2{color:#0af;margin-bottom:1rem}.panel input,.panel select{width:100%;padding:.5rem;margin:.5rem 0;background:#0a0a1a;border:1px solid #333;color:#fff;font-family:inherit}.btn{display:block;width:100%;padding:.75rem;margin:.5rem 0;background:#036;border:1px solid #00aaff;color:#fff;cursor:pointer;font-family:inherit;font-size:1rem}.btn:hover:not(:disabled){background:#048}.btn:disabled{opacity:.4;cursor:not-allowed}.btn.secondary{background:transparent;border-color:#666}.player-list{text-align:left;margin:1rem 0}.player-row{display:flex;justify-content:space-between;padding:.25rem 0;border-bottom:1px solid #333}.ready-tag{color:#0f0}.hud{position:absolute;top:10px;left:10px;z-index:5;font-size:14px;line-height:1.6;pointer-events:none}.scoreboard{position:absolute;top:10px;right:10px;z-index:5;background:#0009;padding:8px 12px;font-size:12px;min-width:140px}.scoreboard h3{color:#0af;margin-bottom:4px;font-size:13px}.error{color:#f44;margin:.5rem 0}.room-code{font-size:1.5rem;color:#0f0;letter-spacing:.2em;margin:.5rem 0}.hidden{display:none!important}.game-wrap:has(.party-strip:not(.hidden)) .hud{top:48px}.party-strip{position:absolute;top:0;left:0;right:0;z-index:20;pointer-events:none}.party-strip-inner{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:6px 8px;background:#060a12e0;border-bottom:1px solid rgba(0,170,255,.35)}[data-party-slot] .party-strip-inner{position:static;border:1px solid rgba(0,170,255,.35);border-radius:6px;margin-bottom:.75rem;text-align:left}.party-member{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:#d5e4ee}.party-member i{width:8px;height:8px;border-radius:50%;display:inline-block}.party-member em{color:#0af;font-style:normal;font-size:10px}.party-member small{color:#889}.party-member small.ok{color:#3ee0b0}.party-tuning{color:#ffc14a;font-size:11px}.net-chip{font-size:11px;letter-spacing:.04em;padding:1px 6px;border:1px solid #356;border-radius:999px;color:#9cf}.net-chip.net-connected{color:#3ee0b0;border-color:#1a6b52}.net-chip.net-reconnecting,.net-chip.net-connecting{color:#ffc14a;border-color:#6a5418}.net-chip.net-lost{color:#ff6b8a;border-color:#6a2438}.net-ping{font-size:11px}.net-ping.ping-good{color:#3ee0b0}.net-ping.ping-ok{color:#ffc14a}.net-ping.ping-bad{color:#ff6b8a}.match-chip{color:#7fd4ff;font-size:12px}.toast{position:absolute;left:50%;bottom:28px;transform:translate(-50%);z-index:60;background:#071018;border:1px solid #00aaff;color:#e8f7ff;padding:8px 12px;font-size:12px;pointer-events:none;max-width:90%}.balance-drawer{position:absolute;top:0;right:0;bottom:0;width:min(520px,100%);max-width:100%;z-index:40;display:flex;flex-direction:column;overflow:hidden;background:#080c16f7;border-left:2px solid #00aaff;box-shadow:-16px 0 40px #00000073}.overlay.balance-fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;padding:12px;align-items:stretch;justify-content:center;background:#060a12f5}.balance-studio{display:flex;flex-direction:column;flex:1;height:100%;min-height:0;min-width:0;max-width:100%;overflow:hidden;color:#e7eef5;text-align:left}.overlay.balance-fullscreen .balance-studio{width:min(920px,100%)}.balance-chrome{flex:0 1 auto;display:flex;flex-direction:column;gap:6px;padding:10px 12px;border-bottom:1px solid rgba(0,170,255,.35);background:#0c1420;position:sticky;top:0;z-index:2;max-height:min(240px,46%);overflow-x:hidden;overflow-y:auto}.balance-chrome-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center;min-width:0;max-width:100%}.balance-chrome strong{color:#0af;font-size:14px}.balance-chrome select,.balance-studio input,.balance-studio select{background:#0a0a1a;color:#fff;border:1px solid #345;border-radius:4px;font-family:inherit;font-size:12px;padding:4px 6px}.balance-chrome select{flex:1 1 7.5rem;min-width:0;max-width:100%}.balance-chrome .btn,.balance-meta-actions .btn,.droid-shared .btn{width:auto;max-width:100%;margin:0;padding:.3rem .45rem;font-size:11px;line-height:1.2;white-space:nowrap}.balance-dirty{color:#ffc14a;font-size:11px}.balance-status,.balance-hint{margin:0;font-size:11px;color:#8ab}.balance-tabs{display:flex;gap:4px;padding:8px 10px 0;flex-shrink:0;overflow:auto}.balance-tabs button{background:transparent;color:#9ab;border:1px solid transparent;font-family:inherit;font-size:12px;padding:6px 8px;cursor:pointer;white-space:nowrap}.balance-tabs button.active{color:#fff;border-color:#0af;background:#00aaff1f}.balance-body{flex:1;min-height:0;overflow:auto;padding:10px 12px 16px}.balance-card{border:1px solid #243044;background:#00000040;border-radius:6px;padding:8px;margin-bottom:8px}.balance-card h3{margin:0 0 8px;color:#7fd4ff;font-size:12px}.balance-card-grid,.droid-shared{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px}.droid-shared{margin-bottom:8px}.balance-field{display:flex;flex-direction:column;gap:3px;font-size:11px;color:#9ab}.balance-field-row{display:flex;align-items:center;gap:6px}.balance-field-row input[type=range]{flex:1}.balance-field-row input[type=number]{width:64px}.balance-check,.balance-chip{display:flex;align-items:center;gap:6px;font-size:11px;color:#c5d4e0}.balance-chips{display:flex;flex-wrap:wrap;gap:6px}.balance-chip{border:1px solid #345;border-radius:999px;padding:3px 8px;cursor:pointer}.balance-chip:has(input:checked){border-color:#0af;color:#e7f7ff;background:#00aaff26}.droid-layout{display:grid;grid-template-columns:132px 1fr;gap:8px}.droid-rail{display:flex;flex-direction:column;gap:6px;min-height:0}.droid-rail input{width:100%}.droid-role{margin:0 0 6px;color:#9ab;font-size:11px}.balance-unit{margin-left:4px;color:#678}.droid-list{display:flex;flex-direction:column;gap:2px;overflow:auto}.droid-list button{text-align:left;background:transparent;border:1px solid transparent;color:#c5d4e0;font-family:inherit;font-size:11px;padding:6px 8px;cursor:pointer}.droid-list button.active{border-color:#0af;color:#fff;background:#00aaff1f}.droid-hp{margin:0 0 8px;color:#8ab;font-size:11px}.mix-bar{display:flex;height:14px;width:100%;border-radius:4px;overflow:hidden;background:#1a2230;margin-bottom:6px}.mix-bar span,.mix-bar button.mix-seg{display:block;height:100%;border:0;padding:0 2px;margin:0;min-width:0;overflow:hidden;color:#071018;font-family:inherit;font-size:9px;line-height:14px;cursor:pointer;text-align:center}.mix-bar span.mix-seg{cursor:default;line-height:14px;text-align:center;font-size:9px;color:#071018}.mix-remainder{margin:0 0 8px;font-size:11px;color:#c5d4e0}.balance-meta-actions{display:flex;gap:6px;margin-top:8px}@media(max-width:560px){.droid-layout{grid-template-columns:1fr}.droid-list{flex-direction:row}.droid-list button{white-space:nowrap}}
