*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{background:#0d1117;color:#e6edf3;font-family:-apple-system,monospace}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#30363d;border-radius:4px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:#484f58;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-corner{background:transparent}*{scrollbar-width:thin;scrollbar-color:#30363d transparent}.controls[data-v-0eb1f6ee]{background:#161b22;border:1px solid #30363d;border-radius:8px;padding:20px;min-width:260px}.controls-title[data-v-0eb1f6ee]{color:#e6edf3;font-size:16px;margin:0 0 16px;font-family:monospace}.control-row[data-v-0eb1f6ee]{display:flex;flex-direction:column;gap:4px;margin-bottom:14px}.seed-input[data-v-0eb1f6ee]{display:flex;width:100%;justify-content:space-between;gap:8px}.robot-label-row[data-v-0eb1f6ee]{display:flex;justify-content:space-between;align-items:center}label[data-v-0eb1f6ee]{color:#8b949e;font-size:12px;font-family:monospace}.select[data-v-0eb1f6ee],.input[data-v-0eb1f6ee]{width:100%;background:#0d1117;border:1px solid #30363d;color:#e6edf3;padding:8px 10px;border-radius:6px;font-family:monospace;font-size:13px;cursor:pointer}.select[data-v-0eb1f6ee]:focus,.input[data-v-0eb1f6ee]:focus{outline:none;border-color:#58a6ff}.btn-remove[data-v-0eb1f6ee]{background:none;border:none;color:#484f58;cursor:pointer;font-size:12px;padding:0 2px}.btn-remove[data-v-0eb1f6ee]:hover{color:#e74c3c}.btn-add[data-v-0eb1f6ee]{width:100%;padding:7px;background:transparent;color:#58a6ff;border:1px dashed #30363d;border-radius:6px;font-size:13px;font-family:monospace;cursor:pointer;margin-bottom:14px}.btn-add[data-v-0eb1f6ee]:hover{border-color:#58a6ff}.btn-start[data-v-0eb1f6ee]{width:100%;padding:10px;background:#238636;color:#fff;border:none;border-radius:6px;font-size:14px;font-family:monospace;cursor:pointer}.btn-start[data-v-0eb1f6ee]:hover:not(:disabled){background:#2ea043}.btn-start[data-v-0eb1f6ee]:disabled{background:#333;cursor:not-allowed}.mode-toggle[data-v-0eb1f6ee]{display:flex;gap:0;border-radius:6px;overflow:hidden;border:1px solid #30363d}.mode-btn[data-v-0eb1f6ee]{flex:1;padding:7px 0;background:#0d1117;color:#484f58;border:none;font-family:monospace;font-size:12px;cursor:pointer;transition:background .15s,color .15s}.mode-btn[data-v-0eb1f6ee]:not(:last-child){border-right:1px solid #30363d}.mode-btn.active[data-v-0eb1f6ee]{background:#1f3a5f;color:#58a6ff}.mode-btn[data-v-0eb1f6ee]:hover:not(.active){color:#8b949e}.error[data-v-0eb1f6ee]{color:#e74c3c;font-size:12px;margin:6px 0 0;font-family:monospace}.btn-secondary[data-v-0eb1f6ee]{padding:8px 16px;background:transparent;color:#8b949e;border:1px solid #30363d;border-radius:6px;font-family:monospace;font-size:13px;cursor:pointer}.btn-secondary[data-v-0eb1f6ee]:hover{color:#e6edf3;border-color:#8b949e}.home[data-v-82ebb0c9]{min-height:100vh;display:flex;flex-direction:column}.header[data-v-82ebb0c9]{padding:12px 24px;border-bottom:1px solid #21262d;display:flex;align-items:center;gap:14px;flex-wrap:wrap}.title[data-v-82ebb0c9]{font-size:20px;font-weight:700;font-family:monospace}.subtitle[data-v-82ebb0c9]{color:#484f58;font-size:13px;font-family:monospace}.ws-badge[data-v-82ebb0c9]{font-family:monospace;font-size:12px;padding:2px 8px;border-radius:4px;background:#161b22}.ws-badge.connected[data-v-82ebb0c9]{color:#2ecc71}.ws-badge.connecting[data-v-82ebb0c9]{color:#f39c12}.ws-badge.error[data-v-82ebb0c9]{color:#e74c3c}.header-nav[data-v-82ebb0c9]{margin-left:auto;display:flex;align-items:center;gap:12px}.nav-link[data-v-82ebb0c9]{font-family:monospace;font-size:13px;color:#8b949e;text-decoration:none}.nav-link[data-v-82ebb0c9]:hover{color:#e6edf3}.nav-link-primary[data-v-82ebb0c9]{color:#58a6ff}.btn-nav-logout[data-v-82ebb0c9]{background:none;border:1px solid #30363d;border-radius:4px;color:#484f58;font-family:monospace;font-size:12px;padding:4px 10px;cursor:pointer}.btn-nav-logout[data-v-82ebb0c9]:hover{color:#e74c3c;border-color:#e74c3c}.content[data-v-82ebb0c9]{flex:1;padding:24px;max-width:960px;width:100%;margin:0 auto}.tabs[data-v-82ebb0c9]{display:flex;gap:0;border-bottom:1px solid #21262d;margin-bottom:24px}.tab[data-v-82ebb0c9]{padding:10px 20px;background:none;border:none;border-bottom:2px solid transparent;color:#484f58;font-family:monospace;font-size:13px;cursor:pointer;margin-bottom:-1px}.tab[data-v-82ebb0c9]:hover{color:#8b949e}.tab.active[data-v-82ebb0c9]{color:#e6edf3;border-bottom-color:#58a6ff}.section-header[data-v-82ebb0c9]{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.section-title[data-v-82ebb0c9]{font-size:16px;font-family:monospace;color:#e6edf3}.header-actions[data-v-82ebb0c9]{display:flex;gap:10px}.btn-primary[data-v-82ebb0c9]{padding:8px 16px;background:#238636;color:#fff;border:none;border-radius:6px;font-family:monospace;font-size:13px;cursor:pointer}.btn-primary[data-v-82ebb0c9]:hover{background:#2ea043}.btn-secondary[data-v-82ebb0c9]{padding:8px 16px;background:transparent;color:#8b949e;border:1px solid #30363d;border-radius:6px;font-family:monospace;font-size:13px;cursor:pointer}.btn-secondary[data-v-82ebb0c9]:hover{color:#e6edf3;border-color:#8b949e}.empty[data-v-82ebb0c9]{color:#484f58;font-family:monospace;font-size:14px;text-align:center;padding:60px 0}.battle-table[data-v-82ebb0c9]{width:100%;border-collapse:collapse;font-family:monospace;font-size:13px}.battle-table th[data-v-82ebb0c9]{text-align:left;color:#484f58;font-weight:400;font-size:11px;padding:0 12px 10px;border-bottom:1px solid #21262d}.battle-table td[data-v-82ebb0c9]{padding:12px;border-bottom:1px solid #21262d;vertical-align:middle}.battle-table tbody tr:hover td[data-v-82ebb0c9]{background:#161b22}.battle-table tbody tr:last-child td[data-v-82ebb0c9]{border-bottom:none}.badge[data-v-82ebb0c9]{font-size:10px;font-family:monospace;padding:2px 7px;border-radius:10px}.badge-live[data-v-82ebb0c9]{background:#1a3a1a;color:#2ecc71;border:1px solid #2ecc71}.badge-done[data-v-82ebb0c9]{background:#1a1f2e;color:#58a6ff;border:1px solid #58a6ff}.badge-practice[data-v-82ebb0c9]{background:#d299221f;color:#d29922;border:1px solid rgba(210,153,34,.4)}.td-robots[data-v-82ebb0c9]{color:#e6edf3;font-weight:700}.td-muted[data-v-82ebb0c9]{color:#484f58}.td-winner[data-v-82ebb0c9]{color:#f1c40f}.td-rank[data-v-82ebb0c9]{color:#484f58;font-size:11px;width:32px}.td-elo[data-v-82ebb0c9]{color:#58a6ff;font-weight:700;font-size:15px}.td-win[data-v-82ebb0c9]{color:#2ecc71}.td-loss[data-v-82ebb0c9]{color:#e74c3c}.row-top td[data-v-82ebb0c9]{background:#0d1f0d}.row-top .td-elo[data-v-82ebb0c9]{color:#f1c40f}.btn-watch[data-v-82ebb0c9]{color:#58a6ff;font-family:monospace;font-size:12px;text-decoration:none;white-space:nowrap}.btn-watch[data-v-82ebb0c9]:hover{text-decoration:underline}.overlay[data-v-82ebb0c9]{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:100}.modal[data-v-82ebb0c9]{background:#161b22;border:1px solid #30363d;border-radius:10px;width:380px;max-height:90vh;overflow-y:auto;display:flex;flex-direction:column}.modal-header[data-v-82ebb0c9]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #30363d}.modal-header h3[data-v-82ebb0c9]{font-family:monospace;font-size:15px;color:#e6edf3}.btn-close[data-v-82ebb0c9]{background:none;border:none;color:#484f58;font-size:16px;cursor:pointer;padding:2px 6px}.btn-close[data-v-82ebb0c9]:hover{color:#e74c3c}.modal-body[data-v-82ebb0c9]{padding:16px 20px;display:flex;flex-direction:column;gap:14px}.fov-toggle[data-v-82ebb0c9]{display:flex;align-items:center;gap:8px;font-family:monospace;font-size:13px;color:#8b949e;cursor:pointer;-webkit-user-select:none;user-select:none}.fov-toggle input[data-v-82ebb0c9]{cursor:pointer;accent-color:#58a6ff}.create-error[data-v-82ebb0c9]{color:#e74c3c;font-size:12px;font-family:monospace}.btn-training[data-v-82ebb0c9]{padding:8px 16px;background:transparent;color:#a371f7;border:1px solid #6e40c9;border-radius:6px;font-family:monospace;font-size:13px;cursor:pointer}.btn-training[data-v-82ebb0c9]:hover{background:#6e40c926;border-color:#8957e5;color:#d2a8ff}.form-row[data-v-82ebb0c9]{display:flex;align-items:center;gap:8px}.form-label[data-v-82ebb0c9]{font-family:monospace;font-size:12px;color:#8b949e;width:48px;flex-shrink:0}.form-input[data-v-82ebb0c9],.form-select[data-v-82ebb0c9]{flex:1;background:#0d1117;border:1px solid #30363d;border-radius:6px;color:#e6edf3;font-family:monospace;font-size:13px;padding:6px 10px}.form-select[data-v-82ebb0c9]{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:28px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%238b949e'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.form-input[data-v-82ebb0c9]:focus,.form-select[data-v-82ebb0c9]:focus{outline:none;border-color:#58a6ff}.btn-primary.btn-wide[data-v-82ebb0c9]{width:100%;justify-content:center}.btn-primary[data-v-82ebb0c9]:disabled{opacity:.45;cursor:not-allowed}.btn-sm[data-v-82ebb0c9]{padding:5px 10px;font-size:12px}.tournaments-list[data-v-82ebb0c9]{display:flex;flex-direction:column;gap:8px}.tournament-row[data-v-82ebb0c9]{display:flex;align-items:center;gap:14px;padding:12px 16px;background:#161b22;border:1px solid #30363d;border-radius:8px;text-decoration:none;color:inherit;transition:border-color .15s}.tournament-row[data-v-82ebb0c9]:hover{border-color:#58a6ff}.t-name[data-v-82ebb0c9]{font-family:monospace;font-size:14px;color:#e6edf3;font-weight:700;flex:1}.t-participants[data-v-82ebb0c9]{font-family:monospace;font-size:12px;color:#8b949e}.t-status[data-v-82ebb0c9]{font-family:monospace;font-size:11px;padding:2px 8px;border-radius:8px;border:1px solid}.t-status-registration[data-v-82ebb0c9]{color:#f39c12;border-color:#f39c12;background:#f39c1214}.t-status-in_progress[data-v-82ebb0c9]{color:#2ecc71;border-color:#2ecc71;background:#2ecc7114}.t-status-completed[data-v-82ebb0c9]{color:#8b949e;border-color:#30363d}.t-winner[data-v-82ebb0c9]{font-family:monospace;font-size:12px;color:#f1c40f}.t-arrow[data-v-82ebb0c9]{font-family:monospace;font-size:13px;color:#30363d}.tournament-row:hover .t-arrow[data-v-82ebb0c9]{color:#58a6ff}.battle-canvas-wrapper[data-v-893df09f]{display:flex;justify-content:center;align-items:center;background:#0d1117;border-radius:8px;padding:8px;border:1px solid #30363d}.battle-canvas[data-v-893df09f]{display:block;border-radius:4px}.battle-log[data-v-3081bc08]{background:#161b22;border:1px solid #30363d;border-radius:8px;overflow:hidden}.log-toggle[data-v-3081bc08]{width:100%;padding:10px 14px;background:none;border:none;color:#8b949e;font-family:monospace;font-size:13px;text-align:left;cursor:pointer}.log-toggle[data-v-3081bc08]:hover{color:#e6edf3}.log-entries[data-v-3081bc08]{overflow-y:auto;display:flex;flex-direction:column;gap:3px;max-height:400px;padding:0 14px 14px;scrollbar-width:thin}.log-entry[data-v-3081bc08]{display:flex;align-items:baseline;gap:6px;font-size:11px;font-family:monospace;color:#8b949e;padding:2px 0}.log-entry.attack[data-v-3081bc08]{color:#e74c3c}.log-entry.shoot[data-v-3081bc08]{color:#f39c12}.log-entry.death[data-v-3081bc08]{color:#f39c12;font-weight:700}.log-entry.pickup[data-v-3081bc08]{color:#2ecc71}.log-entry.move[data-v-3081bc08]{color:#58a6ff}.log-entry.timeout[data-v-3081bc08]{color:#f39c12}.turn-badge[data-v-3081bc08]{color:#484f58;min-width:28px;flex-shrink:0}.empty[data-v-3081bc08]{color:#484f58;font-size:12px;font-family:monospace;text-align:center;margin-top:20px}.robot-stats[data-v-1e1746f9]{display:flex;gap:12px;flex-direction:column}.robot-card[data-v-1e1746f9]{background:#161b22;border:1px solid #30363d;border-radius:8px;padding:14px;font-family:monospace}.robot-1[data-v-1e1746f9]{border-left:3px solid #e74c3c}.robot-2[data-v-1e1746f9]{border-left:3px solid #3498db}.robot-3[data-v-1e1746f9]{border-left:3px solid #2ecc71}.robot-4[data-v-1e1746f9]{border-left:3px solid #f1c40f}.robot-header[data-v-1e1746f9]{display:flex;align-items:center;gap:6px;margin-bottom:12px}.robot-name[data-v-1e1746f9]{color:#e6edf3;font-size:14px;font-weight:700}.stat-row[data-v-1e1746f9]{display:flex;align-items:center;gap:8px;margin-bottom:7px}.stat-label[data-v-1e1746f9]{color:#484f58;font-size:11px;width:28px;flex-shrink:0}.stat-val[data-v-1e1746f9]{color:#8b949e;font-size:12px}.stat-val.stat-owner[data-v-1e1746f9]{color:#58a6ff}.stat-val.highlight[data-v-1e1746f9]{color:#e6edf3;font-weight:700}.hp-bar-container[data-v-1e1746f9]{flex:1;height:8px;background:#21262d;border-radius:4px;overflow:hidden}.hp-bar[data-v-1e1746f9]{height:100%;border-radius:4px;transition:width .3s ease,background .3s ease}.inventory-row[data-v-1e1746f9]{align-items:center}.inventory-slots[data-v-1e1746f9]{display:flex;gap:4px}.inv-slot[data-v-1e1746f9]{width:22px;height:22px;display:flex;align-items:center;justify-content:center;background:#0d1117;border:1px solid #21262d;border-radius:4px;font-size:13px;color:#484f58;transition:border-color .2s}.inv-slot.filled[data-v-1e1746f9]{border-color:#30363d;background:#161b22}.overlay[data-v-6ce0a37e]{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:100}.result-modal[data-v-6ce0a37e]{background:#161b22;border:1px solid #30363d;border-radius:12px;padding:32px 36px;display:flex;flex-direction:column;align-items:center;gap:20px;min-width:460px;max-width:90vw}.modal-header[data-v-6ce0a37e]{display:flex;flex-direction:column;align-items:center;gap:6px}.trophy[data-v-6ce0a37e]{font-size:40px;line-height:1}.trophy.win[data-v-6ce0a37e]{filter:drop-shadow(0 0 12px #f1c40f88)}.trophy.draw[data-v-6ce0a37e]{filter:drop-shadow(0 0 12px #8b949e88)}.result-title[data-v-6ce0a37e]{font-family:monospace;font-size:22px;font-weight:700;color:#e6edf3;margin:0}.result-sub[data-v-6ce0a37e]{font-family:monospace;font-size:12px;color:#484f58;margin:0}.stats-table[data-v-6ce0a37e]{width:100%;border-collapse:collapse;font-family:monospace;font-size:13px}.stats-table th[data-v-6ce0a37e]{color:#484f58;font-weight:400;text-align:left;padding:6px 10px;border-bottom:1px solid #21262d}.stats-table td[data-v-6ce0a37e]{padding:8px 10px;color:#8b949e;border-bottom:1px solid #21262d}.stats-table tr:last-child td[data-v-6ce0a37e]{border-bottom:none}.stats-table tr.is-winner td[data-v-6ce0a37e]{background:#1a2a1a}.robot-name[data-v-6ce0a37e]{display:flex;align-items:center;gap:8px;color:#e6edf3!important;white-space:nowrap}.robot-icon[data-v-6ce0a37e]{width:24px;height:24px;border-radius:4px;flex-shrink:0}.crown[data-v-6ce0a37e]{font-size:14px}.hp.dead[data-v-6ce0a37e]{color:#484f58;text-decoration:line-through}.rating[data-v-6ce0a37e]{white-space:nowrap}.rating-before[data-v-6ce0a37e]{color:#484f58}.arrow[data-v-6ce0a37e]{color:#21262d;margin:0 4px}.rating-after[data-v-6ce0a37e]{color:#e6edf3}.delta[data-v-6ce0a37e]{font-weight:700}.delta.pos[data-v-6ce0a37e]{color:#2ecc71}.delta.neg[data-v-6ce0a37e]{color:#e74c3c}.wld[data-v-6ce0a37e]{color:#484f58}.btn-go[data-v-6ce0a37e]{margin-top:4px;padding:9px 28px;background:#238636;color:#fff;border-radius:6px;font-family:monospace;font-size:13px;text-decoration:none;transition:background .15s}.btn-go[data-v-6ce0a37e]:hover{background:#2ea043}.battle-page[data-v-ff351737]{min-height:100vh;display:flex;flex-direction:column}.header[data-v-ff351737]{padding:12px 20px;border-bottom:1px solid #21262d;display:flex;align-items:center;gap:14px}.back-link[data-v-ff351737]{color:#58a6ff;font-family:monospace;font-size:13px;text-decoration:none}.back-link[data-v-ff351737]:hover{text-decoration:underline}.battle-id[data-v-ff351737]{color:#484f58;font-family:monospace;font-size:12px;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ws-badge[data-v-ff351737]{font-family:monospace;font-size:12px;padding:2px 8px;border-radius:4px;background:#161b22}.ws-badge.connected[data-v-ff351737]{color:#2ecc71}.ws-badge.connecting[data-v-ff351737]{color:#f39c12}.ws-badge.error[data-v-ff351737]{color:#e74c3c}.main[data-v-ff351737]{flex:1;display:flex;gap:16px;padding:16px;align-items:flex-start}.sidebar[data-v-ff351737]{display:flex;flex-direction:column;gap:12px;width:280px;flex-shrink:0}.battle-info-box[data-v-ff351737]{background:#161b22;border:1px solid #30363d;border-radius:8px;padding:12px}.info-row[data-v-ff351737]{display:flex;justify-content:space-between;font-family:monospace;font-size:12px}.info-label[data-v-ff351737]{color:#484f58}.info-val[data-v-ff351737]{color:#8b949e}.info-val.live[data-v-ff351737]{color:#2ecc71}.info-val.connecting[data-v-ff351737]{color:#f39c12}.info-val.finished[data-v-ff351737]{color:#58a6ff}.winner-banner[data-v-ff351737]{margin-top:8px;text-align:center;color:#f1c40f;font-weight:700;font-size:14px;font-family:monospace}.arena[data-v-ff351737]{flex:1;display:flex;flex-direction:column;align-items:center;gap:10px}.turn-indicator[data-v-ff351737]{color:#484f58;font-family:monospace;font-size:13px}.auth-page[data-v-5354681b]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#0d1117}.auth-card[data-v-5354681b]{background:#161b22;border:1px solid #30363d;border-radius:12px;padding:40px 48px;width:340px;display:flex;flex-direction:column;gap:24px}.auth-title[data-v-5354681b]{font-family:monospace;font-size:22px;color:#e6edf3;text-align:center;margin:0}.auth-form[data-v-5354681b]{display:flex;flex-direction:column;gap:16px}.field[data-v-5354681b]{display:flex;flex-direction:column;gap:6px}label[data-v-5354681b]{font-family:monospace;font-size:12px;color:#8b949e}input[data-v-5354681b]{background:#0d1117;border:1px solid #30363d;border-radius:6px;color:#e6edf3;font-family:monospace;font-size:14px;padding:9px 12px}input[data-v-5354681b]:focus{outline:none;border-color:#58a6ff}.btn-submit[data-v-5354681b]{padding:10px;background:#238636;color:#fff;border:none;border-radius:6px;font-family:monospace;font-size:14px;cursor:pointer;margin-top:4px}.btn-submit[data-v-5354681b]:hover:not(:disabled){background:#2ea043}.btn-submit[data-v-5354681b]:disabled{background:#333;cursor:not-allowed}.error[data-v-5354681b]{color:#e74c3c;font-family:monospace;font-size:12px;margin:0}.switch-link[data-v-5354681b]{font-family:monospace;font-size:13px;color:#484f58;text-align:center;margin:0}.switch-link a[data-v-5354681b]{color:#58a6ff;text-decoration:none}.switch-link a[data-v-5354681b]:hover{text-decoration:underline}.auth-page[data-v-f2bc5843]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#0d1117}.auth-card[data-v-f2bc5843]{background:#161b22;border:1px solid #30363d;border-radius:12px;padding:40px 48px;width:360px;display:flex;flex-direction:column;gap:24px}.auth-title[data-v-f2bc5843]{font-family:monospace;font-size:22px;color:#e6edf3;text-align:center;margin:0}.auth-form[data-v-f2bc5843]{display:flex;flex-direction:column;gap:16px}.field[data-v-f2bc5843]{display:flex;flex-direction:column;gap:6px}label[data-v-f2bc5843]{font-family:monospace;font-size:12px;color:#8b949e}.hint[data-v-f2bc5843]{color:#484f58;font-size:11px}input[data-v-f2bc5843]{background:#0d1117;border:1px solid #30363d;border-radius:6px;color:#e6edf3;font-family:monospace;font-size:14px;padding:9px 12px}input[data-v-f2bc5843]:focus{outline:none;border-color:#58a6ff}.btn-submit[data-v-f2bc5843]{padding:10px;background:#238636;color:#fff;border:none;border-radius:6px;font-family:monospace;font-size:14px;cursor:pointer;margin-top:4px}.btn-submit[data-v-f2bc5843]:hover:not(:disabled){background:#2ea043}.btn-submit[data-v-f2bc5843]:disabled{background:#333;cursor:not-allowed}.error[data-v-f2bc5843]{color:#e74c3c;font-family:monospace;font-size:12px;margin:0}.switch-link[data-v-f2bc5843]{font-family:monospace;font-size:13px;color:#484f58;text-align:center;margin:0}.switch-link a[data-v-f2bc5843]{color:#58a6ff;text-decoration:none}.switch-link a[data-v-f2bc5843]:hover{text-decoration:underline}.php-editor[data-v-d83476b1]{border-radius:6px;overflow:hidden;border:1px solid #30363d}.php-editor[data-v-d83476b1]:focus-within{border-color:#58a6ff}.php-editor--readonly[data-v-d83476b1]{border-color:#21262d}.php-editor--readonly[data-v-d83476b1]:focus-within{border-color:#21262d}.php-editor[data-v-d83476b1] .cm-editor{background:#0d1117}.php-editor[data-v-d83476b1] .cm-editor.cm-focused{outline:none}.php-editor--readonly[data-v-d83476b1] .cm-cursor{display:none}.upload-form[data-v-455a1742]{display:flex;flex-direction:column;gap:14px}.icon-row[data-v-455a1742]{display:flex;align-items:center;gap:12px}.icon-meta[data-v-455a1742],.field[data-v-455a1742]{display:flex;flex-direction:column;gap:6px}label[data-v-455a1742]{font-family:monospace;font-size:12px;color:#8b949e}.name-input[data-v-455a1742]{background:#0d1117;border:1px solid #30363d;border-radius:6px;color:#c9d1d9;font-family:monospace;font-size:13px;padding:7px 10px;outline:none;transition:border-color .15s}.name-input[data-v-455a1742]:focus{border-color:#58a6ff}.name-input[data-v-455a1742]::placeholder{color:#484f58}.icon-upload-area[data-v-455a1742]{width:64px;height:64px;flex-shrink:0;background:#0d1117;border:1px dashed #30363d;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden}.icon-upload-area[data-v-455a1742]:hover{border-color:#58a6ff}.icon-preview[data-v-455a1742]{width:100%;height:100%;object-fit:cover;display:block}.icon-placeholder[data-v-455a1742]{font-family:monospace;font-size:11px;color:#484f58;text-align:center;padding:8px}.btn-clear-icon[data-v-455a1742]{background:none;border:none;color:#484f58;font-family:monospace;font-size:11px;cursor:pointer;padding:2px 0}.btn-clear-icon[data-v-455a1742]:hover{color:#e74c3c}.btn-primary[data-v-455a1742]{padding:9px 20px;background:#238636;color:#fff;border:none;border-radius:6px;font-family:monospace;font-size:13px;cursor:pointer}.btn-primary[data-v-455a1742]:hover:not(:disabled){background:#2ea043}.btn-primary[data-v-455a1742]:disabled{background:#333;cursor:not-allowed}.upload-actions[data-v-455a1742]{display:flex;justify-content:flex-end;gap:10px}.btn-cancel[data-v-455a1742]{padding:9px 20px;background:transparent;border:1px solid #30363d;border-radius:6px;color:#8b949e;font-family:monospace;font-size:13px;cursor:pointer}.btn-cancel[data-v-455a1742]:hover{color:#e6edf3;border-color:#8b949e}.error[data-v-455a1742]{color:#e74c3c;font-family:monospace;font-size:12px}.dashboard[data-v-e9c971e8]{min-height:100vh;display:flex;flex-direction:column;background:#0d1117}.header[data-v-e9c971e8]{padding:12px 24px;border-bottom:1px solid #21262d;display:flex;align-items:center;gap:16px}.back-link[data-v-e9c971e8]{color:#58a6ff;font-family:monospace;font-size:13px;text-decoration:none}.back-link[data-v-e9c971e8]:hover{text-decoration:underline}.title[data-v-e9c971e8]{font-family:monospace;font-size:16px;font-weight:700;color:#e6edf3}.user-info[data-v-e9c971e8]{margin-left:auto;font-family:monospace;font-size:13px;color:#8b949e}.btn-logout[data-v-e9c971e8]{padding:6px 14px;background:transparent;border:1px solid #30363d;border-radius:6px;color:#8b949e;font-family:monospace;font-size:12px;cursor:pointer}.btn-logout[data-v-e9c971e8]:hover{color:#e74c3c;border-color:#e74c3c}.content[data-v-e9c971e8]{flex:1;padding:24px;max-width:900px;width:100%;margin:0 auto;display:flex;flex-direction:column;gap:24px}.card[data-v-e9c971e8]{background:#161b22;border:1px solid #30363d;border-radius:10px;padding:24px}.section-header[data-v-e9c971e8]{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.section-header-actions[data-v-e9c971e8]{display:flex;gap:8px;align-items:center}.section-title[data-v-e9c971e8]{font-family:monospace;font-size:15px;color:#e6edf3;margin:0 0 18px}.btn-primary[data-v-e9c971e8]{padding:9px 20px;background:#238636;color:#fff;border:none;border-radius:6px;font-family:monospace;font-size:13px;cursor:pointer}.btn-primary[data-v-e9c971e8]:hover:not(:disabled){background:#2ea043}.btn-primary[data-v-e9c971e8]:disabled{background:#333;cursor:not-allowed}.btn-secondary[data-v-e9c971e8]{padding:6px 14px;background:transparent;border:1px solid #30363d;border-radius:6px;color:#8b949e;font-family:monospace;font-size:12px;cursor:pointer}.btn-secondary[data-v-e9c971e8]:hover{color:#e6edf3;border-color:#8b949e}.empty[data-v-e9c971e8]{color:#484f58;font-family:monospace;font-size:13px;padding:20px 0;text-align:center}.robots-list[data-v-e9c971e8]{display:flex;flex-direction:column;gap:12px}.robot-row[data-v-e9c971e8]{display:flex;align-items:center;gap:14px;padding:12px;background:#0d1117;border:1px solid #21262d;border-radius:8px}.robot-icon-cell[data-v-e9c971e8]{position:relative;flex-shrink:0}.robot-icon[data-v-e9c971e8]{width:48px;height:48px;border-radius:6px;display:block;object-fit:cover}.robot-icon-empty[data-v-e9c971e8]{width:48px;height:48px;border-radius:6px;background:#0d1117;border:1px solid #21262d;display:flex;align-items:center;justify-content:center;padding:2px}.robot-icon-empty svg[data-v-e9c971e8]{width:100%;height:100%}.btn-icon-upload[data-v-e9c971e8]{position:absolute;bottom:-4px;right:-4px;background:#238636;border:none;border-radius:50%;width:20px;height:20px;font-size:11px;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}.btn-icon-upload[data-v-e9c971e8]:hover{background:#2ea043}.robot-info[data-v-e9c971e8]{flex:1;display:flex;flex-direction:column;gap:5px}.robot-name-row[data-v-e9c971e8]{display:flex;align-items:center;gap:8px}.robot-name[data-v-e9c971e8]{font-family:monospace;font-size:14px;color:#e6edf3;font-weight:700}.robot-uploaded[data-v-e9c971e8]{font-family:monospace;font-size:11px;color:#484f58}.version-badges[data-v-e9c971e8]{display:flex;flex-wrap:wrap;gap:5px}.badge-version[data-v-e9c971e8]{padding:2px 8px;border-radius:4px;font-family:monospace;font-size:11px;cursor:pointer;border:1px solid #30363d;background:#161b22;color:#8b949e;transition:all .15s}.badge-version[data-v-e9c971e8]:hover:not(:disabled):not(.badge-active){border-color:#58a6ff;color:#58a6ff}.badge-version.badge-active[data-v-e9c971e8]{background:#1f6feb;border-color:#1f6feb;color:#fff;cursor:default;font-weight:700}.badge-version[data-v-e9c971e8]:disabled:not(.badge-active){opacity:.5;cursor:not-allowed}.badge-version-wrap[data-v-e9c971e8]{display:inline-flex;align-items:center;gap:1px}.badge-version-del[data-v-e9c971e8]{display:none;padding:0 3px;border:none;background:transparent;color:#e74c3c;font-size:14px;line-height:1;cursor:pointer;border-radius:3px;transition:background .1s}.badge-version-del[data-v-e9c971e8]:hover{background:#e74c3c26}.badge-version-wrap:hover .badge-version-del[data-v-e9c971e8]{display:inline}.robot-actions[data-v-e9c971e8]{display:flex;gap:6px;align-items:center}.btn-delete[data-v-e9c971e8]{background:none;border:1px solid #30363d;border-radius:6px;color:#484f58;width:32px;height:32px;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:color .15s,border-color .15s,background .15s}.btn-delete svg[data-v-e9c971e8]{width:14px;height:14px}.btn-delete[data-v-e9c971e8]:hover{color:#e74c3c;border-color:#e74c3c;background:#e74c3c14}.error[data-v-e9c971e8]{color:#e74c3c;font-family:monospace;font-size:12px;margin:8px 0 0}.success[data-v-e9c971e8]{color:#2ecc71;font-family:monospace;font-size:12px;margin:8px 0 0}.overlay[data-v-e9c971e8]{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:200}.confirm-modal[data-v-e9c971e8]{background:#161b22;border:1px solid #30363d;border-radius:12px;padding:32px 36px;display:flex;flex-direction:column;align-items:center;gap:10px;min-width:320px}.confirm-icon svg[data-v-e9c971e8]{width:40px;height:40px;color:#e74c3c}.confirm-title[data-v-e9c971e8]{font-family:monospace;font-size:17px;font-weight:700;color:#e6edf3;margin:4px 0 0}.confirm-sub[data-v-e9c971e8]{font-family:monospace;font-size:12px;color:#484f58;margin:0;text-align:center}.confirm-actions[data-v-e9c971e8]{display:flex;gap:10px;margin-top:12px}.btn-cancel[data-v-e9c971e8]{padding:8px 22px;background:transparent;border:1px solid #30363d;border-radius:6px;color:#8b949e;font-family:monospace;font-size:13px;cursor:pointer}.btn-cancel[data-v-e9c971e8]:hover{color:#e6edf3;border-color:#8b949e}.btn-confirm-delete[data-v-e9c971e8]{padding:8px 22px;background:#b91c1c;border:none;border-radius:6px;color:#fff;font-family:monospace;font-size:13px;cursor:pointer}.btn-confirm-delete[data-v-e9c971e8]:hover:not(:disabled){background:#dc2626}.btn-confirm-delete[data-v-e9c971e8]:disabled{opacity:.5;cursor:not-allowed}.practice-modal[data-v-e9c971e8]{background:#161b22;border:1px solid #30363d;border-radius:12px;width:440px;max-width:calc(100vw - 32px);display:flex;flex-direction:column}.practice-modal-header[data-v-e9c971e8]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 14px;border-bottom:1px solid #21262d}.practice-modal-title[data-v-e9c971e8]{font-family:monospace;font-size:15px;font-weight:700;color:#e6edf3}.btn-modal-close[data-v-e9c971e8]{background:none;border:none;color:#484f58;font-size:15px;cursor:pointer;padding:2px 4px;line-height:1}.btn-modal-close[data-v-e9c971e8]:hover{color:#e74c3c}.practice-modal-body[data-v-e9c971e8]{padding:20px;display:flex;flex-direction:column;gap:12px}.practice-robot-label[data-v-e9c971e8]{font-family:monospace;font-size:12px;color:#8b949e;padding:8px 12px;background:#0d1117;border:1px solid #21262d;border-radius:6px}.practice-robot-label strong[data-v-e9c971e8]{color:#58a6ff}.practice-hint[data-v-e9c971e8]{font-family:monospace;font-size:12px;color:#484f58;margin:0}.builtin-grid[data-v-e9c971e8]{display:flex;flex-wrap:wrap;gap:7px}.builtin-bot[data-v-e9c971e8]{display:flex;align-items:center;gap:5px;padding:5px 11px;border:1px solid #30363d;border-radius:6px;cursor:pointer;background:#0d1117;font-family:monospace;font-size:12px;color:#8b949e;transition:all .15s;-webkit-user-select:none;user-select:none}.builtin-bot[data-v-e9c971e8]:hover{border-color:#58a6ff;color:#e6edf3}.builtin-bot--selected[data-v-e9c971e8]{border-color:#1f6feb;background:#1f6feb1a;color:#58a6ff}.builtin-check[data-v-e9c971e8]{font-size:10px;color:#2ea043;font-weight:700}.practice-modal-footer[data-v-e9c971e8]{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid #21262d}.btn-add-version[data-v-e9c971e8]{padding:2px 7px;border-radius:4px;font-family:monospace;font-size:13px;font-weight:700;cursor:pointer;border:1px dashed #30363d;background:transparent;color:#484f58;line-height:1.4;transition:all .15s}.btn-add-version[data-v-e9c971e8]:hover{border-color:#2ea043;color:#2ea043}.btn-add-version--open[data-v-e9c971e8]{border-color:#2ea043;color:#2ea043;background:#2ea04314}.upload-version-panel[data-v-e9c971e8]{border:1px solid #21262d;border-top:none;border-radius:0 0 8px 8px;overflow:hidden}.upload-version-panel[data-v-e9c971e8] .php-editor{border:none;border-radius:0}.upload-version-header[data-v-e9c971e8]{display:flex;align-items:center;justify-content:space-between;padding:5px 8px 5px 12px;border-bottom:1px solid #21262d}.upload-version-title[data-v-e9c971e8]{font-family:monospace;font-size:11px;color:#8b949e}.upload-version-footer[data-v-e9c971e8]{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-top:1px solid #21262d;gap:8px;background:#0d1117}.upload-version-actions[data-v-e9c971e8]{display:flex;gap:8px;margin-left:auto}.robot-card[data-v-e9c971e8]{display:flex;flex-direction:column}.robot-card .robot-row[data-v-e9c971e8]{border-radius:8px}.robot-card:has(.upload-version-panel) .robot-row[data-v-e9c971e8],.robot-card:has(.code-panel) .robot-row[data-v-e9c971e8]{border-radius:8px 8px 0 0;border-bottom:none}.robot-card:has(.upload-version-panel) .code-panel[data-v-e9c971e8]{border-top:1px solid #21262d;border-radius:0 0 8px 8px}.robot-card:has(.upload-version-panel):has(.code-panel) .upload-version-panel[data-v-e9c971e8]{border-radius:0}.btn-code-toggle[data-v-e9c971e8]{background:none;border:1px solid #30363d;border-radius:6px;color:#484f58;width:32px;height:32px;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:color .15s,border-color .15s,background .15s}.btn-code-toggle svg[data-v-e9c971e8]{width:14px;height:14px}.btn-code-toggle[data-v-e9c971e8]:hover{color:#58a6ff;border-color:#58a6ff;background:#58a6ff14}.btn-code-toggle--open[data-v-e9c971e8]{color:#58a6ff;border-color:#58a6ff;background:#58a6ff1a}.code-panel[data-v-e9c971e8]{border:1px solid #21262d;border-top:none;border-radius:0 0 8px 8px;overflow:hidden}.code-panel[data-v-e9c971e8] .php-editor{border:none;border-radius:0}.btn-code-close[data-v-e9c971e8]{background:none;border:none;color:#484f58;cursor:pointer;font-size:13px;padding:2px 4px;line-height:1}.btn-code-close[data-v-e9c971e8]:hover{color:#e74c3c}.upload-modal[data-v-e9c971e8]{background:#161b22;border:1px solid #30363d;border-radius:12px;width:760px;max-width:calc(100vw - 32px);max-height:calc(100vh - 48px);display:flex;flex-direction:column;overflow:hidden}.upload-modal-header[data-v-e9c971e8]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 14px;border-bottom:1px solid #21262d;flex-shrink:0}.upload-modal-title[data-v-e9c971e8]{font-family:monospace;font-size:15px;font-weight:700;color:#e6edf3}.upload-modal-body[data-v-e9c971e8]{padding:20px;overflow-y:auto}.replay-page[data-v-012a5a10]{min-height:100vh;display:flex;flex-direction:column}.header[data-v-012a5a10]{padding:12px 20px;border-bottom:1px solid #21262d;display:flex;align-items:center;gap:14px}.back-link[data-v-012a5a10]{color:#58a6ff;font-family:monospace;font-size:13px;text-decoration:none}.back-link[data-v-012a5a10]:hover{text-decoration:underline}.battle-id[data-v-012a5a10]{color:#484f58;font-family:monospace;font-size:12px;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.winner-text[data-v-012a5a10]{font-family:monospace;font-size:13px;color:#f1c40f;font-weight:700}.state-msg[data-v-012a5a10]{flex:1;display:flex;align-items:center;justify-content:center;font-family:monospace;font-size:14px;color:#484f58;padding:80px}.error-msg[data-v-012a5a10]{color:#e74c3c}.main[data-v-012a5a10]{flex:1;display:flex;gap:16px;padding:16px;align-items:flex-start}.sidebar[data-v-012a5a10]{display:flex;flex-direction:column;gap:12px;width:280px;flex-shrink:0}.battle-info-box[data-v-012a5a10]{background:#161b22;border:1px solid #30363d;border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:6px}.info-row[data-v-012a5a10]{display:flex;justify-content:space-between;font-family:monospace;font-size:12px}.info-label[data-v-012a5a10]{color:#484f58}.info-val[data-v-012a5a10]{color:#8b949e}.info-row--col[data-v-012a5a10]{flex-direction:column;gap:4px}.participants-list[data-v-012a5a10]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.winner-banner[data-v-012a5a10]{margin-top:6px;text-align:center;color:#f1c40f;font-weight:700;font-size:14px;font-family:monospace}.arena[data-v-012a5a10]{flex:1;display:flex;flex-direction:column;align-items:center;gap:10px}.turn-indicator[data-v-012a5a10]{color:#484f58;font-family:monospace;font-size:13px}.playback[data-v-012a5a10]{display:flex;align-items:center;gap:10px;width:100%;max-width:640px;background:#161b22;border:1px solid #30363d;border-radius:8px;padding:10px 14px}.btn-ctrl[data-v-012a5a10]{background:none;border:1px solid #30363d;border-radius:6px;color:#e6edf3;font-size:16px;width:34px;height:34px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;padding:0}.btn-ctrl[data-v-012a5a10]:hover{background:#21262d}.scrubber[data-v-012a5a10]{flex:1;accent-color:#58a6ff;cursor:pointer}.speed-select[data-v-012a5a10]{background:#0d1117;border:1px solid #30363d;border-radius:4px;color:#8b949e;font-family:monospace;font-size:12px;padding:4px 6px;cursor:pointer}.speed-select[data-v-012a5a10]:focus{outline:none}.training-page[data-v-663729bc]{min-height:100vh;display:flex;flex-direction:column;background:#0d1117;color:#c9d1d9}.header[data-v-663729bc]{padding:10px 20px;border-bottom:1px solid #21262d;display:flex;align-items:center;gap:14px}.back-link[data-v-663729bc]{color:#58a6ff;font-family:monospace;font-size:13px;text-decoration:none}.back-link[data-v-663729bc]:hover{text-decoration:underline}.title[data-v-663729bc]{font-family:monospace;font-weight:700;font-size:14px;color:#c9d1d9;flex:1}.turn-badge[data-v-663729bc]{font-family:monospace;font-size:12px;color:#8b949e}.ws-badge[data-v-663729bc]{font-family:monospace;font-size:12px;padding:2px 8px;border-radius:4px;background:#161b22}.ws-badge.connected[data-v-663729bc]{color:#2ecc71}.ws-badge.connecting[data-v-663729bc]{color:#f39c12}.ws-badge.error[data-v-663729bc]{color:#e74c3c}.main[data-v-663729bc]{flex:1;display:flex;gap:16px;padding:16px;align-items:flex-start;min-height:0}.left-col[data-v-663729bc]{display:flex;flex-direction:column;gap:12px;flex-shrink:0}.arena[data-v-663729bc]{display:flex;flex-direction:row;align-items:flex-start;gap:8px}.canvas-col[data-v-663729bc]{display:flex}.robot-error[data-v-663729bc]{font-family:monospace;font-size:12px;color:#e74c3c;background:#1a0e0e;border:1px solid #5c1c1c;border-radius:6px;padding:6px 10px;margin-bottom:6px;word-break:break-all}.battle-canvas[data-v-663729bc]{display:block;border:1px solid #30363d;border-radius:6px}.left-bar[data-v-663729bc]{display:flex;flex-direction:column;gap:8px}.vtoolbar[data-v-663729bc]{display:flex;flex-direction:column;gap:4px;padding:6px;background:#161b22;border:1px solid #30363d;border-radius:8px}.vtool-btn[data-v-663729bc]{width:38px;height:38px;font-size:18px;border:1px solid #30363d;border-radius:6px;background:#21262d;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,border-color .15s}.vtool-btn[data-v-663729bc]:hover{background:#2d333b;border-color:#8b949e}.vtool-btn.active[data-v-663729bc]{background:#1f6feb;border-color:#388bfd}.vtool-item-wrap[data-v-663729bc]{position:relative}.item-dropdown[data-v-663729bc]{position:absolute;top:0;left:calc(100% + 8px);background:#1c2128;border:1px solid #30363d;border-radius:8px;padding:4px;display:flex;flex-direction:column;gap:2px;z-index:50;min-width:130px;box-shadow:0 8px 24px #00000080}.vtool-divider[data-v-663729bc]{height:1px;background:#30363d;margin:2px 0}.vtool-btn.play-btn.active[data-v-663729bc]{background:#238636;border-color:#2ea043}.vtool-btn.pause-btn.active[data-v-663729bc]{background:#6e40c9;border-color:#8957e5}.vtool-btn.step-btn[data-v-663729bc]{color:#f1c40f}.item-option[data-v-663729bc]{display:flex;align-items:center;gap:8px;padding:6px 10px;border:none;border-radius:5px;background:transparent;color:#c9d1d9;font-family:monospace;font-size:13px;cursor:pointer;text-align:left;white-space:nowrap}.item-option[data-v-663729bc]:hover{background:#2d333b}.item-option.selected[data-v-663729bc]{background:#1f3a5f;color:#58a6ff}.item-icon[data-v-663729bc]{font-size:15px}.vstatbar[data-v-663729bc]{display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px;background:#161b22;border:1px solid #30363d;border-radius:8px;width:52px;flex-shrink:0}.vstat[data-v-663729bc]{display:flex;flex-direction:column;align-items:center;gap:1px}.vstat-svg[data-v-663729bc]{width:22px;height:22px;fill:#484f58}.vstat-svg.hp[data-v-663729bc]{fill:#e74c3c}.vstat-svg.atk[data-v-663729bc]{fill:#e67e22}.vstat-svg.def[data-v-663729bc]{fill:#3498db}.vstat-axis[data-v-663729bc]{font-family:monospace;font-size:12px;font-weight:700;color:#8b949e;line-height:1}.vstat-val[data-v-663729bc]{font-family:monospace;font-size:12px;font-weight:700;color:#c9d1d9;line-height:1}.vstat-val.hp[data-v-663729bc]{color:#2ecc71}.vstat-emoji[data-v-663729bc]{font-size:18px;line-height:1}.vstat-divider[data-v-663729bc]{width:28px;height:1px;background:#30363d;margin:2px 0}.editor-col[data-v-663729bc]{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px;align-self:stretch}.editor-header[data-v-663729bc]{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#161b22;border:1px solid #30363d;border-radius:8px;padding:8px 12px}.editor-title[data-v-663729bc]{font-family:monospace;font-weight:700;font-size:13px;color:#58a6ff;flex-shrink:0}.version-list[data-v-663729bc]{display:flex;gap:4px;flex-wrap:wrap;flex:1}.v-badge[data-v-663729bc]{font-family:monospace;font-size:11px;padding:2px 8px;border-radius:10px;border:1px solid #30363d;background:#21262d;color:#8b949e;cursor:pointer}.v-badge[data-v-663729bc]:hover{border-color:#8b949e;color:#c9d1d9}.v-badge-wrap[data-v-663729bc]{display:inline-flex;align-items:center;gap:1px}.v-badge-del[data-v-663729bc]{display:none;padding:0 3px;border:none;background:transparent;color:#e74c3c;font-size:14px;line-height:1;cursor:pointer;border-radius:3px;transition:background .1s}.v-badge-del[data-v-663729bc]:hover{background:#e74c3c26}.v-badge-wrap:hover .v-badge-del[data-v-663729bc]{display:inline}.v-badge.active[data-v-663729bc]{border-color:#2ea043;color:#2ecc71;background:#0d1f0d}.v-badge.viewing[data-v-663729bc]{border-color:#388bfd;color:#58a6ff;background:#1f2d42}.v-badge.active.viewing[data-v-663729bc]{border-color:#2ea043;background:#0d2820;color:#2ecc71}.editor-actions[data-v-663729bc]{display:flex;gap:6px;flex-shrink:0}.split-btn-wrap[data-v-663729bc]{position:relative;display:inline-flex}.split-main[data-v-663729bc]{border-radius:6px 0 0 6px!important;border-right:none!important}.split-arrow[data-v-663729bc]{border-radius:0 6px 6px 0!important;padding:5px 8px!important;min-width:unset!important}.save-menu[data-v-663729bc]{position:absolute;top:calc(100% + 4px);right:0;background:#1c2128;border:1px solid #30363d;border-radius:8px;padding:4px;display:flex;flex-direction:column;gap:2px;z-index:100;min-width:190px;box-shadow:0 8px 24px #00000080}.save-menu-item[data-v-663729bc]{padding:7px 12px;border:none;border-radius:5px;background:transparent;color:#c9d1d9;font-family:monospace;font-size:12px;cursor:pointer;text-align:left;white-space:nowrap}.save-menu-item[data-v-663729bc]:hover{background:#2d333b}.btn-save[data-v-663729bc],.btn-reload[data-v-663729bc]{font-family:monospace;font-size:12px;padding:5px 12px;border-radius:6px;border:1px solid;cursor:pointer;transition:background .15s}.btn-save[data-v-663729bc]{background:#238636;border-color:#2ea043;color:#fff}.btn-save[data-v-663729bc]:hover:not(:disabled){background:#2ea043}.btn-reload[data-v-663729bc]{background:transparent;border-color:#30363d;color:#8b949e}.btn-reload[data-v-663729bc]:hover:not(:disabled){border-color:#8b949e;color:#c9d1d9}.btn-save[data-v-663729bc]:disabled,.btn-reload[data-v-663729bc]:disabled{opacity:.4;cursor:not-allowed}.save-error[data-v-663729bc]{font-family:monospace;font-size:12px;color:#e74c3c;padding:0 2px}.save-success[data-v-663729bc]{font-family:monospace;font-size:12px;color:#2ecc71;padding:0 2px}.editor-wrap[data-v-663729bc]{flex:1;min-height:400px;overflow:hidden;border-radius:8px}.overlay[data-v-663729bc]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:200}.confirm-modal[data-v-663729bc]{background:#161b22;border:1px solid #30363d;border-radius:12px;padding:28px 32px;max-width:380px;width:90%;text-align:center}.confirm-title[data-v-663729bc]{font-size:16px;font-weight:700;color:#c9d1d9;margin:0 0 8px}.confirm-sub[data-v-663729bc]{font-size:13px;color:#8b949e;margin:0 0 20px}.confirm-actions[data-v-663729bc]{display:flex;gap:10px;justify-content:center}.btn-cancel[data-v-663729bc]{padding:7px 18px;border-radius:6px;border:1px solid #30363d;background:transparent;color:#8b949e;font-family:monospace;cursor:pointer}.btn-cancel[data-v-663729bc]:hover{border-color:#8b949e;color:#c9d1d9}.btn-confirm-delete[data-v-663729bc]{padding:7px 18px;border-radius:6px;border:1px solid #da3633;background:#da3633;color:#fff;font-family:monospace;cursor:pointer}.btn-confirm-delete[data-v-663729bc]:hover:not(:disabled){background:#f85149}.btn-confirm-delete[data-v-663729bc]:disabled{opacity:.5;cursor:not-allowed}.tournament-page[data-v-6f9f6cbb]{min-height:100vh;background:#0d1117;color:#c9d1d9;display:flex;flex-direction:column}.header[data-v-6f9f6cbb]{padding:12px 24px;border-bottom:1px solid #21262d;display:flex;align-items:center;gap:14px}.back-link[data-v-6f9f6cbb]{color:#58a6ff;font-family:monospace;font-size:13px;text-decoration:none}.back-link[data-v-6f9f6cbb]:hover{text-decoration:underline}.title[data-v-6f9f6cbb]{font-family:monospace;font-size:15px;font-weight:700;color:#e6edf3;flex:1}.status-badge[data-v-6f9f6cbb]{font-family:monospace;font-size:11px;padding:3px 10px;border-radius:10px;border:1px solid}.status-registration[data-v-6f9f6cbb]{color:#f39c12;border-color:#f39c12;background:#f39c1214}.status-in_progress[data-v-6f9f6cbb]{color:#2ecc71;border-color:#2ecc71;background:#2ecc7114}.status-completed[data-v-6f9f6cbb]{color:#8b949e;border-color:#30363d;background:transparent}.loading[data-v-6f9f6cbb]{color:#484f58;font-family:monospace;font-size:13px;padding:40px;text-align:center}.content[data-v-6f9f6cbb]{padding:24px;max-width:960px;width:100%;margin:0 auto;display:flex;flex-direction:column;gap:20px}.card[data-v-6f9f6cbb]{background:#161b22;border:1px solid #30363d;border-radius:10px;padding:20px}.card-title[data-v-6f9f6cbb]{font-family:monospace;font-size:13px;color:#8b949e;margin:0 0 14px;font-weight:400}.reg-header[data-v-6f9f6cbb]{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.reg-title[data-v-6f9f6cbb]{font-family:monospace;font-size:14px;font-weight:700;color:#e6edf3}.reg-count[data-v-6f9f6cbb]{font-family:monospace;font-size:12px;color:#8b949e}.error-msg[data-v-6f9f6cbb]{color:#e74c3c;font-family:monospace;font-size:12px;margin-bottom:10px}.joined-info[data-v-6f9f6cbb]{display:flex;align-items:center;gap:12px}.joined-badge[data-v-6f9f6cbb]{font-family:monospace;font-size:13px;color:#2ecc71}.joined-badge strong[data-v-6f9f6cbb]{color:#58a6ff}.join-form[data-v-6f9f6cbb]{display:flex;gap:10px;align-items:center}.robot-select[data-v-6f9f6cbb]{background:#0d1117;border:1px solid #30363d;border-radius:6px;color:#c9d1d9;font-family:monospace;font-size:13px;padding:7px 10px;outline:none}.robot-select[data-v-6f9f6cbb]:focus{border-color:#58a6ff}.btn-join[data-v-6f9f6cbb],.btn-start[data-v-6f9f6cbb]{padding:7px 18px;border-radius:6px;border:none;font-family:monospace;font-size:13px;cursor:pointer}.btn-join[data-v-6f9f6cbb]{background:#238636;color:#fff}.btn-join[data-v-6f9f6cbb]:hover:not(:disabled){background:#2ea043}.btn-join[data-v-6f9f6cbb]:disabled{opacity:.4;cursor:not-allowed}.btn-leave[data-v-6f9f6cbb]{padding:5px 12px;border-radius:6px;border:1px solid #30363d;background:transparent;color:#8b949e;font-family:monospace;font-size:12px;cursor:pointer}.btn-leave[data-v-6f9f6cbb]:hover:not(:disabled){border-color:#e74c3c;color:#e74c3c}.btn-start[data-v-6f9f6cbb]{background:#1f6feb;color:#fff;margin-top:14px}.btn-start[data-v-6f9f6cbb]:hover:not(:disabled){background:#388bfd}.btn-start[data-v-6f9f6cbb]:disabled{opacity:.4;cursor:not-allowed}.login-hint[data-v-6f9f6cbb]{font-family:monospace;font-size:12px;color:#484f58;margin:0}.empty[data-v-6f9f6cbb]{font-family:monospace;font-size:12px;color:#484f58}.participants-grid[data-v-6f9f6cbb]{display:flex;flex-wrap:wrap;gap:8px}.participant[data-v-6f9f6cbb]{display:flex;align-items:center;gap:8px;padding:6px 12px;border:1px solid #30363d;border-radius:6px;background:#0d1117;font-family:monospace;font-size:12px}.participant--winner[data-v-6f9f6cbb]{border-color:#f1c40f;background:#f1c40f0f}.p-robot[data-v-6f9f6cbb]{color:#58a6ff;font-weight:700}.p-user[data-v-6f9f6cbb]{color:#8b949e}.p-crown[data-v-6f9f6cbb]{font-size:14px}.bracket-card[data-v-6f9f6cbb]{overflow-x:auto}.bracket[data-v-6f9f6cbb]{display:flex;gap:0;min-width:max-content}.bracket-round[data-v-6f9f6cbb]{display:flex;flex-direction:column;min-width:180px;border-right:1px solid #21262d;padding:0 16px}.bracket-round[data-v-6f9f6cbb]:last-child{border-right:none}.round-label[data-v-6f9f6cbb]{font-family:monospace;font-size:11px;color:#8b949e;text-align:center;padding:6px 0 12px;border-bottom:1px solid #21262d;margin-bottom:12px}.round-matches[data-v-6f9f6cbb]{display:flex;flex-direction:column;gap:10px;justify-content:space-around;flex:1}.match-card[data-v-6f9f6cbb]{border:1px solid #30363d;border-radius:8px;overflow:hidden;background:#0d1117}.match-running[data-v-6f9f6cbb]{border-color:#2ea043;box-shadow:0 0 6px #2ea0434d}.match-completed[data-v-6f9f6cbb]{border-color:#484f58}.match-bye[data-v-6f9f6cbb]{opacity:.5}.match-slot[data-v-6f9f6cbb]{padding:6px 10px;font-family:monospace;font-size:12px;display:flex;align-items:center;gap:6px}.match-slot--winner[data-v-6f9f6cbb]{background:#2ecc711a}.slot-name[data-v-6f9f6cbb]{color:#e6edf3}.slot-tbd[data-v-6f9f6cbb],.slot-bye[data-v-6f9f6cbb]{color:#484f58;font-style:italic}.match-vs[data-v-6f9f6cbb]{font-family:monospace;font-size:10px;color:#484f58;text-align:center;padding:1px 0;border-top:1px solid #21262d;border-bottom:1px solid #21262d}.match-footer[data-v-6f9f6cbb]{display:flex;align-items:center;gap:6px;padding:4px 10px;border-top:1px solid #21262d;background:#161b22}.match-status-dot[data-v-6f9f6cbb]{width:6px;height:6px;border-radius:50%;flex-shrink:0}.dot-pending[data-v-6f9f6cbb]{background:#484f58}.dot-ready[data-v-6f9f6cbb]{background:#f39c12}.dot-running[data-v-6f9f6cbb]{background:#2ecc71}.dot-completed[data-v-6f9f6cbb]{background:#1f6feb}.dot-bye[data-v-6f9f6cbb]{background:#30363d}.match-status-label[data-v-6f9f6cbb]{font-family:monospace;font-size:10px;color:#8b949e;flex:1}.match-watch[data-v-6f9f6cbb]{font-family:monospace;font-size:10px;color:#58a6ff;text-decoration:none}.match-watch[data-v-6f9f6cbb]:hover{text-decoration:underline}.winner-banner[data-v-6f9f6cbb]{background:linear-gradient(135deg,#1a1400,#2a2000);border:1px solid #f1c40f;border-radius:10px;padding:20px 24px;font-family:monospace;font-size:16px;color:#f1c40f;text-align:center}.winner-banner strong[data-v-6f9f6cbb]{color:#fff}
