:root{--theme-radius:15px;--theme-card-shadow:none}
.theme-launch{position:static;z-index:auto;width:38px;height:38px;padding:0!important;display:grid;place-items:center}.theme-launch svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8}.player-mode .theme-launch{display:none!important}
#theme-dialog{width:min(940px,94vw);max-height:88vh}#theme-dialog form{padding:26px}.theme-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:20px}.theme-choice{position:relative;display:grid;grid-template-columns:112px minmax(0,1fr);gap:15px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:14px;background:#0c1015;color:var(--text);text-align:left;cursor:pointer}.theme-choice:hover{border-color:#ff861b88;background:#12171e}.theme-choice.active{border-color:#ff861b;box-shadow:0 0 0 2px #ff861b25}.theme-choice.active:after{content:'SELECTED';position:absolute;right:10px;top:9px;color:#ff9b42;font-size:8px;font-weight:900;letter-spacing:.12em}.theme-choice strong,.theme-choice small{display:block}.theme-choice small{margin-top:5px;color:var(--muted);line-height:1.35}.theme-preview{height:72px;border-radius:9px;overflow:hidden;border:1px solid #343a44;background:#090c10;display:grid;grid-template-columns:18px 1fr;padding:6px;gap:5px}.theme-preview i{background:#161b22;border-radius:4px}.theme-preview span{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;align-items:end}.theme-preview b{display:block;height:80%;border-radius:4px;background:linear-gradient(145deg,#ff861b,#2a303a)}.theme-choice[data-theme=spotlight] .theme-preview{grid-template-columns:1fr;grid-template-rows:10px 1fr}.theme-choice[data-theme=spotlight] .theme-preview span{grid-template-columns:repeat(3,1fr)}.theme-choice[data-theme=control] .theme-preview span{align-items:stretch}.theme-choice[data-theme=control] .theme-preview b{height:auto;clip-path:polygon(0 0,85% 0,100% 15%,100% 100%,0 100%)}.theme-choice[data-theme=editorial] .theme-preview{background:#15110e}.theme-choice[data-theme=editorial] .theme-preview b{border-radius:0;box-shadow:3px 3px #ff861b66}.theme-choice[data-theme=orbit] .theme-preview{grid-template-columns:10px 1fr}.theme-choice[data-theme=orbit] .theme-preview b{height:58%;border-radius:15px}.theme-choice[data-theme=mosaic] .theme-preview span{grid-template-columns:1.4fr 1fr 1.4fr}.theme-choice[data-theme=mosaic] .theme-preview b:nth-child(2){height:55%;border-radius:12px 12px 2px 2px}

/* Shared theme plumbing: the real feature DOM remains unchanged. */
html[data-theme] body,html[data-theme] aside,html[data-theme] main,html[data-theme] .panel,html[data-theme] .card,html[data-theme] .library-card,html[data-theme] .continue-card>div,html[data-theme] dialog{transition:background-color .22s,border-color .22s,border-radius .22s,box-shadow .22s,transform .22s}

