:root { --bg:#080b13; --panel:#111827; --text:#f6f8fd; --muted:#aab6c9; --red:#82b7f4; --red-bright:#b7d7ff; --line:rgba(227,238,255,.14); --gutter:clamp(20px,4.6vw,76px); }
body { background:radial-gradient(ellipse at 70% 0,#171e3b 0,#080b13 36%); color:var(--text); font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif; }
.site-header { position:relative; min-height:78px; height:auto; padding:10px var(--gutter); gap:clamp(14px,2vw,32px); background:#0d1220ef; border-color:var(--line); }
.category-menu summary { min-height:42px; padding:8px 15px; border:1px solid #ffffff21; border-radius:9px; background:#ffffff0e; font-size:15px; }
.category-menu summary:hover,.category-menu[open] summary { background:#ffffff1e; }
.category-menu summary span { color:#c5d8f1; }
.category-list { top:calc(100% + 8px); background:#192338; border-color:#ffffff29; box-shadow:0 20px 55px #000b; }
.category-list a { font-weight:650; }
.header-sources { gap:4px; }
.header-source { padding:10px 14px; border:0; border-radius:8px; font-size:14px; }
.header-source:hover { background:#ffffff16; }
.header-source.selected { background:#e9f2ff; color:#10192a; border:0; }
.site-header .brand strong { font-size:16px; }
.site-header .brand small { font-size:11px; color:#aebbd0; letter-spacing:.14em; }
.profile-avatar { width:40px; height:40px; border-color:#ffffffad; }
.feature-hero,.section-hero { position:relative; isolation:isolate; display:flex; align-items:end; min-height:clamp(500px,57vw,690px); overflow:hidden; background:linear-gradient(115deg,#142450,#2f235c 70%,#121826); }
.feature-hero::before { content:""; position:absolute; z-index:-2; inset:0; background:var(--hero-image) center 32%/cover no-repeat; filter:saturate(1.08); }
.feature-hero::after,.section-hero::after { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,#0b1123 0,#0b1123ed 23%,#0b11239c 50%,#0b112316 90%),linear-gradient(0deg,#080b13,transparent 39%,#080d1a24); }
.feature-content,.section-hero-content { width:min(800px,100%); padding:70px var(--gutter) 88px; }
.hero-kicker { display:block; margin-bottom:clamp(65px,11vw,145px); color:#d3dff5; font-size:11px; font-weight:850; letter-spacing:.2em; text-transform:uppercase; }
.hero-tag { display:inline-flex; padding:8px 11px; border:1px solid #d2e5ff60; border-radius:5px; background:#d6e7ff1b; color:#e5f1ff; font-size:10px; font-weight:850; letter-spacing:.18em; }
.feature-hero h1,.section-hero h1 { max-width:780px; margin:18px 0; font-family:inherit; font-size:clamp(43px,6vw,88px); font-weight:750; line-height:.98; letter-spacing:-.065em; text-wrap:balance; text-shadow:0 4px 25px #0009; }
.hero-synopsis,.section-hero p { max-width:620px; margin:0; color:#e2e9f5; font-size:clamp(15px,1.5vw,18px); line-height:1.55; text-shadow:0 3px 15px #000c; }
.hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:18px 24px; margin-top:27px; }
.primary-action { display:inline-flex; align-items:center; gap:19px; min-height:48px; padding:11px 19px; border-radius:7px; background:#ebf3ff; color:#111a2b; font-weight:850; }
.primary-action:hover { background:#fff; transform:translateY(-2px); }
.primary-action span { font-size:19px; font-weight:400; }
.hero-stat { color:#dce7f7; font-size:13px; font-weight:700; }
.section-hero { min-height:390px; background:radial-gradient(circle at 80% 36%,#6575aa,transparent 33%),linear-gradient(110deg,#142149,#302b63 60%,#151a30); }
.section-hero--games { background:radial-gradient(circle at 80% 36%,#776eea,transparent 33%),linear-gradient(110deg,#122d40,#302862 60%,#171527); }
.section-hero--books { background:radial-gradient(circle at 80% 36%,#b98964,transparent 33%),linear-gradient(110deg,#23323b,#51424b 60%,#1a2029); }
.section-hero--audiobooks { background:radial-gradient(circle at 80% 36%,#ba8d6b,transparent 33%),linear-gradient(110deg,#152935,#503845 60%,#191b2c); }
.section-hero--music { background:radial-gradient(circle at 80% 36%,#ca7495,transparent 33%),linear-gradient(110deg,#231d45,#563150 60%,#181627); }
.section-hero::after { background:linear-gradient(0deg,#080b13,transparent 49%),linear-gradient(90deg,#0b1123aa,transparent 82%); }
.section-art { position:absolute; z-index:-1; right:5%; top:7%; display:flex; align-items:center; gap:22px; height:85%; transform:rotate(-8deg); opacity:.78; }
.section-art img { width:clamp(170px,16vw,270px); height:clamp(235px,24vw,390px); border:1px solid #ffffff5a; border-radius:14px; object-fit:cover; box-shadow:0 28px 70px #000b; }
.section-hero--music .section-art img,.section-hero--audiobooks .section-art img { width:clamp(190px,20vw,330px); height:clamp(190px,20vw,330px); }
.section-art img:nth-child(2) { transform:translateY(-28px) rotate(10deg); }
.section-art img:nth-child(3) { transform:translateY(34px) rotate(-4deg); }
.section-hero-content { padding-bottom:58px; }
.section-hero .hero-kicker { margin-bottom:30px; }
.section-hero h1 { font-size:clamp(48px,6vw,75px); }
.catalog { max-width:1800px; padding:10px 0 95px; }
.browse-heading { display:flex; align-items:end; justify-content:space-between; gap:20px; padding:30px var(--gutter) 18px; }
.browse-heading .eyebrow { color:#8caede; }
.browse-heading h2 { margin:0; font-size:clamp(27px,2.7vw,38px); letter-spacing:-.04em; }
.result-count { padding-bottom:5px; color:var(--muted); font-size:13px; white-space:nowrap; }
.catalog-toolbar { display:flex; align-items:stretch; gap:12px; padding:0 var(--gutter) 12px; }
.search { display:flex; width:min(620px,100%); min-width:0; min-height:50px; gap:11px; padding:5px 5px 5px 16px; border:1px solid var(--line); border-radius:9px; background:#182134; box-shadow:none; }
.search span { color:#b8c9df; transform:none; }
.search input { flex:1; min-width:0; }
.search button,.genre-select button { min-height:38px; padding:8px 15px; border:0; border-radius:6px; background:#dceaff; color:#142038; font-size:13px; font-weight:850; cursor:pointer; }
.search button:hover,.genre-select button:hover { background:#fff; }
.genre-select { display:flex; align-items:center; gap:8px; min-height:50px; padding:5px 5px 5px 13px; border:1px solid var(--line); border-radius:9px; background:#182134; }
.genre-select label { color:#b6c3d7; font-size:12px; font-weight:750; }
.genre-select select { min-width:155px; max-width:205px; padding:8px 7px; border:0; background:transparent; color:#fff; cursor:pointer; }
.genre-select option { background:#182134; color:#fff; }
.clear-filter { margin:5px var(--gutter) 12px; color:#bed9ff; font-weight:750; }
.shelf { margin-top:28px; }
.shelf-heading { padding:0 var(--gutter) 10px; }
.shelf-heading h2 { font-size:clamp(21px,2.3vw,29px); font-weight:700; }
.shelf-controls button { width:34px; height:34px; background:#ffffff0e; }
.shelf-controls button:hover { background:#ffffff30; }
.movie-row { gap:clamp(12px,1.35vw,22px); padding:9px var(--gutter) 20px; scroll-padding-inline:var(--gutter); scroll-snap-type:x proximity; }
.movie-card { flex-basis:clamp(145px,13.3vw,210px); }
.poster { border:1px solid #ffffff18; border-radius:10px; background:#222b3c; box-shadow:0 10px 30px #0006; }
.square-card { flex-basis:clamp(170px,17vw,260px); }
.square-card .poster { aspect-ratio:1/1; }
.poster-overlay { background:linear-gradient(transparent 43%,#02050be0); }
.poster-overlay span { border-radius:6px; background:#ffffff22; font-weight:750; }
.card-copy { padding-top:10px; }
.card-copy h3 { font-weight:750; }
.service-badge { width:27px; height:22px; border-radius:5px; background:#e8edf4; }
.item-source { display:inline-flex; padding:3px 7px; border:1px solid #ffffff23; border-radius:4px; color:#bfcee3; font-size:10px; font-weight:750; }
.detail-hero { background:#0b1020; }
.detail-hero::before { opacity:.43; }
.detail-shade { background:linear-gradient(90deg,#080b13 4%,#080b13d9 47%,#080b1385),linear-gradient(0deg,#080b13,transparent 72%); }
.detail-copy h1,.poster-picker-page h1 { font-family:inherit; font-weight:750; }
.watch-button { border-radius:8px; background:#edf3fb; }
.cover-link { border-radius:7px; }
.metadata-form button,.default-poster-form button,.poster-password button { background:#dceaff; color:#142038; }
footer { color:#8894aa; }

@media(max-width:900px) {
 .site-header { flex-wrap:wrap; gap:8px 12px; padding-block:10px; }
 .category-menu { order:1; }
 .site-header .brand { order:2; }
 .header-sources { order:3; flex-basis:100%; margin-inline:-6px; }
 .header-source { padding:9px 11px; }
 .feature-hero { min-height:530px; }
 .feature-content { padding-bottom:60px; }
 .feature-hero::after { background:linear-gradient(90deg,#0b1123ee,#0b11236e 75%),linear-gradient(0deg,#080b13,transparent 55%); }
 .hero-kicker { margin-bottom:65px; }
 .catalog-toolbar { flex-wrap:wrap; }
 .search { width:100%; }
}
@media(max-width:600px) {
 .site-header { min-height:0; }
 .category-menu summary { min-height:38px; font-size:13px; }
 .site-header .brand strong { max-width:105px; font-size:14px; }
 .site-header .brand small { font-size:9px; display:block; }
 .profile-avatar { width:35px; height:35px; }
 .feature-hero { min-height:515px; }
 .feature-hero::before { background-position:56% center; opacity:.68; }
 .feature-content { padding-block:48px 51px; }
 .hero-kicker { margin-bottom:100px; font-size:10px; }
 .feature-hero h1 { font-size:clamp(38px,11vw,55px); }
 .hero-synopsis { display:-webkit-box; overflow:hidden; -webkit-line-clamp:3; -webkit-box-orient:vertical; font-size:14px; }
 .hero-stat { font-size:11px; }
 .section-hero { min-height:350px; }
 .section-art { right:-31%; opacity:.34; }
 .section-hero-content { padding-bottom:43px; }
 .section-hero .hero-kicker { margin-bottom:33px; }
 .browse-heading { padding-top:24px; }
 .result-count { font-size:11px; }
 .genre-select { width:100%; }
 .genre-select select { flex:1; }
 .search { grid-template-columns:none; }
 .search button { grid-column:auto; width:auto; }
 .movie-card { flex-basis:37vw; }
 .square-card { flex-basis:49vw; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition-duration:.01ms!important; animation-duration:.01ms!important; } }
