:root{--bg: #0f1117;--surface: #1a1d27;--surface2: #242836;--border: #2e3345;--text: #e4e6ed;--text2: #8b8fa3;--accent: #6366f1;--accent-hover: #818cf8;--green: #22c55e;--red: #ef4444;--orange: #f59e0b;--cyan: #06b6d4}*{margin:0;padding:0;box-sizing:border-box}body{font-family:SF Mono,Fira Code,Cascadia Code,monospace;background:var(--bg);color:var(--text);font-size:13px;line-height:1.5}.header{background:var(--surface);border-bottom:1px solid var(--border);padding:12px 20px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}.header h1{font-size:16px;font-weight:600;color:var(--accent);white-space:nowrap}.header-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.header input,.header select{background:var(--surface2);border:1px solid var(--border);color:var(--text);padding:6px 10px;border-radius:6px;font-family:inherit;font-size:12px}.header input:focus{outline:1px solid var(--accent)}.header label{color:var(--text2);font-size:11px;margin-right:4px}button{font-family:inherit;font-size:12px;padding:6px 14px;border-radius:6px;border:1px solid var(--border);cursor:pointer;transition:all .15s;font-weight:500}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-primary:hover{background:var(--accent-hover)}.btn-green{background:var(--green);color:#000;border-color:var(--green)}.btn-green:hover{opacity:.85}.btn-red{background:var(--red);color:#fff;border-color:var(--red)}.btn-red:hover{opacity:.85}.btn-orange{background:var(--orange);color:#000;border-color:var(--orange)}.btn-orange:hover{opacity:.85}.btn-cyan{background:var(--cyan);color:#000;border-color:var(--cyan)}.btn-cyan:hover{opacity:.85}.btn-ghost{background:transparent;color:var(--text2);border-color:var(--border)}.btn-ghost:hover{color:var(--text);border-color:var(--text2)}button:disabled{opacity:.4;cursor:not-allowed}.main{display:grid;grid-template-columns:1fr 1fr 1fr;grid-template-rows:1fr;height:calc(100vh - 52px)}.controls{border-right:1px solid var(--border);overflow-y:auto;padding:16px}.section{margin-bottom:20px}.section-title{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--text2);margin-bottom:8px;padding-bottom:4px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.form-group{margin-bottom:8px;display:flex;align-items:center;gap:8px}.form-group label{width:100px;color:var(--text2);font-size:11px;text-align:right;flex-shrink:0}.form-group input,.form-group select{flex:1;background:var(--surface2);border:1px solid var(--border);color:var(--text);padding:5px 8px;border-radius:4px;font-family:inherit;font-size:12px}.btn-row{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.btn-row button{flex:1;min-width:80px}.pool-status{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600}.status-0{background:#374151;color:#9ca3af}.status-1{background:#064e3b;color:#6ee7b7}.status-2{background:#78350f;color:#fcd34d}.status-3{background:#7f1d1d;color:#fca5a5}.status-4{background:#1e3a5f;color:#93c5fd}.status-5{background:#4a1d96;color:#c4b5fd}.status-6{background:#064e3b;color:#34d399}.status-7{background:#4a0519;color:#fda4af}.log-panel{overflow-y:auto;padding:12px;background:var(--bg)}.log-panel h2{font-size:12px;color:var(--text2);margin-bottom:8px;display:flex;align-items:center;justify-content:space-between}.log-entry{background:var(--surface);border:1px solid var(--border);border-radius:6px;margin-bottom:8px;overflow:hidden}.log-header{padding:6px 10px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-size:12px}.log-header:hover{background:var(--surface2)}.log-method{font-weight:700;padding:1px 6px;border-radius:3px;font-size:11px}.log-method-POST{background:var(--green);color:#000}.log-method-GET{background:var(--cyan);color:#000}.log-method-PUT{background:var(--orange);color:#000}.log-method-DELETE{background:var(--red);color:#fff}.log-status{font-size:11px;padding:1px 6px;border-radius:3px}.log-status-ok{background:#064e3b;color:#6ee7b7}.log-status-err{background:#7f1d1d;color:#fca5a5}.log-body{border-top:1px solid var(--border);padding:8px 10px;font-size:11px;max-height:300px;overflow-y:auto}.log-body pre{white-space:pre-wrap;word-break:break-all;margin:4px 0;padding:6px;background:var(--bg);border-radius:4px;font-size:11px;line-height:1.4}.log-body .label{color:var(--text2);font-size:10px;text-transform:uppercase;margin-top:6px}.webhook-panel{border-left:1px solid var(--border);overflow-y:auto;padding:12px;background:var(--surface)}.webhook-entry{background:var(--bg);border:1px solid var(--border);border-radius:6px;margin-bottom:6px;padding:8px 10px;font-size:11px}.webhook-entry pre{white-space:pre-wrap;margin-top:4px;font-size:11px;max-height:200px;overflow-y:auto}.active-pool{background:var(--surface2);border:1px solid var(--border);border-radius:6px;padding:10px;margin-top:8px;font-size:12px}.pool-list{margin-top:8px;max-height:200px;overflow-y:auto}.pool-list table{width:100%;border-collapse:collapse;font-size:11px}.pool-list th{text-align:left;color:var(--text2);padding:4px 6px;border-bottom:1px solid var(--border);font-weight:500;position:sticky;top:0;background:var(--surface)}.pool-list td{padding:4px 6px;border-bottom:1px solid var(--border)}.pool-list tr{cursor:pointer}.pool-list tr:hover{background:var(--surface2)}.pool-list tr.selected{background:var(--accent);color:#fff}.conn-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.conn-dot.connected{background:var(--green)}.conn-dot.disconnected{background:var(--red)}.toast{position:fixed;top:60px;right:20px;padding:10px 16px;border-radius:8px;font-size:12px;z-index:1000;animation:fadeIn .2s;max-width:400px}.toast-success{background:#064e3b;color:#6ee7b7;border:1px solid #065f46}.toast-error{background:#7f1d1d;color:#fca5a5;border:1px solid #991b1b}@keyframes fadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1}}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh}.change-password-page{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 52px);background:var(--bg)}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:40px;width:360px;max-width:90vw}.login-title{font-size:20px;font-weight:700;color:var(--accent);margin-bottom:28px;text-align:center}.login-field{margin-bottom:16px}.login-field label{display:block;color:var(--text2);font-size:11px;margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}.login-field input{width:100%;background:var(--surface2);border:1px solid var(--border);color:var(--text);padding:10px 12px;border-radius:6px;font-family:inherit;font-size:13px}.login-field input:focus{outline:1px solid var(--accent);border-color:var(--accent)}.login-btn{width:100%;padding:10px;font-size:14px;margin-top:8px}.login-back-btn{width:100%;padding:8px;font-size:13px;margin-bottom:4px;background:transparent;border:1px solid var(--border);color:var(--text2);border-radius:6px;cursor:pointer}.login-back-btn:hover{background:var(--surface2);color:var(--text)}.otp-setup-info{margin-bottom:16px;padding:12px;background:var(--surface2);border:1px solid var(--border);border-radius:6px;font-size:12px}.otp-setup-info p{color:var(--text2);margin-bottom:8px}.otp-uri{display:block;word-break:break-all;font-size:11px;color:var(--accent);line-height:1.4}.user-header{background:var(--surface);border-bottom:1px solid var(--border);padding:12px 20px;display:flex;align-items:center;justify-content:space-between}.user-header-title{font-size:16px;font-weight:600;color:var(--accent)}.user-header-right{display:flex;align-items:center;gap:12px}.user-header-account{color:var(--text2);font-size:12px}.debug-link{color:var(--text2);text-decoration:none;font-size:12px;padding:4px 10px;border:1px solid var(--border);border-radius:4px}.debug-link:hover{color:var(--text);border-color:var(--text2)}.user-main{display:grid;grid-template-columns:1fr 1fr;height:calc(100vh - 52px)}.arena-sidebar{border-right:1px solid var(--border);overflow-y:auto;background:var(--surface)}.video-section{position:relative;border-bottom:1px solid var(--border);background:#0a0c12}.video-player{display:block;width:100%;aspect-ratio:16/9;background:#000;border:none}.video-placeholder{aspect-ratio:16/9;display:flex;flex-direction:column;align-items:center;justify-content:center}.video-icon{font-size:56px;color:var(--text2);opacity:.4}.video-text{color:var(--text2);font-size:16px;margin-top:12px;opacity:.6}.video-edit-btn{position:absolute;top:8px;right:8px;background:#0009;border:1px solid var(--border);color:var(--text2);font-size:14px;padding:4px 8px;border-radius:4px;cursor:pointer;opacity:.6;transition:opacity .15s}.video-edit-btn:hover{opacity:1;color:var(--cyan)}.video-url-edit{padding:16px;display:flex;flex-direction:column;gap:8px}.video-url-input{width:100%;background:var(--surface2);border:1px solid var(--border);color:var(--text);padding:8px 10px;border-radius:4px;font-family:inherit;font-size:12px}.video-url-input:focus{outline:1px solid var(--accent);border-color:var(--accent)}.video-url-actions{display:flex;gap:6px}.active-pools-section{padding:16px;border-bottom:1px solid var(--border);background:var(--bg)}.active-pools-title{font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:var(--green);margin-bottom:12px;padding-bottom:6px;border-bottom:2px solid var(--green);display:flex;align-items:center;gap:6px}.active-pools-title:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--green);animation:livePulse 1.5s ease-in-out infinite}@keyframes livePulse{0%,to{opacity:1}50%{opacity:.3}}.active-pool-slot{position:relative;margin-bottom:10px}.active-pool-slot:last-child{margin-bottom:0}.active-pool-card{background:var(--surface);border:2px solid var(--accent);border-radius:10px;padding:16px}.active-pool-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.active-pool-fight{font-size:20px;font-weight:700;color:var(--text)}.active-pool-status{display:inline-block;padding:4px 12px;border-radius:4px;font-size:14px;font-weight:700}.active-pool-meta{font-size:14px;color:var(--text2);margin-bottom:8px}.active-pool-winner{font-size:15px;color:var(--green);margin-bottom:8px}.active-pool-actions{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.active-pool-btn{flex:1;min-width:70px;font-size:14px;padding:8px 12px}.active-pool-transition-banner{text-align:center;font-size:12px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--orange);padding:6px 0;margin-bottom:6px;border:1px dashed var(--orange);border-radius:6px;background:#f59e0b14;animation:bannerFlash .6s ease-out}@keyframes bannerFlash{0%{opacity:0;transform:scaleX(.3)}50%{opacity:1;transform:scaleX(1.05)}to{opacity:1;transform:scaleX(1)}}.active-pool-enter{animation:poolSwapIn .5s ease-out;border-color:var(--green);box-shadow:0 0 12px #22c55e4d}@keyframes poolSwapIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}60%{opacity:1;transform:translateY(4px) scale(1.02)}to{opacity:1;transform:translateY(0) scale(1)}}.arena-list{padding:16px}.arena-list-title{font-size:13px;text-transform:uppercase;letter-spacing:1px;color:var(--text2);margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid var(--border)}.arena-item{padding:10px 14px;border-radius:6px;cursor:pointer;font-size:15px;color:var(--text2);transition:all .15s}.arena-item:hover{background:var(--surface2);color:var(--text)}.arena-item.active{background:var(--accent);color:#fff}.arena-name{opacity:.7;font-size:14px}.arena-empty{color:var(--text2);font-size:14px;padding:10px 14px;opacity:.6}.pool-card-grid-container{overflow-y:auto;padding:24px;background:var(--bg)}.pool-card-grid-header{font-size:15px;color:var(--text2);margin-bottom:16px;padding-bottom:6px;border-bottom:1px solid var(--border)}.pool-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px}.pool-card-empty{color:var(--text2);font-size:15px;text-align:center;padding:48px}.pool-card-loading{color:var(--text2);font-size:15px;text-align:center;padding:24px}.pool-card-sentinel{height:1px}.pool-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:20px}.pool-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.pool-card-fight{font-size:22px;font-weight:700;color:var(--text)}.pool-status{display:inline-block;padding:3px 10px;border-radius:4px;font-size:13px;font-weight:600}.pool-card-winner{font-size:15px;color:var(--green);margin-bottom:8px}.pool-card-meta{display:flex;justify-content:space-between;font-size:14px;color:var(--text2);margin-bottom:8px}.pool-card-reason{font-size:14px;color:var(--orange);background:#f59e0b1a;padding:6px 10px;border-radius:4px;margin-bottom:8px}.pool-card-actions{display:flex;gap:8px;margin-top:12px}.pool-card-btn{flex:1;font-size:14px;padding:8px 14px}.btn-edit-icon{background:none;border:none;color:var(--text2);cursor:pointer;font-size:14px;padding:2px 6px;margin-left:4px;opacity:.6;transition:opacity .15s}.btn-edit-icon:hover{opacity:1;color:var(--cyan)}.pool-card-fight-edit,.active-pool-fight-edit{display:flex;align-items:center;gap:6px;font-size:16px;font-weight:700;color:var(--text)}.fight-edit-input{width:60px;padding:4px 6px;border:1px solid var(--border);border-radius:4px;background:var(--bg);color:var(--text);font-size:15px;font-weight:700}.fight-edit-input:focus{outline:none;border-color:var(--cyan)}.btn-small{padding:3px 10px;font-size:12px;border:none;border-radius:4px;cursor:pointer;font-weight:600}.btn-small.btn-green{background:var(--green);color:#fff}.btn-small.btn-green:disabled{opacity:.5;cursor:not-allowed}.btn-small.btn-muted{background:var(--surface2, #374151);color:var(--text2)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:999}.modal-content{background:var(--surface);border:1px solid var(--border);border-radius:12px;width:420px;max-width:90vw;max-height:80vh;overflow-y:auto}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.modal-header h3{font-size:14px;font-weight:600}.modal-close{background:none;border:none;color:var(--text2);font-size:20px;cursor:pointer;padding:0 4px}.modal-close:hover{color:var(--text)}.modal-body{padding:16px 20px}.modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px;border-top:1px solid var(--border)}.modal-pool-summary{background:var(--surface2);border:1px solid var(--border);border-radius:6px;padding:10px 12px;margin-bottom:16px}.modal-pool-meta{color:var(--text2);font-size:11px;margin-top:4px}.modal-field{margin-bottom:12px}.modal-field label{display:block;color:var(--text2);font-size:11px;margin-bottom:6px}.modal-field .required{color:var(--red)}.modal-field select,.modal-field textarea{width:100%;background:var(--surface2);border:1px solid var(--border);color:var(--text);padding:8px 10px;border-radius:6px;font-family:inherit;font-size:12px;resize:vertical}.modal-field select:focus,.modal-field textarea:focus{outline:1px solid var(--accent);border-color:var(--accent)}.winner-btn-group{display:flex;gap:8px}.winner-btn{flex:1;padding:10px 0;border:2px solid var(--border);border-radius:6px;background:var(--surface2);color:var(--text2);font-size:14px;font-weight:600;text-transform:uppercase;cursor:pointer;transition:all .15s}.winner-btn:hover{border-color:var(--text2)}.audit-page{min-height:100vh;background:var(--bg)}.audit-content{max-width:1200px;margin:0 auto;padding:16px 20px}.audit-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;flex-wrap:wrap;gap:8px}.audit-title{font-size:14px;font-weight:600;color:var(--text)}.audit-filters{display:flex;gap:8px;align-items:center}.audit-filters select,.audit-filters input{background:var(--surface2);border:1px solid var(--border);color:var(--text);padding:5px 8px;border-radius:4px;font-family:inherit;font-size:12px}.audit-filters input{width:160px}.audit-filters input:focus,.audit-filters select:focus{outline:1px solid var(--accent);border-color:var(--accent)}.audit-loading{text-align:center;color:var(--text2);padding:16px;font-size:12px}.audit-table-wrap{overflow-x:auto}.audit-table{width:100%;border-collapse:collapse;font-size:12px}.audit-table th{text-align:left;color:var(--text2);padding:8px 10px;border-bottom:1px solid var(--border);font-weight:500;font-size:11px;text-transform:uppercase;letter-spacing:.5px;background:var(--surface);position:sticky;top:0}.audit-table td{padding:8px 10px;border-bottom:1px solid var(--border);vertical-align:top}.audit-table tbody tr:hover{background:var(--surface)}.audit-time{white-space:nowrap;color:var(--text2);font-size:11px}.audit-ip{color:var(--text2);font-size:11px;font-family:monospace}.audit-action-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500;background:var(--surface2);color:var(--cyan)}.audit-detail-toggle{padding:2px 8px;font-size:11px}.audit-detail{margin-top:6px;padding:8px;background:var(--surface2);border-radius:4px;font-size:11px;white-space:pre-wrap;word-break:break-all;max-width:300px;max-height:200px;overflow:auto}.audit-empty{text-align:center;color:var(--text2);padding:24px}.audit-pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:12px;padding:8px 0}.audit-page-info{color:var(--text2);font-size:12px}.audit-tabs{display:flex;gap:0;margin-bottom:16px;border-bottom:1px solid var(--border)}.audit-tab{padding:8px 20px;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text2);font-size:13px;font-weight:500;cursor:pointer;border-radius:0;transition:all .15s}.audit-tab:hover{color:var(--text)}.audit-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.wh-log-url{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;color:var(--text2)}.wh-log-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600}.wh-log-success{background:#064e3b;color:#6ee7b7}.wh-log-fail{background:#7f1d1d;color:#fca5a5}.wh-log-detail{margin-top:8px}.wh-log-section{margin-bottom:8px}.wh-log-section-title{font-size:10px;text-transform:uppercase;color:var(--text2);margin-bottom:4px;letter-spacing:.5px}.wh-log-error-title{color:var(--red)}