/* A — Cinema Deck: polished glass, standard poster proportions. */
html[data-theme=cinema]{--bg:#07090c;--panel:#0e1218;--panel2:#151a22;--line:#2b323c}
html[data-theme=cinema] body{background:radial-gradient(circle at 72% -10%,#ff861b16,transparent 30%),#07090c}
html[data-theme=cinema] aside{background:#080b10cc;backdrop-filter:blur(20px);box-shadow:18px 0 55px #0005}
html[data-theme=cinema] .panel,html[data-theme=cinema] .card,html[data-theme=cinema] .library-toolbar,html[data-theme=cinema] .jf-season{border-color:#ffffff18;background:linear-gradient(145deg,#171c24dd,#0d1117e8);box-shadow:0 16px 38px #0005;border-radius:20px}
html[data-theme=cinema] .library-card .library-poster{border-radius:17px;border:1px solid #ffffff1c;box-shadow:0 16px 34px #0008}
html[data-theme=cinema] .library-card:hover .library-poster{border-color:#ff861b99;box-shadow:0 20px 40px #000b,0 0 24px #ff861b19}
html[data-theme=cinema] .continue-card>div{border-radius:18px;box-shadow:0 14px 30px #0007}

/* B — Spotlight: horizontal navigation and wide cinematic artwork. */
html[data-theme=spotlight] body{display:block;background:#06080b;padding-top:88px}
html[data-theme=spotlight] aside{position:fixed;z-index:50;left:0;right:0;top:0;width:100%;height:88px;padding:12px 28px;display:flex;flex-direction:row;align-items:center;border:0;border-bottom:1px solid #252b34;background:#07090de8;backdrop-filter:blur(18px)}
html[data-theme=spotlight] .brand{margin:0 38px 0 0;min-height:0!important}html[data-theme=spotlight] .brand .brandmark,html[data-theme=spotlight] .brand .brandmark img{width:52px!important;height:52px!important}html[data-theme=spotlight] .brand strong{font-size:28px!important}
html[data-theme=spotlight] aside nav{display:flex;gap:5px;align-items:center}html[data-theme=spotlight] aside nav button{width:auto;padding:11px 14px}html[data-theme=spotlight] aside .links{display:none!important}
html[data-theme=spotlight] main{padding:28px 4vw 50px;overflow:hidden}html[data-theme=spotlight] main>header{min-height:55px;margin-bottom:18px}
html[data-theme=spotlight] .library-card-grid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:25px 18px}html[data-theme=spotlight] .library-card .library-poster{aspect-ratio:16/9;border-radius:17px}html[data-theme=spotlight] .library-card .library-poster img{height:100%;object-fit:cover}html[data-theme=spotlight] .library-card-copy{margin-top:-62px;position:relative;z-index:2;padding:28px 14px 12px;background:linear-gradient(transparent,#07090cf2 45%)}
html[data-theme=spotlight] .poster-strip{grid-auto-columns:minmax(310px,390px)}html[data-theme=spotlight] .poster-strip .library-poster{aspect-ratio:16/9}html[data-theme=spotlight] .continue-strip{grid-auto-columns:minmax(360px,460px)}
html[data-theme=spotlight] .panel{border-radius:18px;background:#0e1218}

/* C — Control Grid: compact square modules and clipped technical edges. */
html[data-theme=control]{--bg:#080b0f;--panel:#10151c;--panel2:#151b24;--line:#343c48}
html[data-theme=control] body{grid-template-columns:205px 1fr;background:linear-gradient(135deg,#ff861b0c,transparent 24%),#080b0f}
html[data-theme=control] aside{background:#0b0f14}html[data-theme=control] main{padding:32px 34px}
html[data-theme=control] .panel,html[data-theme=control] .card,html[data-theme=control] .library-toolbar,html[data-theme=control] .jf-season{border-radius:4px;clip-path:polygon(0 0,calc(100% - 15px) 0,100% 15px,100% 100%,0 100%);box-shadow:inset 3px 0 #ff861b;background:#111720}
html[data-theme=control] .library-card-grid{grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:16px}html[data-theme=control] .library-card .library-poster{aspect-ratio:1;border-radius:5px;clip-path:polygon(0 0,88% 0,100% 12%,100% 100%,0 100%)}html[data-theme=control] .library-card .library-poster img{height:100%;object-fit:cover}html[data-theme=control] .library-card-copy strong{text-transform:uppercase;letter-spacing:.035em;font-size:12px}html[data-theme=control] .library-card-copy span{border-left:2px solid #ff861b;padding-left:6px}
html[data-theme=control] button,html[data-theme=control] input,html[data-theme=control] select{border-radius:4px}html[data-theme=control] .calendar-day,html[data-theme=control] .calendar-event{border-radius:2px}

/* D — Editorial: warm ink, sharp paper edges and serif display type. */
html[data-theme=editorial]{--bg:#0e0c0b;--panel:#151210;--panel2:#1b1714;--line:#4b392d;--muted:#aa9280}
html[data-theme=editorial] body{background:radial-gradient(circle at 80% 0,#ff861b0d,transparent 28%),#0e0c0b}html[data-theme=editorial] aside{background:#110e0c;border-color:#4b392d}
html[data-theme=editorial] h1,html[data-theme=editorial] h2,html[data-theme=editorial] h3,html[data-theme=editorial] .library-card-copy strong{font-family:Georgia,'Times New Roman',serif;font-weight:500;letter-spacing:-.025em}
html[data-theme=editorial] .panel,html[data-theme=editorial] .card,html[data-theme=editorial] .library-toolbar,html[data-theme=editorial] dialog{border-radius:1px;border-color:#5a4434;background:#16120f;box-shadow:8px 8px 0 #080706}
html[data-theme=editorial] .library-card-grid{gap:32px 23px}html[data-theme=editorial] .library-card .library-poster{border-radius:1px;border:1px solid #9b7252;box-shadow:7px 8px 0 #26170e,8px 9px 0 #ff861b55;filter:sepia(.12)}html[data-theme=editorial] .library-card:hover .library-poster{transform:translate(-3px,-5px);box-shadow:12px 14px 0 #26170e,13px 15px 0 #ff861b88}html[data-theme=editorial] .library-card-copy{padding-top:8px;border-bottom:3px double #5a4434;padding-bottom:12px}
html[data-theme=editorial] button,html[data-theme=editorial] input,html[data-theme=editorial] select{border-radius:1px}

/* E — Orbit: narrow icon rail and oversized panoramic cards. */
html[data-theme=orbit]{--bg:#050608;--panel:#0c1015;--panel2:#141922;--line:#2b323d}
html[data-theme=orbit] body{grid-template-columns:96px 1fr}html[data-theme=orbit] aside{padding:18px 12px;align-items:center;background:#080b10}html[data-theme=orbit] .brand{margin:0 0 35px}html[data-theme=orbit] .brand>div,html[data-theme=orbit] nav span,html[data-theme=orbit] aside .links{display:none!important}html[data-theme=orbit] aside nav{width:100%}html[data-theme=orbit] aside nav button{height:52px;padding:0;display:grid;place-items:center;border-radius:50%}html[data-theme=orbit] aside nav svg{width:20px!important;height:20px!important;margin:0!important}html[data-theme=orbit] aside nav button.active{background:#ff861b;color:#160d04}
html[data-theme=orbit] main{padding:35px 3vw 50px}html[data-theme=orbit] .library-card-grid{grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:23px}html[data-theme=orbit] .library-card .library-poster{aspect-ratio:2/1;border-radius:26px;box-shadow:18px 20px 42px #0009}html[data-theme=orbit] .library-card .library-poster img{height:100%;object-fit:cover}html[data-theme=orbit] .library-card-copy{display:flex;justify-content:space-between;gap:12px;padding:2px 13px}html[data-theme=orbit] .panel,html[data-theme=orbit] .library-toolbar,html[data-theme=orbit] .jf-season{border-radius:27px;background:linear-gradient(145deg,#171d26,#090c11);box-shadow:16px 18px 40px #0007}
html[data-theme=orbit] .poster-strip{grid-auto-columns:minmax(340px,420px)}html[data-theme=orbit] .poster-strip .library-poster{aspect-ratio:2/1}html[data-theme=orbit] .continue-strip{grid-auto-columns:minmax(390px,500px)}

/* F — Mosaic: mixed card scale and assertive offset edges. */
html[data-theme=mosaic]{--bg:#090b0f;--panel:#0e1217;--panel2:#171b22;--line:#39404a}
html[data-theme=mosaic] body{background:linear-gradient(120deg,#ff861b0e,transparent 18%),#090b0f}html[data-theme=mosaic] main{padding:32px 38px}
html[data-theme=mosaic] .library-card-grid{grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-flow:dense;gap:22px}html[data-theme=mosaic] .library-card:nth-child(7n+1),html[data-theme=mosaic] .library-card:nth-child(7n+4){grid-column:span 2}html[data-theme=mosaic] .library-card:nth-child(7n+1) .library-poster,html[data-theme=mosaic] .library-card:nth-child(7n+4) .library-poster{aspect-ratio:4/3}html[data-theme=mosaic] .library-card .library-poster{border-radius:3px;border:2px solid #3a414c;box-shadow:7px 7px 0 #ff861b3d}html[data-theme=mosaic] .library-card:nth-child(3n+2) .library-poster{border-radius:34px 34px 3px 3px}html[data-theme=mosaic] .library-card:hover .library-poster{border-color:#ff861b;box-shadow:11px 11px 0 #ff861b77;transform:translate(-3px,-4px)}
html[data-theme=mosaic] .panel,html[data-theme=mosaic] .card,html[data-theme=mosaic] .library-toolbar{border-radius:5px;box-shadow:6px 6px 0 #0007}html[data-theme=mosaic] button,html[data-theme=mosaic] input,html[data-theme=mosaic] select{border-radius:5px}

@media(max-width:900px){.theme-grid{grid-template-columns:1fr}html[data-theme=spotlight] body{padding-top:72px}html[data-theme=spotlight] aside{height:72px;padding:8px 12px}html[data-theme=spotlight] aside nav{overflow-x:auto}html[data-theme=spotlight] aside nav button{padding:9px}html[data-theme=spotlight] aside nav span{display:none}html[data-theme=spotlight] .brand{margin-right:8px}html[data-theme=spotlight] .brand>div{display:none}html[data-theme=spotlight] main{padding:22px 14px}html[data-theme=orbit] body{grid-template-columns:70px 1fr}html[data-theme=mosaic] .library-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}html[data-theme=mosaic] .library-card:nth-child(n){grid-column:span 1}html[data-theme=orbit] .library-card-grid,html[data-theme=spotlight] .library-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
