:root{color-scheme:dark;--bg:#10121c;--panel:#191d2b;--line:#ffffff12;--muted:#a3adbd;--cyan:#62ddf7;--pink:#df72c5}
*{box-sizing:border-box} [hidden]{display:none!important}
body{margin:0;background:radial-gradient(ellipse at 8% 0,#20384460,transparent 45%),radial-gradient(ellipse at 100% 30%,#42203c40,transparent 40%),var(--bg);color:#f1f5fa;font:15px "Century Gothic",system-ui,sans-serif;min-height:100vh}
button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}
button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--cyan);outline-offset:4px}
.topbar{max-width:1440px;margin:auto;display:flex;align-items:center;gap:18px;padding:25px 36px;border-bottom:1px solid var(--line)}
.brand{font-size:23px;color:#fff;text-decoration:none;font-weight:700;letter-spacing:-1px;display:flex;align-items:center}
.brand>span:last-child{color:var(--cyan)}.brand-mark{display:grid;place-items:center;font-size:15px;width:36px;height:36px;margin-right:10px;background:linear-gradient(140deg,#57d6f0,#a57cd9);color:#111825;border-radius:11px;letter-spacing:0}
.private-badge{color:#b7c3d2;font-size:12px;padding:7px 12px;background:#ffffff06;border:1px solid var(--line);border-radius:24px}
.quiet{margin-left:auto;border:1px solid #ffffff20;border-radius:10px;padding:9px 13px;color:#d1d7e2;background:#ffffff06;font-size:12px}
main{max-width:1440px;padding:36px;margin:auto}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;color:var(--cyan)}
h1{font-size:clamp(25px,3vw,39px);line-height:1.2;letter-spacing:-1px;font-weight:600;margin:10px 0 22px}h2{font-size:19px;line-height:1.4;font-weight:600;margin:8px 0}
.heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:7px}.count{color:var(--muted);font-size:12px;border:1px solid var(--line);border-radius:24px;padding:8px 12px;white-space:nowrap}
.watch-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:22px;align-items:start}
.watch-card,.playlist-card{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:linear-gradient(145deg,#1d2232,#171b28);box-shadow:0 12px 36px #0002}
.stage{width:100%;aspect-ratio:16/9;background:#000;min-height:240px}.stage .ffx-player{width:100%;height:100%;min-height:0;border-radius:0}.stage .ffx-video{object-fit:contain}
.stage.portrait{aspect-ratio:9/16;max-height:72vh;scroll-margin-top:14px}
.now-playing{padding:23px 25px 5px}.now-playing h2{font-size:21px}.message{min-height:18px;line-height:1.55;color:#fec8c7;font-size:13px;margin:9px 0}
.listening-note{font-size:11px;color:var(--muted);padding:0 25px 22px;margin:0}.playlist-heading{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;border-bottom:1px solid var(--line)}
.playlist-heading h2{font-size:15px;margin:0}.playlist-heading span{font-size:10px;color:var(--cyan);background:#62ddf712;border-radius:6px;padding:5px}
#playlist{padding:7px;max-height:650px;overflow:auto;scrollbar-width:thin;scrollbar-color:#3c475b transparent}
.video-choice{width:100%;display:grid;grid-template-columns:33px 1fr;gap:10px;align-items:center;text-align:left;color:#d7dfeb;border:1px solid transparent;background:transparent;padding:13px 10px;border-radius:11px;margin:3px 0}
.video-choice:hover{background:#ffffff06}.video-choice[aria-current=true]{background:linear-gradient(110deg,#62ddf714,#df72c509);border-color:#62ddf733;color:white}
.choice-icon{width:31px;height:31px;display:grid;place-items:center;border:1px solid #ffffff15;border-radius:9px;color:#a7b2c5;font-size:10px}.video-choice[aria-current=true] .choice-icon{color:var(--cyan);border-color:#62ddf73b}
.choice-title{display:block;font-size:12px;line-height:1.5}.choice-duration{display:block;color:#8997ad;font-size:10px;margin-top:5px}
.bottom-note{color:var(--muted);font-size:11px;margin:19px 0}.initial-status{color:var(--muted);padding:60px 0;text-align:center}
.login-panel{max-width:460px;margin:25px auto 50px;padding:34px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(145deg,#202638bb,#171b28dd);backdrop-filter:blur(2px);box-shadow:0 20px 90px #0002}
.login-panel h1{font-size:42px;line-height:1.17}.intro{color:var(--muted);font-size:14px;line-height:1.8;margin:0 0 27px}
label{display:block;font-size:12px;color:#c0cad9;margin:18px 0 8px}input{width:100%;background:#111623;border:1px solid #ffffff1c;border-radius:11px;padding:13px;color:white;font-size:16px}
.primary{display:flex;justify-content:space-between;align-items:center;width:100%;margin-top:25px;border:0;border-radius:11px;background:linear-gradient(110deg,#69dff4,#a2a5ed);color:#101a2b;font-size:13px;font-weight:700;padding:15px 16px}.primary:disabled{opacity:.65;cursor:wait}
.privacy-note{font-size:10px;color:#8b98ac;line-height:1.7;border-top:1px solid var(--line);padding-top:17px;margin-bottom:0}
footer{color:#748299;font-size:11px;text-align:center;padding:20px 24px 35px}footer span{color:var(--pink);margin:0 7px}
@media(min-width:1400px){.stage{max-height:70vh}}@media(max-width:1000px){.watch-layout{grid-template-columns:1fr}.playlist-card{max-width:none}#playlist{display:grid;grid-template-columns:1fr 1fr;max-height:none}.stage{max-height:65vh}.watch-card{width:100%}}
@media(max-width:600px){.topbar{padding:18px;gap:10px}.brand{font-size:20px}.brand-mark{width:30px;height:30px;border-radius:9px;font-size:12px}.private-badge{font-size:10px;padding:6px 9px}.quiet{font-size:10px;padding:7px}main{padding:25px 14px}.heading{align-items:flex-start}.count{font-size:10px;margin-top:8px}.heading h1{font-size:26px;letter-spacing:-.5px}.watch-layout{gap:17px}.watch-card,.playlist-card{border-radius:14px}.stage{aspect-ratio:4/3;min-height:220px}.now-playing{padding:19px 18px 2px}.now-playing h2{font-size:18px}.listening-note{padding:0 18px 18px;font-size:10px}#playlist{grid-template-columns:1fr}.video-choice{padding:12px}.choice-title{font-size:13px}.login-panel{padding:27px 23px;margin-top:15px}.login-panel h1{font-size:36px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.watch-filters{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:13px 12px 6px}
.filter-choice{border:1px solid #ffffff16;border-radius:10px;background:#ffffff03;color:#c8d4e3;text-align:left;padding:10px;font-size:12px;min-height:58px}
.filter-choice span,.filter-choice small{display:block}.filter-choice small{color:#8f9eb3;font-size:10px;margin-top:5px}
.filter-choice[aria-pressed=true]{border-color:#62ddf777;background:#62ddf712;color:#9eebfa}.filter-choice[aria-pressed=true] small{color:#b8dce6}
.filtered-total{font-size:12px;color:#dce6f4;margin:9px 16px 4px}.filter-note{font-size:10px;line-height:1.6;color:#98a7bd;margin:4px 16px 10px}
.video-row{display:grid;grid-template-columns:minmax(0,1fr) 35px;align-items:center;gap:2px}.video-row .video-choice{min-width:0;padding:12px 7px;grid-template-columns:29px minmax(0,1fr)}
.completion-icon{border:1px solid #ffffff1c;border-radius:9px;width:30px;height:34px;background:#ffffff04;color:#b8c8d9;font-size:17px}.completion-icon:hover{border-color:#62ddf7;color:#8be5f6;background:#62ddf712}
.completion-icon:disabled,.complete-button:disabled{opacity:.5;cursor:wait}.watch-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:17px;flex-wrap:wrap}
.watch-status{font-size:12px;color:#97dce8}.complete-button{background:#62ddf712;color:#b6f1fc;border:1px solid #62ddf744;padding:10px 14px;border-radius:10px;font-size:12px;min-height:42px}
.sync-message{color:#9caec0;font-size:11px;min-height:16px;margin:10px 0 0}.empty-filter{padding:20px;color:#a8b8ca;font-size:13px;line-height:1.6}
.watch-layout #playlist{max-height:540px}.watch-layout .choice-title{overflow-wrap:anywhere}
@media(max-width:1000px){.watch-layout #playlist{max-height:none;display:block}.watch-filters{grid-template-columns:repeat(4,1fr)}.completion-icon{width:38px;height:42px}.video-row{grid-template-columns:minmax(0,1fr) 44px}}
@media(max-width:600px){.watch-filters{grid-template-columns:1fr 1fr}.filter-choice{min-height:62px}.filter-choice small{font-size:11px}.filtered-total{font-size:13px}.filter-note{font-size:11px}}
.watch-sort{padding:7px 13px;display:grid;gap:7px}.watch-sort label{margin:0;font-size:11px;color:#a5b6c9}.watch-sort select{width:100%;min-width:0;min-height:42px;padding:9px 8px;border:1px solid #ffffff24;border-radius:9px;color:#dce7f3;background:#171d2a;font:12px "Century Gothic",system-ui,sans-serif}.watch-sort select:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}
.video-row.is-current{border:1px solid #62ddf766;border-radius:12px;background:linear-gradient(110deg,#62ddf718,#df72c50a)}.video-row.is-current .video-choice[aria-current=true]{border-color:transparent;background:transparent}.video-row.is-current .completion-icon{border-color:#62ddf766;color:#a4edf7}.active-video{padding:9px 12px 3px}.active-video:empty{display:none}.active-video-label{font-size:10px;color:#82deee;line-height:1.5;margin:0 0 7px}.active-video .choice-title{overflow-wrap:anywhere}
