:root,:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#12151a;--surface:#1a1e25;--surface-2:#222731;--line:#2e3540;--line-soft:#262c36;--ink:#e9ecf1;--muted:#98a3b1;--faint:#6f7a88;--accent:#e0596d;--accent-deep:#b8203a;--accent-ink:#fff;--link:#6ab4ff;--ok:#5fc98a;--warn:#e3b64f;--input-bg:#0f1216;--code-bg:#141920;--hover:#1f252e;--sel:#1d2c3d;--ok-bg:#143022;--ok-line:#215337;--warn-bg:#33290f;--warn-line:#54431b;--bad-bg:#3b1f26;--bad-line:#5d2632;--bad-ink:#ffd5dc;--info-bg:#17263a;--info-line:#274a6e;--canvas-track:#222731;--canvas-grid:#2e3540;--shadow:0 14px 40px rgba(0,0,0,.45);--shadow-soft:0 1px 2px rgba(0,0,0,.3);--series-1:#5aa9e0;--series-2:#6fbf8f;--series-3:#d9a83f;--series-4:#e05a6e;--series-5:#a98fe0}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f5f6f8;--surface:#fff;--surface-2:#f0f2f5;--line:#d9dee5;--line-soft:#e7eaef;--ink:#1c2229;--muted:#5f6b78;--faint:#8b95a2;--accent:#c93650;--accent-deep:#9c1c35;--accent-ink:#fff;--link:#1d6fc0;--ok:#2b9459;--warn:#a2730b;--input-bg:#fff;--code-bg:#f6f7f9;--hover:#f0f2f5;--sel:#e9f1fb;--ok-bg:#e7f6ed;--ok-line:#b9e3c8;--warn-bg:#fff5d9;--warn-line:#edd49c;--bad-bg:#fde9ec;--bad-line:#f1bcc5;--bad-ink:#861224;--info-bg:#e9f1fb;--info-line:#bdd5ef;--canvas-track:#e8ebf0;--canvas-grid:#d9dee5;--shadow:0 14px 40px rgba(28,34,41,.16);--shadow-soft:0 1px 2px rgba(28,34,41,.06);--series-1:#2f80c9;--series-2:#2e9e5b;--series-3:#c2861a;--series-4:#c8354c;--series-5:#7b5fc9}:root{--radius:12px;--radius-sm:8px;--sans:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;font-family:var(--sans);font-size:14px;line-height:1.5}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;min-height:100vh;margin:0}:focus-visible{outline:2px solid var(--link);outline-offset:2px}.mono{font-family:var(--mono);font-size:12.5px}.muted{color:var(--muted)}.topbar{border-bottom:1px solid var(--line-soft);background:var(--surface);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 20px;padding:14px max(16px,min(3vw,32px));display:flex}.brand{align-items:center;gap:12px;min-width:0;display:flex}.logo{border-radius:9px;flex:none;width:36px;height:36px;display:block}.brand-text h1{letter-spacing:-.01em;margin:0;font-size:17px;font-weight:600}.brand-text .tag{color:var(--muted);margin-left:6px;font-size:13px;font-weight:500}.tagline{color:var(--muted);max-width:60ch;margin:1px 0 0;font-size:13px}.topbar-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.page{flex-direction:column;gap:18px;max-width:1080px;margin:0 auto;padding:max(16px,min(3vw,28px)) max(12px,min(2vw,20px)) 80px;display:flex}.player-slot{min-width:0}.player-block{flex-direction:column;gap:0;width:100%;display:flex}.player-card{box-shadow:var(--shadow);width:min(100%, var(--viewport-width,100%));aspect-ratio:16/9;background:#000;border-radius:0;margin:0 auto;overflow:hidden}video{object-fit:contain;background:#000;width:100%;height:100%;display:block}.pstatus{border-radius:var(--radius);background:var(--surface-2);border:1px solid var(--line-soft);flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px;padding:11px 16px;font-size:14px;transition:background .2s;display:flex}.pstatus .dot{background:var(--faint);border-radius:50%;flex:none;width:10px;height:10px}.pstatus #playbackText{font-weight:600}.pstatus-sub{color:var(--muted);font-size:13px}.go-live{margin-left:auto}.go-live[hidden]{display:none}.pstatus.ok{background:var(--ok-bg);border-color:var(--ok-line)}.pstatus.ok .dot{background:var(--ok)}.pstatus.wait{background:var(--warn-bg);border-color:var(--warn-line)}.pstatus.wait .dot{background:var(--warn)}.pstatus.bad{background:var(--bad-bg);border-color:var(--bad-line)}.pstatus.bad #playbackText{color:var(--bad-ink)}.pstatus.bad .dot{background:var(--accent)}.panel{background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--radius);min-width:0;box-shadow:var(--shadow-soft);padding:20px 22px}.panel.compact{padding:14px 16px}.panel-head{flex-wrap:wrap;align-items:baseline;gap:10px;margin-bottom:12px;display:flex}h2{letter-spacing:-.01em;margin:0;font-size:16px;font-weight:600}h3{color:var(--ink);margin:0;font-size:14px;font-weight:600}.hint{color:var(--muted);flex:1;min-width:0;font-size:13px}.drm-hint{flex:none;margin:10px 0 0}.sub{border-top:1px solid var(--line-soft);padding:18px 0}.sub:first-of-type{border-top:none;padding-top:0}.sub:last-of-type{padding-bottom:0}.controls{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.controls:first-of-type{margin-top:0}.grow{flex:1;min-width:160px}button{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;padding:8px 14px;font-family:inherit;font-size:13.5px;font-weight:500;transition:border-color .12s,background .12s}button:hover{background:var(--hover);border-color:var(--faint)}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}button.primary:hover{background:var(--accent-deep);border-color:var(--accent-deep)}button.small{padding:5px 10px;font-size:12.5px}button:active{transform:translateY(1px)}button:disabled{opacity:.5;cursor:default}input,select,textarea{background:var(--input-bg);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-sm);padding:8px 11px;font-family:inherit;font-size:13.5px}input:focus,select:focus,textarea:focus{border-color:var(--link);box-shadow:0 0 0 3px color-mix(in srgb, var(--link) 20%, transparent);outline:none}select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1.5l5 5 5-5' fill='none' stroke='%2398a3b1' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-position:right 12px center;background-repeat:no-repeat;padding-right:32px}:root[data-theme=light] select{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1.5l5 5 5-5' fill='none' stroke='%235f6b78' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/></svg>")}.deck{border-radius:var(--radius);background:var(--surface);border:1px solid var(--line-soft);margin-top:10px}.deck .pstatus{border:0;border-top:1px solid var(--line-soft);border-radius:0 0 calc(var(--radius) - 1px) calc(var(--radius) - 1px);margin:0;padding:9px 12px}.transport{flex-direction:column;gap:6px;padding:8px 12px;font-size:13px;display:flex}.tp-row{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;display:flex}.tp-row[hidden]{display:none}.tp-meta{border-top:1px solid var(--line-soft);color:var(--muted);padding-top:6px;font-size:12px}.tp-stat{white-space:nowrap;align-items:baseline;gap:5px;display:inline-flex}.tp-k{text-transform:uppercase;letter-spacing:.04em;font-size:10.5px}.tp-v{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--ink)}.tp-scale{font-family:var(--mono);font-variant-numeric:tabular-nums}.tp-scale[hidden]{display:none}.tp-play{flex:none;width:36px;padding:6px 0;font-size:13px}.tp-time,.tp-now{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--muted);flex:none}.tp-now{color:var(--ink);font-weight:600}.tp-scrub{flex:240px;align-items:center;height:28px;display:flex;position:relative}.tp-scrub input[type=range]{z-index:2;width:100%;accent-color:var(--accent);cursor:pointer;background:0 0;border:0;margin:0;padding:0;position:relative}.tp-scrub input[type=range]:disabled{cursor:default;opacity:.5}.tp-buffered{background:color-mix(in srgb, var(--ink) 28%, transparent);pointer-events:none;z-index:1;border-radius:2px;height:4px;position:absolute;top:50%;transform:translateY(-50%)}.tp-hover{border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--line);font-family:var(--mono);white-space:nowrap;pointer-events:none;z-index:20;flex-direction:column;align-items:center;gap:3px;margin-bottom:4px;padding:3px;font-size:12px;display:flex;position:absolute;bottom:100%;transform:translate(-50%)}.tp-hover-time{padding:0 4px}.tp-thumb{background:var(--surface);border-radius:3px;overflow:hidden}.tp-thumb[hidden]{display:none}.tp-thumb-tile{transform-origin:0 0;background-repeat:no-repeat}.tp-hover[hidden],.transport .go-live[hidden]{display:none}.transport .go-live{margin-left:0}.tp-mute{flex:none;padding:4px 8px;font-size:14px}.tp-volume{width:90px;accent-color:var(--accent);background:0 0;border:0;padding:0}.tp-display{align-items:center;gap:10px;margin-left:auto;display:inline-flex}.tp-native{color:var(--muted);white-space:nowrap;align-items:center;gap:6px;display:flex}.tp-native input{margin:0;padding:0}.tp-select{padding:4px 26px 4px 8px;font-size:12px}.tp-stat .tp-select{color:var(--ink)}.tp-tracks{align-items:center;gap:10px;display:inline-flex}.tp-tracks[hidden],.tp-tracks .tp-stat[hidden],.transport.tp-native-on .tp-tracks,.transport.tp-native-on .tp-main{display:none}.transport.tp-native-on .tp-meta{border-top:0;padding-top:0}.transport.tp-native-on .tp-play,.transport.tp-native-on .tp-scrub,.transport.tp-native-on .tp-time,.transport.tp-native-on .tp-now,.transport.tp-native-on .tp-mute,.transport.tp-native-on .tp-volume{display:none}textarea{resize:vertical;width:100%;font-family:var(--mono);font-size:12.5px;line-height:1.45}.row{flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0;display:flex}label,.chk{color:var(--muted);cursor:pointer;align-items:center;gap:6px;font-size:13px;display:inline-flex}input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);padding:0}.pinned{z-index:40;background:var(--bg);flex-direction:column;gap:8px;margin-top:-6px;padding-top:6px;display:flex;position:-webkit-sticky;position:sticky;top:0}.pinned .deck{margin-top:0}.pinned.stuck{box-shadow:0 8px 16px -12px rgba(0,0,0,.35)}.pinned .tab-back{align-self:center;margin-left:auto;display:none}.pinned.stuck .tab-back{display:inline-flex}.tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:stretch;gap:2px;display:flex}.tabs button{color:var(--muted);background:0 0;border:none;border-bottom:2px solid transparent;border-radius:0;margin-bottom:-1px;padding:10px 14px;font-size:14px;font-weight:500;transition:color .12s}.tabs button:hover{color:var(--ink);border-color:transparent}.tabs button[aria-selected=true]{color:var(--ink);border-bottom-color:var(--accent);font-weight:600}.tabs button:active{transform:none}.tab-note{color:var(--faint);margin-left:6px;font-size:12px;font-weight:400}.tab-panel[hidden]{display:none}.q-now{margin-bottom:10px;font-size:14px}.q-now b{color:var(--muted);margin-right:8px;font-weight:500}.q-caps{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.q-caps label{gap:5px}.q-caps select{max-width:180px;padding:6px 9px;font-size:13px}.q-mode{color:var(--muted);margin-bottom:10px;font-size:13px}.q-list{scrollbar-width:thin;flex-direction:column;gap:4px;max-height:320px;display:flex;overflow-y:auto}.q-row{border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid transparent;align-items:center;gap:10px;padding:7px 10px;display:flex}.q-row.on{border-color:var(--ok-line);background:var(--ok-bg)}.q-desc{font-family:var(--mono);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12.5px;overflow:hidden}.q-tags{gap:5px;display:flex}.cap-section{margin:4px 0 18px}.cap-section h3{margin-bottom:8px}.cap-ua{font-family:var(--mono);color:var(--muted);border:1px solid var(--line-soft);border-radius:var(--radius-sm);background:var(--surface);word-break:break-all;margin-bottom:8px;padding:8px 10px;font-size:12px}.cap-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 10px;display:grid}.cap-item{border:1px solid var(--line-soft);border-radius:var(--radius-sm);background:var(--surface);justify-content:space-between;align-items:center;gap:10px;padding:6px 10px;font-size:13px;display:flex}.cap-value{font-family:var(--mono);white-space:nowrap;font-size:12px}.cap-value.ok{color:var(--ok)}.cap-value.bad{color:var(--accent)}@media (max-width:640px){.cap-grid{grid-template-columns:1fr}}.faults{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;display:grid}.fault-group{border:1px solid var(--line-soft);border-radius:var(--radius-sm);background:var(--surface);flex-direction:column;gap:8px;min-width:0;margin:0;padding:8px 12px 12px;display:flex}.fault-group legend{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;padding:0 4px;font-size:12px;font-weight:600}.field{color:var(--muted);grid-template-columns:1fr auto;align-items:center;gap:8px;font-size:13px;display:grid}.field input,.field select{width:120px;padding:6px 9px;font-size:13px}.field select{padding-right:30px}.field .unit{font-family:var(--mono);align-items:center;gap:6px;font-size:12px;display:inline-flex}.field .unit input{width:90px}.field-hint{color:var(--faint);margin:2px 0 0;font-size:12px}.pill{background:var(--surface-2);border:1px solid var(--line);white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:500;display:inline-block}.q-caps .pill{margin-left:auto}.pill.size{background:var(--info-bg);border-color:var(--info-line);color:var(--link)}.pill.ok{background:var(--ok-bg);border-color:var(--ok-line);color:var(--ok)}.pill.wait{background:var(--warn-bg);border-color:var(--warn-line);color:var(--warn)}.pill.bad{background:var(--bad-bg);border-color:var(--bad-line);color:var(--accent)}.scroll{background:var(--code-bg);border-radius:var(--radius-sm);max-height:260px;margin:10px 0 0;padding:10px;overflow:auto}.banner{background:var(--bad-bg);border:1px solid var(--bad-line);color:var(--bad-ink);border-radius:var(--radius);padding:10px 14px;font-size:13px}.table-wrap{border:1px solid var(--line-soft);border-radius:var(--radius-sm);background:var(--surface);overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:13px}.table th,.table td{border-bottom:1px solid var(--line-soft);text-align:left;vertical-align:top;white-space:nowrap;padding:7px 12px}.table thead th{color:var(--muted);background:var(--surface-2);font-size:12.5px;font-weight:500}.table tbody th{color:var(--ink);font-weight:500}.table tbody tr:last-child th,.table tbody tr:last-child td{border-bottom:none}.table td.wrap{white-space:normal;word-break:break-word;font-family:var(--mono);font-size:12px}.kv-table th{width:190px;color:var(--muted)}.sub-label{font-family:var(--mono);color:var(--faint);font-size:11px;display:block}.cell-ok{color:var(--ok);font-weight:700}.cell-bad{color:var(--accent);font-weight:700}.cell-na{color:var(--faint)}.cell-maybe{color:var(--warn)}.stages-table .layer-row th{background:var(--surface-2);padding-top:9px;padding-bottom:9px;font-weight:600}.stages-table .layer-row .muted{margin-left:6px;font-weight:400}.stages-table td:first-child{width:34px}.stage-name{font-family:var(--mono);font-size:12.5px}.stages-table tr.unbuilt td{opacity:.45}.req{font-family:var(--mono);color:var(--muted);background:var(--surface-2);border-radius:4px;margin-right:2px;padding:1px 6px;font-size:11.5px;display:inline-block}.req.missing{color:var(--warn);background:var(--warn-bg)}.log-controls .chk{gap:4px}.lvl-dot{border-radius:50%;width:8px;height:8px;display:inline-block}.lvl-dot.error{background:var(--accent)}.lvl-dot.warn{background:var(--warn)}.log{height:380px;font-family:var(--mono);border:1px solid var(--line-soft);border-radius:var(--radius-sm);background:var(--code-bg);scrollbar-width:thin;margin-top:10px;font-size:12px;overflow:auto}.log-row{border-bottom:1px solid var(--line-soft);cursor:pointer;white-space:nowrap;align-items:baseline;gap:10px;min-width:0;padding:4px 12px;display:flex}.log-row[hidden]{display:none}.log-row:hover{background:var(--hover)}.log-row.open{background:var(--sel);flex-wrap:wrap}.log-time{color:var(--faint);flex:none}.log-src{color:var(--faint);flex:none;width:28px;font-size:10.5px}.log-type{color:var(--muted);text-overflow:ellipsis;flex:none;min-width:110px;max-width:190px;overflow:hidden}.src-command .log-type{color:var(--link)}.log-msg{white-space:normal;word-break:break-word;min-width:0;color:var(--ink);flex:1}.log-fx{color:var(--faint);flex:none}.lvl-warn{background:var(--warn-bg)}.lvl-warn .log-type,.lvl-warn .log-msg{color:var(--warn)}.lvl-error{background:var(--bad-bg)}.lvl-error .log-type,.lvl-error .log-msg{color:var(--accent)}.lvl-debug .log-msg{color:var(--muted)}.log-row pre{white-space:pre-wrap;word-break:break-word;color:var(--ink);background:var(--surface);cursor:text;border-radius:6px;flex-basis:100%;max-height:320px;margin:4px 0 2px;padding:10px;font-size:11.5px;overflow:auto}.chart-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.chart-tabs{background:var(--surface-2);border-radius:999px;gap:2px;padding:3px;display:inline-flex}.chart-tabs button{color:var(--muted);background:0 0;border:none;border-radius:999px;padding:5px 12px;font-size:13px}.chart-tabs button:hover{color:var(--ink);background:0 0}.chart-tabs button[aria-selected=true]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-soft)}.chart-window select{padding:5px 8px;font-size:12.5px}.chart-legend{color:var(--muted);flex-wrap:wrap;gap:14px;min-height:18px;margin-bottom:6px;font-size:12.5px;display:flex}.legend-item{align-items:center;gap:6px;display:inline-flex}.legend-swatch{background:var(--swatch);border-radius:3px;width:12px;height:12px;display:inline-block}.legend-swatch.line{border-radius:1px;width:16px;height:2px}.legend-swatch.dashed{border-top:2px dashed var(--swatch);background:0 0;width:16px;height:0}.legend-swatch.dot{border-radius:50%;width:8px;height:8px}.legend-swatch.mark{border-radius:0;width:2px;height:12px}.legend-swatch.bar{border-radius:1px;width:4px;height:12px}.chart-stage{position:relative}canvas.chart{background:var(--code-bg);border:1px solid var(--line-soft);border-radius:var(--radius-sm);width:100%;height:240px;display:block}.chart-tip{pointer-events:none;background:var(--surface);border:1px solid var(--line);font-family:var(--mono);box-shadow:var(--shadow-soft);white-space:nowrap;border-radius:6px;padding:4px 8px;font-size:11.5px;position:absolute;top:10px}.chart-tip[hidden]{display:none}.chart-readout{margin-top:6px;font-size:12.5px}@media (max-width:900px){video{max-height:42vh}}@media (max-width:620px){:root{font-size:13.5px}.tagline{display:none}.grow{min-width:120px}.panel{padding:14px}input,select,textarea{font-size:16px}video{max-height:32vh}}.checks{flex-direction:column;gap:4px;margin:10px 0 12px;display:flex}.checks-summary{margin-bottom:4px;font-weight:600}.check{border-radius:var(--radius-sm);background:var(--surface-2);align-items:flex-start;gap:10px;padding:7px 10px;font-size:13px;display:flex}.check-dot{background:var(--faint);border-radius:50%;flex:none;width:9px;height:9px;margin-top:6px}.check-error{background:var(--bad-bg)}.check-error .check-dot{background:var(--accent)}.check-warn{background:var(--warn-bg)}.check-warn .check-dot{background:var(--warn)}.check-ok .check-dot{background:var(--ok)}.check-hint{color:var(--muted);margin-top:2px;font-size:12.5px}.parsed{margin-top:10px}.parsed summary{cursor:pointer;color:var(--muted);font-size:13px}.srg{margin-top:18px}.srg-results{border:1px solid var(--line-soft);border-radius:var(--radius-sm);scrollbar-width:thin;flex-direction:column;gap:2px;max-height:320px;margin-top:8px;padding:4px;display:flex;overflow:auto}.srg-result{text-align:left;background:0 0;border:none;border-radius:6px;justify-content:space-between;align-items:baseline;gap:12px;padding:7px 10px;display:flex}.srg-result:hover{background:var(--hover);border-color:transparent}.srg-title{flex:1;min-width:0}.srg-meta{color:var(--muted);white-space:nowrap;font-size:12.5px}.srg-composition{margin-top:12px}.srg-results[hidden],.srg-composition[hidden]{display:none}.srg-head{align-items:center;gap:14px;margin-bottom:12px;display:flex}.srg-thumb{aspect-ratio:16/9;object-fit:cover;border-radius:var(--radius-sm);background:var(--surface-2);flex:none;width:120px}.srg-name{font-size:15px;font-weight:600}.srg-composition td.wrap{max-width:320px;font-size:11.5px}.thumb-controls input[type=range]{width:100%;accent-color:var(--accent);padding:0}
