*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-graphite-center:#151820;--bg-graphite-mid:#101218;--bg-graphite-outer:#0d0f15;--bg-graphite-edge:#0b0d12;--card-bg:#101218;--text-primary:#f8fafc;--text-muted:#94a3b8;--color-live:#ef4444;--font-sans:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--tv-ease:cubic-bezier(.16, 1, .3, 1);--tv-duration:.26s;--page-gutter-x:clamp(24px, 4vw, 72px);--page-gutter-y:clamp(20px, 3.5vh, 44px);--header-height:clamp(40px, 4.8vh, 56px);--header-gap:clamp(14px, 2.2vh, 24px);--grid-gap:clamp(14px, 1.4vw, 24px);--max-content-width:1720px}html,body,#app{background-color:var(--bg-graphite-edge);background-image:radial-gradient(ellipse 100% 100% at 50% 50%, transparent 60%, #04050873 100%), radial-gradient(ellipse 80% 74% at 50% 48%, var(--bg-graphite-center) 0%, var(--bg-graphite-mid) 42%, var(--bg-graphite-edge) 100%);width:100%;height:100%;color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;-webkit-user-select:none;user-select:none;background-attachment:fixed;margin:0;padding:0;overflow-x:hidden}.page-viewport{width:100vw;height:100dvh;min-height:100dvh;max-height:100dvh;padding:var(--page-gutter-y) var(--page-gutter-x);box-sizing:border-box;background:0 0;flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.page-viewport.mode-admin-overview,.page-viewport.mode-admin-system,.page-viewport.mode-admin-logs,.page-viewport.mode-admin-stream{justify-content:flex-start;height:auto;min-height:100dvh;max-height:none;padding-top:clamp(16px,2.5vh,28px);padding-bottom:clamp(24px,4vh,40px);overflow-y:auto}.page-viewport.mode-admin-overview::-webkit-scrollbar{width:6px}.page-viewport.mode-admin-system::-webkit-scrollbar{width:6px}.page-viewport.mode-admin-logs::-webkit-scrollbar{width:6px}.page-viewport.mode-admin-stream::-webkit-scrollbar{width:6px}.page-viewport.mode-admin-overview::-webkit-scrollbar-track{background:0 0}.page-viewport.mode-admin-system::-webkit-scrollbar-track{background:0 0}.page-viewport.mode-admin-logs::-webkit-scrollbar-track{background:0 0}.page-viewport.mode-admin-stream::-webkit-scrollbar-track{background:0 0}.page-viewport.mode-admin-overview::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:9999px}.page-viewport.mode-admin-system::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:9999px}.page-viewport.mode-admin-logs::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:9999px}.page-viewport.mode-admin-stream::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:9999px}.ambient-cinema-lights{pointer-events:none;z-index:1;transition:opacity .4s;position:absolute;inset:0;overflow:hidden}.page-viewport.player-mode .ambient-cinema-lights{opacity:.25}.ambient-pool{filter:blur(140px);pointer-events:none;opacity:.025;width:55vw;height:55vh;transition:opacity .5s var(--tv-ease);border-radius:50%;position:absolute}.ambient-pool.pool-violet{background:radial-gradient(circle,#9333ea 0%,#0000 70%);top:8%;left:14%}.ambient-pool.pool-coral{background:radial-gradient(circle,#e05a47 0%,#0000 70%);top:8%;right:14%}.ambient-pool.pool-blue{background:radial-gradient(circle,#3b82f6 0%,#0000 70%);bottom:8%;left:14%}.ambient-pool.pool-green{background:radial-gradient(circle,#10b981 0%,#0000 70%);bottom:8%;right:14%}.ambient-pool.is-active{opacity:.045}@media (width<=767px),(hover:none){.ambient-cinema-lights,.player-ambient-halo{display:none}}.content-container{--avail-grid-h:calc(100dvh - (var(--page-gutter-y) * 2) - var(--header-height) - var(--header-gap));--height-constrained-w:calc((var(--avail-grid-h) - var(--grid-gap)) * (16 / 9) + var(--grid-gap));z-index:2;width:100%;max-width:min(var(--max-content-width), var(--height-constrained-w), 100%);gap:var(--header-gap);animation:grid-enter .3s var(--tv-ease) both;flex-direction:column;margin:0 auto;display:flex;position:relative}@keyframes grid-enter{0%{opacity:0;transform:scale(.985)}to{opacity:1;transform:scale(1)}}.site-header{height:var(--header-height);flex-shrink:0;justify-content:space-between;align-items:center;width:100%;display:flex}.header-brand{align-items:center;display:flex}.header-brand-link{color:inherit;align-items:center;text-decoration:none;display:flex}.brand-logo{object-fit:contain;width:auto;height:clamp(32px,4vh,42px);display:block}.header-right-group{align-items:center;gap:16px;display:flex}.admin-link-badge{font-family:var(--font-mono);letter-spacing:.06em;color:#94a3b8;background:#ffffff0f;border:1px solid #ffffff14;border-radius:9999px;align-items:center;padding:4px 10px;font-size:11px;font-weight:600;text-decoration:none;transition:all .16s;display:inline-flex}.admin-link-badge:hover{color:#fff;background:#ffffff1f;border-color:#fff3}.header-status{-webkit-user-select:none;user-select:none;align-items:center;gap:7px;display:inline-flex}.live-indicator-dot{background-color:var(--color-live);border-radius:50%;width:6.5px;height:6.5px;animation:2.8s ease-in-out infinite live-breathe}@keyframes live-breathe{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.92)}}.live-indicator-text{letter-spacing:.12em;color:var(--text-primary);text-transform:uppercase;font-size:12px;font-weight:700}.stream-grid{gap:var(--grid-gap);grid-template-rows:repeat(2,auto);grid-template-columns:repeat(2,minmax(0,1fr));justify-content:center;align-items:start;width:100%;display:grid}.stream-tile{min-width:0;color:inherit;outline:none;text-decoration:none;display:block}.stream-info-sep{color:#475569}.status-text{align-items:center;gap:6px;display:inline-flex}.status-text.tone-live{color:var(--text-primary)}.status-text.tone-upcoming,.status-text.tone-offline{color:var(--text-muted)}.status-text.tone-waiting{color:#fbbf24}.status-dot{background-color:var(--color-live);border-radius:50%;flex-shrink:0;width:7px;height:7px}.stream-card{aspect-ratio:16/9;cursor:pointer;background-color:var(--card-bg);width:100%;transition:transform var(--tv-duration) var(--tv-ease), box-shadow var(--tv-duration) var(--tv-ease), border-color var(--tv-duration) var(--tv-ease), filter var(--tv-duration) var(--tv-ease);will-change:transform, box-shadow;border:1px solid #ffffff0f;border-radius:clamp(14px,1.1vw,18px);outline:none;text-decoration:none;display:block;position:relative;transform:scale(1)translate(0,0);box-shadow:0 8px 30px #00000029}.card-surface{border-radius:inherit;background-color:#12141c;position:absolute;inset:0;overflow:hidden}.card-image-wrap{width:100%;height:100%;transition:transform var(--tv-duration) var(--tv-ease);will-change:transform}.stream-card-image{object-fit:cover;object-position:center;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.card-rim{border-radius:inherit;pointer-events:none;transition:border-color var(--tv-duration) var(--tv-ease);border:1px solid #ffffff0d;position:absolute;inset:0}@media (hover:hover){.stream-tile.is-elevated .stream-card{transform:translateY(-2px);box-shadow:0 14px 36px #0000004d}}.stream-tile.is-elevated .card-rim{border-color:#ffffff2e}.stream-tile:focus-visible .stream-card{box-shadow:0 0 0 2px #ffffffd9}.stream-tile:active .stream-card{transition-duration:90ms;transform:scale(.995)}.player-container{--info-h:76px;--avail-player-h:calc(100dvh - (var(--page-gutter-y) * 2) - var(--header-height) - (var(--header-gap) * 2) - var(--info-h));--player-max-w:calc(var(--avail-player-h) * (16 / 9));z-index:2;width:100%;max-width:min(90vw, 1560px, var(--player-max-w));gap:var(--header-gap);animation:cinema-expand .3s var(--tv-ease) both;flex-direction:column;margin:0 auto;display:flex;position:relative}@keyframes cinema-expand{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.player-container.is-fullscreen{z-index:9999;background:#000;justify-content:center;align-items:center;width:100vw;max-width:none;height:100dvh;margin:0;padding:0;position:fixed;inset:0}.player-container.is-fullscreen .player-stage-frame{aspect-ratio:auto;width:100vw;max-width:none;height:100dvh;box-shadow:none;border:none;border-radius:0}.player-container.is-fullscreen .player-poster-media{object-fit:contain}.player-ambient-halo{pointer-events:none;filter:blur(140px);opacity:.1;z-index:0;background:radial-gradient(800px,#ffffff0d 0%,#0000 70%);position:fixed;inset:0}.player-top-header{height:var(--header-height);flex-shrink:0;justify-content:space-between;align-items:center;width:100%;display:flex}.player-back-btn{color:#94a3b8;font-family:var(--font-sans);cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:none;border-radius:6px;outline:none;align-items:center;gap:8px;padding:6px 10px;font-size:13px;font-weight:500;transition:color .18s,transform .18s;display:inline-flex}.player-back-btn:hover{color:#fff;transform:translate(-2px)}.player-back-btn:focus-visible{color:#fff;box-shadow:0 0 0 2px #fff6}.player-back-btn .back-arrow{font-size:14px;line-height:1}.stream-info{min-height:var(--info-h,auto);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px 32px;display:flex}.stream-info-main{flex:320px;min-width:0}.stream-info-title{color:#f1f5f9;letter-spacing:-.01em;margin:0;font-size:clamp(17px,1.6vw,21px);font-weight:600;line-height:1.3}.stream-info-meta{color:#94a3b8;flex-wrap:wrap;align-items:center;gap:6px;margin:6px 0 0;font-size:14px;display:flex}.stream-info-side{text-align:right;flex-direction:column;flex:0 auto;align-items:flex-end;gap:6px;display:flex}.stream-info-next{color:#94a3b8;margin:0;font-size:13px}.stream-info-link{font:inherit;color:#cbd5e1;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:0;font-size:13px;text-decoration:none}.stream-info-link:hover{color:#fff;text-underline-offset:3px;text-decoration:underline}.stream-info-link:focus-visible{outline-offset:2px;outline:2px solid #ffffff80}@media (width<=767px){.stream-info-side{text-align:left;align-items:flex-start}}.player-stage-frame{aspect-ratio:16/9;cursor:pointer;background:#090b0f;border:1px solid #ffffff12;border-radius:14px;width:100%;position:relative;overflow:hidden;box-shadow:0 20px 50px -10px #000000bf,0 0 1px #ffffff1a}.player-stage-frame.is-static{cursor:default}.player-stage-frame.is-idle{cursor:none}.player-stage-frame.is-active{cursor:default}.player-poster-media{object-fit:cover;-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;height:100%;display:block}.player-video-media{object-fit:contain;background-color:#000;width:100%;height:100%;display:block}.player-paused-scrim{pointer-events:none;background:#00000061;justify-content:center;align-items:center;animation:.16s both fade-in;display:flex;position:absolute;inset:0}.paused-icon{-webkit-backdrop-filter:blur(12px);color:#fff;background:#0000008c;border:1px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:58px;height:58px;padding-left:3px;display:flex;box-shadow:0 10px 30px #00000080}.player-controls-layer{pointer-events:auto;height:80px;transition:opacity .18s var(--tv-ease), transform .18s var(--tv-ease);z-index:20;background:linear-gradient(#0000 0%,#00000061 50%,#000000b8 100%);justify-content:space-between;align-items:flex-end;padding:0 clamp(16px,2.5vw,28px) clamp(12px,1.8vh,18px);display:flex;position:absolute;bottom:0;left:0;right:0}.player-controls-layer.is-hidden{opacity:0;pointer-events:none;transform:translateY(6px)}.player-controls-layer.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)}.controls-group-left,.controls-group-right{align-items:center;gap:10px;display:flex}.control-btn{color:#cbd5e1;cursor:pointer;background:0 0;border:none;border-radius:7px;outline:none;justify-content:center;align-items:center;width:32px;height:32px;transition:color .16s,background .16s;display:inline-flex}.control-btn:hover{color:#fff;background:#ffffff1a}.control-btn:focus-visible{box-shadow:0 0 0 2px #fff9}.volume-bar{appearance:none;cursor:pointer;background:#ffffff40;border-radius:1.5px;outline:none;width:60px;height:3px;transition:background .16s}.volume-bar:hover{background:#fff6}.volume-bar::-webkit-slider-thumb{appearance:none;cursor:pointer;background:#fff;border-radius:50%;width:10px;height:10px;box-shadow:0 1px 3px #00000080}.controls-group-center{align-items:center;display:flex}.control-live-tag{font-family:var(--font-mono);letter-spacing:.12em;color:#94a3b8;-webkit-user-select:none;user-select:none;align-items:center;gap:5px;font-size:10px;font-weight:600;display:inline-flex}.control-live-dot{background:#ef4444;border-radius:50%;width:5px;height:5px}.streams-toggle-btn{color:#cbd5e1;font-family:var(--font-sans);cursor:pointer;background:#ffffff14;border:1px solid #ffffff1a;border-radius:6px;outline:none;align-items:center;gap:6px;padding:5px 11px;font-size:12px;font-weight:500;transition:all .16s;display:inline-flex}.streams-toggle-btn:hover,.streams-toggle-btn.is-active{color:#fff;background:#ffffff29;border-color:#ffffff40}.streams-toggle-btn:focus-visible{box-shadow:0 0 0 2px #fff9}.stream-switcher-rail{z-index:25;-webkit-backdrop-filter:blur(16px);width:auto;max-width:90%;animation:rail-slide-up .16s var(--tv-ease) both;background:#0b0d12d9;border:1px solid #ffffff1a;border-radius:10px;padding:8px 10px;position:absolute;bottom:64px;left:50%;transform:translate(-50%);box-shadow:0 14px 36px #000000a6}.stream-switcher-rail:after{content:"";pointer-events:auto;background:0 0;height:24px;position:absolute;top:100%;left:0;right:0}@keyframes rail-slide-up{0%{opacity:0;transform:translate(-50%,4px)}to{opacity:1;transform:translate(-50%)}}.rail-thumbnails{align-items:center;gap:8px;display:flex}.rail-thumb-btn{aspect-ratio:16/9;cursor:pointer;width:clamp(96px,13vw,140px);transition:transform .18s var(--tv-ease), border-color .18s ease, box-shadow .18s ease;background:#090b0f;border:1px solid #ffffff1f;border-radius:6px;outline:none;padding:0;position:relative;overflow:hidden;box-shadow:0 3px 10px #0006}.rail-thumb-btn:hover{border-color:#ffffff59;transform:scale(1.02);box-shadow:0 6px 16px #0000008c}.rail-thumb-btn:focus-visible{border-color:#fff;transform:scale(1.02);box-shadow:0 0 0 2px #fff}.rail-thumb-btn.is-current{border-color:#ffffff80;box-shadow:0 0 0 1px #fff6,0 6px 18px #00000080}.rail-thumb-img{object-fit:cover;width:100%;height:100%;display:block}.current-stream-indicator{background:#fff;height:2.5px;position:absolute;bottom:0;left:0;right:0}.admin-container{z-index:2;width:100%;max-width:min(1200px,92vw);animation:grid-enter .3s var(--tv-ease) both;flex-direction:column;gap:14px;margin:0 auto;display:flex;position:relative}.admin-header{height:var(--header-height);flex-shrink:0;justify-content:space-between;align-items:center;width:100%;display:flex}.admin-header-left{align-items:center;gap:12px;display:flex}.admin-brand-btn{cursor:pointer;background:0 0;border:none;border-radius:4px;outline:none;align-items:center;padding:0;display:flex}.admin-brand-btn:focus-visible{box-shadow:0 0 0 2px #fff6}.admin-header-badge{font-family:var(--font-mono);letter-spacing:.1em;color:#94a3b8;text-transform:uppercase;-webkit-user-select:none;user-select:none;background:#ffffff0d;border:1px solid #ffffff14;border-radius:5px;padding:3px 8px;font-size:10px;font-weight:600}.admin-nav{background:#ffffff0a;border:1px solid #ffffff12;border-radius:6px;align-items:center;gap:2px;margin-left:6px;padding:2px;display:inline-flex}.admin-nav-item{font-family:var(--font-sans);color:#94a3b8;cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:none;border-radius:4px;outline:none;padding:4px 12px;font-size:12px;font-weight:500;transition:all .15s}.admin-nav-item:hover{color:#f1f5f9}.admin-nav-item.is-active{color:#fff;background:#ffffff1f;font-weight:600;box-shadow:0 1px 3px #0003}.admin-nav-item:focus-visible{box-shadow:0 0 0 2px #ffffff80}.admin-header-right{align-items:center;gap:16px;display:flex}.admin-header-viewers,.admin-header-status-text{white-space:nowrap}@media (width<=640px){.admin-header{flex-wrap:wrap;row-gap:12px;height:auto}.admin-header-right{justify-content:space-between;gap:12px;width:100%}}.admin-header-status{-webkit-user-select:none;user-select:none;align-items:center;gap:7px;display:inline-flex}.admin-header-viewers{font-family:var(--font-mono);letter-spacing:.1em;color:#94a3b8;text-transform:uppercase;font-size:11px;font-weight:700}.admin-header-status-text{font-family:var(--font-mono);letter-spacing:.1em;color:#e2e8f0;text-transform:uppercase;font-size:11px;font-weight:700}.admin-system-health-tag{-webkit-user-select:none;user-select:none;background:#10b98114;border:1px solid #10b98133;border-radius:9999px;align-items:center;gap:6px;padding:3px 9px;display:inline-flex}.system-health-dot{background:#10b981;border-radius:50%;width:5px;height:5px}.system-health-text{font-family:var(--font-sans);color:#a7f3d0;letter-spacing:.02em;font-size:11px;font-weight:500}.admin-env-badge{-webkit-user-select:none;user-select:none;background:#10b98114;border:1px solid #10b98138;border-radius:9999px;align-items:center;gap:6px;padding:3px 8px;display:inline-flex}.admin-env-badge .env-dot{background-color:#10b981;border-radius:50%;width:6px;height:6px;animation:3s ease-in-out infinite live-breathe}.admin-env-badge .env-label{font-family:var(--font-mono);letter-spacing:.12em;color:#a7f3d0;font-size:10px;font-weight:700}.admin-actions-menu{display:inline-block;position:relative}.admin-actions-trigger{font-family:var(--font-sans);color:#cbd5e1;cursor:pointer;-webkit-user-select:none;user-select:none;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:6px;outline:none;align-items:center;gap:6px;padding:4px 11px;font-size:12px;font-weight:500;transition:all .16s;display:inline-flex}.admin-actions-trigger:hover,.admin-actions-trigger.is-open{color:#fff;background:#ffffff1a;border-color:#fff3}.admin-actions-trigger:focus-visible{box-shadow:0 0 0 2px #ffffff80}.admin-actions-dropdown{z-index:50;min-width:140px;animation:cinema-expand .18s var(--tv-ease) both;background:#151820;border:1px solid #ffffff1f;border-radius:8px;flex-direction:column;gap:2px;padding:4px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 16px 36px #0009}.admin-actions-item{width:100%;font-family:var(--font-sans);color:#e2e8f0;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:5px;outline:none;align-items:center;padding:7px 12px;font-size:12px;font-weight:500;transition:all .12s;display:flex}.admin-actions-item:hover{color:#fff;background:#ffffff14}.admin-actions-item.is-danger{color:#f87171}.admin-actions-item.is-danger:hover{color:#fca5a5;background:#ef444426}.admin-actions-divider{background:#ffffff14;height:1px;margin:3px 0}.admin-global-status-strip{-webkit-backdrop-filter:blur(12px);-webkit-user-select:none;user-select:none;box-sizing:border-box;background:#ffffff06;border:1px solid #ffffff0f;border-radius:8px;justify-content:space-between;align-items:center;width:100%;padding:8px 16px;display:flex}.status-strip-group{align-items:center;gap:18px;display:flex}.status-strip-item{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:7px;font-size:11px;font-weight:600;display:inline-flex}.status-strip-item.is-live{color:#f1f5f9}.strip-dot-live{background:#ef4444;border-radius:50%;width:6px;height:6px;animation:2.8s ease-in-out infinite live-breathe}.status-strip-item.is-problem{color:#fbbf24}.strip-icon-problem{color:#f59e0b;font-size:13px;animation:2.4s linear infinite spin-slow;display:inline-block}.status-strip-item.is-viewers{color:#94a3b8;gap:6px}.strip-viewer-num{font-family:var(--font-mono);color:#f8fafc;font-size:12px;font-weight:700}.strip-viewer-label{letter-spacing:.12em;color:#64748b;font-size:10px}.admin-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;width:100%;display:grid}.admin-card{cursor:pointer;-webkit-user-select:none;user-select:none;width:100%;transition:transform var(--tv-duration) var(--tv-ease), box-shadow var(--tv-duration) var(--tv-ease), border-color var(--tv-duration) var(--tv-ease);will-change:transform, box-shadow;background-color:#0c0e14;border:1px solid #ffffff14;border-radius:12px;outline:none;flex-direction:row;align-items:stretch;gap:14px;padding:10px;display:flex;position:relative;overflow:hidden;transform:scale(1)translate(0,0);box-shadow:0 8px 24px #00000059}.admin-card:hover{border-color:#ffffff2e;transform:scale(1.012)translateY(-2px);box-shadow:0 14px 32px #00000073}.admin-card:focus-visible{border-color:#0000;transform:scale(1.012)translateY(-2px);box-shadow:0 14px 32px #00000073,0 0 0 2px #ffffffd9}.admin-card-media-wrap{aspect-ratio:16/9;background:#090b0f;border-radius:7px;flex-shrink:0;width:clamp(140px,14vw,172px);min-width:clamp(140px,14vw,172px);position:relative;overflow:hidden;box-shadow:0 2px 8px #0006}.admin-card-thumb{object-fit:cover;object-position:center;pointer-events:none;width:100%;height:100%;display:block}.admin-card-reconnecting-scrim{pointer-events:none;background:#14100859;position:absolute;inset:0}.admin-card-offline-scrim{pointer-events:none;background:#06070aa6;position:absolute;inset:0}.admin-card-info{flex-direction:column;flex:1;justify-content:space-between;min-width:0;padding:2px 0;display:flex}.admin-card-header-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.admin-stream-num{font-family:var(--font-mono);letter-spacing:.08em;color:#94a3b8;background:#ffffff0f;border:1px solid #ffffff14;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:700}.admin-stream-viewers{font-family:var(--font-mono);color:#64748b;letter-spacing:.02em;font-size:11px}.admin-card-title-row{justify-content:space-between;align-items:baseline;gap:8px;min-width:0;margin:2px 0;display:flex}.admin-card-session{color:#94a3b8;text-overflow:ellipsis;white-space:nowrap;margin-bottom:4px;font-size:12px;overflow:hidden}.admin-card-title{font-family:var(--font-sans);color:#f8fafc;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;display:block;overflow:hidden}.admin-card-status-row{justify-content:space-between;align-items:center;gap:8px;min-height:26px;display:flex}.admin-status-indicator{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;flex-shrink:0;align-items:center;gap:6px;font-size:11px;font-weight:700;display:inline-flex}.admin-status-indicator.is-live{color:#f8fafc}.admin-status-indicator.is-live .admin-status-dot{background-color:var(--color-live);border-radius:50%;width:6px;height:6px;animation:2.8s ease-in-out infinite live-breathe}.admin-status-indicator.is-starting{color:#93c5fd}.admin-status-indicator.is-waiting{color:#94a3b8;letter-spacing:.06em;white-space:nowrap}.admin-status-dot-waiting{border:1px solid #94a3b8;border-radius:50%;width:6px;height:6px}.admin-status-dot-starting{background-color:#3b82f6;border-radius:50%;width:6px;height:6px;animation:1.8s ease-in-out infinite live-breathe}.admin-status-indicator.is-reconnecting{color:#fde68a}.admin-status-icon-reconnecting{color:#f59e0b;font-size:12px;animation:2.4s linear infinite spin-slow;display:inline-block}.admin-status-indicator.is-offline{color:#64748b}.admin-status-dot-offline{color:#64748b;font-size:12px;line-height:1}.admin-status-indicator.is-error{color:#fca5a5}.admin-status-dot-error{background-color:#ef4444;border-radius:50%;width:6px;height:6px}.admin-card-action,.admin-footer-action{flex-shrink:0;justify-content:flex-end;align-items:center;display:flex}.admin-action-btn{font-family:var(--font-sans);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:6px;outline:none;justify-content:center;align-items:center;padding:5px 12px;font-size:11px;font-weight:600;transition:all .16s;display:inline-flex}.admin-action-btn.is-live{opacity:0;pointer-events:none;color:#f1f5f9;background:#ffffff14;border:1px solid #ffffff24;transition:opacity .16s,transform .16s,background .16s,border-color .16s;transform:translate(4px)}.admin-card:hover .admin-action-btn.is-live,.admin-card:focus-within .admin-action-btn.is-live{opacity:1;pointer-events:auto;transform:translate(0)}.admin-action-btn.is-live:hover{color:#fff;background:#ffffff29;border-color:#ffffff47}.admin-action-btn.is-reconnecting{color:#fde68a;background:#f59e0b24;border:1px solid #f59e0b59}.admin-action-btn.is-reconnecting:hover{color:#fff;background:#f59e0b3d;border-color:#f59e0b8c}.admin-action-btn.is-start{color:#a7f3d0;background:#10b98124;border:1px solid #10b98159}.admin-action-btn.is-start:hover{color:#fff;background:#10b9813d;border-color:#10b9818c}.admin-action-btn:focus-visible{box-shadow:0 0 0 2px #fff}.admin-recent-activity{-webkit-user-select:none;user-select:none;box-sizing:border-box;background:#ffffff05;border:1px solid #ffffff0d;border-radius:8px;flex-direction:column;gap:10px;width:100%;margin-top:4px;padding:14px 18px;display:flex}.activity-section-header{justify-content:space-between;align-items:center;display:flex}.activity-section-title{font-family:var(--font-mono);letter-spacing:.14em;color:#64748b;text-transform:uppercase;margin:0;padding:0;font-size:10px;font-weight:700}.activity-list{flex-direction:column;gap:8px;display:flex}.activity-row{align-items:baseline;gap:12px;font-size:12px;line-height:1.4;display:flex}.activity-time{font-family:var(--font-mono);color:#64748b;flex-shrink:0;min-width:42px;font-size:11px;font-weight:600}.activity-text{font-family:var(--font-sans);color:#cbd5e1}.confirm-overlay{-webkit-backdrop-filter:blur(8px);z-index:1000;background:#06080ccc;justify-content:center;align-items:center;padding:20px;animation:.18s ease-out both grid-enter;display:flex;position:fixed;inset:0}.confirm-dialog{width:100%;max-width:440px;animation:cinema-expand .2s var(--tv-ease) both;background:#141720;border:1px solid #ffffff1f;border-radius:14px;flex-direction:column;gap:16px;padding:24px;display:flex;box-shadow:0 24px 60px #000000b3}.confirm-title{font-family:var(--font-sans);color:#f8fafc;margin:0;font-size:17px;font-weight:600}.confirm-description{font-family:var(--font-sans);color:#94a3b8;margin:0;font-size:13px;line-height:1.5}.confirm-actions{justify-content:flex-end;align-items:center;gap:10px;margin-top:8px;display:flex}.confirm-btn{font-family:var(--font-sans);cursor:pointer;-webkit-user-select:none;user-select:none;border:none;border-radius:7px;outline:none;justify-content:center;align-items:center;padding:8px 16px;font-size:13px;font-weight:600;transition:all .16s;display:inline-flex}.confirm-btn.is-cancel{color:#cbd5e1;background:#ffffff0f;border:1px solid #ffffff1a}.confirm-btn.is-cancel:hover{color:#fff;background:#ffffff1f}.confirm-btn.is-confirm{color:#fff;background:#ffffff26}.confirm-btn.is-confirm.is-danger{color:#fff;background:#dc2626}.confirm-btn.is-confirm.is-danger:hover{background:#ef4444}.confirm-btn.is-confirm.is-warning{color:#fff;background:#d97706}.confirm-btn.is-confirm.is-warning:hover{background:#f59e0b}.confirm-btn:focus-visible{box-shadow:0 0 0 2px #fff}.sd-container{z-index:2;width:100%;max-width:min(960px,92vw);animation:grid-enter .24s var(--tv-ease) both;flex-direction:column;gap:18px;margin:0 auto;display:flex;position:relative}.sd-header{width:100%;height:var(--header-height);justify-content:space-between;align-items:center;display:flex}.sd-back-btn{color:#94a3b8;font-family:var(--font-sans);cursor:pointer;background:0 0;border:none;border-radius:6px;outline:none;align-items:center;gap:6px;padding:6px 10px;font-size:13px;font-weight:500;transition:color .15s,transform .15s;display:inline-flex}.sd-back-btn:hover{color:#fff;transform:translate(-2px)}.sd-back-btn:focus-visible{box-shadow:0 0 0 2px #fff6}.sd-header-right{align-items:center;gap:12px;display:flex}.sd-header-number{font-family:var(--font-mono);color:#94a3b8;background:#ffffff0f;border:1px solid #ffffff14;border-radius:4px;padding:3px 8px;font-size:11px;font-weight:700}.sd-content{flex-direction:column;gap:20px;width:100%;display:flex}.sd-preview-section{flex-direction:column;gap:12px;width:100%;display:flex}.sd-preview-frame{aspect-ratio:16/9;background:#090b0f;border:1px solid #ffffff14;border-radius:14px;width:100%;position:relative;overflow:hidden;box-shadow:0 20px 48px -10px #000000b3}.sd-preview-label{z-index:3;font-family:var(--font-mono);letter-spacing:.1em;color:#cbd5e1;-webkit-backdrop-filter:blur(8px);text-transform:uppercase;background:#0009;border:1px solid #ffffff1a;border-radius:4px;padding:2px 7px;font-size:10px;font-weight:600;position:absolute;top:12px;left:14px}.sd-preview-img{object-fit:cover;width:100%;height:100%;display:block}.sd-info-bar{background:#ffffff08;border:1px solid #ffffff0f;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:12px 18px;display:flex}.sd-info-bar-left{align-items:center;gap:12px;min-width:0;display:flex}.sd-info-title{font-family:var(--font-sans);color:#f8fafc;text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600;overflow:hidden}.sd-info-session{color:#94a3b8;text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.sd-waiting-note{color:#cbd5e1;background:#ffffff08;border:1px solid #ffffff1a;border-radius:8px;margin-bottom:16px;padding:12px 16px;font-size:14px;line-height:1.5}.sd-info-bar-right{flex-shrink:0;align-items:center;gap:14px;display:flex}.sd-info-viewers{font-family:var(--font-mono);color:#94a3b8;font-size:12px;font-weight:600}.sd-info-number{font-family:var(--font-mono);color:#64748b;font-size:11px;font-weight:700}.sd-actions{align-items:center;gap:12px;margin-top:-4px;display:flex}.sd-btn-restart{font-family:var(--font-sans);color:#f8fafc;cursor:pointer;background:#ffffff14;border:1px solid #ffffff29;border-radius:8px;outline:none;align-items:center;gap:6px;padding:9px 20px;font-size:13px;font-weight:600;transition:all .16s;display:inline-flex}.sd-btn-restart:hover{background:#ffffff26;border-color:#ffffff47}.sd-btn-stop{font-family:var(--font-sans);color:#fca5a5;cursor:pointer;background:#ef44441a;border:1px solid #ef444447;border-radius:8px;outline:none;align-items:center;gap:6px;padding:9px 20px;font-size:13px;font-weight:600;transition:all .16s;display:inline-flex}.sd-btn-stop:hover{color:#fff;background:#ef444438;border-color:#ef444473}.sd-btn-start{font-family:var(--font-sans);color:#a7f3d0;cursor:pointer;background:#10b9811f;border:1px solid #10b9814d;border-radius:8px;outline:none;align-items:center;gap:6px;padding:9px 20px;font-size:13px;font-weight:600;transition:all .16s;display:inline-flex}.sd-btn-start:hover{color:#fff;background:#10b9813d;border-color:#10b98180}.sd-section{background:#0e1117;border:1px solid #ffffff12;border-radius:12px;flex-direction:column;gap:16px;padding:20px 24px;display:flex}.sd-section-title{font-family:var(--font-mono);letter-spacing:.12em;color:#94a3b8;text-transform:uppercase;margin:0;font-size:11px;font-weight:700}.sd-field-group{flex-direction:column;gap:14px;display:flex}.sd-field{flex-direction:column;gap:6px;display:flex}.sd-field-label{font-family:var(--font-sans);color:#94a3b8;font-size:12px;font-weight:500}.sd-field-input{width:100%;font-family:var(--font-sans);color:#f8fafc;box-sizing:border-box;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:7px;outline:none;padding:9px 14px;font-size:13px;transition:border-color .15s,background .15s}.sd-field-input:focus{background:#ffffff12;border-color:#ffffff4d}.sd-field-actions{justify-content:space-between;align-items:center;gap:12px;margin-top:4px;display:flex}.sd-note{font-family:var(--font-sans);color:#64748b;font-size:12px}.sd-btn-save{font-family:var(--font-sans);color:#fff;cursor:pointer;white-space:nowrap;background:#ffffff1a;border:1px solid #ffffff2e;border-radius:6px;outline:none;padding:7px 16px;font-size:12px;font-weight:600;transition:all .15s}.sd-btn-save:hover{background:#ffffff2e;border-color:#ffffff4d}.sd-thumbnail-preview{align-items:center;gap:16px;display:flex}.sd-thumbnail-preview img{aspect-ratio:16/9;object-fit:cover;border:1px solid #ffffff1a;border-radius:6px;width:140px}.sd-btn-change{font-family:var(--font-sans);color:#e2e8f0;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:6px;outline:none;padding:7px 14px;font-size:12px;font-weight:500;transition:all .15s}.sd-btn-change:hover{color:#fff;background:#ffffff1f}.sd-advanced-toggle{font-family:var(--font-mono);letter-spacing:.12em;color:#94a3b8;text-transform:uppercase;cursor:pointer;text-align:left;background:0 0;border:none;outline:none;align-items:center;gap:8px;padding:0;font-size:11px;font-weight:700;transition:color .15s;display:inline-flex}.sd-advanced-toggle:hover{color:#fff}.sd-advanced-content{animation:grid-enter .2s var(--tv-ease) both;flex-direction:column;gap:18px;padding-top:8px;display:flex}.sd-diag-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;display:grid}.sd-diag-item{background:#ffffff06;border:1px solid #ffffff0f;border-radius:8px;flex-direction:column;gap:4px;padding:10px 14px;display:flex}.sd-diag-label{font-family:var(--font-sans);color:#64748b;font-size:11px}.sd-diag-val{font-family:var(--font-mono);color:#f1f5f9;font-size:13px;font-weight:600}.sd-health-grid{flex-wrap:wrap;gap:12px;display:flex}.sd-health-item{font-family:var(--font-mono);color:#cbd5e1;background:#ffffff08;border:1px solid #ffffff12;border-radius:6px;align-items:center;gap:7px;padding:6px 12px;font-size:11px;display:inline-flex}.sys-container{z-index:2;width:100%;max-width:min(1000px,92vw);animation:grid-enter .24s var(--tv-ease) both;flex-direction:column;gap:18px;margin:0 auto;display:flex;position:relative}.sys-header{width:100%;height:var(--header-height);justify-content:space-between;align-items:center;display:flex}.sys-back-btn{color:#94a3b8;font-family:var(--font-sans);cursor:pointer;background:0 0;border:none;border-radius:6px;outline:none;align-items:center;gap:6px;padding:6px 10px;font-size:13px;font-weight:500;transition:color .15s,transform .15s;display:inline-flex}.sys-back-btn:hover{color:#fff;transform:translate(-2px)}.sys-back-btn:focus-visible{box-shadow:0 0 0 2px #fff6}.sys-header-title{font-family:var(--font-sans);color:#f8fafc;letter-spacing:-.01em;font-size:16px;font-weight:600}.sys-header-health{font-family:var(--font-mono);color:#a7f3d0;background:#10b98114;border:1px solid #10b98133;border-radius:9999px;align-items:center;gap:6px;padding:4px 10px;font-size:11px;font-weight:700;display:inline-flex}.sys-section{background:#0e1117;border:1px solid #ffffff12;border-radius:12px;flex-direction:column;gap:16px;padding:20px 24px;display:flex}.sys-section-title{font-family:var(--font-mono);letter-spacing:.12em;color:#94a3b8;text-transform:uppercase;margin:0;font-size:11px;font-weight:700}.sys-health-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}@media (width<=640px){.sys-health-grid{grid-template-columns:repeat(2,1fr)}}.sys-health-item{background:#ffffff06;border:1px solid #ffffff0f;border-radius:8px;flex-direction:column;gap:6px;padding:14px 16px;display:flex}.sys-health-label{font-family:var(--font-sans);color:#64748b;font-size:11px}.sys-health-value{font-family:var(--font-mono);color:#f1f5f9;align-items:center;gap:8px;font-size:15px;font-weight:600;display:flex}.sys-health-dot{border-radius:50%;width:7px;height:7px;display:inline-block}.sys-services-list{flex-direction:column;gap:8px;display:flex}.sys-service-row{background:#ffffff06;border:1px solid #ffffff0f;border-radius:8px;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.sys-service-name{font-family:var(--font-sans);color:#e2e8f0;font-size:13px;font-weight:500}.sys-service-status{font-family:var(--font-mono);text-transform:uppercase;align-items:center;gap:8px;font-size:11px;font-weight:600;display:flex}.sys-stream-health-list{flex-direction:column;gap:8px;display:flex}.sys-stream-health-row{cursor:pointer;font-family:var(--font-mono);background:#ffffff06;border:1px solid #ffffff0f;border-radius:8px;outline:none;grid-template-columns:110px 1fr auto;align-items:center;gap:12px;padding:12px 16px;font-size:12px;transition:all .14s;display:grid}.sys-stream-health-row:hover,.sys-stream-health-row:focus-visible{background:#ffffff0d;border-color:#ffffff2e;transform:translate(2px)}.sys-stream-status{letter-spacing:.06em;align-items:center;gap:8px;font-weight:700;display:flex}.sys-stream-viewers{text-align:right;color:#94a3b8}.sys-events{flex-direction:column;gap:10px;display:flex}.sys-event-row{border-bottom:1px solid #ffffff0d;align-items:baseline;gap:14px;padding:8px 0;font-size:12px;display:flex}.sys-event-time{font-family:var(--font-mono);color:#64748b;flex-shrink:0;min-width:44px;font-size:11px}.sys-event-text{font-family:var(--font-sans);color:#cbd5e1}.logs-container{z-index:2;width:100%;max-width:min(1000px,92vw);animation:grid-enter .24s var(--tv-ease) both;flex-direction:column;gap:18px;margin:0 auto;display:flex;position:relative}.logs-header{width:100%;height:var(--header-height);justify-content:space-between;align-items:center;display:flex}.logs-back-btn{color:#94a3b8;font-family:var(--font-sans);cursor:pointer;background:0 0;border:none;border-radius:6px;outline:none;align-items:center;gap:6px;padding:6px 10px;font-size:13px;font-weight:500;transition:color .15s,transform .15s;display:inline-flex}.logs-back-btn:hover{color:#fff;transform:translate(-2px)}.logs-back-btn:focus-visible{box-shadow:0 0 0 2px #fff6}.logs-title{font-family:var(--font-sans);color:#f8fafc;letter-spacing:-.01em;font-size:16px;font-weight:600}.logs-panel{background:#0e1117;border:1px solid #ffffff12;border-radius:12px;flex-direction:column;display:flex;overflow:hidden}.logs-filters{background:#ffffff05;border-bottom:1px solid #ffffff12;align-items:center;gap:12px;padding:14px 18px;display:flex}.logs-filter-select{color:#f1f5f9;font-family:var(--font-sans);cursor:pointer;appearance:none;background:#141820 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") right 8px center/14px no-repeat;border:1px solid #ffffff1a;border-radius:6px;outline:none;padding:6px 28px 6px 10px;font-size:12px;transition:border-color .14s}.logs-filter-select:focus{border-color:#ffffff4d}.logs-list{flex-direction:column;gap:4px;max-height:640px;padding:8px;display:flex;overflow-y:auto}.logs-list::-webkit-scrollbar{width:5px}.logs-list::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:9999px}.logs-entry{cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid #0000;border-radius:8px;outline:none;padding:10px 14px;transition:all .14s}.logs-entry:hover,.logs-entry:focus-visible{background:#ffffff09;border-color:#ffffff14}.logs-entry.is-expanded{background:#ffffff0a;border-color:#ffffff1a}.logs-entry-header{align-items:center;gap:14px;display:flex}.logs-timestamp{font-family:var(--font-mono);color:#64748b;flex-shrink:0;min-width:64px;font-size:11px}.logs-stream-label{font-family:var(--font-mono);color:#94a3b8;text-align:center;background:#ffffff0f;border-radius:4px;flex-shrink:0;min-width:72px;padding:2px 7px;font-size:11px;font-weight:600}.logs-level-indicator{flex-shrink:0;justify-content:center;align-items:center;display:flex}.logs-level-dot{border-radius:50%;width:7px;height:7px}.logs-message{font-family:var(--font-sans);color:#f1f5f9;flex:1;font-size:13px}.logs-detail{font-family:var(--font-mono);color:#94a3b8;background:#00000040;border-left:2px solid #ffffff26;border-radius:6px;margin-top:8px;margin-left:175px;padding:8px 12px;font-size:11px;line-height:1.5;animation:.16s ease-out both grid-enter}@media (width<=640px){.logs-detail{margin-left:0}}.logs-empty{text-align:center;font-family:var(--font-sans);color:#64748b;padding:48px 24px;font-size:13px}@media (width<=767px){.page-viewport{justify-content:flex-start;height:auto;min-height:100dvh;max-height:none;padding:16px clamp(14px,4vw,20px) 32px;overflow-y:auto}.content-container,.player-container,.admin-container,.sd-container,.sys-container,.logs-container{gap:14px;max-width:100%}.site-header,.sd-header,.sys-header,.logs-header{height:44px}.admin-header{height:auto;min-height:44px}.brand-logo{height:30px}.stream-grid,.admin-grid{grid-template-rows:auto;grid-template-columns:1fr;gap:14px}.stream-card,.admin-card{border-radius:12px}.admin-card{gap:10px;padding:8px}.admin-card-media-wrap{width:110px;min-width:110px}.player-stage-frame,.admin-placeholder-stage{border-radius:12px}.player-top-header{height:38px}.player-controls-layer{height:68px;padding:0 14px 12px}.volume-bar{display:none}.stream-switcher-rail{max-width:calc(100% - 20px);padding:6px;bottom:56px;overflow-x:auto}.rail-thumb-btn{flex-shrink:0;width:100px}.admin-action-btn.is-live{opacity:1;pointer-events:auto;transform:none}}@media (prefers-reduced-motion:reduce){.stream-card,.stream-tile,.admin-card,.card-image-wrap,.live-indicator-dot,.admin-status-dot,.admin-status-icon-reconnecting,.ambient-pool,.player-container,.content-container,.admin-container,.sd-container,.sys-container,.logs-container,.stream-switcher-rail{transition:none!important;animation:none!important;transform:none!important}.stream-card:focus-visible,.admin-card:focus-visible,.rail-thumb-btn:focus-visible{transform:none!important;box-shadow:0 0 0 2px #fff!important}}.op,.op-dialog-overlay{--op-surface:#ffffff07;--op-surface-hover:#ffffff0d;--op-border:#ffffff14;--op-border-strong:#ffffff29;--op-text:#e8eaed;--op-text-2:#a3abb6;--op-text-3:#6f7782;--op-live:#ef4444;--op-warn:#f5a524;--op-warn-bg:#f5a52414;--op-warn-border:#f5a52473;--op-bad:#f05252;--op-bad-bg:#f0525214;--op-bad-border:#f0525280;--op-radius:10px}.op{z-index:2;width:100%;max-width:1200px;color:var(--op-text);font-family:var(--font-sans);font-variant-numeric:tabular-nums;flex-direction:column;gap:24px;margin:0 auto;font-size:14px;line-height:1.45;display:flex;position:relative}.op h1,.op h2,.op h3,.op p{margin:0}.op a{color:inherit}.op-muted{color:var(--op-text-2)}.op-faint{color:var(--op-text-3)}.op-mono{font-family:var(--font-mono);font-size:12.5px}.op-topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 24px;min-height:44px;display:flex}.op-topbar-left,.op-topbar-right{align-items:center;gap:20px;display:flex}.op-logo{cursor:pointer;background:0 0;border:none;border-radius:4px;padding:0;display:inline-flex}.op-logo img{height:28px;display:block}.op-tabs{gap:4px;display:flex}.op-tab{color:var(--op-text-2);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:6px 12px;font-weight:500}.op-tab:hover{color:var(--op-text);background:var(--op-surface-hover)}.op-tab.is-active{color:var(--op-text);background:#ffffff14}.op-summary{color:var(--op-text-2);white-space:nowrap;align-items:baseline;gap:16px;display:flex}.op-summary strong{color:var(--op-text);font-weight:600}.op-btn{border:1px solid var(--op-border-strong);background:var(--op-surface);height:34px;color:var(--op-text);font:inherit;white-space:nowrap;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-weight:500;transition:background .12s,border-color .12s;display:inline-flex}.op-btn:hover:not(:disabled){background:var(--op-surface-hover);border-color:#ffffff3d}.op-btn:disabled{opacity:.45;cursor:default}.op-btn.is-primary{color:#0f1115;background:#f1f3f5;border-color:#f1f3f5}.op-btn.is-primary:hover:not(:disabled){background:#fff;border-color:#fff}.op-btn.is-quiet{color:var(--op-text-2);background:0 0;border-color:#0000}.op-btn.is-quiet:hover:not(:disabled){color:var(--op-text);background:var(--op-surface-hover)}.op-btn.is-danger{color:var(--op-bad);background:0 0;border-color:#f0525259}.op-btn.is-danger:hover:not(:disabled){background:var(--op-bad-bg);border-color:var(--op-bad-border)}.op-btn.is-danger-solid{color:#fff;background:#dc3b3b;border-color:#dc3b3b}.op-btn.is-danger-solid:hover:not(:disabled){background:#e84848;border-color:#e84848}.op-btn.is-small{height:28px;padding:0 10px;font-size:13px}.op :focus-visible{outline-offset:2px;outline:2px solid #fff9}.op-status{min-width:0;color:var(--op-text-2);align-items:center;gap:8px;font-weight:500;display:inline-flex}.op-status-dot{border:1.5px solid var(--op-text-3);border-radius:50%;flex:none;width:8px;height:8px}.op-status-detail{color:var(--op-text-3);text-overflow:ellipsis;white-space:nowrap;font-weight:400;overflow:hidden}.op-status.tone-live{color:var(--op-text)}.op-status.tone-live .op-status-dot{background:var(--op-live);border-color:var(--op-live)}.op-status.tone-muted{color:var(--op-text-3)}.op-status.tone-warn{color:var(--op-warn)}.op-status.tone-warn .op-status-dot{background:var(--op-warn);border-color:var(--op-warn)}.op-status.tone-bad{color:var(--op-bad)}.op-status.tone-bad .op-status-dot{background:var(--op-bad);border-color:var(--op-bad)}.op-banner{border-radius:var(--op-radius);border:1px solid var(--op-warn-border);background:var(--op-warn-bg);flex-direction:column;gap:4px;padding:12px 16px;display:flex}.op-banner.is-bad{border-color:var(--op-bad-border);background:var(--op-bad-bg)}.op-banner-row{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.op-banner-row button{color:var(--op-text);font:inherit;cursor:pointer;text-underline-offset:3px;background:0 0;border:none;padding:0;font-weight:600;-webkit-text-decoration:underline #ffffff4d;text-decoration:underline #ffffff4d}.op-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.op-tile{border-radius:var(--op-radius);border:1px solid var(--op-border);background:var(--op-surface);cursor:pointer;text-align:left;color:inherit;font:inherit;grid-template-columns:minmax(0,200px) minmax(0,1fr);gap:16px;padding:12px;transition:background .12s,border-color .12s;display:grid}.op-tile:hover{background:var(--op-surface-hover);border-color:var(--op-border-strong)}.op-tile.is-warn{border-color:var(--op-warn-border)}.op-tile.is-bad{border-color:var(--op-bad-border)}.op-tile-art{aspect-ratio:16/9;background:#090b0f;border-radius:6px;position:relative;overflow:hidden}.op-tile-art img{object-fit:cover;width:100%;height:100%;display:block}.op-tile.is-stopped .op-tile-art img{opacity:.4;filter:grayscale()}.op-tile-body{flex-direction:column;gap:4px;min-width:0;padding:2px 4px 2px 0;display:flex}.op-tile-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.op-tile-room{font-size:16px;font-weight:600}.op-tile-session{color:var(--op-text-2);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.op-tile-foot{justify-content:space-between;align-items:center;gap:12px;min-width:0;margin-top:auto;display:flex}.op-tile-detail{color:var(--op-text-3);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.op-count{color:var(--op-text-2);white-space:nowrap}.op-count strong{color:var(--op-text);font-weight:600}.op-section{flex-direction:column;gap:12px;display:flex}.op-section-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.op-section-title{font-size:15px;font-weight:600}.op-list{border:1px solid var(--op-border);border-radius:var(--op-radius);flex-direction:column;display:flex;overflow:hidden}.op-row{border-top:1px solid var(--op-border);align-items:center;gap:16px;min-width:0;padding:10px 16px;display:grid}.op-row:first-child{border-top:none}.op-row.is-clickable{cursor:pointer}.op-row.is-clickable:hover{background:var(--op-surface-hover)}.op-activity .op-row{grid-template-columns:56px 110px minmax(0,1fr)}.op-time{color:var(--op-text-3)}.op-row .is-warn{color:var(--op-warn)}.op-row .is-bad{color:var(--op-bad)}.op-empty{color:var(--op-text-3);padding:16px}.op-back{color:var(--op-text-2);font:inherit;cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:4px 8px 4px 0}.op-back:hover{color:var(--op-text)}.op-room-title{flex-wrap:wrap;align-items:baseline;gap:16px;display:flex}.op-room-title h1{letter-spacing:-.01em;font-size:24px;font-weight:600}.op-room-top{grid-template-columns:minmax(0,1.45fr) minmax(300px,1fr);align-items:start;gap:24px;display:grid}.op-preview{aspect-ratio:16/9;border-radius:var(--op-radius);border:1px solid var(--op-border);background:#07090c;position:relative;overflow:hidden}.op-preview video,.op-preview img{width:100%;height:100%;transition:opacity .3s;position:absolute;inset:0}.op-preview video{object-fit:contain;background:#000}.op-preview img{object-fit:cover}.op-preview-label{color:#fff;background:#0009;border-radius:4px;padding:2px 8px;font-size:12px;font-weight:500;position:absolute;top:10px;left:10px}.op-panel{border-radius:var(--op-radius);border:1px solid var(--op-border);background:var(--op-surface);flex-direction:column;gap:18px;padding:20px;display:flex}.op-panel.is-warn{border-color:var(--op-warn-border)}.op-panel.is-bad{border-color:var(--op-bad-border)}.op-panel-status .op-status{font-size:18px;font-weight:600}.op-panel-status .op-status-dot{width:10px;height:10px}.op-panel-status p{color:var(--op-text-2);margin-top:4px}.op-facts{grid-template-columns:auto minmax(0,1fr);gap:8px 16px;display:grid}.op-facts dt{color:var(--op-text-3)}.op-facts dd{overflow-wrap:anywhere;min-width:0;margin:0}.op-actions{border-top:1px solid var(--op-border);flex-wrap:wrap;align-items:center;gap:8px;padding-top:16px;display:flex}.op-actions .op-spacer{flex:1}.op-note{color:var(--op-text-3);font-size:13px}.op-sessions .op-row{grid-template-columns:150px minmax(0,1fr) 92px auto}.op-sessions .op-row.is-current{background:#ffffff0b}.op-sessions .op-row.is-ended{color:var(--op-text-3)}.op-session-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.op-session-title a{color:var(--op-text-3);margin-left:8px;font-size:13px;text-decoration:none}.op-session-title a:hover{color:var(--op-text);text-decoration:underline}.op-session-state{color:var(--op-text-3);font-size:13px}.op-row.is-current .op-session-state{color:var(--op-text);font-weight:600}.op-switch{cursor:pointer;color:var(--op-text-2);-webkit-user-select:none;user-select:none;align-items:center;gap:10px;display:inline-flex}.op-switch input{appearance:none;cursor:pointer;background:#ffffff29;border-radius:9px;flex:none;width:32px;height:18px;margin:0;transition:background .12s;position:relative}.op-switch input:after{content:"";background:#fff;border-radius:50%;width:14px;height:14px;transition:transform .12s;position:absolute;top:2px;left:2px}.op-switch input:checked{background:#e8eaed}.op-switch input:checked:after{background:#0f1115;transform:translate(14px)}.op-disclosure{border:1px solid var(--op-border);border-radius:var(--op-radius)}.op-disclosure>summary{cursor:pointer;align-items:baseline;gap:12px;padding:14px 16px;font-weight:600;list-style:none;display:flex}.op-disclosure>summary::-webkit-details-marker{display:none}.op-disclosure>summary:before{content:"›";color:var(--op-text-3);width:10px;transition:transform .12s;display:inline-block}.op-disclosure[open]>summary:before{transform:rotate(90deg)}.op-disclosure>summary .op-note{font-weight:400}.op-disclosure-body{flex-direction:column;gap:16px;padding:4px 16px 18px 38px;display:flex}.op-field{flex-direction:column;gap:6px;display:flex}.op-field label,.op-field legend{color:var(--op-text-2);padding:0;font-size:13px;font-weight:500}.op-input{border:1px solid var(--op-border-strong);height:36px;color:var(--op-text);font:inherit;background:#00000040;border-radius:8px;max-width:100%;padding:0 12px}.op-input:focus{border-color:#fff6;outline:none}.op-input.is-url{width:100%;font-family:var(--font-mono);font-size:13px}select.op-input{width:auto;min-width:140px}.op-form-row{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.op-form-row .op-field.is-grow{flex:360px}.op-choices{border:none;flex-direction:column;gap:8px;margin:0;padding:0;display:flex}.op-choice{border:1px solid var(--op-border);cursor:pointer;border-radius:8px;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.op-choice:hover{background:var(--op-surface-hover)}.op-choice.is-selected{border-color:var(--op-border-strong);background:#ffffff0b}.op-choice input{accent-color:#e8eaed;margin:3px 0 0}.op-choice span{flex-direction:column;display:flex}.op-choice small{color:var(--op-text-3);font-size:13px}.op-saved{color:var(--op-text-2);font-size:13px}.op-pipeline{flex-wrap:wrap;gap:8px 20px;display:flex}.op-pipeline span{color:var(--op-text-2)}.op-pipeline .is-warn{color:var(--op-warn)}.op-pipeline .is-bad{color:var(--op-bad)}.op-stats{border:1px solid var(--op-border);border-radius:var(--op-radius);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));display:grid;overflow:hidden}.op-stat{border-left:1px solid var(--op-border);padding:14px 16px}.op-stat:first-child{border-left:none}.op-stat dt{color:var(--op-text-3);font-size:13px}.op-stat dd{margin:4px 0 0;font-size:18px;font-weight:600}.op-stat dd small{color:var(--op-text-2);font-size:13px;font-weight:400}.op-services .op-row{grid-template-columns:minmax(0,1fr) auto}.op-rooms .op-row{grid-template-columns:110px minmax(0,1fr) auto}.op-filters{flex-wrap:wrap;gap:8px;display:flex}.op-logs .op-row{grid-template-columns:76px 100px minmax(0,1fr);align-items:baseline}.op-log-detail{color:var(--op-text-3);overflow-wrap:anywhere;margin-top:2px;font-size:13px}.op-dialog-overlay{z-index:1000;background:#0009;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.op-dialog{border:1px solid var(--op-border-strong);width:min(440px,100%);color:var(--op-text);font-family:var(--font-sans);background:#16191e;border-radius:12px;flex-direction:column;gap:12px;padding:22px;font-size:14px;display:flex;box-shadow:0 20px 60px #00000080}.op-dialog h2{margin:0;font-size:17px;font-weight:600}.op-dialog p{color:var(--op-text-2);margin:0;line-height:1.5}.op-dialog-actions{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.op-menu{position:relative}.op-menu-list{z-index:50;border:1px solid var(--op-border-strong);background:#16191e;border-radius:10px;flex-direction:column;min-width:190px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 12px 40px #00000073}.op-menu-list button{color:var(--op-text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:8px 10px}.op-menu-list button:hover{background:var(--op-surface-hover)}.op-menu-list button.is-danger{color:var(--op-bad)}.op-menu-list hr{border:none;border-top:1px solid var(--op-border);margin:6px 0}@media (width<=980px){.op-room-top,.op-grid{grid-template-columns:minmax(0,1fr)}}@media (width<=640px){.op-tile{grid-template-columns:minmax(0,120px) minmax(0,1fr)}.op-sessions .op-row{grid-template-columns:minmax(0,1fr) auto}.op-sessions .op-row>:first-child,.op-sessions .op-row>:nth-child(3){display:none}.op-activity .op-row,.op-logs .op-row{grid-template-columns:56px minmax(0,1fr)}.op-activity .op-row>:nth-child(2),.op-logs .op-row>:nth-child(2){display:none}}
