:root{color-scheme:dark;--bg:#080f1b;--panel:#111d30;--panel2:#16243b;--line:#243650;--muted:#9aacc5;--blue:#5298ff;--cyan:#66def5;--green:#35dca7;--yellow:#ffc46e;--red:#ff6d74;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(ellipse at 55% -10%,#142646 0%,#090f1c 42%,#080f1b 85%);color:#f2f7ff;font-size:15px}button,input,textarea{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.48}a{color:inherit;text-decoration:none}.hidden{display:none!important}
.shell{display:grid;grid-template-columns:222px minmax(0,1fr);min-height:100vh}.sidebar{background:#0b1423;border-right:1px solid #1e2d44;padding:31px 15px;display:flex;flex-direction:column;gap:7px}.brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:.07em;font-size:20px;margin:0 12px 47px}.brand b{color:var(--blue)}.brandmark{display:grid;place-items:center;background:linear-gradient(145deg,#3179ff,#37d4de);width:38px;height:38px;border-radius:12px;box-shadow:0 5px 24px #3f8bff4f;font-weight:900;font-size:25px}.nav-label{color:#6f829e;font-size:10px;font-weight:800;letter-spacing:.18em;padding:0 15px;margin:17px 0 9px}.nav-item{border:0;background:transparent;border-radius:10px;text-align:left;padding:13px 15px;width:100%;color:#8fa2bc;font-size:15px;display:flex;gap:12px;align-items:center}.nav-item.selected{background:#183255;color:#8cc5ff;font-weight:650}.nav-item:hover{background:#192b45;color:#e1edff}.sidebar-bottom{margin-top:auto;border-top:1px solid #26364f;padding:20px 12px 0;display:flex;gap:8px;align-items:center;font-size:11px;color:#91a4c0}.status-dot{height:8px;width:8px;background:#35dca7;border-radius:50%}
.main{padding:24px clamp(22px,3.2vw,55px) 60px;min-width:0;max-width:1900px;width:100%;margin:auto}.topbar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:39px}.eyebrow,.kicker{font-size:10px;font-weight:800;letter-spacing:.2em;color:#7f9bc1}.top-tools{display:flex;gap:12px;align-items:center}.cloud-pill,.outline-pill,.mode-tag{font-size:11px;color:#8eaccf;padding:7px 11px;border:1px solid #324965;border-radius:999px}.small-btn{padding:9px 14px;border-radius:9px;background:#1b2e4a;border:1px solid #33506c;color:#d3e5ff}
.search-section{margin-bottom:34px}.title-row{display:flex;align-items:center;justify-content:space-between}.title-row h1{font-size:clamp(30px,3.6vw,52px);letter-spacing:-.045em;margin:10px 0}.title-row h1 em{font-style:normal;color:#72b4ff}.subhead{margin:0 0 24px;color:#9eaec2}.decor-orb{margin-right:28px;font-size:27px;font-weight:950;color:#c5e6ff;background:radial-gradient(circle at 40% 25%,#4b86e9,#183663 65%,#0c1e37);border:1px solid #4070ab;width:99px;height:99px;border-radius:35px;display:grid;place-items:center;position:relative;box-shadow:0 0 55px #3974b52e;transform:rotate(-8deg)}.decor-orb span{font-size:26px;position:absolute;bottom:8px;right:14px;color:#44daf6}.search-box{display:flex;gap:9px;align-items:center;padding:9px 9px 9px 22px;border:1px solid #3b5e86;background:#111f34;border-radius:14px;box-shadow:0 12px 25px #00000030}.search-box:focus-within{border-color:#65acfc}.search-box input{outline:0;flex:1;min-width:0;background:transparent;border:0;color:#fff;padding:9px;font-size:17px}.search-box input::placeholder{color:#7089a8}.mag{font-size:35px;color:#7eabe1;line-height:1}.primary{background:linear-gradient(110deg,#2467e5,#3b9afb);border:0;border-radius:10px;color:#fff;padding:14px 24px;font-weight:750;box-shadow:0 6px 24px #145dd13b}.primary:hover:not(:disabled){filter:brightness(1.15)}.suggestions{display:flex;flex-wrap:wrap;gap:9px;align-items:center;margin:12px 0 0}.suggestions span{font-size:10px;color:#6d81a0;font-weight:800;letter-spacing:.15em;margin-right:3px}.suggestions button{border:1px solid #2b405b;background:#142239;color:#9bb1cd;padding:6px 12px;border-radius:7px;font-size:12px}.suggestions button:hover{color:#fff;border-color:#5298ff}
.content-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(290px,.85fr);gap:25px;align-items:start}.left-pane,.right-pane{min-width:0;display:flex;flex-direction:column;gap:25px}.section-title{display:flex;justify-content:space-between;align-items:end;gap:9px;margin-bottom:16px}.section-title h2{font-size:20px;letter-spacing:-.025em;margin:7px 0 0}.player-frame{background:linear-gradient(132deg,#132940,#070e18 64%,#0d1d36);aspect-ratio:16/8.2;border-radius:16px;border:1px solid #34496b;position:relative;overflow:hidden;min-height:230px}.player-frame video{width:100%;height:100%;position:absolute;object-fit:contain;background:#080c15;display:none}.player-frame.playing video{display:block}.player-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:radial-gradient(ellipse at center,#193d6f2c,#0d1a2d00);text-align:center;padding:20px}.player-placeholder strong{font-size:19px}.player-placeholder span{font-size:13px;color:#8fa6c5}.play-symbol{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;padding-left:6px;background:#2c76db36;border:1px solid #5485c8;color:#91c2ff;font-size:27px}.player-frame.playing .player-placeholder{display:none}.player-footer{display:flex;gap:9px;justify-content:space-between;color:#90a4bd;font-size:12px;padding-top:12px}.results-list{display:flex;flex-direction:column;gap:12px}.empty{border:1px dashed #2f4666;background:#0e1a2b;border-radius:15px;text-align:center;padding:35px 20px;color:#dce9ff}.empty-icon{font-size:40px;color:#73b7ff;margin-bottom:8px}.empty p{max-width:460px;color:#91a7c1;margin:10px auto 0;font-size:13px;line-height:1.6}.result{background:#101d2f;border:1px solid #283d5b;padding:16px;border-radius:13px;display:flex;gap:12px;align-items:center}.result:hover{border-color:#527ab2}.event-icon{background:#1a3152;color:#7ec3f6;border-radius:11px;width:43px;height:43px;display:grid;place-items:center;font-size:18px;flex-shrink:0}.result-text{min-width:0;flex:1}.result-text strong{display:block;font-size:15px}.result-text small{display:block;color:#92a6c0;margin-top:5px;line-height:1.4}.result-tools{display:flex;flex-wrap:wrap;gap:7px;justify-content:end;max-width:225px}.result-tools button{border:1px solid #325174;background:#1a3351;color:#d9ebff;border-radius:8px;padding:9px 12px;font-size:12px}.result-tools button:hover{background:#23568c}.result-tools .watch{background:#276bd2;border-color:#2873eb}.result-tools input{accent-color:#43d6a7;width:18px;height:18px;cursor:pointer}.result-tools label{display:flex;align-items:center;gap:4px;font-size:11px;color:#b5c7dc}.result-tools .score{color:var(--green);font-weight:800;font-size:12px}
.iq-panel,.quick-card{border:1px solid #2a405b;background:linear-gradient(155deg,#15253d,#101b2d 68%);border-radius:16px;padding:21px}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:8px}.iq-title{color:#71bcff;font-weight:850;font-size:18px}.iq-title b{color:#fff}.mode-tag{color:#47daa8;border-color:#286959;font-size:9px;letter-spacing:.05em}.panel-desc,.quick-card p{color:#96abc4;font-size:13px;line-height:1.6}.metric-row{display:flex;gap:11px;margin:16px 0}.metric{background:#0b1728;border:1px solid #263b55;flex:1;padding:13px 9px;border-radius:10px}.metric span{display:block;color:#7e94b2;font-size:9px;font-weight:800;letter-spacing:.09em}.metric strong{display:block;font-size:18px;margin-top:7px}.scan-notice{border:1px solid #2a5276;background:#18334d;color:#c7e5ff;border-radius:9px;font-size:12px;line-height:1.6;padding:13px;margin-bottom:13px}.scan-results{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}.scan-line{font-size:12px}.scan-line .above{display:flex;justify-content:space-between;gap:10px;margin-bottom:6px}.bar{height:7px;background:#2c405a;border-radius:6px;overflow:hidden}.fill{height:100%;background:#5de0ab;border-radius:6px}.wide{width:100%}.ghost{border:1px solid #36577c;background:#162c45;border-radius:9px;color:#cce5ff;padding:12px;font-weight:650}.ghost:hover{border-color:#5ca6ed}.fineprint{font-size:11px;color:#7990ac;line-height:1.6}.quick-card h3{font-size:17px;margin:10px 0 5px}.quick-card .ghost{margin-top:6px}.improvement{position:absolute;right:17px;bottom:18px;background:#09182aea;border:1px solid #467d92;border-radius:12px;width:min(330px,calc(100% - 34px));padding:13px;box-shadow:0 12px 35px #0009;z-index:2}.improvement-header{color:#65e4b5;font-weight:800;font-size:14px}.improvement p{color:#d4e7f5;font-size:12px;line-height:1.5}.improvement-actions{display:flex;gap:7px}.improvement button{flex:1;border:1px solid #48708b;background:#254868;color:#fff;border-radius:7px;padding:8px 5px;font-size:12px}.improvement button:first-child{background:#2272c8}
.modal{border:1px solid #456b96;background:#101d30;color:#fff;border-radius:17px;padding:28px;width:min(520px,calc(100vw - 28px));box-shadow:0 25px 90px #000a}.modal::backdrop{background:#030914c9}.modal h2{margin:0 0 9px}.modal p{color:#a9bdd5;line-height:1.5;font-size:13px}.dialog-close{position:absolute;right:15px;top:10px;background:transparent;border:0;color:#9cbbdf;font-size:26px}.tabs{display:flex;gap:8px;margin:18px 0}.tabs button{flex:1;border:1px solid #34516f;padding:10px;border-radius:8px;background:#1d3048;color:#9cbedc}.tabs button.active{background:#276dd1;color:#fff}.modal label{display:block;color:#c1d2e8;font-size:12px;margin:15px 0 9px}.modal textarea,.modal input:not([type=file]){width:100%;background:#071425;color:#fff;border:1px solid #34516f;border-radius:9px;padding:12px;outline:none}.modal input[type=file]{display:block;width:100%;margin:12px 0;font-size:12px;color:#a4c6e9}.modal-actions{display:flex;justify-content:end;margin-top:15px}.form-feedback{min-height:20px}.pair-code{font-size:44px;text-align:center;letter-spacing:.25em;font-weight:900;color:#70d3ff;padding:20px;background:#0b1727;border:1px solid #39577c;border-radius:12px;margin:15px 0}.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:#1b4d67;color:#fff;padding:13px 21px;border:1px solid #61b5d9;border-radius:12px;z-index:90;max-width:80vw;box-shadow:0 20px 50px #0008}
body.phone-view .shell{display:block}body.phone-view .sidebar{display:none}body.phone-view .main{max-width:600px;padding:16px 14px 50px}body.phone-view .topbar{margin-bottom:22px}body.phone-view .content-grid{grid-template-columns:1fr}body.phone-view .decor-orb{display:none}body.phone-view .search-box input{font-size:14px}body.phone-view .player-frame{aspect-ratio:16/9}body.phone-view .result{align-items:flex-start;flex-wrap:wrap}body.phone-view .result-tools{max-width:none;width:100%;justify-content:flex-start}body.phone-view .right-pane{gap:14px}
@media(max-width:1150px){.content-grid{grid-template-columns:minmax(0,1fr) 300px}.sidebar{width:180px}.shell{grid-template-columns:180px minmax(0,1fr)}.main{padding-left:20px;padding-right:20px}.result{flex-wrap:wrap}.result-tools{max-width:none;width:100%;justify-content:flex-start}}
@media(max-width:850px){.shell{display:block}.sidebar{display:none}.main{padding:16px 15px 50px}.topbar{margin-bottom:25px}.content-grid{grid-template-columns:1fr}.decor-orb{display:none}.result-tools{width:100%;justify-content:flex-start}.title-row h1{font-size:36px}.player-frame{aspect-ratio:16/9}}
@media(max-width:530px){.top-tools{gap:6px}.cloud-pill{display:none}.search-box{padding-left:8px}.search-box button{padding:12px 16px}.search-box input{font-size:14px}.player-footer{flex-direction:column}.title-row h1{font-size:31px}.subhead{font-size:13px}.result{padding:13px}.result-tools button{font-size:11px}.iq-panel,.quick-card{padding:17px}}

.history{background:#0b1728;border:1px solid #2a415d;padding:12px;margin:0 0 13px;border-radius:9px}.history-label{display:flex;justify-content:space-between;align-items:center;gap:8px;color:#b5c9e2;font-size:11px;font-weight:700}.history-label span{color:#47d6a5;font-size:10px;font-weight:600}.history canvas{width:100%;height:78px;display:block;margin-top:5px}

/* Three independent scanner lanes and explicit playlist-source selector */
.scan-workers{display:grid;gap:7px;margin:12px 0}.worker{display:flex;align-items:center;gap:9px;background:#0a1729;border:1px solid #2e4766;padding:9px 11px;border-radius:9px}.worker>div{flex:1;min-width:0}.worker strong{display:block;font-size:12px;color:#e0ecfa}.worker small{display:block;font-size:10px;color:#8daac7;margin-top:4px}.worker>span:last-child{font-size:10px;color:#a4c6e3}.worker-dot{height:9px;width:9px;background:#576678;border-radius:50%}.worker-live{background:#4de3a2;box-shadow:0 0 10px #4de3a281}.modal select.source-slot{display:block;background:#081727;color:#dcecff;border:1px solid #416388;border-radius:9px;padding:12px;width:100%;font:inherit}

/* v0.4: wide-screen / Windows and Google TV quality observatory */
.quality-observatory{margin-top:30px;border:1px solid #2a405c;background:linear-gradient(150deg,#14243a 0%,#0c1727 80%);border-radius:18px;padding:25px;box-shadow:0 22px 58px #0003}
.observatory-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.observatory-heading h2{margin:7px 0 4px;letter-spacing:-.035em;font-size:clamp(20px,2.1vw,29px)}
.observatory-heading p{margin:7px 0 0;max-width:660px;color:#93aac7;line-height:1.5;font-size:13px}
.observatory-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.data-provenance{font-size:10px;color:#b9d3f1;border:1px solid #36516e;padding:8px 10px;border-radius:999px;font-weight:800;letter-spacing:.055em;white-space:nowrap}
.data-provenance.example{color:#f5c56e;border-color:#886d36;background:#3a2b16}
.data-provenance.live{color:#78e8b2;border-color:#387b67;background:#18352c}
.stream-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin:21px 0 15px}
.stream-card{min-width:0;background:#0c192a;border:1px solid #2d435e;border-radius:14px;padding:16px}
.stream-card.is-best{border-color:#48bb93;box-shadow:inset 0 1px 0 #65d7a43b}
.sc-card-top{display:flex;justify-content:space-between;gap:7px;align-items:center}
.sc-name{font-size:13px;font-weight:800;color:#d8eaff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sc-badge{font-size:9px;letter-spacing:.07em;font-weight:850;color:#b3c5da;background:#22324a;border:1px solid #415878;padding:5px 7px;border-radius:6px;white-space:nowrap}
.sc-badge.good{color:#54e7b0;border-color:#317c62;background:#173c31}
.sc-score-row{display:flex;justify-content:space-between;align-items:end;margin-top:20px;gap:10px}
.sc-score{font-size:clamp(22px,2.5vw,36px);font-weight:850;line-height:1;letter-spacing:-.04em;color:#65e4b7}
.sc-score.muted{color:#6c87a8}
.sc-score em{font-size:12px;color:#8aa9c9;font-style:normal;margin-left:3px;font-weight:600}
.sc-status{font-size:10px;color:#97afc8;text-align:right;max-width:115px}
.sc-bar{height:9px;overflow:hidden;background:#2b4059;border-radius:99px;margin:14px 0 11px}
.sc-bar-fill{height:100%;border-radius:99px;background:#5bdcaa;transition:width .25s ease}
.sc-bar-fill.warn{background:#efc15c}.sc-bar-fill.bad{background:#ef8275}
.sc-meta{display:flex;gap:7px;align-items:center;flex-wrap:wrap;color:#859fb9;font-size:10px;line-height:1.5}
.sc-meta span{background:#13283c;border-radius:5px;padding:4px 6px}
.sc-progress{margin-top:13px;border-top:1px solid #25384d;padding-top:10px;color:#a5bed8;font-size:10px}
.sc-progress .line{height:4px;background:#253b55;border-radius:4px;overflow:hidden;margin-top:7px}
.sc-progress .line>div{height:100%;background:#3f9de9;border-radius:4px}
.chart-box{background:#091627;border:1px solid #2c4260;border-radius:13px;padding:15px}
.chart-title-row{display:flex;justify-content:space-between;align-items:center;gap:12px}
.chart-title-row strong{display:block;color:#deedff;font-size:14px}
.chart-title-row small{display:block;color:#809ab8;font-size:11px;margin-top:5px}
.chart-title-row>span{font-size:10px;color:#b0c4de;white-space:nowrap}
.line-chart-wrap{width:100%;margin-top:14px}
.line-chart-wrap canvas{width:100%;height:220px;display:block}
.chart-legend{display:flex;justify-content:center;gap:17px;flex-wrap:wrap;color:#9eb3cf;font-size:11px;padding:9px 0 2px}
.chart-legend i{width:9px;height:9px;border-radius:50%;display:inline-block;margin-right:5px}
.observatory-foot{border-top:1px solid #273b53;margin-top:16px;padding-top:13px;display:flex;gap:10px;justify-content:space-between;color:#93aec6;font-size:10px;line-height:1.6;flex-wrap:wrap}
/* Visible keyboard/remote focus for Google TV and Windows keyboard */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #8bc5ff!important;outline-offset:3px}
@media(max-width:1050px){.stream-cards{grid-template-columns:1fr}.stream-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(110px,auto);gap:3px 14px;align-items:center}.sc-score-row{margin-top:0}.sc-bar,.sc-meta,.sc-progress{grid-column:1/-1}.stream-card .sc-score{font-size:28px}}
@media(max-width:610px){.quality-observatory{padding:16px;margin-top:18px}.observatory-heading{flex-direction:column}.observatory-actions{justify-content:flex-start}.line-chart-wrap canvas{height:175px}.chart-title-row{align-items:flex-start;flex-direction:column}.chart-title-row>span{white-space:normal}}
@media(min-width:1450px){.main{max-width:1900px}.quality-observatory{margin-top:34px}.stream-cards{gap:19px}}
@media(prefers-reduced-motion:reduce){.sc-bar-fill{transition:none}}

.result-quality{margin-top:9px;max-width:270px;font-size:10px;color:#86d9b5}.result-quality .bar{margin-top:4px;height:5px}.result-quality .fill{background:#5ce0ab}
@media(max-width:610px){.player-frame{min-height:0;width:100%}}
@media(max-width:610px){.stream-card{display:block}.stream-card .sc-score-row{margin-top:12px}}
