*{margin:0;padding:0;box-sizing:border-box}:root{--bg: #05060c;--bg-2: #090b15;--panel: #0d101d;--panel-2: #12162a;--panel-3: #1a2038;--line: rgba(148, 165, 225, .1);--line-strong: rgba(158, 175, 235, .2);--text: #edf1fd;--muted: #9aa4c5;--muted-2: #5c6587;--accent: #29d8ff;--accent-dim: #17a8cc;--accent-soft: rgba(41, 216, 255, .1);--accent-2: #8f7bff;--accent-2-soft: rgba(143, 123, 255, .12);--danger: #ff4d6e;--danger-soft: rgba(255, 77, 110, .1);--warn: #ffb054;--warn-soft: rgba(255, 176, 84, .1);--ok: #3beb9a;--ok-soft: rgba(59, 235, 154, .1);--live: #ff4d8d;--live-soft: rgba(255, 77, 141, .1);--pin: #9bc8ff;--pin-soft: rgba(155, 200, 255, .1);--glow-accent: 0 0 22px rgba(41, 216, 255, .25);--glow-violet: 0 0 22px rgba(143, 123, 255, .25);--font: "Inter", "Segoe UI", system-ui, Roboto, sans-serif;--display: "Unbounded", "Inter", "Segoe UI", system-ui, sans-serif;--mono: "JetBrains Mono", ui-monospace, "Cascadia Code", "SF Mono", Consolas, monospace}html,body,#app{height:100%}body{background:radial-gradient(1100px 720px at 88% -12%,rgba(143,123,255,.1),transparent 62%),radial-gradient(950px 660px at -8% 108%,rgba(41,216,255,.07),transparent 60%),radial-gradient(700px 480px at 55% 130%,rgba(255,91,210,.04),transparent 60%),var(--bg);background-attachment:fixed;color:var(--text);font-family:var(--font);font-size:13.5px;line-height:1.45;-webkit-font-smoothing:antialiased;font-feature-settings:"tnum" 0}::selection{background:#29d8ff47}:focus-visible{outline:2px solid rgba(41,216,255,.6);outline-offset:2px}*{scrollbar-width:thin;scrollbar-color:#232a44 transparent}*::-webkit-scrollbar{width:6px;height:6px}*::-webkit-scrollbar-thumb{background:#232a44;border-radius:3px}*::-webkit-scrollbar-thumb:hover{background:#33406b}*::-webkit-scrollbar-track{background:transparent}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fade-in{0%{opacity:0}}@keyframes pop-in{0%{opacity:0;transform:translateY(10px) scale(.97)}}@keyframes rise-in{0%{opacity:0;transform:translateY(7px)}}@keyframes orb-drift{to{transform:translate3d(-70px,50px,0) scale(1.18)}}@keyframes count-pulse{50%{box-shadow:0 0 16px #ff4d6e99}}@keyframes hp-blink{50%{filter:brightness(1.4)}}@keyframes toast-bar{0%{transform:scaleX(1)}to{transform:scaleX(0)}}button{background:#ffffff06;color:var(--muted);border:1px solid var(--line);border-radius:10px;padding:6px 13px;cursor:pointer;font-size:12.5px;font-weight:500;font-family:var(--font);transition:border-color .15s,background .15s,color .15s,box-shadow .15s,transform .15s,filter .15s;white-space:nowrap}button:hover{color:var(--text);border-color:var(--line-strong);background:#ffffff0d}button:active{background:#ffffff14;transform:translateY(0)}button.primary{background:linear-gradient(135deg,#35e0ff,#4f8dff);color:#041018;border-color:transparent;font-weight:700;box-shadow:0 2px 14px #29d8ff4d,inset 0 1px #ffffff59}button.primary:hover{color:#010a10;border-color:transparent;background:linear-gradient(135deg,#55e7ff,#66a0ff);box-shadow:0 4px 22px #29d8ff73,inset 0 1px #fff6;transform:translateY(-1px)}button.active{color:var(--accent);border-color:#29d8ff66;background:var(--accent-soft);box-shadow:inset 0 0 14px #29d8ff0f,0 0 12px #29d8ff1f}button:disabled{opacity:.4;cursor:default;transform:none}button.icon-btn{padding:6px 10px;line-height:1;display:inline-flex;align-items:center;justify-content:center;gap:6px}button.ghost{background:transparent;border-color:transparent;color:var(--muted-2);box-shadow:none}button.ghost:hover{color:var(--text);background:#ffffff0d;border-color:transparent}.seg{display:inline-flex;background:#090b1599;border:1px solid var(--line);border-radius:10px;padding:2px;gap:1px}.seg button{border:none;background:transparent;color:var(--muted-2);border-radius:8px;padding:4px 11px;font-size:12px;box-shadow:none}.seg button:hover{color:var(--text);background:#ffffff0d}.seg button.active{background:linear-gradient(135deg,#29d8ff29,#8f7bff29);color:var(--text);font-weight:600;box-shadow:inset 0 0 0 1px #29d8ff40}input,select{background:#ffffff08;border:1px solid var(--line);color:var(--text);border-radius:10px;padding:8px 12px;font-size:13.5px;font-family:var(--font);outline:none;transition:border-color .15s,background .15s,box-shadow .15s}input:focus:not([type=checkbox]):not([type=range]),select:focus{border-color:#29d8ff8c;background:#ffffff0b;box-shadow:0 0 0 3px #29d8ff1a,var(--glow-accent)}input::placeholder{color:var(--muted-2)}.switch{display:inline-flex;align-items:center;gap:8px;cursor:pointer;color:var(--muted);font-size:12.5px;user-select:none}.switch:hover{color:var(--text)}.switch input{appearance:none;width:34px;height:19px;border-radius:10px;background:var(--panel-3);border:1px solid var(--line);position:relative;cursor:pointer;transition:background .18s,border-color .18s,box-shadow .18s;padding:0;flex:none}.switch input:after{content:"";position:absolute;top:2px;left:2px;width:13px;height:13px;border-radius:50%;background:var(--muted);transition:transform .18s,background .18s,box-shadow .18s}.switch input:checked{background:linear-gradient(135deg,var(--accent-dim),#6a5ce8);border-color:#29d8ff73;box-shadow:0 0 12px #29d8ff40}.switch input:checked:after{transform:translate(15px);background:#fff;box-shadow:0 0 8px #fff9}.badge{font-size:10px;font-weight:650;padding:2.5px 8px;border-radius:20px;border:1px solid var(--line);background:#ffffff08;color:var(--muted);display:inline-flex;align-items:center;gap:5px;letter-spacing:.06em;text-transform:uppercase}.badge .dot{width:5px;height:5px;border-radius:50%;background:currentColor}.badge.live{border-color:#ff4d8d73;color:var(--live);background:var(--live-soft);box-shadow:0 0 12px #ff4d8d2e}.badge.live .dot{animation:pulse 1.4s ease-in-out infinite;box-shadow:0 0 8px currentcolor}.badge.alert{border-color:#ffb05473;color:var(--warn);background:var(--warn-soft)}.badge.pin{border-color:#9bc8ff73;color:var(--pin);background:var(--pin-soft)}.badge.manual{border-color:#8f7bff73;color:#a99bff;background:var(--accent-2-soft)}.badge.fight{border-color:#ffb05480;color:var(--warn);background:var(--warn-soft);box-shadow:0 0 12px #ffb0542e}.badge.report{border-color:#ff4d6e80;color:var(--danger);background:var(--danger-soft)}.mc-avatar{position:relative;display:inline-block;flex:none;border-radius:7px;overflow:hidden;background:var(--panel-3);box-shadow:inset 0 0 0 1px #ffffff0f}.mc-avatar-layer{position:absolute;inset:0;image-rendering:pixelated;background-repeat:no-repeat}.mc-avatar-fallback{display:inline-flex;align-items:center;justify-content:center;color:var(--text);font-weight:700}.avatar-stack{display:inline-flex;align-items:center;flex:none}.avatar-stack .mc-avatar+.mc-avatar{margin-left:-8px;outline:2px solid var(--bg)}.spacer{flex:1}.muted{color:var(--muted)}.mono{font-family:var(--mono)}.logo{font-family:var(--display);font-size:15px;font-weight:700;letter-spacing:0}.logo span:not(.logo-sub){background:linear-gradient(120deg,var(--accent) 20%,var(--accent-2) 90%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 12px rgba(41,216,255,.35))}.logo-sub{font-family:var(--font);color:var(--muted-2);font-size:10px;font-weight:650;text-transform:uppercase;letter-spacing:.18em;margin-left:12px}.spinner{width:22px;height:22px;border-radius:50%;border:2px solid rgba(41,216,255,.15);border-top-color:var(--accent);animation:spin .8s linear infinite;box-shadow:0 0 18px #29d8ff33;flex:none}.empty-state{color:var(--muted-2);font-size:12.5px;padding:20px 12px;text-align:center;border:1px dashed var(--line);border-radius:12px}.login-screen{height:100%;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.login-screen:before,.login-screen:after{content:"";position:absolute;width:560px;height:560px;border-radius:50%;filter:blur(90px);pointer-events:none}.login-screen:before{background:radial-gradient(circle,rgba(41,216,255,.16),transparent 65%);top:-180px;right:-140px;animation:orb-drift 16s ease-in-out infinite alternate}.login-screen:after{background:radial-gradient(circle,rgba(143,123,255,.18),transparent 65%);bottom:-200px;left:-160px;animation:orb-drift 20s ease-in-out infinite alternate-reverse}.login-card{position:relative;z-index:1;background:linear-gradient(180deg,rgba(255,255,255,.03),transparent 45%),var(--panel);border:1px solid var(--line-strong);border-radius:20px;padding:42px 38px;width:372px;display:flex;flex-direction:column;gap:14px;box-shadow:0 30px 80px #02040cb3,0 0 60px #29d8ff0d;animation:pop-in .3s cubic-bezier(.16,1,.3,1) backwards}.login-card:before{content:"";position:absolute;top:-1px;left:28px;right:28px;height:1px;background:linear-gradient(90deg,transparent,rgba(41,216,255,.7),rgba(143,123,255,.7),transparent)}.login-card .logo{font-size:21px}.login-card .login-tagline{color:var(--muted-2);font-size:12.5px;margin:-6px 0 12px}.login-card label{color:var(--muted);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;margin-bottom:-8px}.login-error{color:var(--danger);font-size:12.5px;min-height:17px}.dash{height:100%;display:flex;flex-direction:column;position:relative}.bell-btn svg{width:15px;height:15px;display:block}.notify-pop{top:54px;right:14px;z-index:30;width:272px;display:flex;flex-direction:column;gap:11px}.notify-pop[hidden]{display:none}.notify-pop .hk-title{margin-bottom:0}.notify-hint{color:var(--muted-2);font-size:11px;line-height:1.5}#ntf-test{align-self:flex-start}.dash-header{display:flex;align-items:center;gap:14px;padding:13px 26px;border-bottom:1px solid var(--line);background:#090b1580}.user-chip{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12.5px;padding:4px}.user-chip .user-dot{width:25px;height:25px;border-radius:50%;background:linear-gradient(135deg,#29d8ff4d,#8f7bff59);border:1px solid rgba(143,123,255,.35);color:var(--text);display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700}.dash-body{flex:1;display:grid;grid-template-columns:300px 1fr;gap:0;overflow:hidden;min-height:0}.side{display:flex;flex-direction:column;gap:0;overflow-y:auto;min-height:0;border-right:1px solid var(--line);background:#090b1559}.card{padding:20px 22px}.side .card+.card{border-top:1px solid var(--line)}.card h2{font-size:10.5px;color:var(--muted-2);text-transform:uppercase;letter-spacing:.14em;font-weight:650;margin-bottom:14px;display:flex;align-items:center;gap:8px}.card h2 .count{color:var(--accent);font-family:var(--mono);font-size:10.5px;letter-spacing:0}.player-row,.capture-row{display:flex;align-items:center;gap:9px;padding:7px 8px;margin:0 -8px;border-radius:10px;transition:background .13s}.player-row:hover,.capture-row:hover{background:#ffffff09}.player-row .name,.capture-row .name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:550;font-size:13px}.player-row .srv{color:var(--muted-2);font-size:10px;font-weight:650;font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em}.player-row button,.capture-row button{padding:4px 10px;font-size:11.5px}.sessions{display:flex;flex-direction:column;overflow:hidden;min-height:0;padding:20px 26px}.sessions-tools{display:flex;gap:10px;margin-bottom:16px;align-items:center;flex-wrap:wrap}.sessions-tools .search-wrap{flex:1;min-width:200px;position:relative}.sessions-tools .search-wrap input{width:100%;padding-left:34px}.sessions-tools .search-wrap .search-ico{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--muted-2);pointer-events:none;font-size:13px}.sessions-tools .search-wrap:focus-within .search-ico{color:var(--accent)}.sessions-list{overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:8px;padding:2px 2px 6px}.session-card{display:flex;align-items:center;gap:14px;background:linear-gradient(180deg,rgba(255,255,255,.018),transparent 60%),#0d101d80;border:1px solid var(--line);border-radius:14px;padding:12px 16px;cursor:pointer;transition:background .15s,border-color .15s,transform .15s,box-shadow .15s;position:relative;animation:rise-in .28s cubic-bezier(.16,1,.3,1) backwards}.session-card:hover{background:linear-gradient(180deg,rgba(255,255,255,.03),transparent 60%),#12162a99;border-color:#29d8ff47;transform:translateY(-1px);box-shadow:0 8px 26px #02040c73,0 0 18px #29d8ff12}.session-card.has-alert{box-shadow:inset 2px 0 0 var(--warn)}.session-card.has-alert:hover{box-shadow:inset 2px 0 0 var(--warn),0 8px 26px #02040c73}.session-card .names{font-weight:600;font-size:13.5px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.session-card .names .vs{color:transparent;background:linear-gradient(120deg,var(--accent),var(--accent-2));-webkit-background-clip:text;background-clip:text;font-size:10px;font-weight:800;letter-spacing:.08em}.session-card .meta{color:var(--muted-2);font-size:12px;margin-top:4px;display:flex;gap:6px;align-items:center;flex-wrap:wrap}.session-card .meta .sep{opacity:.5}.session-card .badges{display:flex;align-items:center;gap:6px}.pin-btn{background:transparent;border:none;color:var(--muted-2);font-size:16px;padding:4px 6px;border-radius:8px;line-height:1;box-shadow:none}.pin-btn:hover{color:var(--pin);background:var(--pin-soft);border:none}.pin-btn.pinned{color:var(--pin);text-shadow:0 0 10px rgba(155,200,255,.6)}.del-btn{background:transparent;border:none;color:var(--muted-2);font-size:14px;padding:4px 6px;border-radius:8px;line-height:1;box-shadow:none}.del-btn:hover{color:var(--danger);background:var(--danger-soft);border:none}.keep-btn{color:var(--accent);border-color:#29d8ff59;white-space:nowrap}.keep-btn:hover{color:var(--accent);border-color:#29d8ff8c;box-shadow:var(--glow-accent)}.keep-btn:disabled{opacity:.8;cursor:default}#v-hitmap{display:block;border-radius:12px;background:#080a12;border:1px solid var(--line)}.hitmap-stats{font-size:11px;color:var(--muted);margin-top:8px;line-height:1.7}.mouse-verdict{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:44%;cursor:help}.mouse-verdict.v-ok{color:var(--ok)}.mouse-verdict.v-warn{color:var(--warn)}.mouse-verdict.v-alert{color:var(--danger);text-shadow:0 0 10px rgba(255,77,110,.5)}.mouse-verdict.v-none{color:var(--muted-2)}.viewer-screen{height:100%;display:flex;flex-direction:column;position:relative}.viewer-top{display:flex;gap:12px;align-items:center;padding:9px 16px;background:var(--bg-2);border-bottom:1px solid var(--line)}.viewer-title{display:flex;align-items:center;gap:10px;min-width:0}.viewer-title strong{font-size:14px;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sep-v{width:1px;height:18px;background:var(--line-strong);flex:none}.help-btn{width:30px;padding:6px 0;border-radius:50%;font-weight:700}.hk-pop{position:absolute;top:48px;right:14px;z-index:7;width:278px;background:#0d101deb;backdrop-filter:blur(16px);border:1px solid var(--line-strong);border-radius:14px;padding:12px 16px 14px;box-shadow:0 18px 48px #02040c99,0 0 30px #29d8ff0d;animation:pop-in .2s cubic-bezier(.16,1,.3,1) backwards}.hk-pop .hk-title{font-size:10.5px;color:var(--muted-2);text-transform:uppercase;letter-spacing:.14em;font-weight:650;margin-bottom:8px}.settings-pop{right:56px;width:252px;display:flex;flex-direction:column;gap:11px}.settings-pop[hidden]{display:none}.settings-pop .hk-title{margin-bottom:0}.settings-pop .recon-info{font-size:11px;color:var(--muted-2);min-height:14px}.viewer-main{flex:1;display:flex;overflow:hidden;min-height:0}.viewer-3d{flex:1;position:relative;background:#070910;min-width:0}.viewer-3d canvas.hud{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.scene-metrics{position:absolute;top:12px;left:12px;z-index:4;pointer-events:none}.scene-metrics:empty{display:none}.scene-metrics .metric-chip{background:#06080fb8;backdrop-filter:blur(8px);border-color:#9eafeb2e;color:#c3cbe4}.scene-metrics .metric-chip.hot{color:var(--warn);border-color:#ffb05473}.scene-metrics .metric-chip.sneak{color:var(--accent);border-color:#29d8ff73}.viewer-side{width:336px;background:var(--bg-2);border-left:1px solid var(--line);padding:0;overflow-y:auto;display:flex;flex-direction:column;flex:none}.viewer-side>div{padding:16px}.viewer-side>div+div{border-top:1px solid var(--line)}.side-title{font-size:10.5px;color:var(--muted-2);text-transform:uppercase;letter-spacing:.14em;margin-bottom:10px;font-weight:650;display:flex;align-items:center;justify-content:space-between;gap:8px}.side-title .tip{font-size:12px;letter-spacing:0;text-transform:none;cursor:help;opacity:.6;transition:opacity .13s,color .13s}.side-title .tip:hover{opacity:1;color:var(--accent)}.pov-card{display:flex;align-items:center;gap:10px;padding:9px 10px;margin:0 -10px 4px;border-radius:12px;cursor:pointer;border:1px solid transparent;transition:background .13s,border-color .13s,box-shadow .13s}.pov-card:hover{background:#ffffff08}.pov-card.active{border-color:#29d8ff59;background:var(--accent-soft);box-shadow:inset 0 0 18px #29d8ff0d,0 0 14px #29d8ff14}.pov-card.dead{opacity:.4}.pov-card .pov-main{flex:1;min-width:0}.pov-card .pov-name{font-weight:600;font-size:13px;display:flex;align-items:center;gap:6px;overflow:hidden}.pov-card .pov-name>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pov-card .pov-name .badge,.pov-card .pov-name .rep-chip{flex:none}.pov-card .pov-name .pov-tag{flex:none;font-size:9px;font-weight:800;color:#041018;background:linear-gradient(135deg,var(--accent),#57b6ff);border-radius:4px;padding:1.5px 5px;letter-spacing:.08em;box-shadow:0 0 10px #29d8ff66}.hp-bar{height:4px;border-radius:2px;background:var(--panel-3);margin-top:7px;overflow:hidden;position:relative}.hp-fill{height:100%;border-radius:2px;background:linear-gradient(90deg,#22cf85,#52f7ad);transition:width .18s,background .18s}.hp-fill.mid{background:linear-gradient(90deg,#f5a04a,#ffc97e)}.hp-fill.low{background:linear-gradient(90deg,#ff3d61,#ff7a90);animation:hp-blink 1.1s ease-in-out infinite}.hp-abs{position:absolute;top:0;right:0;height:100%;background:#ffe14d;opacity:.85}.pov-side{text-align:right;flex:none;display:flex;flex-direction:column;gap:4px;align-items:flex-end}.pov-cps{font-family:var(--mono);font-size:11px;color:var(--muted)}.pov-cps.metric-strong{color:var(--warn);font-weight:600}.pov-flags{display:flex;gap:4px;min-height:14px}.flag-chip{font-size:8.5px;font-weight:800;letter-spacing:.1em;border-radius:4px;padding:1.5px 5px;border:1px solid rgba(41,216,255,.35);color:var(--accent);background:var(--accent-soft)}.flag-chip.sprint{border-color:#ffb05459;color:var(--warn);background:var(--warn-soft)}.attack-row{display:flex;align-items:center;gap:7px;font-family:var(--mono);font-size:11px;color:var(--muted);padding:5px 8px;margin:0 -8px;border-radius:8px;cursor:pointer;transition:background .12s,color .12s}.attack-row:hover{background:#29d8ff0d;color:var(--text)}.attack-row .t{color:var(--muted-2);flex:none}.attack-row .who{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attack-row .reach{flex:none;font-weight:600}.attack-row .reach.warn{color:var(--warn)}.attack-row .reach.bad{color:var(--danger);font-weight:700;text-shadow:0 0 8px rgba(255,77,110,.5)}.metric-strong{color:var(--warn)}.hk-pop .hk-row{display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:11.5px;padding:3px 0}.hk-pop kbd{font-family:var(--mono);font-size:10px;color:var(--muted);background:var(--panel-3);border:1px solid var(--line-strong);border-radius:5px;padding:1px 6px;box-shadow:inset 0 -1.5px #ffffff12}.viewer-bottom{background:var(--bg-2);border-top:1px solid var(--line);padding:10px 16px 12px;display:flex;flex-direction:column;gap:8px}.timeline-wrap{position:relative;height:28px}.timeline-markers{position:absolute;inset:0 0 12px;pointer-events:none}.timeline-markers .mark{position:absolute;top:2px;width:3px;height:8px;border-radius:2px;pointer-events:auto;cursor:pointer;transform:translate(-1px);transition:transform .1s}.timeline-markers .mark:hover{transform:translate(-1px) scaleX(1.9) scaleY(1.15)}.mark.damage{background:#ffb054;box-shadow:0 0 6px #ffb0548c}.mark.death{background:#ff4d6e;height:12px;box-shadow:0 0 8px #ff4d6e99}.mark.totem{background:#ffe14d;height:12px;box-shadow:0 0 8px #ffe14d8c}.mark.alert{background:#ff5bd2;height:14px;box-shadow:0 0 10px #ff5bd2b3}input[type=range].timeline{width:100%;position:absolute;bottom:0;appearance:none;height:14px;background:transparent;padding:0;border:none;cursor:pointer;box-shadow:none}input[type=range].timeline::-webkit-slider-runnable-track{height:4px;border-radius:3px;background-image:linear-gradient(90deg,var(--accent),var(--accent-2)),linear-gradient(var(--panel-3),var(--panel-3));background-size:var(--p, 0%) 100%,100% 100%;background-repeat:no-repeat}input[type=range].timeline::-webkit-slider-thumb{appearance:none;width:13px;height:13px;border-radius:50%;background:#fff;margin-top:-4.5px;box-shadow:0 0 0 3px #ffffff1f,0 0 12px #29d8ffb3;transition:transform .1s,box-shadow .1s}input[type=range].timeline::-webkit-slider-thumb:hover{transform:scale(1.25);box-shadow:0 0 0 4px #ffffff24,0 0 18px #29d8ffe6}input[type=range].timeline::-moz-range-track{height:4px;border-radius:3px;background:var(--panel-3)}input[type=range].timeline::-moz-range-progress{height:4px;border-radius:3px;background:linear-gradient(90deg,var(--accent),var(--accent-2))}input[type=range].timeline::-moz-range-thumb{width:13px;height:13px;border:none;border-radius:50%;background:#fff;box-shadow:0 0 0 3px #ffffff1f,0 0 12px #29d8ffb3}input[type=range].timeline:disabled{opacity:.4;cursor:default}.controls-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.controls-row .time{font-family:var(--mono);color:var(--muted);font-size:12px}.play-btn{width:40px;font-size:14px;padding:7px 0;text-align:center}.metric-chips{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.metric-chip{font-family:var(--mono);font-size:11px;color:var(--muted);border:1px solid var(--line);background:#ffffff05;border-radius:8px;padding:3.5px 9px;white-space:nowrap}.metric-chip.hot{color:var(--warn);border-color:#ffb05466;background:var(--warn-soft);box-shadow:0 0 10px #ffb05426}.metric-chip.sneak{color:var(--accent);border-color:#29d8ff66;background:var(--accent-soft)}.legend{display:flex;gap:10px;align-items:center;color:var(--muted-2);font-size:10.5px}.legend .lg{display:inline-flex;align-items:center;gap:4px}.legend .lg i{width:7px;height:7px;border-radius:2px;display:inline-block}.live-badge{color:var(--live);font-weight:800;letter-spacing:.12em;font-size:11px;display:inline-flex;align-items:center;gap:6px;text-shadow:0 0 12px rgba(255,77,141,.5)}.live-badge:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--live);box-shadow:0 0 8px var(--live);animation:pulse 1.4s ease-in-out infinite}.fly-hint{position:absolute;bottom:14px;left:50%;transform:translate(-50%);background:#070912c7;border:1px solid var(--line-strong);backdrop-filter:blur(10px);color:var(--muted);font-size:12px;padding:6px 13px;border-radius:10px;pointer-events:none;z-index:4;white-space:nowrap}.mouse-panel{background:var(--bg-2);border-top:1px solid var(--line);padding:9px 16px 10px}.mouse-head{display:flex;align-items:center;gap:14px;margin-bottom:8px;flex-wrap:wrap}.mouse-head .legend{font-size:10px;gap:8px}.mouse-head .legend .lg{cursor:help}.mouse-pov{color:var(--accent);font-size:11px;font-weight:600;font-family:var(--mono)}.mouse-stats{color:var(--muted-2);font-size:11px}.mouse-panel canvas{display:block;width:100%;height:132px;border-radius:12px;background:#080a12;border:1px solid var(--line);cursor:crosshair}.seg.seg-mini button{padding:3px 9px;font-size:11px}.loading-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:12px;background:#05060ccc;backdrop-filter:blur(8px);z-index:5;font-size:14px;color:var(--muted)}.dash-tabbar{display:flex;gap:2px;padding:0 26px;border-bottom:1px solid var(--line);background:#090b1580}.dash-tabbar .tab{position:relative;border:none;background:transparent;border-radius:0;padding:12px 18px;font-size:13.5px;font-weight:600;color:var(--muted-2);margin-bottom:-1px;display:inline-flex;align-items:center;gap:8px;transition:color .13s;box-shadow:none}.dash-tabbar .tab:hover{color:var(--text);background:transparent}.dash-tabbar .tab.active{color:var(--text);background:transparent;box-shadow:none}.dash-tabbar .tab.active:after{content:"";position:absolute;left:12px;right:12px;bottom:0;height:2px;border-radius:2px 2px 0 0;background:linear-gradient(90deg,var(--accent),var(--accent-2));box-shadow:0 0 12px #29d8ff8c}.dash-tabbar .tab .tab-ico{display:inline-flex;opacity:.8}.dash-tabbar .tab .tab-ico svg{width:14px;height:14px}.dash-tabbar .tab.active .tab-ico{color:var(--accent);opacity:1}.tab-count{background:linear-gradient(135deg,#ff5d7b,#ff3d5e);color:#fff;font-size:10px;font-weight:750;border-radius:9px;padding:1px 6px;line-height:1.3;box-shadow:0 0 10px #ff4d6e66;animation:count-pulse 2.4s ease-in-out infinite}button.user-chip{border:1px solid transparent;border-radius:10px;cursor:pointer;background:transparent;box-shadow:none}button.user-chip:hover{border-color:var(--line-strong);background:#ffffff08;color:var(--text)}.modal-overlay{position:fixed;inset:0;background:#03040a99;backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:40;animation:fade-in .18s ease-out backwards}.modal-overlay[hidden]{display:none}.modal-card{width:460px;max-width:calc(100vw - 40px);background:linear-gradient(180deg,rgba(255,255,255,.025),transparent 40%),#0d101df2;backdrop-filter:blur(18px);border:1px solid var(--line-strong);border-radius:18px;padding:22px 24px;box-shadow:0 30px 80px #02040cb3,0 0 50px #29d8ff0a;animation:pop-in .24s cubic-bezier(.16,1,.3,1) backwards}.modal-head{display:flex;align-items:center;gap:10px;margin-bottom:4px}.modal-head strong{font-size:16px}.modal-head .user-dot{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#29d8ff4d,#8f7bff59);border:1px solid rgba(143,123,255,.35);display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex:none}.modal-card .meta{color:var(--muted-2);font-size:12px;margin-bottom:6px}.pf-section{font-size:10.5px;color:var(--muted-2);text-transform:uppercase;letter-spacing:.14em;font-weight:650;margin:16px 0 8px}.pf-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:8px}.pf-stat{border:1px solid var(--line);background:#ffffff04;border-radius:12px;padding:10px 12px;text-align:center;transition:border-color .15s,background .15s}.pf-stat:hover{border-color:var(--line-strong);background:#ffffff08}.pf-num{font-family:var(--mono);font-size:18px;font-weight:700}.pf-num.pf-ban{color:var(--danger);text-shadow:0 0 14px rgba(255,77,110,.45)}.pf-num.pf-clean{color:var(--ok);text-shadow:0 0 14px rgba(59,235,154,.4)}.pf-num.pf-false{color:var(--warn);text-shadow:0 0 14px rgba(255,176,84,.4)}.toast-stack{position:fixed;top:16px;right:16px;z-index:70;display:flex;flex-direction:column;gap:10px;pointer-events:none;max-width:min(384px,calc(100vw - 32px))}.toast{pointer-events:auto;position:relative;overflow:hidden;display:flex;align-items:flex-start;gap:11px;min-width:250px;background:linear-gradient(180deg,rgba(255,255,255,.03),transparent 55%),#0d101ee0;backdrop-filter:blur(14px);border:1px solid var(--line-strong);border-radius:14px;padding:12px 14px 14px;box-shadow:0 18px 48px #02040c99;font-size:13px;color:var(--text);cursor:pointer;opacity:0;transform:translate(28px) scale(.98);transition:opacity .22s,transform .22s cubic-bezier(.16,1,.3,1)}.toast.toast-in{opacity:1;transform:translate(0) scale(1)}.toast.toast-out{opacity:0;transform:translate(28px) scale(.96)}.toast .toast-ico{width:26px;height:26px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;flex:none;font-weight:700;font-size:13px;line-height:1;margin-top:1px}.toast .toast-ico svg{width:15px;height:15px;display:block}.toast .toast-body{display:flex;flex-direction:column;gap:1px;min-width:0;padding-top:2px}.toast .toast-title{font-weight:700;font-size:12.5px}.toast .toast-title+.toast-msg{color:var(--muted)}.toast .toast-msg{line-height:1.45;overflow-wrap:anywhere}.toast .toast-close{flex:none;border:none;background:transparent;color:var(--muted-2);font-size:12px;line-height:1;padding:4px 5px;margin:-2px -4px 0 0;border-radius:6px;box-shadow:none}.toast .toast-close:hover{color:var(--text);background:#ffffff0f}.toast .toast-progress{position:absolute;left:0;right:0;bottom:0;height:2px;transform-origin:left;background:linear-gradient(90deg,var(--accent),var(--accent-2));animation:toast-bar var(--toast-ms, 4.2s) linear forwards}.toast:hover{border-color:#9eafeb52}.toast-info{border-color:#29d8ff4d;box-shadow:0 18px 48px #02040c99,0 0 24px #29d8ff1a}.toast-info .toast-ico{color:var(--accent);background:var(--accent-soft)}.toast-success{border-color:#3beb9a52;box-shadow:0 18px 48px #02040c99,0 0 24px #3beb9a1a}.toast-success .toast-ico{color:var(--ok);background:var(--ok-soft)}.toast-success .toast-progress{background:linear-gradient(90deg,#22cf85,#7ff7c4)}.toast-error{border-color:#ff4d6e59;box-shadow:0 18px 48px #02040c99,0 0 24px #ff4d6e1f}.toast-error .toast-ico{color:var(--danger);background:var(--danger-soft)}.toast-error .toast-progress{background:linear-gradient(90deg,#ff3d61,#ff8aa0)}.toast-warn{border-color:#ffb05459;box-shadow:0 18px 48px #02040c99,0 0 24px #ffb0541f}.toast-warn .toast-ico{color:var(--warn);background:var(--warn-soft)}.toast-warn .toast-progress{background:linear-gradient(90deg,#f5a04a,#ffd28a)}.dialog-overlay{z-index:60}.dialog-card{width:400px;padding:22px 24px}.dialog-title{font-size:15px;font-weight:650;margin-bottom:8px}.dialog-body{color:var(--muted);font-size:13px;line-height:1.5}.dialog-input{width:100%;margin-top:14px;padding:9px 12px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.dialog-actions button{padding:8px 18px;font-weight:600}.dialog-actions button.danger,button.danger{background:linear-gradient(135deg,#ff5d7b,#ff3d5e);color:#fff;border-color:transparent;box-shadow:0 2px 14px #ff4d6e59,inset 0 1px #ffffff40}.dialog-actions button.danger:hover,button.danger:hover{background:linear-gradient(135deg,#ff7590,#ff5674);border-color:transparent;color:#fff;box-shadow:0 4px 20px #ff4d6e80;transform:translateY(-1px)}.unban-btn{color:var(--ok);border-color:#3beb9a59;font-size:11.5px;padding:4px 10px}.unban-btn:hover{color:var(--ok);border-color:#3beb9a8c;box-shadow:0 0 14px #3beb9a33}.pf-label{color:var(--muted-2);font-size:10.5px;margin-top:3px}.main-col{display:flex;flex-direction:column;overflow:hidden;min-height:0}.main-col>.card.sessions{flex:1;min-height:0}.main-col>.card[hidden]{display:none}.report-card .names{gap:6px}.report-card .badges button{padding:4px 10px;font-size:11.5px}.rc-verdict{color:var(--text);border-color:var(--line-strong);font-weight:600}.rc-verdict:hover{border-color:#29d8ff73;box-shadow:var(--glow-accent)}.rc-verdict:disabled{opacity:.45;cursor:not-allowed}.rc-demo{color:var(--accent);border-color:#29d8ff59;background:var(--accent-soft)}.rc-demo:hover{color:var(--accent);border-color:#29d8ff8c;box-shadow:var(--glow-accent)}.rep-ring{display:inline-flex;border-radius:8px;flex:none}.rep-chip{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;border-radius:8px;font-size:10px;font-weight:800;font-family:var(--mono);color:#0a0a0c;flex:none}.verdict-btn{color:#041018;background:linear-gradient(135deg,#35e0ff,#4f8dff);border-color:transparent;font-weight:700;box-shadow:0 2px 14px #29d8ff4d,inset 0 1px #ffffff59;max-width:250px;overflow:hidden;text-overflow:ellipsis}.verdict-btn:hover{background:linear-gradient(135deg,#55e7ff,#66a0ff);color:#010a10;border-color:transparent;box-shadow:0 4px 22px #29d8ff73;transform:translateY(-1px)}.verdict-btn:disabled{opacity:.8;background:var(--panel-3);color:var(--ok);box-shadow:none}.viewer-screen:fullscreen{background:var(--bg)}.verdict-pop{position:fixed;z-index:45;width:216px;background:#0d101df0;backdrop-filter:blur(16px);border:1px solid var(--line-strong);border-radius:14px;padding:10px;box-shadow:0 18px 48px #02040ca6,0 0 30px #29d8ff0d;display:flex;flex-direction:column;gap:4px;animation:pop-in .18s cubic-bezier(.16,1,.3,1) backwards}.verdict-pop[hidden]{display:none}.verdict-pop .vp-title{font-size:10.5px;color:var(--muted-2);text-transform:uppercase;letter-spacing:.1em;font-weight:650;padding:2px 6px 8px}.verdict-pop .vp-title b{color:var(--text);letter-spacing:0}.verdict-pop button{display:flex;align-items:center;gap:10px;border:none;background:transparent;padding:8px 10px;border-radius:9px;font-size:13px;font-weight:550;color:var(--text);text-align:left;box-shadow:none}.verdict-pop button:hover{background:#ffffff0f}.verdict-pop button i{width:9px;height:9px;border-radius:50%;display:inline-block;flex:none;box-shadow:0 0 8px currentcolor}.verdict-pop .vp-info{padding:4px 6px 6px;font-size:12.5px;color:var(--danger)}#live-now{display:flex;flex-direction:column;gap:2px;margin-bottom:10px}#live-now:empty{display:none}.sessions-list.chat-list{gap:0}.chat-row{display:flex;align-items:baseline;gap:10px;padding:5px 10px;border-radius:8px;font-size:13px;transition:background .12s}.chat-row:hover{background:#ffffff08}.chat-row .t{color:var(--muted-2);font-size:11px;flex:none}.chat-row .chat-name{font-weight:650;color:var(--accent);cursor:pointer;flex:none;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-row .chat-name:hover{text-decoration:underline}.chat-row .chat-text{flex:1;min-width:0;overflow-wrap:anywhere}.chat-row .srv{color:var(--muted-2);font-size:10px;font-weight:650;font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;flex:none}.admin-create{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:12px}.admin-create>input{min-width:170px;flex:none}.admin-error{color:var(--danger);font-size:12px;min-height:16px;margin-bottom:8px}.user-row-admin{cursor:default;gap:12px}.user-row-admin .user-dot{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,#29d8ff4d,#8f7bff59);border:1px solid rgba(143,123,255,.35);display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex:none}.user-row-admin .switch{font-size:11.5px}.user-row-admin button{padding:4px 10px;font-size:11.5px}.player-row .mc-avatar{flex:none}.watchers-chip{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:var(--accent);border:1px solid rgba(41,216,255,.35);background:var(--accent-soft);border-radius:20px;padding:2.5px 10px;white-space:nowrap;box-shadow:0 0 12px #29d8ff1f}@media(max-width:1080px){.dash-body{grid-template-columns:1fr;overflow-y:auto}.side{overflow-y:visible;border-right:none;border-bottom:1px solid var(--line)}.sessions{min-height:420px}.viewer-side{width:290px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
