:root{
  color-scheme:dark;
  --bg:#050505;
  --surface:#111216;
  --surface-2:#181a20;
  --surface-3:#22242b;
  --text:#fff;
  --muted:#a9adb8;
  --muted-2:#727783;
  --line:rgba(255,255,255,.11);
  --accent:#6d62ff;
  --accent-2:#15d6b1;
  --danger:#ff536b;
  --safe-bottom:env(safe-area-inset-bottom,0px);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}
html,body,#app{margin:0;min-height:100%;background:var(--bg);color:var(--text)}
body{overflow-x:hidden;background:var(--bg)}
button,input,select{font:inherit}
button{color:inherit}
.app-shell{min-height:100vh;padding-bottom:calc(76px + var(--safe-bottom))}

/* Header */
.topbar{position:fixed;z-index:80;top:0;left:0;right:0;height:74px;padding:0 4.2vw;display:flex;align-items:center;gap:34px;background:linear-gradient(180deg,rgba(0,0,0,.93) 0%,rgba(0,0,0,.7) 56%,transparent 100%);transition:background .2s ease}
.brand{border:0;background:transparent;display:flex;align-items:center;gap:8px;padding:0;cursor:pointer;font-size:25px;font-weight:950;letter-spacing:-.055em;white-space:nowrap}
.brand-mark{display:grid;place-items:center;width:35px;height:35px;border-radius:9px;background:linear-gradient(135deg,#8178ff 0%,#5d54e9 45%,#10c9a7 100%);box-shadow:0 8px 24px rgba(88,80,235,.35);font-size:20px;font-style:normal;color:white;letter-spacing:-.08em}
.brand span{font-weight:950}.brand b{font-size:12px;letter-spacing:.12em;color:#a9a5ff;margin-left:-3px;margin-top:-9px}
.desktop-nav{display:flex;gap:1px;align-items:center}
.nav-btn,.icon-btn{border:0;background:transparent;cursor:pointer}
.nav-btn{padding:12px 12px;color:#c4c5ca;font-size:14px;font-weight:620;transition:color .15s ease,transform .15s ease}
.nav-btn:hover{color:#fff}.nav-btn.active{color:#fff;font-weight:850}
.top-actions{margin-left:auto;display:flex;align-items:center;gap:12px}
.icon-btn{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:23px}
.icon-btn:hover{background:rgba(255,255,255,.1)}
.top-provider{border:1px solid rgba(255,255,255,.16);background:rgba(22,22,24,.72);backdrop-filter:blur(14px);border-radius:8px;padding:9px 14px;font-size:12px;font-weight:850;cursor:pointer}
.top-provider:hover{background:#fff;color:#050505}
.profile-btn{border:0;width:35px;height:35px;border-radius:7px;background:linear-gradient(135deg,#6d62ff,#15d6b1);display:grid;place-items:center;font-weight:950;cursor:pointer;box-shadow:0 6px 20px rgba(0,0,0,.3)}

/* Home hero */
.home-main{min-height:100vh}
.hero{position:relative;min-height:clamp(600px,78vh,820px);display:flex;align-items:flex-end;overflow:hidden;background:#0a0a0b}
.hero-media{position:absolute;inset:0;overflow:hidden;background:#111}
.hero-fallback{position:absolute;inset:0;background:var(--hero-fallback,linear-gradient(135deg,#191a24,#050505));transform:scale(1.04)}
.hero-backdrop{position:absolute;inset:-6%;width:112%;height:112%;object-fit:cover;filter:blur(18px) saturate(1.15);opacity:0;transform:scale(1.1);transition:opacity .4s ease}
.hero-backdrop.loaded{opacity:.62}
.hero-poster{position:absolute;right:7vw;top:11%;height:71%;max-width:34vw;object-fit:contain;object-position:center;opacity:0;filter:drop-shadow(0 38px 55px rgba(0,0,0,.62));transform:translateY(12px);transition:opacity .4s ease,transform .45s ease}
.hero-poster.loaded{opacity:1;transform:translateY(0)}
.hero-vignette{position:absolute;inset:0;background:linear-gradient(90deg,#050505 0%,rgba(5,5,5,.93) 25%,rgba(5,5,5,.58) 51%,rgba(5,5,5,.2) 72%,rgba(5,5,5,.1) 100%),linear-gradient(0deg,#050505 0%,rgba(5,5,5,.78) 9%,transparent 36%),linear-gradient(180deg,rgba(0,0,0,.28),transparent 24%)}
.hero-content{position:relative;z-index:4;width:min(700px,54vw);padding:0 0 110px 4.6vw}
.hero-brandline{display:flex;align-items:center;gap:10px;margin-bottom:14px;font-size:12px;font-weight:900;letter-spacing:.2em;color:#d7d7dc}
.swoop-mini{display:grid;place-items:center;width:24px;height:24px;border-radius:6px;background:linear-gradient(135deg,#756aff,#17cfad);font-weight:950;letter-spacing:-.05em}
.hero h1{font-size:clamp(58px,7.2vw,112px);line-height:.88;letter-spacing:-.075em;margin:0 0 20px;text-shadow:0 5px 32px rgba(0,0,0,.58);max-width:9ch}
.hero-meta{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:16px;color:#f4f4f5;font-size:14px;font-weight:780}
.hero-meta span:not(:last-child):after{content:"";display:inline-block;width:3px;height:3px;border-radius:50%;background:#777b85;margin-left:12px;vertical-align:middle}
.hero-meta .hero-source{padding:4px 7px;border:1px solid rgba(255,255,255,.3);border-radius:4px;font-size:11px;letter-spacing:.03em;color:#e0e0e3}
.hero p{margin:0;max-width:58ch;color:#d1d2d6;font-size:17px;line-height:1.55;text-shadow:0 2px 12px #000}
.cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:23px}
.btn{border:0;border-radius:7px;padding:12px 21px;font-weight:850;cursor:pointer;transition:transform .12s ease,filter .12s ease,background .12s ease}
.btn:hover{filter:brightness(.94)}.btn:active{transform:scale(.98)}
.btn.play-btn{background:#fff;color:#090909;font-size:16px;display:inline-flex;align-items:center;gap:9px;padding:13px 23px}
.btn.secondary{background:rgba(109,109,116,.62);color:#fff;border:1px solid rgba(255,255,255,.06);backdrop-filter:blur(10px)}
.btn.accent{background:linear-gradient(135deg,#6d62ff,#7b72ff);color:#fff}
.btn.danger{background:rgba(255,83,107,.15);color:#ff9bab;border:1px solid rgba(255,83,107,.16)}
.hero-secondary{font-size:15px;padding:13px 18px}.hero-secondary span{font-size:17px}
.btn:focus-visible,.card:focus-visible,.nav-btn:focus-visible,.bottom-nav button:focus-visible,.brand:focus-visible,.top-provider:focus-visible,.profile-btn:focus-visible{outline:3px solid #fff;outline-offset:4px}

/* Main rows */
.content{position:relative;z-index:8;padding:0 4.6vw 52px}
.home-content{margin-top:-74px}
.library-strip{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:27px;padding:13px 16px;border:1px solid rgba(255,255,255,.08);background:rgba(17,17,19,.76);backdrop-filter:blur(18px);border-radius:9px;box-shadow:0 10px 35px rgba(0,0,0,.26)}
.library-strip>div{display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-size:12px;color:#9d9fa7}.library-strip strong{color:#fff;font-size:13px}.library-dot{width:8px;height:8px;border-radius:50%;background:#21d39f;box-shadow:0 0 0 5px rgba(33,211,159,.1)}
.library-manage{border:0;background:none;color:#dadade;font-size:12px;font-weight:800;cursor:pointer}.library-manage:hover{color:#fff}
.section{margin:0 0 34px;overflow:visible}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:11px;min-height:32px}
.section-head>div{display:flex;align-items:baseline;gap:12px;min-width:0}
.section h2{font-size:clamp(22px,2vw,29px);letter-spacing:-.035em;margin:0;font-weight:900}
.section-meta{font-size:12px;color:#888b94;white-space:nowrap}
.rail-arrow{font-size:34px;line-height:1;color:#71747c;opacity:.5}
.rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(255px,20vw);gap:8px;overflow-x:auto;overflow-y:visible;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;padding:11px 42px 20px 3px;margin:-8px -42px -15px -3px;scrollbar-width:none}
.poster-section .rail{grid-auto-columns:minmax(180px,14.2vw)}
.rail::-webkit-scrollbar{display:none}
.card{position:relative;min-width:0;border:0;border-radius:7px;overflow:hidden;scroll-snap-align:start;background:#1b1b1d;cursor:pointer;box-shadow:0 7px 22px rgba(0,0,0,.28);transition:transform .2s cubic-bezier(.2,.8,.2,1),box-shadow .2s ease;transform-origin:center center;text-align:left;padding:0}
.card.landscape{aspect-ratio:16/9}.card.poster{aspect-ratio:2/3}
.card:hover,.card:focus-visible{transform:scale(1.075);z-index:18;box-shadow:0 20px 42px rgba(0,0,0,.62)}
.card-bg{position:absolute;inset:0;background:var(--card-bg,linear-gradient(135deg,#273556,#101522));opacity:1}
.card-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .22s ease}
.card.live-card .card-art{object-fit:contain;background:#111;padding:10%}
.card-art.loaded{opacity:1}
.card-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(3,3,4,.94) 0%,rgba(3,3,4,.54) 25%,transparent 58%);pointer-events:none}
.card-copy{position:absolute;left:13px;right:13px;bottom:12px;z-index:3}
.card-title{font-weight:900;font-size:15px;line-height:1.15;text-shadow:0 2px 8px #000;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.card-sub{font-size:11px;color:#bfc0c5;margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.badge{position:absolute;left:10px;top:10px;z-index:4;background:#e50914;color:#fff;border-radius:4px;padding:5px 7px;font-size:10px;font-weight:950;letter-spacing:.08em;box-shadow:0 3px 12px rgba(0,0,0,.35)}
.live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#fff;margin-right:5px;vertical-align:1px}
.progress{position:absolute;left:0;right:0;bottom:0;height:4px;background:rgba(255,255,255,.2);z-index:5}.progress>i{display:block;height:100%;background:#e50914}
.genre-row{display:grid;grid-template-columns:repeat(6,minmax(150px,1fr));gap:9px}.genre-tile{min-height:110px;border-radius:8px;padding:17px;display:flex;align-items:flex-end;background:radial-gradient(circle at 80% 20%,hsla(var(--genre-hue) 80% 65%/.32),transparent 35%),linear-gradient(135deg,hsl(var(--genre-hue) 46% 22%),#111);border:1px solid rgba(255,255,255,.08);font-size:18px;font-weight:900;letter-spacing:-.03em}

/* Content pages */
.page{min-height:100vh;padding-top:0}
.cinematic-page{background:#050505}
.page-hero{height:430px;position:relative;overflow:hidden;background:linear-gradient(135deg,#1d1d24,#070707)}
.page-hero-art{position:absolute;right:4vw;top:4%;height:102%;max-width:48vw;object-fit:contain;opacity:0;filter:drop-shadow(0 24px 44px rgba(0,0,0,.6));transition:opacity .3s ease}.page-hero-art.loaded{opacity:.8}
.page-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#050505 0%,rgba(5,5,5,.92) 36%,rgba(5,5,5,.38) 69%,rgba(5,5,5,.2)),linear-gradient(0deg,#050505 0%,transparent 38%)}
.page-hero-copy{position:absolute;z-index:3;left:4.6vw;bottom:67px;max-width:660px}
.eyebrow{font-size:11px;font-weight:950;letter-spacing:.22em;text-transform:uppercase;color:#a8a5ff}
.page-hero h1,.search-hero h1,.settings-hero h1{font-size:clamp(50px,6vw,82px);line-height:.95;letter-spacing:-.065em;margin:8px 0 12px}
.page-hero p,.settings-hero p{margin:0;color:#b7b9c0;font-size:15px;line-height:1.5}
.page-feature-play{margin-top:19px;font-size:13px!important;padding:10px 15px!important}
.page-content{position:relative;z-index:4;padding:0 4.6vw 52px}
.page-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:0 0 22px;padding-top:8px}
.category-pills{display:flex;gap:7px;overflow:auto;scrollbar-width:none}.category-pills::-webkit-scrollbar{display:none}.category-pills span{white-space:nowrap;border:1px solid rgba(255,255,255,.14);background:#151517;border-radius:999px;padding:7px 12px;font-size:11px;font-weight:750;color:#d0d0d4}
.compact-btn{padding:8px 12px;font-size:11px;white-space:nowrap}
.content-grid{display:grid;gap:9px}
.poster-content-grid,.search-results{grid-template-columns:repeat(auto-fill,minmax(178px,1fr))}
.live-content-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.search-results .card:not(.poster){aspect-ratio:16/9}
.load-more-wrap{display:flex;justify-content:center;padding:35px 0 6px}
.empty{border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:48px 24px;text-align:center;background:#111;max-width:700px;margin:30px auto}.empty-mark{width:54px;height:54px;border-radius:12px;margin:0 auto 15px;display:grid;place-items:center;background:linear-gradient(135deg,#756aff,#15d6b1);font-size:27px;font-weight:950}.empty h3{font-size:26px;margin:0 0 8px}.empty p{color:#9ea0a7;max-width:540px;margin:0 auto 20px;line-height:1.5}

/* Search */
.search-page{padding-top:74px}
.search-hero{padding:64px 4.6vw 38px;background:radial-gradient(circle at 70% 20%,rgba(109,98,255,.18),transparent 35%),#080809;border-bottom:1px solid rgba(255,255,255,.06)}
.search-hero h1{margin-bottom:24px}
.searchbox-large{position:relative;max-width:850px}.searchbox-large>span{position:absolute;left:20px;top:50%;transform:translateY(-50%);font-size:26px;color:#7f828b}.searchbox input{width:100%;border:1px solid rgba(255,255,255,.16);background:#141416;color:white;border-radius:8px;padding:18px 20px 18px 58px;font-size:18px;outline:none}.searchbox input:focus{border-color:#fff;background:#19191c}.search-results{padding-top:28px}

/* Settings */
.settings-page{padding-top:74px}.settings-hero{padding:62px 4.6vw 38px;background:radial-gradient(circle at 82% 20%,rgba(21,214,177,.12),transparent 28%),linear-gradient(180deg,#0d0d0f,#080809)}.settings-hero p{max-width:600px}.settings-list{display:grid;gap:13px;padding-top:27px}.setting-card{display:grid;grid-template-columns:74px 1fr;gap:18px;padding:23px;border:1px solid rgba(255,255,255,.09);border-radius:10px;background:#111214}.setting-card-feature{background:linear-gradient(135deg,#171724,#101113)}.setting-icon{width:64px;height:64px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(135deg,#6960e9,#18bda2);font-size:15px;font-weight:950}.setting-main h3{font-size:22px;margin:0 0 5px}.setting-main>p{margin:0;color:#9fa1a8;line-height:1.5}.setting-stats{display:flex;gap:24px;margin:17px 0 4px}.setting-stats span{display:grid;color:#8d9098;font-size:10px;text-transform:uppercase;letter-spacing:.07em}.setting-stats strong{color:#fff;font-size:23px;line-height:1.2;letter-spacing:-.04em}.kv{display:flex;justify-content:space-between;gap:15px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.08);font-size:12px}.kv span:last-child{color:#8f929a;text-align:right;word-break:break-all}
.native-ready{border-color:rgba(21,214,177,.22);background:linear-gradient(135deg,rgba(21,214,177,.07),#111214)}

/* Bottom mobile nav */
.bottom-nav{display:none;position:fixed;z-index:90;left:0;right:0;bottom:0;height:calc(66px + var(--safe-bottom));padding-bottom:var(--safe-bottom);background:rgba(5,5,5,.96);border-top:1px solid rgba(255,255,255,.08);backdrop-filter:blur(18px)}
.bottom-nav button{flex:1;background:none;border:0;color:#8b8d95;font-size:9px;font-weight:780;padding:8px 2px}.bottom-nav button span{display:block;font-size:18px;margin-bottom:3px}.bottom-nav button.active{color:#fff}

/* Modal base */
.modal-backdrop{position:fixed;z-index:120;inset:0;background:rgba(0,0,0,.82);backdrop-filter:blur(14px);display:grid;place-items:center;padding:20px}.modal{width:min(740px,100%);max-height:91vh;overflow:auto;border:1px solid rgba(255,255,255,.12);background:#101114;border-radius:12px;box-shadow:0 35px 110px rgba(0,0,0,.75)}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:22px 24px;border-bottom:1px solid rgba(255,255,255,.08)}.modal-head h2{margin:0;font-size:27px;letter-spacing:-.035em}.modal-body{padding:23px}.form-grid{display:grid;gap:14px}.field label{display:block;font-size:11px;font-weight:900;color:#d4d5d9;margin-bottom:7px;text-transform:uppercase;letter-spacing:.055em}.field input,.field select{width:100%;border:1px solid rgba(255,255,255,.13);background:#080809;color:#fff;border-radius:7px;padding:13px 14px;outline:none}.field input:focus{border-color:#fff}.form-hint{font-size:11px;color:#92959d;line-height:1.5}.split{display:grid;grid-template-columns:1fr 1fr;gap:12px}.divider{height:1px;background:rgba(255,255,255,.08);margin:18px 0}.status{border-radius:7px;padding:12px 14px;font-size:12px;margin-top:14px}.status.ok{background:rgba(21,214,177,.09);color:#8ef4dc}.status.err{background:rgba(255,83,107,.1);color:#ff9eae}.status.info{background:rgba(109,98,255,.1);color:#c2beff}
.toast{position:fixed;z-index:160;left:50%;bottom:95px;transform:translateX(-50%);background:#fff;color:#080808;padding:11px 15px;border-radius:999px;font-size:12px;font-weight:850;box-shadow:0 14px 40px rgba(0,0,0,.4)}
.helper-box{border:1px solid rgba(109,98,255,.25);background:rgba(109,98,255,.055);border-radius:8px;overflow:hidden}.helper-box summary{cursor:pointer;padding:13px 14px;font-size:12px;font-weight:850;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px}.helper-box summary::-webkit-details-marker{display:none}.helper-box summary:after{content:'＋';font-size:18px;color:#8e9198}.helper-box[open] summary:after{content:'−'}.helper-box summary span{margin-left:auto;font-size:10px;font-weight:650;color:#868990}.helper-body{border-top:1px solid rgba(255,255,255,.08);padding:14px;display:grid;gap:12px}.remember-row{display:flex;align-items:flex-start;gap:8px}.remember-row input{margin-top:2px}

/* Player */
.player-shell{position:fixed;z-index:220;inset:0;background:#000;display:grid;place-items:center;overflow:hidden}.swoop-video{width:100%;height:100%;object-fit:contain;background:#000}.player-top{position:absolute;z-index:2;left:0;right:0;top:0;display:flex;align-items:center;gap:14px;padding:24px;background:linear-gradient(180deg,rgba(0,0,0,.9),transparent);pointer-events:none}.player-back{pointer-events:auto;width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:rgba(0,0,0,.55);color:#fff;font-size:26px;cursor:pointer}.player-title{font-size:20px;font-weight:900;text-shadow:0 2px 8px #000}.player-status{font-size:12px;color:#c9d0df;margin-top:3px}.player-message{position:absolute;z-index:3;left:50%;top:50%;transform:translate(-50%,-50%);width:min(620px,calc(100% - 36px));padding:20px 22px;border-radius:10px;background:rgba(17,18,22,.96);border:1px solid rgba(255,255,255,.12);color:#e9edf7;line-height:1.5;text-align:center;box-shadow:0 24px 80px rgba(0,0,0,.55)}.player-message.error{border-color:rgba(255,83,107,.35);color:#ffd8de}.native-player-shell{background:radial-gradient(circle at 50% 35%,rgba(109,98,255,.18),transparent 38%),#030304}.native-player-card{width:min(700px,calc(100% - 36px));padding:42px;border:1px solid rgba(255,255,255,.12);border-radius:13px;background:#101114;box-shadow:0 28px 100px rgba(0,0,0,.7);text-align:center}.native-player-card h2{margin:8px 0 10px;font-size:clamp(34px,5vw,56px);letter-spacing:-.05em}.native-player-card .player-status{font-size:14px;color:#75efca;font-weight:900}.native-player-copy{margin:18px auto 22px;max-width:560px;color:#b9bbc2;line-height:1.55}.native-player-card .cta-row{justify-content:center}

/* Provider setup */
.provider-modal{width:min(800px,100%);max-height:min(92vh,920px);overflow:auto;background:#0e0f12}.provider-modal-head{align-items:flex-start;padding:25px 27px 21px}.provider-modal-head>div{max-width:620px}.provider-modal-head h2{font-size:31px;margin:4px 0 7px}.provider-modal-head p{margin:0;color:#979aa2;font-size:12px;line-height:1.5}.provider-modal-body{padding:23px 27px 29px}.provider-current{display:flex;align-items:center;gap:10px;border:1px solid rgba(21,214,177,.18);background:rgba(21,214,177,.05);border-radius:8px;padding:11px 13px;margin-bottom:16px}.provider-current-dot{width:8px;height:8px;border-radius:50%;background:#21d39f;box-shadow:0 0 0 5px rgba(33,211,159,.08)}.provider-current div{display:grid;gap:2px}.provider-current strong{font-size:12px}.provider-current span:last-child{font-size:10px;color:#8e9199}.provider-methods{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px}.provider-method{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;text-align:left;gap:12px;border:1px solid rgba(255,255,255,.1);background:#090a0c;color:#fff;border-radius:9px;padding:15px;cursor:pointer;min-height:76px}.provider-method:hover{border-color:rgba(255,255,255,.24);background:#121317}.provider-method.active{border-color:#7369ff;background:linear-gradient(135deg,rgba(109,98,255,.18),rgba(109,98,255,.045));box-shadow:inset 0 0 0 1px rgba(109,98,255,.1)}.provider-method-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:8px;background:#1a1b21;font-size:12px;font-weight:950}.provider-method>span:nth-child(2){display:grid;gap:3px}.provider-method strong{font-size:14px}.provider-method small{font-size:10px;color:#8f929a;font-weight:600}.provider-method-check{opacity:0;color:#9f99ff;font-weight:900}.provider-method.active .provider-method-check{opacity:1}.provider-form{display:grid;gap:14px;border:1px solid rgba(255,255,255,.09);background:#111216;border-radius:9px;padding:19px}.provider-form[hidden]{display:none}.provider-form-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:3px}.provider-form-intro h3{font-size:22px;margin:3px 0 4px}.provider-form-intro p{margin:0;color:#9699a1;font-size:11px;line-height:1.5}.provider-badge{border:1px solid rgba(109,98,255,.3);background:rgba(109,98,255,.09);color:#cbc8ff;border-radius:999px;padding:6px 9px;font-size:9px;font-weight:900;white-space:nowrap}.provider-form .field input{padding:14px;border-radius:7px;background:#070708}.optional{font-size:9px;color:#777b83;font-weight:700;margin-left:4px}.provider-or{height:1px;background:rgba(255,255,255,.08);position:relative;margin:5px 0}.provider-or span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#111216;padding:0 9px;color:#767981;font-size:9px;text-transform:uppercase;letter-spacing:.1em}.provider-note{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:flex-start;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.02);border-radius:8px;padding:12px 13px}.provider-note.native-note{border-color:rgba(21,214,177,.18);background:rgba(21,214,177,.045)}.provider-note-icon{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:rgba(255,255,255,.08);font-size:10px;font-weight:900}.provider-note>div:last-child{display:grid;gap:3px}.provider-note strong{font-size:11px}.provider-note span{font-size:10px;color:#8e9199;line-height:1.45}.provider-remember{border-top:1px solid rgba(255,255,255,.08);padding-top:12px;margin-top:2px;color:#d6d7db}.provider-remember>span{display:grid;gap:2px}.provider-remember strong{font-size:11px}.provider-remember small{font-size:9px;color:#7f828a;font-weight:500;line-height:1.4}.provider-primary{width:100%;justify-content:space-between;padding:14px 17px;font-size:14px}.compact-helper{margin-top:1px}.compact-helper summary{padding:11px 12px}
.provider-progress{border:1px solid rgba(109,98,255,.25);background:linear-gradient(180deg,rgba(109,98,255,.09),rgba(255,255,255,.015));border-radius:9px;padding:23px}.provider-progress[hidden]{display:none}.provider-progress-top{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:center}.provider-progress-top h3{font-size:24px;margin:3px 0 5px}.provider-progress-top p{margin:0;color:#92959d;font-size:11px;line-height:1.55}.provider-spinner{width:46px;height:46px;border-radius:50%;border:3px solid rgba(255,255,255,.1);border-top-color:#817aff;animation:swoopSpin .8s linear infinite}.provider-spinner.success,.provider-spinner.error{display:grid;place-items:center;animation:none;border:0;font-size:21px;font-weight:950}.provider-spinner.success{background:rgba(21,214,177,.12);color:#78f0d0}.provider-spinner.error{background:rgba(255,83,107,.12);color:#ff91a3}@keyframes swoopSpin{to{transform:rotate(360deg)}}.provider-progress-bar{height:7px;border-radius:999px;background:rgba(255,255,255,.07);overflow:hidden;margin:20px 0 17px}.provider-progress-bar span{display:block;height:100%;width:5%;border-radius:inherit;background:linear-gradient(90deg,#655aff,#918aff);transition:width .3s ease}.provider-progress-steps{display:grid;gap:7px}.provider-progress-step{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:10px;padding:10px;border-radius:7px;color:#858890;font-size:11px}.provider-progress-step .step-indicator{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:rgba(255,255,255,.055);font-size:9px;font-weight:900}.provider-progress-step strong{font-size:9px;color:#858890;font-weight:700}.provider-progress-step.active{background:rgba(109,98,255,.09);color:#fff}.provider-progress-step.active .step-indicator{background:rgba(109,98,255,.25);color:#d5d2ff}.provider-progress-step.done{color:#dfe0e4}.provider-progress-step.done .step-indicator{background:rgba(21,214,177,.12);color:#79f0d0}.provider-progress-step.error .step-indicator{background:rgba(255,83,107,.12);color:#ff91a3}.provider-progress-summary{margin-top:14px;padding:11px 12px;border-radius:7px;background:#080809;color:#858890;font-size:10px;line-height:1.5}.provider-progress-summary strong{color:#fff}.provider-progress-actions{display:flex;justify-content:flex-end;margin-top:13px}

/* Responsive */
@media(max-width:1000px){
  .desktop-nav{gap:0}.nav-btn{padding:11px 8px;font-size:12px}.top-provider{display:none}.hero-content{width:62vw}.hero-poster{right:1vw;max-width:40vw}.poster-section .rail{grid-auto-columns:minmax(165px,21vw)}.rail{grid-auto-columns:minmax(230px,30vw)}.genre-row{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:760px){
  .app-shell{padding-bottom:calc(68px + var(--safe-bottom))}.desktop-nav,.top-provider,.search-action{display:none}.topbar{height:58px;padding:0 17px;background:linear-gradient(180deg,rgba(0,0,0,.96),rgba(0,0,0,.62),transparent)}.brand{font-size:21px}.brand-mark{width:30px;height:30px;font-size:17px}.brand b{font-size:9px}.profile-btn{width:30px;height:30px}.bottom-nav{display:flex}
  .hero{min-height:610px;align-items:flex-end}.hero-backdrop{inset:-10%;width:120%;height:120%;filter:blur(12px);opacity:0}.hero-backdrop.loaded{opacity:.55}.hero-poster{right:-8vw;top:10%;height:60%;max-width:70vw;opacity:.9}.hero-vignette{background:linear-gradient(0deg,#050505 0%,rgba(5,5,5,.9) 33%,rgba(5,5,5,.12) 74%),linear-gradient(90deg,rgba(5,5,5,.72),transparent 72%)}.hero-content{width:100%;padding:0 18px 92px}.hero h1{font-size:clamp(48px,14vw,72px);max-width:10ch;margin-bottom:14px}.hero p{font-size:14px;line-height:1.45;max-width:45ch}.hero-meta{font-size:11px;gap:8px}.hero-meta span:not(:last-child):after{margin-left:8px}.hero-actions{gap:8px}.btn.play-btn{font-size:13px;padding:11px 16px}.hero-secondary{font-size:12px;padding:11px 13px}.home-content{margin-top:-54px}.content{padding:0 17px 34px}.library-strip{align-items:flex-start;margin-bottom:25px}.library-strip>div{gap:7px}.library-manage{display:none}.section{margin-bottom:27px}.section h2{font-size:21px}.section-meta{display:none}.rail{grid-auto-columns:74vw;gap:7px;padding-right:34px;margin-right:-34px}.poster-section .rail{grid-auto-columns:42vw}.card:hover,.card:focus-visible{transform:scale(1.025)}.genre-row{grid-template-columns:repeat(2,1fr)}.genre-tile{min-height:82px;font-size:15px}
  .page-hero{height:355px}.page-hero-art{right:-13vw;top:5%;height:90%;max-width:72vw}.page-hero-copy{left:18px;right:18px;bottom:42px}.page-hero h1,.search-hero h1,.settings-hero h1{font-size:48px}.page-content{padding:0 17px 38px}.page-toolbar{align-items:flex-start}.compact-btn{display:none}.poster-content-grid,.search-results{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.live-content-grid{grid-template-columns:1fr 1fr;gap:7px}.search-page,.settings-page{padding-top:58px}.search-hero,.settings-hero{padding:44px 18px 28px}.searchbox input{font-size:15px;padding:15px 16px 15px 49px}.searchbox-large>span{left:16px;font-size:21px}.setting-card{grid-template-columns:50px 1fr;padding:17px;gap:13px}.setting-icon{width:48px;height:48px}.setting-main h3{font-size:18px}.setting-stats{gap:14px}.setting-stats strong{font-size:19px}
  .modal-backdrop{padding:8px}.modal{border-radius:9px;max-height:94vh}.modal-head{padding:18px}.modal-body{padding:18px}.provider-modal-head{padding:19px 18px 16px}.provider-modal-body{padding:16px 18px 22px}.provider-methods{grid-template-columns:1fr}.provider-form{padding:15px}.provider-progress{padding:18px}.provider-progress-top{grid-template-columns:1fr}.provider-spinner{width:40px;height:40px}.provider-progress-step{grid-template-columns:28px 1fr}.provider-progress-step strong{grid-column:2}.provider-form-intro{flex-direction:column}.provider-badge{align-self:flex-start}.split{grid-template-columns:1fr}
}
@media(min-width:1500px){.rail{grid-auto-columns:minmax(285px,18vw)}.poster-section .rail{grid-auto-columns:minmax(205px,12.8vw)}.poster-content-grid{grid-template-columns:repeat(auto-fill,minmax(205px,1fr))}.live-content-grid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr))}}

/* v0.2.6 — streaming library experience */
.section-link{border:0;background:transparent;color:#aeb1b8;font-size:12px;font-weight:800;cursor:pointer;padding:8px 0}.section-link:hover{color:#fff}
.card-hover{display:flex;align-items:center;gap:7px;margin-top:8px;opacity:0;transform:translateY(6px);transition:.18s ease;color:#fff;font-size:10px;font-weight:850;letter-spacing:.02em}.card-hover-icon{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#080808;font-size:10px}.card:hover .card-hover,.card:focus-visible .card-hover{opacity:1;transform:none}.card:hover .card-copy,.card:focus-visible .card-copy{bottom:14px}.card-saved{position:absolute;right:9px;top:9px;z-index:5;padding:5px 7px;border-radius:4px;background:rgba(4,5,6,.76);backdrop-filter:blur(10px);font-size:8px;font-weight:950;letter-spacing:.09em;border:1px solid rgba(255,255,255,.14)}
.hero-backdrop-clean{filter:blur(6px) saturate(1.15);object-fit:cover;opacity:0}.hero-backdrop-clean.loaded{opacity:.7}.hero p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.genre-tile{border:1px solid rgba(255,255,255,.08);color:#fff;text-align:left;cursor:pointer;justify-content:space-between}.genre-tile b{font-size:11px;opacity:.56}.genre-tile:hover{filter:brightness(1.13);transform:translateY(-2px)}
.category-pills button{border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.045);color:#d8d9dd;padding:8px 12px;border-radius:999px;font-size:10px;font-weight:800;cursor:pointer}.category-pills button:hover{background:#fff;color:#080808}
.collection-hero{min-height:330px;padding:130px 4.6vw 54px;background:radial-gradient(circle at 72% 0%,rgba(109,98,255,.3),transparent 32%),linear-gradient(180deg,#101119,#050505);border-bottom:1px solid rgba(255,255,255,.06)}.collection-hero h1{font-size:clamp(58px,8vw,104px);letter-spacing:-.07em;line-height:.9;margin:10px 0 15px}.collection-hero p{color:#a9abb2;font-size:16px;margin:0}.collection-count{display:inline-flex;margin-top:22px;padding:7px 10px;border-radius:5px;background:rgba(255,255,255,.08);font-size:11px;font-weight:900;color:#d8d9df}

/* Full title detail */
.detail-overlay{position:fixed;inset:0;z-index:130;background:#050505;overflow:hidden}.detail-scroll{height:100%;overflow-y:auto;overscroll-behavior:contain}.detail-hero{position:relative;min-height:690px;display:flex;align-items:flex-end;overflow:hidden;background:#101014}.detail-media,.detail-fallback{position:absolute;inset:0}.detail-fallback{background:var(--detail-bg,linear-gradient(135deg,#262637,#090909))}.detail-backdrop{position:absolute;inset:-2%;width:104%;height:104%;object-fit:cover;opacity:0;transition:opacity .35s ease;filter:saturate(1.08)}.detail-backdrop.loaded{opacity:.68}.detail-vignette{position:absolute;inset:0;background:linear-gradient(90deg,#050505 0%,rgba(5,5,5,.94) 28%,rgba(5,5,5,.56) 57%,rgba(5,5,5,.22) 80%,rgba(5,5,5,.1)),linear-gradient(0deg,#050505 0%,rgba(5,5,5,.84) 12%,transparent 42%),linear-gradient(180deg,rgba(0,0,0,.6),transparent 24%)}.detail-close{position:absolute;z-index:7;top:26px;left:4.6vw;width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.16);background:rgba(5,5,7,.62);backdrop-filter:blur(14px);color:#fff;font-size:24px;cursor:pointer}.detail-close:hover{background:#fff;color:#080808}.detail-copy{position:relative;z-index:5;width:min(760px,57vw);padding:0 0 82px 4.6vw}.detail-kicker{font-size:11px;font-weight:950;letter-spacing:.22em;color:#8e87ff;margin-bottom:12px}.detail-copy h2{font-size:clamp(64px,8vw,118px);line-height:.86;letter-spacing:-.075em;margin:0 0 19px;max-width:10ch;text-shadow:0 6px 35px #000}.detail-meta{display:flex;align-items:center;gap:11px;flex-wrap:wrap;font-size:13px;font-weight:850;color:#ececef}.detail-meta span:not(:last-child):after{content:'•';margin-left:11px;color:#6f727b}.detail-copy p{max-width:64ch;color:#cdced3;line-height:1.58;font-size:16px;text-shadow:0 2px 9px #000;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}.detail-poster{position:absolute;z-index:4;right:6vw;bottom:48px;width:min(25vw,330px);max-height:71%;object-fit:contain;border-radius:9px;box-shadow:0 35px 70px rgba(0,0,0,.62);opacity:0;transition:opacity .3s}.detail-poster.loaded{opacity:1}.detail-list.saved{background:rgba(21,214,177,.16);border-color:rgba(21,214,177,.28);color:#c7fff1}.detail-play{min-width:130px;justify-content:center}
.detail-episodes,.detail-info,.detail-related{padding:38px 4.6vw 12px}.detail-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}.detail-section-head h3,.detail-info h3{font-size:30px;letter-spacing:-.04em;margin:4px 0 0}.season-pills{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none}.season-pills button{border:1px solid rgba(255,255,255,.11);background:#15161a;color:#b8bac1;border-radius:999px;padding:9px 13px;font-size:10px;font-weight:850;cursor:pointer;white-space:nowrap}.season-pills button.active{background:#fff;color:#060606}.episode-list{display:grid;gap:5px}.episode-card{width:100%;display:grid;grid-template-columns:minmax(180px,260px) 1fr;gap:19px;align-items:center;border:0;border-bottom:1px solid rgba(255,255,255,.08);background:transparent;color:#fff;text-align:left;padding:12px 6px;cursor:pointer;border-radius:7px}.episode-card:hover,.episode-card:focus-visible{background:rgba(255,255,255,.055)}.episode-thumb{position:relative;aspect-ratio:16/9;border-radius:7px;overflow:hidden;background:var(--episode-bg,#15161a)}.episode-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0}.episode-thumb img.loaded{opacity:1}.episode-thumb>span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:rgba(0,0,0,.72);border:2px solid rgba(255,255,255,.8);font-size:13px}.episode-copy>div{display:flex;justify-content:space-between;gap:16px}.episode-copy strong{font-size:15px}.episode-copy>div span{font-size:10px;color:#999ca4}.episode-copy p{color:#9ea0a8;font-size:12px;line-height:1.5;margin:8px 0 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.detail-loading,.detail-error,.detail-empty{min-height:140px;border:1px solid rgba(255,255,255,.08);background:#0d0e11;border-radius:9px;display:flex;align-items:center;justify-content:center;gap:12px;color:#aeb0b6}.detail-loading i{width:24px;height:24px;border:3px solid rgba(255,255,255,.13);border-top-color:#7c72ff;border-radius:50%;animation:swoopSpin .8s linear infinite}.detail-error{color:#ff9bab;border-color:rgba(255,83,107,.2)}.detail-info{display:grid;grid-template-columns:minmax(260px,.8fr) 1.5fr;gap:45px;border-top:1px solid rgba(255,255,255,.07);margin-top:28px}.detail-facts{display:grid;gap:10px}.detail-facts>div{display:grid;grid-template-columns:100px 1fr;gap:12px}.detail-facts span{color:#747781;font-size:11px}.detail-facts strong{font-size:12px;line-height:1.45;font-weight:700;color:#d6d7dc}.detail-related{padding-bottom:64px}.detail-related .section{margin-bottom:0}

/* TV Guide */
.guide-page{padding-top:74px;background:#050505}.guide-hero{min-height:250px;padding:58px 4.6vw 34px;display:flex;align-items:flex-end;justify-content:space-between;gap:30px;background:radial-gradient(circle at 82% 10%,rgba(229,9,20,.16),transparent 31%),linear-gradient(180deg,#121318,#050505)}.guide-hero h1{font-size:clamp(55px,7vw,94px);letter-spacing:-.07em;line-height:.9;margin:8px 0 12px}.guide-hero p{color:#9ca0a8;margin:0}.guide-now{display:grid;justify-items:end;gap:3px}.guide-now span{font-size:10px;font-weight:950;letter-spacing:.14em;color:#ff6571}.guide-now strong{font-size:31px;letter-spacing:-.04em}.guide-shell{padding:0 4.6vw 60px}.guide-toolbar{height:76px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.08)}.guide-date{display:flex;align-items:baseline;gap:9px}.guide-date strong{font-size:15px}.guide-date span{font-size:11px;color:#858890}.guide-alert{margin:16px 0;padding:12px 14px;border:1px solid rgba(255,184,79,.18);background:rgba(255,184,79,.06);border-radius:7px;color:#e7c98f;font-size:11px}.guide-grid{min-width:840px;border:1px solid rgba(255,255,255,.08);border-radius:10px;overflow:hidden;background:#0c0d10}.guide-header,.guide-row{display:grid;grid-template-columns:230px 1fr}.guide-header{position:sticky;top:74px;z-index:20;background:#111216;border-bottom:1px solid rgba(255,255,255,.09)}.guide-channel-head{padding:13px 15px;font-size:10px;font-weight:900;color:#8d9098;text-transform:uppercase;letter-spacing:.12em;border-right:1px solid rgba(255,255,255,.08)}.guide-times{display:grid;grid-template-columns:repeat(7,1fr);padding:0}.guide-times span{padding:13px 9px;border-left:1px solid rgba(255,255,255,.06);font-size:10px;color:#8d9098;font-weight:800}.guide-row{min-height:83px;border-bottom:1px solid rgba(255,255,255,.055)}.guide-row:last-child{border-bottom:0}.guide-channel{display:grid;grid-template-columns:52px 1fr auto;gap:10px;align-items:center;border:0;border-right:1px solid rgba(255,255,255,.08);background:#0b0c0e;color:#fff;text-align:left;padding:10px 12px;cursor:pointer}.guide-channel:hover{background:#17181d}.guide-channel img,.guide-logo-fallback{width:50px;height:50px;object-fit:contain;background:#15161b;border-radius:7px;padding:5px}.guide-channel img{opacity:0}.guide-channel img.loaded{opacity:1}.guide-logo-fallback{display:grid;place-items:center;font-size:10px;font-weight:900}.guide-channel>span{display:grid;gap:3px;min-width:0}.guide-channel strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.guide-channel small{font-size:9px;color:#727681;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.guide-channel b{font-size:10px;color:#fff;opacity:.55}.guide-programs{position:relative;min-height:83px;overflow:hidden;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(16.666% - 1px),rgba(255,255,255,.035) calc(16.666% - 1px),rgba(255,255,255,.035) 16.666%)}.guide-program{position:absolute;top:7px;bottom:7px;border:1px solid rgba(255,255,255,.08);border-radius:6px;background:#17191f;color:#fff;text-align:left;padding:10px;overflow:hidden;cursor:pointer}.guide-program:hover,.guide-program:focus-visible{background:#272a33;border-color:rgba(255,255,255,.24);z-index:4}.guide-program.current{background:linear-gradient(135deg,rgba(229,9,20,.25),rgba(109,98,255,.16));border-color:rgba(255,83,107,.35)}.guide-program strong{display:block;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.guide-program span{display:block;font-size:8px;color:#979aa3;margin-top:5px;white-space:nowrap}.guide-program-empty{background:#101116;color:#8b8e97}.guide-now-line{position:absolute;top:0;bottom:0;width:2px;background:#e50914;z-index:8;box-shadow:0 0 0 1px rgba(229,9,20,.1)}.guide-now-line:before{content:'';position:absolute;width:8px;height:8px;border-radius:50%;background:#e50914;left:-3px;top:0}.guide-loading{position:absolute;inset:0;display:flex;align-items:center;gap:10px;padding:0 14px;color:#71757e;font-size:10px}.guide-loading i{width:18px;height:18px;border:2px solid rgba(255,255,255,.09);border-top-color:#6d62ff;border-radius:50%;animation:swoopSpin .8s linear infinite}

@media(max-width:1000px){.desktop-nav .nav-btn{padding-inline:7px}.detail-copy{width:64vw}.detail-poster{right:2vw;width:29vw}.guide-shell{overflow-x:auto;padding-bottom:70px}.guide-grid{min-width:920px}}
@media(max-width:760px){
  .search-action{display:grid}.detail-hero{min-height:650px}.detail-backdrop{opacity:0}.detail-backdrop.loaded{opacity:.55}.detail-vignette{background:linear-gradient(0deg,#050505 0%,rgba(5,5,5,.94) 42%,rgba(5,5,5,.2) 78%)}.detail-poster{right:-10vw;top:72px;bottom:auto;width:64vw;max-height:54%;opacity:.7}.detail-copy{width:100%;padding:0 18px 54px}.detail-copy h2{font-size:clamp(48px,14vw,76px)}.detail-copy p{font-size:13px;max-width:100%}.detail-close{left:16px;top:16px;width:42px;height:42px}.detail-episodes,.detail-info,.detail-related{padding:28px 18px 10px}.detail-section-head{align-items:flex-start;flex-direction:column}.detail-section-head h3,.detail-info h3{font-size:24px}.episode-card{grid-template-columns:128px 1fr;gap:12px;padding:10px 0}.episode-copy strong{font-size:12px}.episode-copy p{font-size:10px;margin-top:5px}.detail-info{grid-template-columns:1fr;gap:20px}.detail-facts>div{grid-template-columns:80px 1fr}.collection-hero{padding:112px 18px 45px;min-height:280px}.collection-hero h1{font-size:58px}.guide-page{padding-top:58px}.guide-hero{padding:42px 18px 28px;min-height:210px}.guide-hero h1{font-size:55px}.guide-now{display:none}.guide-shell{padding:0 17px 78px}.guide-toolbar{height:66px}.guide-header{top:58px}.guide-grid{min-width:860px}.card-hover{display:none}.card-saved{font-size:7px}.section-link{font-size:10px}
}

/* v0.2.7 dynamic discovery + customizable Home */
.home-library-strip{align-items:flex-start}.home-library-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.discovery-status{font-size:10px;color:#7f828a;white-space:nowrap}.discovery-status.busy{color:#b9b5ff}.discovery-status.busy:before{content:'';display:inline-block;width:7px;height:7px;border-radius:50%;background:#7b72ff;margin-right:6px;animation:swoopPulse 1s infinite alternate}.web-discovery-callout{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:27px 30px;margin:0 0 34px;border:1px solid rgba(123,114,255,.28);border-radius:12px;background:radial-gradient(circle at 82% 20%,rgba(123,114,255,.22),transparent 34%),linear-gradient(135deg,#161622,#0e0f12);box-shadow:0 24px 70px rgba(0,0,0,.28)}.web-discovery-callout h2{font-size:clamp(26px,3vw,40px);letter-spacing:-.05em;margin:6px 0 7px}.web-discovery-callout p{margin:0;color:#a9abb2;line-height:1.5;max-width:720px}.ranked-section .rail{grid-auto-columns:minmax(205px,15.6vw);padding-left:10px}.ranked-card{overflow:visible;margin-left:22px;background:#111}.ranked-card .card-bg,.ranked-card .card-art,.ranked-card .card-shade{border-radius:7px;overflow:hidden}.rank-badge{position:absolute;z-index:6;left:-25px;bottom:-5px;width:64px;height:78px;display:flex;align-items:flex-end;justify-content:center;pointer-events:none;filter:drop-shadow(0 8px 18px rgba(0,0,0,.7))}.rank-badge span{font-size:74px;font-weight:1000;line-height:.8;letter-spacing:-.1em;color:#09090b;-webkit-text-stroke:2px rgba(255,255,255,.88);text-shadow:0 3px 0 rgba(255,255,255,.12)}.ranked-card .card-copy{left:42px}.ranked-card .card-saved{left:39px}
.home-rows-modal{width:min(1060px,96vw);max-height:min(900px,94vh)}.home-rows-head{align-items:flex-start}.home-rows-head p{margin:7px 0 0;max-width:720px;color:#989ba4;line-height:1.45}.home-rows-body{display:grid;gap:18px}.discovery-key-card{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(340px,1.1fr);gap:28px;padding:22px;border:1px solid rgba(123,114,255,.22);background:linear-gradient(135deg,rgba(123,114,255,.09),rgba(21,214,177,.035));border-radius:11px}.discovery-key-card h3{font-size:24px;letter-spacing:-.04em;margin:5px 0 7px}.discovery-key-card p{margin:0;color:#9a9da6;line-height:1.48;font-size:12px}.discovery-key-card form{display:grid;gap:10px}.discovery-key-card .field{margin:0}.discovery-key-card small{color:#747781;font-size:10px}.discovery-key-actions{display:flex;gap:8px;flex-wrap:wrap}.discovery-key-actions .btn{padding:9px 14px;font-size:11px}.home-row-toolbar{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:4px 2px}.home-row-toolbar>div:first-child{display:grid;gap:3px}.home-row-toolbar strong{font-size:14px}.home-row-toolbar span{font-size:10px;color:#777a83}.home-row-toolbar>div:last-child{display:flex;gap:8px}.home-row-picker{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}.home-row-group{border:1px solid rgba(255,255,255,.08);background:#0d0e11;border-radius:10px;overflow:hidden}.home-row-group-title{padding:10px 13px;background:#14151a;border-bottom:1px solid rgba(255,255,255,.07)}.home-row-group-title span{font-size:9px;font-weight:950;letter-spacing:.13em;text-transform:uppercase;color:#8d9098}.home-row-option{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:stretch;border-bottom:1px solid rgba(255,255,255,.055);transition:background .15s ease}.home-row-option:last-child{border-bottom:0}.home-row-option.selected{background:linear-gradient(90deg,rgba(123,114,255,.11),transparent 70%)}.home-row-toggle{display:grid;grid-template-columns:30px 1fr;gap:10px;align-items:center;border:0;background:none;color:#fff;text-align:left;padding:12px 13px;cursor:pointer}.home-row-check{width:26px;height:26px;border-radius:7px;display:grid;place-items:center;background:#1b1c21;border:1px solid rgba(255,255,255,.11);font-size:13px;font-weight:950;color:#7f828c}.home-row-option.selected .home-row-check{background:linear-gradient(135deg,#6d62ff,#18bda2);color:#fff;border-color:transparent}.home-row-toggle>span:last-child{display:grid;gap:3px}.home-row-toggle strong{font-size:12px}.home-row-toggle small{font-size:9px;color:#777b84;line-height:1.35}.home-row-toggle em{font-size:9px;color:#ff9bab;font-style:normal;line-height:1.35}.home-row-order{display:flex;align-items:center;gap:4px;padding-right:10px}.home-row-order button{width:28px;height:28px;border-radius:7px;border:1px solid rgba(255,255,255,.09);background:#191a1e;color:#c8cad0;cursor:pointer}.home-row-order button:hover:not(:disabled){background:#fff;color:#080808}.home-row-order button:disabled{opacity:.2;cursor:default}.home-row-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:4px}.home-row-footer>span{font-size:10px;color:#747781;line-height:1.45;max-width:710px}
@keyframes swoopPulse{from{opacity:.35;transform:scale(.85)}to{opacity:1;transform:scale(1.1)}}

@media(max-width:900px){.home-row-picker{grid-template-columns:1fr}.discovery-key-card{grid-template-columns:1fr}.home-library-actions{width:100%;justify-content:flex-start}.home-library-strip{flex-direction:column}.ranked-section .rail{grid-auto-columns:minmax(175px,42vw)}}
@media(max-width:620px){.web-discovery-callout{align-items:flex-start;flex-direction:column;padding:20px}.home-row-toolbar,.home-row-footer{align-items:flex-start;flex-direction:column}.home-row-toolbar>div:last-child{width:100%;flex-wrap:wrap}.home-rows-modal{width:100%;max-height:96vh}.discovery-key-card{padding:16px}.ranked-card{margin-left:17px}.rank-badge{left:-20px;width:54px}.rank-badge span{font-size:62px}.ranked-card .card-copy{left:35px}}

/* v0.2.8 cinematic artwork + theme controls */
body,.home-main,.cinematic-page,.settings-page,.mylist-page,.search-page,.guide-page{background:var(--bg)}
.hero{background:var(--bg)}
.hero-backdrop-clean{filter:none;transform:scale(1.025);opacity:0}
.hero-backdrop-clean.loaded{opacity:.82}
.hero-backdrop-poster{filter:blur(9px) saturate(1.1);transform:scale(1.16);opacity:0}
.hero-backdrop-poster.loaded{opacity:.78}
.hero-vignette{background:linear-gradient(90deg,var(--bg) 0%,color-mix(in srgb,var(--bg) 92%,transparent) 25%,color-mix(in srgb,var(--bg) 56%,transparent) 51%,color-mix(in srgb,var(--bg) 20%,transparent) 72%,color-mix(in srgb,var(--bg) 8%,transparent) 100%),linear-gradient(0deg,var(--bg) 0%,color-mix(in srgb,var(--bg) 76%,transparent) 10%,transparent 38%),linear-gradient(180deg,rgba(0,0,0,.28),transparent 24%)}
.home-look-card{display:grid;grid-template-columns:minmax(430px,1.3fr) minmax(280px,.7fr);gap:0;border:1px solid rgba(255,255,255,.1);border-radius:13px;overflow:hidden;background:var(--preview-bg,#050505);min-height:260px;box-shadow:0 24px 70px rgba(0,0,0,.28)}
.home-look-preview{position:relative;min-height:260px;overflow:hidden;background:linear-gradient(135deg,#232532,var(--preview-bg,#050505))}
.home-look-preview img{position:absolute;inset:-4%;width:108%;height:108%;object-fit:cover;opacity:0;transition:opacity .3s ease;filter:saturate(1.08)}
.home-look-preview img.loaded{opacity:.9}
.home-look-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.16),rgba(0,0,0,.04) 48%,var(--preview-bg,#050505) 100%),linear-gradient(0deg,var(--preview-bg,#050505),transparent 55%)}
.home-look-copy{position:absolute;left:24px;right:24px;bottom:22px;display:grid;gap:4px;text-shadow:0 3px 18px #000}
.home-look-copy strong{font-size:clamp(28px,3vw,48px);letter-spacing:-.055em;line-height:.94;max-width:12ch}
.home-look-copy small{font-size:11px;color:#d1d3da;max-width:44ch}
.home-look-controls{padding:24px 24px 20px;background:linear-gradient(135deg,color-mix(in srgb,var(--preview-bg,#050505) 92%,#171923),var(--preview-bg,#050505));display:flex;flex-direction:column;justify-content:center}
.home-look-controls h3{font-size:27px;letter-spacing:-.045em;margin:6px 0 7px}.home-look-controls p{margin:0 0 16px;color:#a2a5ae;font-size:12px;line-height:1.5}
.colour-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.colour-row input[type=color]{width:52px;height:42px;padding:3px;border-radius:8px;border:1px solid rgba(255,255,255,.13);background:#111;cursor:pointer}.colour-row input[type=text]{width:94px;height:42px;border-radius:8px;border:1px solid rgba(255,255,255,.13);background:#0f1014;color:#fff;padding:0 10px;font-weight:800;text-transform:uppercase}.metadata-note{display:block;margin-top:13px;color:#6f7480;font-size:9px;line-height:1.45;word-break:break-all}
@media(max-width:900px){.home-look-card{grid-template-columns:1fr}.home-look-preview{min-height:230px}}

/* v0.2.9 durable storage restore */
.restoring-page{min-height:calc(100vh - 72px);display:grid;place-items:center;padding:48px;background:var(--swoop-bg,#050505)}
.restore-card{width:min(760px,92vw);padding:56px;border:1px solid rgba(255,255,255,.14);border-radius:28px;background:linear-gradient(145deg,rgba(22,24,34,.98),rgba(8,9,13,.98));box-shadow:0 35px 100px rgba(0,0,0,.55);text-align:center}
.restore-card .provider-spinner{margin:0 auto 28px}
.restore-card h1{font-size:clamp(34px,5vw,64px);line-height:.98;margin:12px 0 20px}
.restore-card p{font-size:18px;line-height:1.6;color:var(--muted);max-width:650px;margin:0 auto}

/* v0.3.1 — backdrop visibility + title-logo hierarchy */
.detail-hero{min-height:760px;background:var(--swoop-bg,#050505)}
.detail-backdrop{inset:-3%;width:106%;height:106%;object-position:center 30%;filter:saturate(1.12) contrast(1.02);transform:scale(1.015)}
.detail-backdrop.loaded{opacity:.88}
.detail-vignette{background:
  linear-gradient(90deg,rgba(5,5,5,.98) 0%,rgba(5,5,5,.90) 24%,rgba(5,5,5,.48) 52%,rgba(5,5,5,.12) 78%,rgba(5,5,5,.08) 100%),
  linear-gradient(0deg,var(--swoop-bg,#050505) 0%,rgba(5,5,5,.78) 10%,rgba(5,5,5,.08) 44%),
  linear-gradient(180deg,rgba(0,0,0,.44),transparent 24%)}
.detail-copy{padding-bottom:90px}
.detail-title-logo{display:block;max-width:min(500px,38vw);max-height:190px;object-fit:contain;object-position:left center;margin:0 0 19px;opacity:0;filter:drop-shadow(0 8px 28px rgba(0,0,0,.65));transition:opacity .3s ease}
.detail-title-logo.loaded{opacity:1}
.detail-text-title-with-logo{font-size:clamp(42px,5.3vw,76px)!important;max-width:13ch!important;margin-top:2px!important}
.detail-media:after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 77% 42%,transparent 0%,transparent 24%,rgba(0,0,0,.08) 48%,rgba(0,0,0,.26) 100%)}

@media(max-width:760px){
  .detail-hero{min-height:690px}
  .detail-title-logo{max-width:70vw;max-height:125px;margin-bottom:14px}
  .detail-text-title-with-logo{font-size:clamp(38px,12vw,62px)!important}
  .detail-backdrop{object-position:62% 22%}
}


/* v0.3.1 — keep the fallback behind genuine cinematic artwork. */
.detail-media{z-index:0}
.detail-fallback{z-index:0}
.detail-backdrop{z-index:1}
.detail-media:after{z-index:2}
.detail-vignette{z-index:3}
.detail-title-logo{max-width:min(580px,44vw);max-height:220px;margin-bottom:22px}
@media(max-width:700px){.detail-title-logo{max-width:78vw;max-height:150px}}
