:root{--bg:#0a0a0b;--bg-elevated:#121214;--panel:#16161a;--panel-hover:#1c1c21;--border:#26262c;--border-strong:#33333b;--text:#f2f2f4;--text-muted:#a1a1ad;--text-dim:#6d6d78;--accent:#e10600;--accent-hover:#ff1a12;--accent-dim:rgba(225,6,0,0.14);--accent-border:rgba(225,6,0,0.4);--on-accent:#fff;--accent-text:#ff5a52;--accent-wash:rgba(225,6,0,0.13);--auth-halo:rgba(225,6,0,0.36);--success:#22c55e;--success-dim:rgba(34,197,94,0.14);--success-border:rgba(34,197,94,0.4);--success-text:#4ade80;--success-text-soft:#86efac;--warning:#f59e0b;--warning-dim:rgba(245,158,11,0.14);--warning-border:rgba(245,158,11,0.45);--warning-text:#fbbf24;--warning-text-soft:#fcd34d;--danger:#ef4444;--danger-strong:#dc2626;--danger-dim:rgba(239,68,68,0.14);--danger-border:rgba(239,68,68,0.45);--danger-text:#f87171;--danger-text-soft:#fca5a5;--info:#38bdf8;--info-dim:rgba(56,189,248,0.14);--info-border:rgba(56,189,248,0.4);--info-text:#7dd3fc;--info-text-soft:#bae6fd;--neutral-solid:#050506;--neutral-solid-hover:#17171c;--on-neutral-solid:#f2f2f4;--thumb-from:#1a1a1f;--thumb-to:#0e0e11;--overlay:rgba(4,4,6,0.76);--shadow-lg:0 24px 60px rgba(0,0,0,0.55);--grid-line:rgba(242,242,244,0.07);--auth-bg-to:#08080a;--focus-ring:#fff;--radius:8px;--radius-sm:5px;--radius-lg:14px;--font-body:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--font-display:"Barlow Condensed","Arial Narrow",var(--font-body);--font-mono:"JetBrains Mono","SFMono-Regular",Consolas,"Liberation Mono",monospace;--sidebar-w:258px;--topbar-h:52px;color-scheme:dark}:root[data-theme=light]{--bg:#f4f4f7;--bg-elevated:#ffffff;--panel:#ffffff;--panel-hover:#f1f1f5;--border:#e3e3ea;--border-strong:#ccccd6;--text:#17171c;--text-muted:#56565f;--text-dim:#83838f;--accent:#c40500;--accent-hover:#a30400;--accent-dim:rgba(196,5,0,0.08);--accent-border:rgba(196,5,0,0.3);--accent-text:#a30400;--accent-wash:rgba(196,5,0,0.08);--auth-halo:rgba(196,5,0,0.2);--success:#16a34a;--success-dim:rgba(22,163,74,0.1);--success-border:rgba(22,163,74,0.35);--success-text:#15803d;--success-text-soft:#166534;--warning:#b45309;--warning-dim:rgba(180,83,9,0.1);--warning-border:rgba(180,83,9,0.35);--warning-text:#b45309;--warning-text-soft:#92400e;--danger:#dc2626;--danger-strong:#b91c1c;--danger-dim:rgba(220,38,38,0.08);--danger-border:rgba(220,38,38,0.35);--danger-text:#b91c1c;--danger-text-soft:#991b1b;--info:#0284c7;--info-dim:rgba(2,132,199,0.1);--info-border:rgba(2,132,199,0.35);--info-text:#0369a1;--info-text-soft:#075985;--neutral-solid:#17171c;--neutral-solid-hover:#35353f;--on-neutral-solid:#ffffff;--thumb-from:#e9e9ef;--thumb-to:#d9d9e2;--overlay:rgba(22,22,30,0.42);--shadow-lg:0 20px 50px rgba(20,20,30,0.16);--grid-line:rgba(23,23,28,0.06);--auth-bg-to:#e9e9ef;--focus-ring:#17171c;color-scheme:light}*,:after,:before{box-sizing:border-box}body,html{padding:0;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:14px;line-height:1.55;-webkit-font-smoothing:antialiased;min-height:100vh;min-height:100dvh;overflow-wrap:break-word}a{color:inherit;text-decoration:none}h1,h2,h3,h4{font-family:var(--font-display);font-weight:700;letter-spacing:.01em;text-transform:uppercase;margin:0;line-height:1.1}h1{font-size:34px}h1,h2,h3,h4{overflow-wrap:anywhere}h2{font-size:22px}h3{font-size:17px}p{margin:0 0 12px}.shell{display:grid;grid-template-columns:var(--sidebar-w) 1fr;min-height:100vh;min-height:100dvh;max-width:100%}.sidebar{background:var(--bg-elevated);border-right:1px solid var(--border);display:flex;flex-direction:column;position:-webkit-sticky;position:sticky;top:0;height:100vh;height:100dvh}.sidebar-brand{display:flex;align-items:center;gap:9px;padding:15px 18px;border-bottom:1px solid var(--border);height:var(--topbar-h)}.brand-logo{height:24px;width:auto;display:block}.brand-logo-mark{height:28px}.brand-badge{font-family:var(--font-mono);font-size:9px;font-weight:700;letter-spacing:.14em;color:var(--accent);border:1px solid var(--accent-border);border-radius:3px;padding:2px 5px}.sidebar-nav{flex:1 1;padding:12px 10px;display:flex;flex-direction:column;gap:2px;overflow-y:auto}.nav-section{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;color:var(--text-dim);padding:16px 12px 6px}.nav-item,.nav-section{text-transform:uppercase}.nav-item{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:var(--radius-sm);color:var(--text-muted);font-size:13px;font-weight:600;letter-spacing:.04em;font-family:var(--font-display);border-left:2px solid transparent;transition:background .12s,color .12s}.nav-item:hover{background:var(--panel-hover);color:var(--text)}.nav-item[aria-current=page]{background:linear-gradient(90deg,var(--accent-dim),transparent 70%);border-left-color:var(--accent);color:var(--text)}.nav-item svg{width:17px;height:17px;flex-shrink:0}.nav-dot{margin-left:auto;width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px var(--accent-dim);animation:pulse 1.8s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.sidebar-footer{border-top:1px solid var(--border);padding:12px 14px;display:flex;align-items:center;gap:10px}.avatar{width:30px;height:30px;border-radius:50%;background:var(--accent);color:var(--on-accent);font-size:13px;flex-shrink:0}.sidebar-footer-id{min-width:0;flex:1 1;overflow:hidden}.sidebar-footer-name{font-size:13px;font-weight:600}.sidebar-footer-name,.sidebar-footer-role{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-footer-role{font-size:11px;color:var(--text-dim)}.main{min-width:0;display:flex;flex-direction:column}.topbar{height:var(--topbar-h);border-bottom:1px solid var(--border);background:var(--bg-elevated);gap:12px;padding:0 22px;position:-webkit-sticky;position:sticky;top:0;z-index:20;flex:none}.topbar,.topbar-live{display:flex;align-items:center}.topbar-live{gap:10px;font-size:12.5px;color:var(--text-muted)}.topbar-live,.truncate{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.topbar-live a:hover{color:var(--text)}.content{padding:30px 34px 64px;max-width:1500px;width:100%;flex:1 1 auto;margin-inline:auto}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-bottom:18px;border-bottom:1px solid var(--border);margin-bottom:26px}.page-head-titles{display:flex;flex-direction:column;gap:5px}.page-head h1{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.page-subtitle{color:var(--text-muted);font-size:13.5px}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius)}.panel-pad{padding:20px 22px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:15px 20px;border-bottom:1px solid var(--border)}.cut-kits{border-left:3px solid var(--danger-border)}.live-actions{--action-h:50px;display:flex;align-items:flex-start;flex-wrap:wrap;gap:10px}.live-actions>form{margin:0}.live-actions>form:first-child{flex:1 1 220px;min-width:0}.live-actions>form:last-child{flex:0 0 auto}.live-actions .btn{min-height:var(--action-h)}.live-actions .btn-quiet{align-self:stretch}.panel-aside{margin-top:18px;padding-top:16px;border-top:1px solid var(--border)}.section-title{font-family:var(--font-mono);font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--text-dim);margin-bottom:12px}.grid{display:grid;grid-gap:16px;gap:16px}.grid-cards{grid-template-columns:repeat(auto-fill,minmax(min(268px,100%),1fr))}.grid-2{grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr))}.grid-detail{grid-template-columns:minmax(0,2.4fr) minmax(280px,1fr)}.grid-detail-even{grid-template-columns:minmax(0,1.2fr) minmax(260px,1fr)}@media (max-width:1100px){.grid-detail,.grid-detail-even{grid-template-columns:minmax(0,1fr)}}.stack{flex-direction:column;gap:16px}.row,.stack{display:flex}.row{align-items:center;gap:10px;flex-wrap:wrap}.spacer{flex:1 1}.muted{color:var(--text-muted)}.dim{color:var(--text-dim)}.text-warning{color:var(--warning-text)}.text-danger{color:var(--danger-text)}.text-success{color:var(--success-text)}.mono{font-family:var(--font-mono);font-size:12px}.small{font-size:12.5px}.badge,.nowrap{white-space:nowrap}.badge{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;border-radius:4px;font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;flex-shrink:0;border:1px solid var(--border-strong);color:var(--text-muted);background:var(--bg-elevated)}.badge-live{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.badge-reconnecting{background:var(--warning-dim);border-color:var(--warning-border);color:var(--warning-text)}.badge-ok{background:var(--success-dim);border-color:var(--success-border);color:var(--success-text)}.badge-danger{background:var(--danger-dim);border-color:var(--danger-border);color:var(--danger-text)}.badge-info{background:var(--info-dim);border-color:var(--info-border);color:var(--info-text)}.badge-accent{background:var(--accent-dim);border-color:var(--accent-border);color:var(--accent-text)}.card-thumb-badge .badge{background-color:var(--bg-elevated)}.card-thumb-badge .badge-reconnecting{background:linear-gradient(var(--warning-dim),var(--warning-dim)),var(--bg-elevated)}.card-thumb-badge .badge-ok{background:linear-gradient(var(--success-dim),var(--success-dim)),var(--bg-elevated)}.card-thumb-badge .badge-danger{background:linear-gradient(var(--danger-dim),var(--danger-dim)),var(--bg-elevated)}.card-thumb-badge .badge-info{background:linear-gradient(var(--info-dim),var(--info-dim)),var(--bg-elevated)}.card-thumb-badge .badge-accent{background:linear-gradient(var(--accent-dim),var(--accent-dim)),var(--bg-elevated)}.dot{width:6px;height:6px;border-radius:50%;background:currentColor}.dot-live{background:var(--on-accent);animation:pulse 1.4s ease-in-out infinite}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 16px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--panel);color:var(--text);font-family:var(--font-display);font-size:13.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;transition:background .12s,border-color .12s,opacity .12s;white-space:nowrap;max-width:100%}.btn:hover:not(:disabled){background:var(--panel-hover);border-color:var(--text-dim)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn-danger{background:transparent;border-color:var(--danger-border);color:var(--danger-text)}.btn-danger:hover:not(:disabled){background:var(--danger-dim);border-color:var(--danger)}.btn-alarm{background:var(--danger);border-color:var(--danger);color:var(--on-accent);font-weight:800}.btn-alarm:hover:not(:disabled){background:var(--danger-strong);border-color:var(--danger-strong);color:var(--on-accent)}.btn-alarm:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.btn-emergency{width:100%;justify-content:center;font-size:13px;letter-spacing:.06em;text-transform:uppercase;padding:14px 18px}.btn-quiet{align-self:center;width:auto;background:transparent;border-color:var(--border);color:var(--text-dim);font-size:11.5px;font-weight:600;letter-spacing:.04em;padding:5px 10px;gap:6px}.btn-quiet:hover:not(:disabled){background:var(--danger-dim);border-color:var(--danger-border);color:var(--danger-text)}.btn-dark{background:var(--neutral-solid);border-color:var(--neutral-solid);color:var(--on-neutral-solid)}.btn-dark:hover:not(:disabled){background:var(--neutral-solid-hover);border-color:var(--neutral-solid-hover);color:var(--on-neutral-solid)}.btn-ghost{background:transparent;border-color:transparent;color:var(--text-muted)}.btn-ghost:hover:not(:disabled){background:var(--panel-hover);color:var(--text);border-color:transparent}.btn-sm{padding:6px 11px;font-size:12px}.btn-block{width:100%}.btn-wrap{white-space:normal;text-align:left;max-width:100%}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:15px}.field-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:15px;gap:15px}.label,label{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--text-muted)}.required{color:var(--accent)}input[type=date],input[type=datetime-local],input[type=email],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=url],select,textarea{width:100%;padding:10px 12px;background:var(--bg);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text);font-family:var(--font-body);font-size:14px;transition:border-color .12s,box-shadow .12s}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}input::placeholder,textarea::placeholder{color:var(--text-dim)}textarea{resize:vertical;min-height:80px}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--text-muted) 50%),linear-gradient(135deg,var(--text-muted) 50%,transparent 50%);background-position:calc(100% - 17px) 51%,calc(100% - 12px) 51%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:34px}input[type=file]{width:100%;padding:10px 12px;background:var(--bg);border:1px dashed var(--border-strong);color:var(--text-muted);font-size:13px}.checkbox,input[type=file]{border-radius:var(--radius-sm)}.checkbox{display:flex;align-items:flex-start;gap:9px;cursor:pointer;font-family:var(--font-body);font-size:13.5px;letter-spacing:0;text-transform:none;color:var(--text);padding:7px 9px;border:1px solid transparent}.checkbox:hover{background:var(--panel-hover)}.checkbox input{width:15px;height:15px;margin:2px 0 0;accent-color:var(--accent);flex-shrink:0}.checkbox-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(180px,100%),1fr));grid-gap:2px;gap:2px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:6px;background:var(--bg);max-height:220px;overflow-x:hidden;overflow-y:auto}.field-hint{color:var(--text-dim)}.field-error,.field-hint{font-family:var(--font-body);font-size:12px;letter-spacing:0;text-transform:none}.field-error{color:var(--danger-text)}.alert{display:flex;gap:11px;padding:12px 15px;border-radius:var(--radius-sm);font-size:13.5px;border:1px solid var(--border-strong);background:var(--bg-elevated);margin-bottom:16px}.alert-error{border-color:var(--danger-border);background:var(--danger-dim);color:var(--danger-text-soft)}.alert-success{border-color:var(--success-border);background:var(--success-dim);color:var(--success-text-soft)}.alert-info{border-color:var(--info-border);background:var(--info-dim);color:var(--info-text-soft)}.alert-warning{border-color:var(--warning-border);background:var(--warning-dim);color:var(--warning-text-soft)}.empty{text-align:center;padding:54px 22px;color:var(--text-dim)}.empty h3{color:var(--text-muted);margin-bottom:8px}.table-wrap{max-width:100%;overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel)}table{width:100%;border-collapse:collapse;font-size:13.5px}thead th{text-align:left;padding:12px 16px;font-family:var(--font-mono);font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--text-dim);background:var(--bg-elevated);white-space:nowrap}tbody td,thead th{border-bottom:1px solid var(--border)}tbody td{padding:14px 16px;vertical-align:middle}tbody tr:last-child td{border-bottom:none}tbody tr:hover{background:var(--panel-hover)}.cell-title{font-family:var(--font-display);font-size:15px;font-weight:700;text-transform:uppercase;letter-spacing:.02em}.cell-sub{font-size:12px;color:var(--text-dim);margin-top:2px}.cell-actions{text-align:right;white-space:nowrap}.cell-category{min-width:170px}.cell-category select{width:100%}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:border-color .14s,transform .14s}.card:hover{border-color:var(--border-strong)}a.card:hover{transform:translateY(-2px);border-color:var(--accent-border)}.card-thumb{aspect-ratio:16/9;background:linear-gradient(135deg,var(--thumb-from),var(--thumb-to));position:relative;display:flex;align-items:center;justify-content:center;color:var(--text-dim);border-bottom:1px solid var(--border)}.card-thumb-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.card-thumb-badge{position:absolute;top:9px;left:9px}.card-locked .card-thumb-image,.card-locked .card-thumb>svg{filter:grayscale(1);opacity:.4}.card-thumb-lock{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.42);color:#fff}.card-thumb-lock svg{box-sizing:content-box;padding:11px;border-radius:50%;background:rgba(0,0,0,.68);border:1px solid rgba(255,255,255,.28)}.card-locked .card-date,.card-locked .card-meta,.card-locked .card-title{color:var(--text-dim)}.card-locked-note{display:inline-flex;align-items:center;gap:6px;margin-top:2px;font-family:var(--font-mono);font-size:10.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--danger-text)}.card-locked-note svg{flex-shrink:0}.card-thumb-duration{position:absolute;bottom:8px;right:9px;background:rgba(0,0,0,.78);padding:2px 7px;border-radius:3px;font-family:var(--font-mono);font-size:11px;color:#fff}.card-body{padding:13px 15px 15px;display:flex;flex-direction:column;gap:4px;flex:1 1}.card-title{font-family:var(--font-display);font-size:15.5px;font-weight:700;text-transform:uppercase;letter-spacing:.02em;line-height:1.25}.card-meta{font-size:12.5px;color:var(--text-muted)}.card-date{font-family:var(--font-mono);font-size:11.5px;color:var(--text-dim);margin-top:auto;padding-top:8px}.live-banner{display:flex;align-items:center;gap:18px;padding:18px 20px;border:1px solid var(--accent-border);border-radius:var(--radius);background:linear-gradient(90deg,var(--accent-wash),transparent 62%),var(--panel)}.live-banner-thumb{width:116px;aspect-ratio:16/9;border-radius:var(--radius-sm);background:linear-gradient(135deg,var(--thumb-from),var(--thumb-to));display:flex;align-items:center;justify-content:center;color:var(--text-dim);flex-shrink:0;border:1px solid var(--border)}.live-banner-thumb-image{width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block}.live-banner-body{flex:1 1;min-width:0}.poster-preview{aspect-ratio:16/9;margin-bottom:12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:linear-gradient(135deg,var(--thumb-from),var(--thumb-to));display:flex;align-items:center;justify-content:center;overflow:hidden}.poster-preview-image{width:100%;height:100%;object-fit:cover;display:block}.toast-stack{position:fixed;right:20px;bottom:20px;z-index:90;display:flex;flex-direction:column;align-items:flex-end;gap:10px;pointer-events:none}.toast{display:flex;align-items:center;gap:12px;max-width:min(380px,calc(100vw - 40px));padding:12px 14px;border:1px solid var(--border-strong);border-left:3px solid var(--success);border-radius:var(--radius-sm);background:var(--panel);color:var(--text);font-size:13.5px;line-height:1.4;box-shadow:var(--shadow-lg);pointer-events:auto;animation:toast-in .16s ease-out}.toast-error{border-left-color:var(--danger)}.toast-close{flex:none;border:0;background:none;padding:0;color:var(--text-dim);font-size:18px;line-height:1;cursor:pointer}.toast-close:hover{color:var(--text)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.toast{animation:none}}.avatar{flex:none;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid var(--border);border-radius:999px;background:var(--bg-elevated);color:var(--text-dim);font-family:var(--font-display);font-weight:700;line-height:1;-webkit-user-select:none;-moz-user-select:none;user-select:none}.avatar-sm{width:52px;height:52px;font-size:18px;letter-spacing:.02em}.avatar-lg{width:96px;height:96px;font-size:32px;letter-spacing:.03em}.avatar-image{width:100%;height:100%;object-fit:cover;display:block}.avatar-preview{width:160px;height:160px;margin:0 auto 12px;font-size:52px}.avatar-crop{display:block;margin:0 auto 10px;border:1px solid var(--border);border-radius:999px;background:var(--bg-elevated);touch-action:none;cursor:-webkit-grab;cursor:grab}.avatar-crop:active{cursor:-webkit-grabbing;cursor:grabbing}.avatar-crop-zoom{display:flex;align-items:center;gap:10px;margin-bottom:12px}.avatar-crop-zoom input[type=range]{flex:1 1;padding:0}.live-banner-title{font-family:var(--font-display);font-size:19px;font-weight:700;text-transform:uppercase;line-height:1.2}.player-frame{position:relative;background:#000;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;aspect-ratio:16/9}.player-frame iframe,.player-frame video{width:100%;height:100%;display:block;border:0;background:#000}.player-frame:fullscreen{width:100vw;height:100vh;aspect-ratio:auto;border:0;border-radius:0}.player-frame:-webkit-full-screen{width:100vw;height:100vh;aspect-ratio:auto;border:0;border-radius:0}.player-frame:fullscreen video{object-fit:contain}.player-frame:-webkit-full-screen video{object-fit:contain}.player-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:rgba(8,8,10,.9);text-align:center;padding:26px}.player-badge{z-index:4}.player-badge,.player-timeshift{position:absolute;top:12px;left:12px}.player-timeshift{right:12px;z-index:5;display:flex;align-items:center;gap:10px;flex-wrap:wrap;text-shadow:0 1px 3px rgba(0,0,0,.8)}.player-timeshift .badge{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.spinner{width:28px;height:28px;border:2.5px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;animation:spin .85s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.player-buffering{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;pointer-events:none;z-index:3}.player-buffering span{font-size:.82rem;color:#f4f4f6;text-shadow:0 1px 3px rgba(0,0,0,.8)}.pending-screen{display:flex;flex-direction:column;align-items:center;gap:14px;padding:36px 26px 32px;text-align:center}.pending-screen strong{font-size:1rem}.progress-track{width:100%;max-width:320px;height:6px;border-radius:999px;background:var(--border);overflow:hidden}.progress-track>span{display:block;height:100%;width:38%;border-radius:inherit;background:var(--accent);animation:progress-sweep 1.15s ease-in-out infinite}.progress-track.is-done>span{width:100%;animation:none}@keyframes progress-sweep{0%{transform:translateX(-105%)}to{transform:translateX(268%)}}.storage-meter{margin-bottom:18px}.storage-meter-head{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:6px 14px;margin-bottom:10px}.storage-meter-head .section-title{margin:0}.storage-meter-figures{font-family:var(--font-mono);font-size:13px}.storage-meter-track{width:100%;height:10px;border-radius:999px;background:var(--bg);box-shadow:inset 0 0 0 1px var(--border-strong);overflow:hidden}.storage-meter-track>span{display:block;height:100%;border-radius:inherit;background:var(--success);transition:width .3s ease}.storage-meter-track.is-warning>span{background:var(--warning)}.storage-meter-track.is-full>span{background:var(--danger)}dialog{text-align:left;white-space:normal;border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--bg-elevated);color:var(--text);padding:0;width:min(620px,calc(100vw - 24px));max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow:hidden}dialog[open],dialog[open]>form{display:flex;flex-direction:column}dialog[open]>form{flex:1 1 auto;min-height:0}dialog::-webkit-backdrop{background:var(--overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}dialog::backdrop{background:var(--overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:17px 22px;border-bottom:1px solid var(--border);flex-shrink:0}.modal-head h3{min-width:0}.modal-body{padding:20px 22px;flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto}.modal-foot{display:flex;align-items:center;justify-content:flex-end;gap:11px;flex-wrap:wrap;padding:15px 22px;border-top:1px solid var(--border);flex-shrink:0}.modal-close{flex-shrink:0;background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:22px;line-height:1;padding:2px 6px;border-radius:4px}.modal-close:hover{color:var(--text);background:var(--panel-hover)}.auth-screen{position:relative;isolation:isolate;overflow:hidden;min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px;background:linear-gradient(var(--bg),var(--auth-bg-to))}.auth-screen:before{inset:-1px;z-index:-2;background-image:linear-gradient(to right,var(--grid-line) 1px,transparent 1px),linear-gradient(to bottom,var(--grid-line) 1px,transparent 1px);background-size:42px 42px;-webkit-mask-image:radial-gradient(120% 120% at 100% 100%,#000 0,rgba(0,0,0,.5) 45%,transparent 80%);mask-image:radial-gradient(120% 120% at 100% 100%,#000 0,rgba(0,0,0,.5) 45%,transparent 80%)}.auth-screen:after,.auth-screen:before{content:"";position:absolute;pointer-events:none}.auth-screen:after{z-index:-1;right:-9vw;bottom:-16vh;width:min(780px,90vw);height:min(640px,85vh);background:radial-gradient(circle at 66% 72%,var(--auth-halo),var(--accent-wash) 34%,transparent 66%);filter:blur(26px)}.auth-card{position:relative;width:min(430px,100%);background:color-mix(in srgb,var(--panel) 88%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--border);border-top:3px solid var(--accent);border-radius:var(--radius-lg);padding:34px 32px 30px;box-shadow:var(--shadow-lg)}.auth-brand{display:flex;align-items:center;justify-content:space-between;margin-bottom:34px}.auth-brand .brand-logo{height:30px}.auth-brand .brand-logo-mark{height:36px}.auth-links{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:18px;padding-top:18px;border-top:1px solid var(--border);font-size:12.5px;color:var(--text-dim)}.auth-links a:hover,.terms-link{color:var(--accent)}.terms-link{display:inline-block;margin:2px 0 0 33px;font-size:12px;text-decoration:underline;text-underline-offset:2px}.legal-screen{min-height:100vh;min-height:100dvh;padding:40px 24px 64px;background:var(--bg)}.legal-doc{width:min(720px,100%);margin:0 auto}.legal-doc h1{font-size:30px;margin-bottom:4px}.legal-section{margin-top:30px}.legal-section h2{font-size:17px;margin-bottom:10px}.legal-section p{margin-bottom:12px;color:var(--text-muted);line-height:1.65}.legal-section p:last-child{margin-bottom:0}@media (max-width:720px){.legal-screen{padding:26px 16px 48px}.legal-doc h1{font-size:25px}}.support-bar{gap:10px 14px;padding:9px 22px;background:var(--warning-dim);border-bottom:1px solid var(--warning-border);color:var(--warning-text-soft);font-size:12.5px}.filters,.support-bar{display:flex;align-items:center;flex-wrap:wrap}.filters{gap:10px;margin-bottom:20px}.filters form{display:contents}.filters input,.filters select{width:auto;min-width:190px;flex:0 1 auto}.filters .search-input{flex:1 1 260px;min-width:220px;max-width:380px}.passage-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;max-height:340px;overflow-x:hidden;overflow-y:auto}.editable-row,.passage-row{display:flex;align-items:center;gap:10px;padding:7px 9px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel)}.passage-rank{display:flex;flex-direction:column;align-items:center;min-width:54px;gap:1px}.passage-index{font-family:var(--font-display);font-size:17px;font-weight:700;line-height:1}.editable-row-field,.passage-label{flex:1 1 auto;min-width:0}.passage-time input{width:54px;padding:2px 4px;text-align:center;color:var(--text-muted)}.editable-row-field input,.passage-label input{width:100%}.chip{display:inline-flex;align-items:center;padding:6px 13px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--panel);color:var(--text-muted);font-family:var(--font-display);font-size:12.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;cursor:pointer}.chip[data-active=true]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.locale-switch{display:inline-flex;align-items:stretch;border:1px solid var(--border-strong);border-radius:var(--radius-sm);overflow:hidden;flex-shrink:0}.locale-switch-option{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;padding:5px 11px;background:var(--panel);color:var(--text-muted);font-family:var(--font-display);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:background .12s,color .12s}.locale-switch-option+.locale-switch-option{border-left:1px solid var(--border-strong)}.locale-switch-option:hover{background:var(--panel-hover);color:var(--text)}.locale-switch-option[data-active=true]{background:var(--accent);color:var(--on-accent)}.locale-switch-option:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.kv{display:grid;grid-template-columns:minmax(140px,auto) 1fr;grid-gap:9px 20px;gap:9px 20px;font-size:13.5px}.kv dt{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);padding-top:2px}.kv dd{margin:0;min-width:0}.kv-stack{grid-template-columns:minmax(0,1fr);gap:3px}.kv-stack dd{color:var(--text);line-height:1.6;max-width:64ch;text-wrap:pretty}.kv-stack dd+dt{margin-top:14px}.copy-field{display:flex;gap:8px;align-items:center}.copy-field code{flex:1 1 auto;min-width:0;font-family:var(--font-mono);font-size:12px;background:var(--bg);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:8px 11px;overflow-x:auto;white-space:nowrap}.stat{padding:16px 18px}.stat-value{font-family:var(--font-display);font-size:30px;font-weight:700;line-height:1}.stat-label{font-family:var(--font-mono);font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--text-dim);margin-top:7px}@media (max-width:900px){.shell{grid-template-columns:1fr;padding-top:var(--topbar-h)}.sidebar{position:fixed;top:0;left:0;right:0;z-index:40;height:var(--topbar-h);flex-direction:row;align-items:center;gap:8px;overflow:hidden;border-right:none;border-bottom:1px solid var(--border)}.topbar{top:var(--topbar-h)}.sidebar-brand{height:100%;border-bottom:none;border-right:1px solid var(--border);flex-shrink:0}.sidebar-nav{flex-direction:row;flex-wrap:nowrap;padding:0 8px;flex:1 1;min-width:0;overflow-x:auto;overflow-y:hidden}.nav-section{display:none}.nav-item{border-left:none;border-bottom:2px solid transparent;padding:8px 11px;flex-shrink:0}.nav-item[aria-current=page]{border-left-color:transparent;border-bottom-color:var(--accent)}.sidebar-footer{border-top:none;border-left:1px solid var(--border);padding-top:0;padding-bottom:0;flex-shrink:0}.sidebar-footer-id{display:none}.content{padding:22px 16px 48px}h1{font-size:27px}.field-row{grid-template-columns:1fr}.live-banner{flex-direction:column;align-items:stretch}.live-banner .btn,.live-banner-thumb{width:100%}}@media (max-width:640px){.page-head{align-items:stretch;gap:14px}.filters .search-input,.filters input,.filters select{flex:1 1 100%;width:100%;min-width:0;max-width:none}.filters .btn{flex:1 1 auto}.modal-body,.modal-foot,.modal-head{padding-left:16px;padding-right:16px}.modal-foot .btn{flex:1 1 auto}.panel-pad{padding:16px 15px}.panel-head{padding:13px 15px}.editable-row,.passage-row{flex-wrap:wrap}.editable-row-field,.passage-label{flex:1 1 100%}.stat{padding:13px 14px}.stat-value{font-size:25px}}@media (max-width:560px){.kv:not(.kv-stack){grid-template-columns:minmax(0,1fr);gap:2px}.kv:not(.kv-stack) dd+dt{margin-top:10px}}@media (max-width:480px){.brand-badge{display:none}.sidebar-brand,.sidebar-footer{padding-left:12px;padding-right:12px}.nav-item{padding:8px 9px;font-size:12.5px}.topbar{padding:0 12px}.content{padding:18px 12px 40px}h1{font-size:23px}h2{font-size:19px}.auth-screen{padding:16px}.auth-card{padding:26px 20px 24px}.empty{padding:36px 16px}.grid-cards{grid-template-columns:repeat(auto-fill,minmax(min(220px,100%),1fr))}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.001ms!important;transition-duration:.001ms!important}}