@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/montserrat-cyrillic-ext-400-normal-Xqov12YL.woff2) format("woff2"),url(/assets/montserrat-cyrillic-ext-400-normal-DRPPeomZ.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/montserrat-cyrillic-400-normal-BPq32Q8K.woff2) format("woff2"),url(/assets/montserrat-cyrillic-400-normal-jEs4Tk-Z.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/montserrat-vietnamese-400-normal-D4oHqQTd.woff2) format("woff2"),url(/assets/montserrat-vietnamese-400-normal-BeEscFYY.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/montserrat-latin-ext-400-normal-B8bwfy6Y.woff2) format("woff2"),url(/assets/montserrat-latin-ext-400-normal-BffdBkAA.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/montserrat-latin-400-normal-BLhwKU8k.woff2) format("woff2"),url(/assets/montserrat-latin-400-normal-xItZbAXg.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/montserrat-cyrillic-ext-500-normal-11xBT7e1.woff2) format("woff2"),url(/assets/montserrat-cyrillic-ext-500-normal-DOzfAZ45.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/montserrat-cyrillic-500-normal-T0SG181k.woff2) format("woff2"),url(/assets/montserrat-cyrillic-500-normal-CyGtXmN9.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/montserrat-vietnamese-500-normal-NT-t8RG1.woff2) format("woff2"),url(/assets/montserrat-vietnamese-500-normal-DpeZlV_K.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/montserrat-latin-ext-500-normal-BKtbrd6n.woff2) format("woff2"),url(/assets/montserrat-latin-ext-500-normal-DWPqqZgs.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/montserrat-latin-500-normal-DRFEGfly.woff2) format("woff2"),url(/assets/montserrat-latin-500-normal-Dok2oTci.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/montserrat-cyrillic-ext-600-normal-BtBW-rpm.woff2) format("woff2"),url(/assets/montserrat-cyrillic-ext-600-normal-wReYPmz2.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/montserrat-cyrillic-600-normal-CQEPC0hM.woff2) format("woff2"),url(/assets/montserrat-cyrillic-600-normal-DUglwBrH.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/montserrat-vietnamese-600-normal-DKe6qT_E.woff2) format("woff2"),url(/assets/montserrat-vietnamese-600-normal-SJ-HTWuM.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/montserrat-latin-ext-600-normal-DSkTqI9L.woff2) format("woff2"),url(/assets/montserrat-latin-ext-600-normal-CSDhkhgS.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/montserrat-latin-600-normal-UVxSCcoG.woff2) format("woff2"),url(/assets/montserrat-latin-600-normal-CdhFl4lI.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Jost;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jost-cyrillic-500-normal-DtB2bvF0.woff2) format("woff2"),url(/assets/jost-cyrillic-500-normal-DlHwnXyv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Jost;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jost-latin-ext-500-normal-BkvHgcKf.woff2) format("woff2"),url(/assets/jost-latin-ext-500-normal-Cpxiadwk.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Jost;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jost-latin-500-normal-41lBe9I9.woff2) format("woff2"),url(/assets/jost-latin-500-normal-B-AtzreL.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--funk-green: #00dec4;--punk-pink: #da00ac;--pink-text: #ff4fd2;--deep-violet: #843ea6;--brand-gradient: linear-gradient(45deg, #00dec4 0%, #da00ac 100%);--bg: #0c0c10;--surface: #15151b;--surface-2: #1d1d25;--surface-3: #262631;--line: #2c2c38;--ink: #ececf1;--ink-2: #b4b4c0;--muted: #8a8a98;--ok: #00dec4;--warn: #f5b041;--bad: #ff4f6d;--radius: 10px;--radius-sm: 6px;--font-body: "Montserrat", system-ui, -apple-system, "Segoe UI", sans-serif;--font-display: "Jost", "Montserrat", system-ui, sans-serif;--mono: ui-monospace, "Cascadia Mono", "Consolas", monospace;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.45 var(--font-body);-webkit-font-smoothing:antialiased}a{color:var(--funk-green);text-decoration:none}a:hover{text-decoration:underline}button,input,select{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--funk-green);outline-offset:2px}.shell{display:flex;flex-direction:column;min-height:100%}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:20px;padding:10px 20px;background:#0c0c10eb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.topbar:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--brand-gradient)}.brand{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:500;font-size:19px;letter-spacing:.02em;white-space:nowrap}.brand .word{background:var(--brand-gradient);-webkit-background-clip:text;background-clip:text;color:transparent}.brand small{font-family:var(--font-body);font-size:10px;letter-spacing:.22em;color:var(--muted);text-transform:uppercase}.nav{display:flex;gap:4px}.nav a{padding:6px 12px;border-radius:999px;color:var(--ink-2);font-weight:500}.nav a:hover{background:var(--surface-2);text-decoration:none;color:var(--ink)}.nav a.active{background:var(--surface-3);color:var(--ink)}.spacer{flex:1}.userchip{display:flex;align-items:center;gap:10px;color:var(--ink-2);font-size:13px}.main{flex:1;padding:16px 20px 32px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:34px;padding:0 14px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface-2);color:var(--ink);cursor:pointer;font-weight:500;white-space:nowrap}.btn:hover{background:var(--surface-3)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--brand-gradient);border:0;color:#0c0c10;font-weight:600}.btn.primary:hover{filter:brightness(1.08)}.btn.danger{border-color:#5a2230;color:var(--bad)}.btn.ghost{background:transparent;border-color:transparent;color:var(--ink-2)}.btn.ghost:hover{background:var(--surface-2);color:var(--ink)}.btn.sm{height:28px;padding:0 10px;font-size:12px}.btn.on{border-color:var(--funk-green);color:var(--funk-green)}.input,.select{height:34px;padding:0 10px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface);color:var(--ink);min-width:0}.input:focus,.select:focus{border-color:var(--funk-green);outline:none}label.field{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.card h2{margin:0 0 12px;font-size:15px;font-weight:600}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.stack{display:flex;flex-direction:column;gap:12px}.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px}.muted{color:var(--muted)}.mono{font-family:var(--mono);font-size:12px}.err{color:var(--bad)}.notice{padding:10px 12px;border-radius:var(--radius-sm);background:var(--surface-2);border-left:3px solid var(--funk-green)}.notice.bad{border-left-color:var(--bad)}.notice.warn{border-left-color:var(--warn)}.badge{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;background:var(--surface-3);color:var(--ink-2)}.badge .dot{width:6px;height:6px;border-radius:50%;background:currentColor}.badge.live{color:var(--funk-green);background:#00dec41f}.badge.off{color:var(--muted)}.badge.warn{color:var(--warn);background:#f5b0411f}.badge.bad{color:var(--bad);background:#ff4f6d1f}table.tbl{width:100%;border-collapse:collapse;font-size:13px}.tbl th{text-align:left;font-weight:600;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em;padding:8px 10px;border-bottom:1px solid var(--line)}.tbl td{padding:9px 10px;border-bottom:1px solid var(--line);vertical-align:middle}.tbl tr:hover td{background:var(--surface-2)}.tablewrap{overflow-x:auto}.wallbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}.wallbar .count{color:var(--ink-2);font-size:13px}.seg{display:inline-flex;border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden}.seg button{border:0;background:var(--surface);padding:0 12px;height:32px;cursor:pointer;color:var(--ink-2);font-weight:500}.seg button+button{border-left:1px solid var(--line)}.seg button.active{background:var(--surface-3);color:var(--funk-green)}.wall{display:grid;gap:8px}.tile{position:relative;aspect-ratio:16 / 9;border-radius:var(--radius-sm);overflow:hidden;background:#08080b;border:1px solid var(--line);cursor:pointer;padding:0;text-align:left}.tile:hover{border-color:var(--funk-green)}.tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.tile.offline img{filter:grayscale(1) brightness(.45)}.tile .empty{position:absolute;inset:0;display:grid;place-items:center;color:var(--muted);font-size:12px}.tile .cap{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:flex-end;gap:8px;padding:18px 8px 6px;background:linear-gradient(transparent,#000000d1)}.tile .name{font-weight:600;font-size:12.5px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tile .sub{font-size:11px;color:#c9c9d3;white-space:nowrap}.tile .top{position:absolute;top:6px;left:6px;right:6px;display:flex;justify-content:space-between;gap:6px}.tile .offmsg{position:absolute;inset:0;display:grid;place-items:center;text-align:center;color:#d4d4dc;font-size:12px;font-weight:500}.pager{display:flex;justify-content:center;gap:8px;margin-top:14px;align-items:center}.modal-back{position:fixed;inset:0;z-index:50;background:#040408c7;display:grid;place-items:center;padding:20px}.modal{width:min(1280px,100%);max-height:100%;overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.modal header{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line)}.modal header h3{margin:0;font-size:15px;font-weight:600}.player{position:relative;background:#000;aspect-ratio:16 / 9}.player video{width:100%;height:100%;display:block;background:#000}.player .overlay{position:absolute;inset:0;display:grid;place-items:center;color:var(--ink-2);text-align:center;padding:20px;pointer-events:none}.modal footer{display:flex;gap:10px;align-items:center;padding:10px 16px;flex-wrap:wrap}.spinner{width:28px;height:28px;border-radius:50%;border:3px solid var(--surface-3);border-top-color:var(--funk-green);animation:spin .9s linear infinite;margin:0 auto 8px}@keyframes spin{to{transform:rotate(360deg)}}.timeline{position:relative;height:44px;border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--line);cursor:crosshair;-webkit-user-select:none;user-select:none}.timeline .span{position:absolute;top:8px;bottom:14px;background:linear-gradient(90deg,#00dec4bf,#00dec48c);border-radius:2px}.timeline .cursor{position:absolute;top:0;bottom:0;width:2px;background:var(--punk-pink);box-shadow:0 0 8px var(--punk-pink)}.timeline .hover{position:absolute;top:0;bottom:0;width:1px;background:#fff6;pointer-events:none}.timeline .ticks{position:absolute;left:0;right:0;bottom:0;height:13px;font-size:9.5px;color:var(--muted)}.timeline .ticks span{position:absolute;transform:translate(-50%)}.timeline .sel{position:absolute;top:4px;bottom:12px;background:#da00ac38;border:1px solid var(--punk-pink);border-radius:2px;pointer-events:none}.login{min-height:100%;display:grid;place-items:center;padding:24px;background:radial-gradient(1200px 500px at 110% 110%,rgba(218,0,172,.1),transparent 60%),radial-gradient(900px 500px at -10% -10%,rgba(0,222,196,.08),transparent 60%),var(--bg)}.login form{width:min(380px,100%);display:flex;flex-direction:column;gap:14px}.login .brand{font-size:30px;justify-content:center;margin-bottom:4px}.login .tag{text-align:center;color:var(--muted);font-size:12px;letter-spacing:.2em;text-transform:uppercase;margin-bottom:10px}.kv{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;font-size:13px}.kv dt{color:var(--muted)}.kv dd{margin:0}.meter{height:8px;border-radius:4px;background:var(--surface-3);overflow:hidden}.meter>div{height:100%;background:var(--funk-green)}.meter.warn>div{background:var(--warn)}.meter.bad>div{background:var(--bad)}.secret{font-family:var(--mono);font-size:12px;padding:8px 10px;background:#0a0a0e;border:1px dashed var(--punk-pink);border-radius:var(--radius-sm);word-break:break-all}@media(max-width:720px){.topbar{flex-wrap:wrap;gap:10px;padding:10px 12px}.main{padding:12px}.nav{order:3;width:100%;overflow-x:auto}}
