:root{--bg: #0b0d10;--surface: #14181e;--surface-2: #1c222a;--line: #262d37;--text: #e8ecf1;--muted: #98a3b3;--accent: #5ac8fa;--bad: #ff6b6b;--radius: 10px;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font:400 16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}code{background:var(--surface-2);border-radius:4px;padding:.1em .35em;font-size:.9em}.app{min-height:100dvh;display:flex;flex-direction:column}.app__head{display:flex;align-items:center;padding:14px 16px;border-bottom:1px solid var(--line);padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}.app__brand{font-weight:650;letter-spacing:-.01em}.app__main{flex:1;width:100%;max-width:1100px;margin:0 auto;padding:20px 16px 48px;padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px;margin:0;padding:0;list-style:none}.card{display:block;border-radius:var(--radius);overflow:hidden;background:var(--surface);border:1px solid var(--line);transition:border-color .12s ease,transform .12s ease}.card:hover,.card:focus-visible{border-color:var(--accent);transform:translateY(-2px)}.card__art{aspect-ratio:16 / 9;background:var(--surface-2)}.card__art img{width:100%;height:100%;object-fit:cover;display:block}.card__art-empty{display:block;width:100%;height:100%;background:linear-gradient(135deg,#1c222a,#2a3340)}.card__body{padding:12px 14px 14px}.card__title{margin:0 0 8px;font-size:1rem;font-weight:600;line-height:1.3}.badges{display:flex;flex-wrap:wrap;gap:6px}.badge{font-size:.72rem;font-weight:600;letter-spacing:.02em;padding:2px 7px;border-radius:999px;background:var(--surface-2);border:1px solid var(--line);color:var(--muted)}.badge--res{color:var(--bg);background:var(--accent);border-color:transparent}.badge--quiet{background:transparent}.watch__head{display:flex;flex-wrap:wrap;align-items:baseline;gap:12px;margin-top:18px}.watch__head h1{margin:0;font-size:1.35rem;line-height:1.25}.watch__desc{color:var(--muted);max-width:68ch}.player{background:#000;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line)}.player__video{display:block;width:100%;aspect-ratio:16 / 9;background:#000}.player__error{margin:0;padding:12px 14px;color:var(--bad);background:var(--surface)}.player__bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;background:var(--surface);border-top:1px solid var(--line)}.player__note{color:var(--muted);font-size:.85rem}.quality{display:flex;flex-wrap:wrap;gap:6px}.quality__btn{font:inherit;font-size:.8rem;font-weight:600;color:var(--muted);background:var(--surface-2);border:1px solid var(--line);border-radius:999px;padding:4px 11px;cursor:pointer;transition:color .12s ease,border-color .12s ease}.quality__btn:hover{color:var(--text)}.quality__btn--on{color:var(--bg);background:var(--accent);border-color:transparent}.stats,.facts{display:flex;gap:18px;margin:0}.facts{margin-top:20px;padding-top:16px;border-top:1px solid var(--line);flex-wrap:wrap}.stats dt,.facts dt{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.stats dd,.facts dd{margin:2px 0 0;font-size:.85rem;font-variant-numeric:tabular-nums}.msg{color:var(--muted);padding:32px 0}.msg--bad{color:var(--bad)}.msg__hint{max-width:60ch;line-height:1.6}@media(prefers-reduced-motion:reduce){*{transition:none!important}}.app__nav{display:flex;gap:4px;margin-left:auto}.app__link{font-size:.85rem;font-weight:600;color:var(--muted);padding:5px 11px;border-radius:999px}.app__link:hover{color:var(--text)}.app__link--on{color:var(--text);background:var(--surface-2)}.browse{display:flex;flex-direction:column;gap:34px}.browse__head{display:flex;align-items:center;gap:9px;margin:0 0 14px;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:var(--muted)}.count{font-size:.72rem;letter-spacing:0;padding:1px 7px;border-radius:999px;background:var(--surface-2);border:1px solid var(--line)}.rows{display:flex;flex-direction:column;gap:10px;margin:0;padding:0;list-style:none}.row{display:grid;grid-template-columns:112px minmax(0,1fr);gap:14px;padding:12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.row--staged{grid-template-columns:minmax(0,1fr);border-left:3px solid var(--bad)}.row--ready{border-left-color:var(--accent)}.row__art{display:block;aspect-ratio:16 / 9;border-radius:6px;overflow:hidden;background:var(--surface-2)}.row__art img{width:100%;height:100%;object-fit:cover;display:block}.row__main{display:flex;flex-wrap:wrap;align-items:center;gap:10px;min-width:0}.row__title{font-weight:600;font-size:.97rem}.row__facts{display:flex;flex-wrap:wrap;gap:16px 22px;grid-column:2;margin:0}.row--staged .row__facts{grid-column:1}.row__facts dt{font-size:.66rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.row__facts dd{margin:2px 0 0;font-size:.82rem;font-variant-numeric:tabular-nums}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85em}.copy{display:inline-flex;align-items:center;gap:6px;min-width:0}.copy__url{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem;color:var(--accent);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.copy__btn{font:inherit;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);background:var(--surface-2);border:1px solid var(--line);border-radius:5px;padding:2px 7px;cursor:pointer}.copy__btn:hover{color:var(--text)}.state{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:2px 8px;border-radius:999px}.state--ready{color:var(--bg);background:var(--accent)}.state--blocked{color:var(--bad);border:1px solid var(--bad)}.problems{grid-column:1;margin:2px 0 0;padding-left:18px;color:var(--muted);font-size:.82rem;line-height:1.6}@media(max-width:560px){.row{grid-template-columns:minmax(0,1fr)}.row__facts{grid-column:1}}
