html,body,#root{margin:0;padding:0;width:100%;height:100%;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background-color:#050612;color:#f4f5ff}#root{display:flex;flex-direction:column}canvas{flex:1;display:block}.match-status{position:absolute;top:16px;left:72px;padding:8px 12px;border-radius:8px;background:#0c0e20bf;box-shadow:0 6px 16px #00000059;font-size:14px;letter-spacing:.02em}.settings-modal-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.settings-modal-content{background-color:#2a2a2a;padding:24px;border-radius:12px;width:400px;max-width:90%;color:#f0f0f0;box-shadow:0 4px 20px #00000080}.settings-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.settings-modal-header h2{margin:0;font-size:20px}.settings-modal-close{background:none;border:none;color:#aaa;font-size:24px;cursor:pointer;padding:0 8px}.settings-modal-body{display:flex;flex-direction:column;gap:16px}.settings-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #444}.settings-row label{cursor:pointer}.settings-row input[type=checkbox]{width:20px;height:20px;cursor:pointer}.settings-button{position:absolute;top:16px;left:16px;z-index:100;background:#0c0e20bf;border:none;border-radius:50%;width:40px;height:40px;display:flex;justify-content:center;align-items:center;cursor:pointer;color:#f4f5ff;box-shadow:0 4px 12px #0000004d;transition:background .2s}.settings-button:hover{background:#141830e6}.battle-stats-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1001;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.battle-stats-content{background:linear-gradient(135deg,#1a1d3a,#0d0f1f);padding:32px;border-radius:16px;width:700px;max-width:90%;max-height:85vh;overflow-y:auto;color:#f0f0f0;box-shadow:0 8px 32px #0009;border:1px solid rgba(255,255,255,.1);animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.battle-stats-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid rgba(255,255,255,.1)}.battle-stats-header h2{margin:0;font-size:24px;font-weight:600;background:linear-gradient(90deg,#60a5fa,#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.battle-stats-close{background:none;border:none;color:#aaa;font-size:28px;cursor:pointer;padding:0 8px;transition:color .2s}.battle-stats-close:hover{color:#fff}.battle-stats-body{display:flex;flex-direction:column;gap:24px}.battle-stats-winner{text-align:center;padding:16px;background:linear-gradient(135deg,#60a5fa1a,#a78bfa1a);border-radius:12px;border:1px solid rgba(96,165,250,.3)}.battle-stats-winner h3{margin:0;font-size:20px;font-weight:600}.battle-stats-teams{display:grid;grid-template-columns:1fr 1fr;gap:16px}.battle-stats-team-card{padding:20px;border-radius:12px;border:2px solid;background:#0000004d}.battle-stats-team-red{border-color:#ef4444;background:linear-gradient(135deg,#ef44441a,#0000004d)}.battle-stats-team-blue{border-color:#3b82f6;background:linear-gradient(135deg,#3b82f61a,#0000004d)}.battle-stats-team-card h3{margin:0 0 16px;font-size:18px;font-weight:600}.battle-stats-stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.battle-stats-stat{display:flex;flex-direction:column;gap:4px}.battle-stats-stat-label{font-size:12px;color:#aaa;text-transform:uppercase;letter-spacing:.05em}.battle-stats-stat-value{font-size:20px;font-weight:600;color:#fff}.battle-stats-top-performers{padding:20px;background:#0000004d;border-radius:12px;border:1px solid rgba(255,255,255,.1)}.battle-stats-top-performers h3{margin:0 0 16px;font-size:18px;font-weight:600}.battle-stats-performers-list{display:flex;flex-direction:column;gap:12px}.battle-stats-performer{display:flex;align-items:center;gap:12px;padding:12px;background:#ffffff0d;border-radius:8px;transition:background .2s}.battle-stats-performer:hover{background:#ffffff14}.battle-stats-performer-rank{font-weight:700;font-size:18px;color:#fbbf24;min-width:36px}.battle-stats-performer-team{font-weight:600;min-width:120px}.battle-stats-performer-stats{color:#aaa;font-size:14px}.robot-list-panel{position:absolute;top:80px;right:16px;width:420px;max-width:calc(100vw - 32px);max-height:calc(100vh - 120px);background:linear-gradient(135deg,#1a1d3af2,#0d0f1ff2);border-radius:12px;box-shadow:0 8px 32px #0009;border:1px solid rgba(255,255,255,.1);overflow:hidden;z-index:100;display:flex;flex-direction:column}.robot-list-drag-handle{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#0000004d;border-bottom:1px solid rgba(255,255,255,.1);cursor:move;-webkit-user-select:none;user-select:none}.robot-list-title{font-weight:600;font-size:14px;text-transform:uppercase;letter-spacing:.05em;color:#f0f0f0}.robot-list-drag-icon{color:#888;font-size:18px;line-height:1}.robot-list-content{overflow-y:auto;max-height:calc(100vh - 200px);padding:8px}.robot-list-team{margin-bottom:8px}.robot-list-team-header{width:100%;display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:#0006;border:none;border-left:3px solid;border-radius:6px;cursor:pointer;transition:background .2s;color:#f0f0f0;font-size:13px}.robot-list-team-header:hover{background:#0009}.robot-list-team-title{font-weight:600}.robot-list-collapse-icon{font-size:12px;color:#aaa}.robot-list-robots{display:flex;flex-direction:column;gap:4px;padding:8px 4px}.robot-list-robot{display:flex;align-items:center;gap:8px;padding:6px 10px;background:#ffffff0d;border-radius:6px;border:1px solid rgba(255,255,255,.1);transition:background .2s;font-size:11px;white-space:nowrap;overflow:hidden}.robot-list-robot:hover{background:#ffffff14}.robot-list-robot-dead{opacity:.5;background:#0000004d}.robot-list-robot-id{font-weight:600;font-size:11px;color:#aaa;min-width:28px}.robot-list-robot-health{font-size:11px;font-weight:500;color:#4ade80;min-width:60px}.robot-list-robot-dead .robot-list-robot-health{color:#ef4444}.robot-list-robot-mode{padding:2px 6px;background:#3b82f633;border-radius:3px;color:#60a5fa;font-weight:600;font-size:9px;min-width:48px;text-align:center}.robot-list-robot-target{color:#fbbf24;font-weight:500;font-size:10px;min-width:32px}.robot-list-robot-stat{color:#ccc;font-size:10px;font-weight:500;min-width:32px}@media(max-width:1024px){.robot-list-panel{width:360px}}@media(max-width:768px){.robot-list-panel{width:320px;top:60px;right:8px}.robot-list-robot{font-size:10px;gap:6px;padding:5px 8px}.robot-list-robot-id{min-width:24px}.robot-list-robot-health{min-width:50px}.robot-list-robot-mode{min-width:42px;font-size:8px}.robot-list-robot-stat{font-size:9px;min-width:28px}}@media(max-width:480px){.robot-list-panel{width:calc(100% - 16px);left:8px;right:8px;max-height:45vh}.robot-list-robot{font-size:9px;gap:4px;padding:4px 6px}.robot-list-robot-id{min-width:20px;font-size:9px}.robot-list-robot-health{min-width:45px;font-size:9px}.robot-list-robot-mode{min-width:38px;font-size:8px;padding:1px 4px}.robot-list-robot-target{min-width:26px;font-size:9px}.robot-list-robot-stat{font-size:8px;min-width:24px}}.app-root{position:relative;width:100%;height:100%}.app-debug-ui{position:absolute;left:16px;top:72px;max-width:440px;z-index:2;display:flex;flex-direction:column;gap:12px}.app-alive-panel{position:absolute;top:16px;right:16px;display:flex;flex-direction:column;gap:4px;align-items:flex-end}.app-alive-title{font-weight:600;font-size:14px}.app-victory-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);padding:24px 32px;border-radius:12px;background:#0c0e20d9;color:#f7f8ff;text-align:center;box-shadow:0 12px 32px #00000073}.app-victory-title{margin:0;font-size:22px}.app-victory-subtitle{margin:12px 0 0}.app-victory-button{margin-top:16px;padding:12px 32px;font-size:16px;font-weight:600;border:none;border-radius:8px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 16px #3b82f666;position:relative;overflow:hidden}.app-victory-button:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#fff3;transform:translate(-50%,-50%);transition:width .6s,height .6s}.app-victory-button:hover:before{width:300px;height:300px}.app-victory-button:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 6px 24px #3b82f699;transform:translateY(-2px)}.app-victory-button:active{transform:translateY(0)}.app-controls{position:absolute;bottom:16px;left:50%;transform:translate(-50%);display:flex;gap:12px}.app-controls button{padding:12px 24px;font-size:14px;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #0000004d;position:relative;overflow:hidden}.app-controls button:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#fff3;transform:translate(-50%,-50%);transition:width .6s,height .6s}.app-controls button:hover:before{width:300px;height:300px}.app-controls button:active{transform:scale(.95)}.app-controls button:nth-child(1){background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.app-controls button:nth-child(1):hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 6px 20px #3b82f666}.app-controls button:nth-child(2){background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff}.app-controls button:nth-child(2):hover{background:linear-gradient(135deg,#7c3aed,#6d28d9);box-shadow:0 6px 20px #8b5cf666}.app-controls button span{position:relative;z-index:1}.obstacle-inspector-empty{font-size:12px;opacity:.7}.obstacle-inspector{display:flex;flex-direction:column;gap:10px}.obstacle-inspector-header{display:flex;justify-content:space-between;align-items:center}.obstacle-inspector-title{font-weight:700;font-size:13px}.obstacle-inspector-field{display:flex;flex-direction:column;gap:4px;font-size:12px}.obstacle-inspector-input{padding:6px 8px;border-radius:6px;border:1px solid rgba(255,255,255,.08);background:#ffffff0f;color:#f8f9ff;font-size:12px}.obstacle-inspector-button{cursor:pointer}.obstacle-inspector-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:8px}.obstacle-inspector-flags{display:flex;gap:12px;align-items:center}.obstacle-inspector-flag{display:flex;align-items:center;gap:6px;font-size:12px}.obstacle-inspector-section{border-top:1px solid rgba(255,255,255,.08);padding-top:8px}.obstacle-inspector-section-title{font-weight:600;font-size:12px;margin-bottom:6px}.obstacle-inspector-mt-8{margin-top:8px}.obstacle-inspector-mt-6{margin-top:6px}.obs-spawner-panel{background:#080a16d1;border:1px solid rgba(255,255,255,.08);color:#e9ecff;padding:12px;border-radius:10px;max-width:360px;box-shadow:0 12px 28px #00000059;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.obs-spawner-title{font-weight:700;margin-bottom:8px;letter-spacing:.2px}.obs-spawner-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:8px}.obs-spawner-mb-8{margin-bottom:8px}.obs-spawner-mb-12{margin-bottom:12px}.obs-spawner-stack{display:flex;flex-direction:column;gap:8px}.obs-spawner-label{font-size:12px;display:flex;flex-direction:column;gap:4px}.obs-spawner-checkbox{font-size:12px;display:flex;flex-direction:row;align-items:center;gap:8px}.obs-spawner-input{padding:6px 8px;border-radius:6px;border:1px solid rgba(255,255,255,.08);background:#ffffff0f;color:#f8f9ff;font-size:12px}.obs-spawner-button{padding:10px 12px;border-radius:8px;border:none;cursor:pointer;background:linear-gradient(135deg,#4c7bff,#7cd2ff);color:#0b1024;font-weight:700}.obs-spawner-button--full{width:100%}.obs-spawner-list-title{font-size:12px;opacity:.8;margin-bottom:8px}.obs-spawner-list{display:flex;flex-direction:column;gap:6px;max-height:160px;overflow-y:auto}.obs-spawner-row{display:grid;grid-template-columns:1fr auto;gap:6px;padding:6px 8px;border-radius:8px;background:#ffffff0a;align-items:center}.obs-spawner-row-title{font-weight:600;font-size:12px}.obs-spawner-row-meta{font-size:11px;opacity:.8}.obs-spawner-row-actions{display:flex;gap:4px;align-items:center}
