:root { color-scheme: dark; font-family: Inter, ui-sans-serif, system-ui, sans-serif; background: #0b1020; color: #eef2ff; }
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; display: grid; place-items: center; background: radial-gradient(circle at 20% 0%, #273568 0, transparent 38%), #0b1020; }
.shell { width: min(760px, calc(100% - 2rem)); padding: 4rem 0; }
.eyebrow { color: #9facff; font-size: .78rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
h1 { margin: .4rem 0 1rem; font-size: clamp(2.4rem, 8vw, 5rem); line-height: .98; letter-spacing: -.055em; }
.lead { max-width: 650px; color: #b8c0d9; font-size: clamp(1rem, 2vw, 1.25rem); line-height: 1.65; }
.status { display: flex; gap: .9rem; align-items: center; margin-top: 2.5rem; padding: 1rem 1.2rem; border: 1px solid #2b3659; border-radius: 14px; background: rgb(18 26 49 / 72%); }
.status__dot { width: .7rem; height: .7rem; flex: none; border-radius: 50%; background: #67e8a5; box-shadow: 0 0 0 .3rem rgb(103 232 165 / 12%); }
.status span { color: #98a3c0; }

/* Homepage: all typography and artwork are served locally. */
body.homepage { display: block; background: radial-gradient(ellipse at 80% 0%, #222741 0, transparent 35%), #10121b; }
.homepage a { color: inherit; text-decoration: none; }
.homepage a:focus-visible, .homepage button:focus-visible, .homepage input:focus-visible { outline: 3px solid #b6a0ff; outline-offset: 4px; }
.home-header, .home-shell { width: min(1320px, calc(100% - 4rem)); margin: auto; }
.home-header { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding: 1.8rem 0; border-bottom: 1px solid #ffffff14; }
.home-brand { font-weight: 800; letter-spacing: .15em; font-size: 1rem; }
.home-brand span { display: block; margin-top: .4rem; color: #969bab; font-size: .7rem; font-weight: 400; letter-spacing: .05em; }
.home-header nav { display: flex; gap: 1.6rem; font-size: .9rem; color: #c4c6d3; }
.home-header nav a:hover { color: #c1afff; }
.home-intro { padding: 4rem 0 3rem; }
.home-intro h1 { max-width: 780px; font-size: clamp(2.3rem, 5vw, 4.6rem); line-height: 1.07; }
.home-intro .eyebrow { color: #b8a4ff; }
.home-search { display: flex; max-width: 700px; gap: .6rem; margin-top: 2rem; }
.home-search input { min-width: 0; flex: 1; background: #1c1f2b; border: 1px solid #3b3d50; border-radius: 9px; padding: 1rem; color: #fff; font: inherit; }
.home-search button { background: #bda6ff; color: #181122; border: 0; padding: 1rem 1.5rem; border-radius: 9px; font: inherit; font-weight: 700; cursor: pointer; }
.home-search button:hover { background: #d2c1ff; }
.home-local { color: #9a9dac; font-size: .8rem; margin-top: 1.2rem; }
.home-local span { color: #8accad; padding-right: .4rem; }
.home-section { padding: 1.5rem 0 2.2rem; scroll-margin-top: 1rem; }
.section-heading { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; margin-bottom: 1.1rem; }
.section-heading h2 { margin: 0; font-size: clamp(1.3rem, 3vw, 1.7rem); letter-spacing: -.03em; }
.section-heading > span { font-size: .8rem; color: #9a9dac; white-space: nowrap; }
.section-note { color: #a5a8b8; font-size: .85rem; margin: -.3rem 0 1.2rem; }
.title-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.5rem; }
.title-card { min-width: 0; }
.title-art { position: relative; overflow: hidden; border-radius: 10px; aspect-ratio: 2 / 3; background: #202332; border: 1px solid #ffffff10; }
.title-art img { width: 100%; height: 100%; object-fit: cover; display: block; }
.title-card a:hover .title-art { border-color: #b6a0ff; }
.title-card h3 { font-size: 1rem; line-height: 1.4; margin: .8rem 0 .3rem; overflow-wrap: anywhere; }
.title-card p { color: #a5a8b8; font-size: .78rem; line-height: 1.6; margin: 0; }
.poster-placeholder { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 1rem; height: 100%; color: #9498ae; background: linear-gradient(145deg, #2b2e43, #191c28); font-size: .75rem; text-align: center; padding: 1rem; }
.poster-placeholder > span:first-child { font-size: 2.5rem; color: #727993; }
.rating-badge { position: absolute; left: .7rem; bottom: .7rem; padding: .4rem .5rem; border-radius: 5px; background: #12131eee; color: #f4dc90; font-size: .72rem; font-weight: 700; }
.home-empty { border: 1px dashed #373a4c; border-radius: 10px; padding: 1.7rem; color: #a8adbf; }
.home-empty p { margin: 0 0 .6rem; }
.home-empty a { color: #c0acff; font-size: .85rem; }
.home-footer { border-top: 1px solid #ffffff14; color: #969bab; padding: 2rem 0; font-size: .8rem; }
.catalog-header{position:relative;z-index:20}.catalog-intro{padding:3rem 0 2rem}.catalog-intro h1{font-size:clamp(2.5rem,6vw,5rem)}.catalog-toolbar{position:sticky;z-index:15;top:0;margin:0 0 2rem;padding:.8rem;background:#10121bf2;border:1px solid #ffffff18;border-radius:12px;box-shadow:0 12px 35px #0007;backdrop-filter:blur(14px)}.alphabet-nav{display:flex;gap:.25rem;overflow-x:auto;padding-bottom:.7rem;scrollbar-width:thin}.alphabet-nav a{display:grid;place-items:center;flex:0 0 32px;height:32px;border-radius:6px;color:#a9adbb;font-size:.75rem}.alphabet-nav a:first-child{flex-basis:48px}.alphabet-nav a:hover,.alphabet-nav a.active{background:#bda6ff;color:#181122;font-weight:800}.catalog-filters{display:grid;grid-template-columns:1.2fr .8fr .8fr 1.5fr auto;gap:.65rem;align-items:end;border-top:1px solid #ffffff12;padding-top:.75rem}.catalog-filters label{display:grid;gap:.3rem;color:#9ea2b2;font-size:.68rem}.catalog-filters select,.catalog-filters input{width:100%;min-width:0;border:1px solid #363a4c;border-radius:7px;background:#181b27;color:#f2f2f5;padding:.62rem;font:inherit;font-size:.78rem}.catalog-filters button{border:0;border-radius:7px;background:#bda6ff;color:#181122;padding:.68rem 1rem;font-weight:800}.catalog-filters>a{grid-column:1/-1;color:#b9a5f7;font-size:.72rem}.catalog-pagination{display:flex;justify-content:center;align-items:center;gap:1.2rem;margin:3rem 0;color:#a8acbb}.catalog-pagination a{padding:.7rem 1rem;border:1px solid #ffffff22;border-radius:7px}.catalog-pagination a:hover{border-color:#bda6ff;color:#d4c7ff}
.statistics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}.statistics-table{max-height:28rem;overflow:auto}.statistics-table table{width:100%;border-collapse:collapse;font-size:.9rem}.statistics-table th,.statistics-table td{padding:.7rem;border-bottom:1px solid #ffffff18;text-align:left;overflow-wrap:anywhere}.statistics-table td{text-align:right;font-variant-numeric:tabular-nums}.statistics-table thead{background:#191d2b}.statistics-table tbody th{font-weight:400}.admin-stat-grid small{color:#a8adbf}
@media(max-width:900px){.catalog-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.statistics-grid{grid-template-columns:1fr}.catalog-toolbar{max-height:45vh;overflow:auto}.catalog-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
.rating-history>summary{font-size:1.35rem;font-weight:700;cursor:pointer;margin-bottom:1.2rem}.rating-history summary:focus-visible{outline:3px solid #bda6ff;outline-offset:4px}.rating-history-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.rating-history-provider{min-width:0;padding:1rem;background:#171a24;border-radius:10px;--chart-color:#a997ff}.rating-history-imdb{--chart-color:#f4d35e}.rating-history-trakt{--chart-color:#ff7d8c}.rating-history-provider h3{color:var(--chart-color)}.rating-history svg{display:block;width:100%;height:auto}.rating-history svg text{fill:#c8ccda;font-size:14px}.rating-history-line{stroke:var(--chart-color)}.rating-history-point{fill:var(--chart-color)}.rating-history .source-table{max-height:20rem;overflow:auto}.rating-history-provider>details>summary{cursor:pointer}
@media(max-width:1000px){.rating-history-grid{grid-template-columns:1fr}}
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
@media (min-width: 1150px) { .title-grid { grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 1rem; } }
@media (max-width: 640px) {
    .home-header, .home-shell { width: calc(100% - 2rem); }
    .home-header { align-items: flex-start; flex-direction: column; gap: 1.4rem; }
    .home-header nav { gap: 1.3rem; flex-wrap: wrap; }
    .home-intro { padding: 2.5rem 0 1.5rem; }
    .home-search button { padding: .8rem; }
    .home-search input { font-size: .85rem; }
    .title-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.2rem; }
}

/* Movie detail */
body.detail-page { display: block; background: #0d1018; color: #f5f3f7; }
.detail-page a { color: inherit; text-decoration: none; }
.detail-header, .detail-shell { width: min(1180px, calc(100% - 3rem)); margin: auto; }
.detail-header { position: relative; z-index: 3; display: flex; justify-content: space-between; padding: 1.5rem 0; font-weight: 800; letter-spacing: .12em; }
.detail-header nav { display: flex; gap: 1.4rem; color: #c4c5ce; font-size: .8rem; font-weight: 500; letter-spacing: 0; }
.detail-backdrop { position: absolute; z-index: 0; inset: 0 0 auto; height: min(72vh, 720px); overflow: hidden; pointer-events: none; }
.detail-backdrop::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, #0d1018 0%, #0d1018bf 42%, #0d10184d), linear-gradient(0deg, #0d1018 0%, transparent 65%); }
.detail-backdrop img { width: 100%; height: 100%; object-fit: cover; opacity: .65; }
.detail-shell { position: relative; z-index: 1; padding-bottom: 4rem; }
.detail-hero { display: grid; grid-template-columns: 250px minmax(0, 680px); gap: 3rem; align-items: start; min-height: 560px; padding: 4rem 0; }
.detail-poster { aspect-ratio: 2/3; border-radius: 12px; overflow: hidden; box-shadow: 0 22px 60px #0009; background: #202332; }
.detail-poster > img { width: 100%; height: 100%; display: block; object-fit: cover; }
.detail-intro h1 { font-size: clamp(2.8rem, 7vw, 5.8rem); margin: .4rem 0 .7rem; letter-spacing: -.055em; line-height: .96; }
.original-title { color: #b5b6c0; font-size: 1.15rem; margin: 0 0 1rem; }
.detail-facts { color: #d1d2d9; font-size: .9rem; }
.genre-list { display: flex; flex-wrap: wrap; gap: .5rem; }
.genre-list span { border: 1px solid #ffffff35; border-radius: 999px; padding: .35rem .7rem; font-size: .73rem; background: #11131aa8; }
.detail-intro blockquote { margin: 1.7rem 0 1rem; color: #d4c1ff; font-size: 1.15rem; font-style: italic; }
.overview { color: #d2d3da; line-height: 1.8; max-width: 68ch; }
.detail-layout { display: grid; grid-template-columns: minmax(0, 2fr) minmax(260px, 1fr); gap: 3.5rem; }
.detail-section { padding: 1.5rem 0 2.3rem; border-top: 1px solid #ffffff1c; }
.detail-section h2 { margin: 0 0 1.3rem; font-size: 1.35rem; }
.detail-list { display: grid; grid-template-columns: 100px 1fr; gap: .8rem 1rem; }
.detail-list dt, .stacked-list dt { color: #898d9e; font-size: .78rem; }
.detail-list dd { margin: 0; }
.detail-list dd a:not(:last-child)::after { content: ', '; color: #7b7e8b; }
.cast-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: .7rem; }
.cast-grid article, .trailer-list article { display: flex; flex-direction: column; gap: .35rem; padding: 1rem; border-radius: 8px; background: #171a24; }
.cast-photo{display:block;width:100%;/*aspect-ratio:1/1;*/overflow:hidden;border-radius:6px;margin-bottom:.45rem;background:#25293a}.cast-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 20%}
.cast-grid span, .trailer-list span, .trailer-list a, .muted { color: #9296a7; font-size: .8rem; }
.trailer-list { display: grid; gap: .7rem; }
.trailer-list article { flex-direction: row; align-items: center; flex-wrap: wrap; }
.trailer-list strong { flex: 1; min-width: 180px; }
.trailer-list a { color: #c5afff; }
.ratings-list { display: grid; gap: .6rem; }
.ratings-list article { display: grid; grid-template-columns: 1fr auto; padding: 1rem; border: 1px solid #ffffff12; border-radius: 8px; }
.ratings-list span { color: #f0d98e; font-weight: 700; }
.ratings-list small { grid-column: 1 / -1; color: #858999; margin-top: .4rem; }
.stacked-list { margin: 0; }.stacked-list dd { margin: .3rem 0 1.1rem; color: #d6d7dd; line-height: 1.5; }
.external-list { display: grid; grid-template-columns: auto 1fr; gap: .7rem 1rem; margin: 0; }
.external-list dt { color: #9296a7; font-size: .75rem; }.external-list dd { margin: 0; }
.external-list code { color: #d5c5ff; }
.admin-sources { margin-top: 2rem; }.admin-sources h2 span { margin-left: .5rem; color: #bdacff; font-size: .65rem; text-transform: uppercase; letter-spacing: .12em; }
.source-table { overflow-x: auto; }.source-table table { width: 100%; border-collapse: collapse; font-size: .8rem; }
.source-table th, .source-table td { padding: .8rem; border-bottom: 1px solid #ffffff12; text-align: left; white-space: nowrap; }
.source-table th { color: #969aaa; }
@media (max-width: 760px) {
    .detail-header, .detail-shell { width: calc(100% - 2rem); }
    .detail-hero { grid-template-columns: 110px 1fr; gap: 1.2rem; min-height: 430px; padding: 3rem 0 2rem; align-items: center; }
    .detail-intro h1 { font-size: clamp(2rem, 11vw, 3.4rem); }
    .detail-intro .overview { grid-column: 1 / -1; }
    .detail-facts { line-height: 1.7; }.genre-list { display: none; }
    .detail-layout { grid-template-columns: 1fr; gap: 0; }
    .cast-grid { grid-template-columns: repeat(2, 1fr); }
}
.series-stat-grid { display: grid; grid-template-columns: repeat(5,1fr); gap: .7rem; }
.series-stat-grid article { padding: 1rem; border: 1px solid #ffffff14; border-radius: 8px; background: #151822; }
.series-stat-grid span { display: block; color: #898d9e; font-size: .72rem; margin-bottom: .5rem; }
.series-stat-grid strong { font-size: .9rem; }
.season-grid { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 1rem; }
.season-card > div { display: grid; place-items: center; aspect-ratio: 2/3; overflow: hidden; border-radius: 8px; background: linear-gradient(145deg,#292d40,#171923); border: 1px solid #ffffff14; }
.season-card img { width: 100%;height: 100%;object-fit: cover; }.season-number{font-size: 2.8rem;color:#8d92a9;font-weight:800;}
.season-card h3 { margin: .7rem 0 .2rem; font-size: .9rem; }.season-card p{margin:0;color:#9296a7;font-size:.72rem;line-height:1.5;}
.season-card:hover > div { border-color: #b6a0ff; }
.season-page { padding-top: 4rem; }.season-page > h1 { font-size: clamp(2.5rem,7vw,5rem); margin:.5rem 0; }
.season-hero { display:grid;grid-template-columns:220px minmax(0,720px);gap:2.5rem;align-items:center;padding-bottom:3rem; }
.season-poster { aspect-ratio:2/3;border-radius:10px;overflow:hidden;background:#202332;box-shadow:0 18px 50px #0007; }
.season-poster > img { width:100%;height:100%;object-fit:cover;display:block; }
.season-hero h1 { font-size:clamp(2.5rem,7vw,5rem);line-height:1;margin:.5rem 0 1rem; }
.season-index { color:#aeb1bf;font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;margin:.6rem 0; }
.episode-list { display:grid;gap:1rem; }.episode-list article{display:grid;grid-template-columns:220px 1fr;gap:1.3rem;padding:1rem;background:#151822;border-radius:10px;}
.episode-list img,.episode-still{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:6px;background:#25293a;}.episode-still{display:grid;place-items:center;color:#9499ad;font-weight:800;}
.episode-list span{color:#9b9faf;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.episode-list h3{margin:.3rem 0}.episode-list p{color:#aeb1bf;font-size:.84rem;line-height:1.6;margin:.35rem 0;}
@media(max-width:760px){.series-stat-grid{grid-template-columns:repeat(2,1fr)}.season-grid{grid-template-columns:repeat(3,1fr)}.episode-list article{grid-template-columns:1fr}.season-page{padding-top:2rem}.season-hero{grid-template-columns:100px 1fr;gap:1.2rem;align-items:start}.season-hero .overview{grid-column:1/-1}.season-hero h1{font-size:clamp(2rem,10vw,3.3rem)}}
.episode-row h3 a:hover { color:#c5afff; }
.episode-page { padding-top:2.5rem; }
.episode-breadcrumb { display:flex;flex-wrap:wrap;gap:.55rem;color:#9da1b1;font-size:.78rem;margin-bottom:2.5rem; }
.episode-breadcrumb a:hover { color:#c5afff; }
.episode-hero { display:grid;grid-template-columns:minmax(320px,1.25fr) minmax(300px,1fr);gap:3rem;align-items:center;padding-bottom:3.5rem; }
.episode-main-still { aspect-ratio:16/9;overflow:hidden;border-radius:12px;background:#202332;box-shadow:0 20px 60px #0008; }
.episode-main-still > img,.episode-main-still > .episode-still { width:100%;height:100%;object-fit:cover; }
.episode-main-still > .episode-still { aspect-ratio:auto;font-size:2rem; }
.episode-index { color:#aeb1bf;font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;margin:.5rem 0; }
.episode-hero h1 { font-size:clamp(2.5rem,6vw,5rem);line-height:1;margin:.6rem 0 1rem; }
@media(max-width:760px){.episode-page{padding-top:1.5rem}.episode-hero{grid-template-columns:1fr;gap:1.5rem}.episode-hero h1{font-size:clamp(2.2rem,11vw,3.5rem)}}
.person-hero { display:grid;grid-template-columns:260px minmax(0,720px);gap:3.5rem;align-items:center;padding:4rem 0; }
.person-photo { aspect-ratio:2/3;overflow:hidden;border-radius:12px;background:#202332;box-shadow:0 22px 60px #0008; }
.person-photo > img { width:100%;height:100%;display:block;object-fit:cover; }
.person-hero h1 { font-size:clamp(3rem,8vw,6rem);line-height:.96;letter-spacing:-.055em;margin:.5rem 0 1rem; }
.person-facts { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:2rem; }
.person-facts div { border-left:2px solid #6e5ba5;padding-left:.8rem; }
.person-facts dt { color:#8f93a4;font-size:.72rem;margin-bottom:.35rem; }.person-facts dd{margin:0;font-size:.88rem;line-height:1.5;}
.person-biography .overview { max-width:75ch; }
.filmography-section h2 { display:flex;align-items:center;gap:.7rem; }.filmography-section h2 span{font-size:.7rem;color:#9b9faf;border:1px solid #ffffff22;border-radius:99px;padding:.25rem .5rem;}
.filmography-list { display:grid; }.filmography-list article{display:grid;grid-template-columns:70px 1fr;gap:1rem;padding:1rem 0;border-bottom:1px solid #ffffff12;}
.filmography-list time{color:#9498a8;font-variant-numeric:tabular-nums}.filmography-list h3{font-size:1rem;margin:0 0 .3rem}.filmography-list h3 a:hover{color:#c5afff}.filmography-list p{color:#989cab;font-size:.78rem;margin:.2rem 0;}
.local-note p { color:#989cab;font-size:.82rem;line-height:1.7; }
@media(max-width:760px){.person-hero{grid-template-columns:110px 1fr;gap:1.3rem;padding:2.5rem 0}.person-hero h1{font-size:clamp(2.2rem,10vw,3.5rem)}.person-facts{grid-column:1/-1;grid-template-columns:1fr;margin-top:1rem}.filmography-list article{grid-template-columns:50px 1fr}}
.genre-intro { padding:4rem 0 2.5rem; }.genre-intro h1{font-size:clamp(3rem,8vw,6rem);margin:.5rem 0;letter-spacing:-.055em;}
.genre-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;padding-bottom:4rem; }
.genre-grid > a { display:block;padding:1.4rem;border:1px solid #ffffff14;border-radius:10px;background:linear-gradient(145deg,#1a1d29,#12141c); }
.genre-grid > a:hover { border-color:#b6a0ff;transform:translateY(-2px); }.genre-grid h2{margin:0 0 1rem;font-size:1.25rem}.genre-grid strong{color:#d6c9ff}.genre-grid p{color:#9296a7;font-size:.78rem;margin:.6rem 0 0;}
.genre-filters { display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:.8rem;align-items:end;padding:1rem;margin-bottom:1rem;border:1px solid #ffffff14;border-radius:10px;background:#151822; }
.genre-filters label{display:grid;gap:.4rem;color:#9ea2b2;font-size:.72rem}.genre-filters select,.genre-filters input{width:100%;min-width:0;padding:.75rem;border:1px solid #3b3f52;border-radius:7px;background:#0f1119;color:#f2f2f4;font:inherit;font-size:.85rem}.genre-filters button{padding:.78rem 1.1rem;border:0;border-radius:7px;background:#bda6ff;color:#181122;font-weight:700;cursor:pointer}.genre-filters>a{grid-column:1/-1;color:#b9a5f7;font-size:.75rem;}
@media(max-width:800px){.genre-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.genre-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.genre-filters button{height:42px}}
@media(max-width:480px){.genre-grid{grid-template-columns:1fr}.genre-filters{grid-template-columns:1fr}}
.admin-intro { padding:4rem 0 2.5rem; }.admin-intro h1{font-size:clamp(3rem,8vw,6rem);letter-spacing:-.055em;margin:.4rem 0}.admin-intro>p:last-child{color:#a8acbb;}
.admin-stat-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem; }
.admin-stat-grid article { display:flex;flex-direction:column;gap:1.2rem;padding:1.3rem;border:1px solid #ffffff14;border-radius:10px;background:linear-gradient(145deg,#1a1d29,#12141c); }
.admin-stat-grid span { color:#9a9eae;font-size:.78rem; }.admin-stat-grid strong{font-size:clamp(1.8rem,5vw,3rem);font-variant-numeric:tabular-nums;}
.admin-provider-list { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem; }
.provider-status { display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:center;padding:1.2rem;border:1px solid #ffffff14;border-radius:10px;background:#151822; }
.provider-status__dot { width:.7rem;height:.7rem;border-radius:50%;background:#747888;box-shadow:0 0 0 .3rem #74788820; }
.provider-status--ready .provider-status__dot { background:#67e8a5;box-shadow:0 0 0 .3rem #67e8a520; }.provider-status--incomplete .provider-status__dot{background:#f0c36b;box-shadow:0 0 0 .3rem #f0c36b20;}
.provider-status h3{margin:0 0 .25rem;font-size:1rem}.provider-status p{margin:0;color:#969aaa;font-size:.75rem}.provider-status>strong{font-size:.72rem;color:#c5c7d1;}
.admin-security { margin:2rem 0;padding:1.2rem;border-left:3px solid #7966ad;background:#151822;color:#a7aaba; }.admin-security strong{color:#e6e3ed}.admin-security p{margin:.4rem 0 0;font-size:.78rem;}
@media(max-width:700px){.admin-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-provider-list{grid-template-columns:1fr}.provider-status{grid-template-columns:auto 1fr}.provider-status>strong{grid-column:2}}
.diagnostic-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;padding-bottom:3rem;align-items:start; }
.diagnostic-card { border:1px solid #ffffff16;border-radius:10px;background:#151822;overflow:hidden; }
.diagnostic-card summary { display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.15rem;cursor:pointer;list-style:none;font-weight:700; }.diagnostic-card summary::-webkit-details-marker{display:none}
.diagnostic-card summary strong { display:grid;place-items:center;min-width:2rem;height:2rem;border-radius:99px;background:#2b253d;color:#cfbfff;font-variant-numeric:tabular-nums; }
.diagnostic-card[open] summary { border-bottom:1px solid #ffffff12; }.diagnostic-content{padding:.6rem 1.1rem 1rem;max-height:420px;overflow:auto;}
.diagnostic-ok { color:#78dba5;font-size:.82rem; }.diagnostic-list{display:grid}.diagnostic-list article{display:flex;justify-content:space-between;gap:1rem;padding:.8rem 0;border-bottom:1px solid #ffffff0f}.diagnostic-list article:last-child{border-bottom:0}.diagnostic-list article>div{display:grid;gap:.25rem;min-width:0}.diagnostic-list strong{font-size:.84rem;overflow-wrap:anywhere}.diagnostic-list a:hover strong{color:#c5afff}.diagnostic-list span,.diagnostic-list small{color:#9296a7;font-size:.7rem;line-height:1.4}.diagnostic-list code{color:#d2c2ff;font-size:.72rem}
@media(max-width:760px){.diagnostic-grid{grid-template-columns:1fr}.diagnostic-list article{flex-direction:column}}
.manual-edit-form{display:grid;gap:1rem;padding-bottom:4rem}.manual-field{padding:1.2rem;border:1px solid #ffffff16;border-radius:10px;background:#151822}.manual-field--protected{border-color:#8068bd;background:linear-gradient(145deg,#1c1930,#151822)}.manual-field--locked{border-color:#ce7b5d;background:linear-gradient(145deg,#2b1b1d,#151822)}
.manual-field__heading{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-bottom:.75rem}.manual-field__heading>label:first-child{font-weight:700}.override-toggle{color:#bcb2d6;font-size:.75rem;display:flex;gap:.45rem;align-items:center}.override-toggle select{padding:.45rem .6rem;border:1px solid #4b4960;border-radius:6px;background:#0f1119;color:#f4f2f7;font:inherit}
.manual-field input[type=text],.manual-field input[type=number],.manual-field input[type=date],.manual-field textarea{width:100%;box-sizing:border-box;padding:.85rem;border:1px solid #3c4053;border-radius:7px;background:#0f1119;color:#f4f2f7;font:inherit;line-height:1.55}.manual-field textarea{resize:vertical}
.override-conflict{display:grid;gap:.35rem;margin-top:.8rem;padding:.8rem;border-left:3px solid #e7ad55;background:#241e18;color:#eadcc8;font-size:.8rem;overflow-wrap:anywhere}.override-conflict small{color:#b7a996}
.edit-message{margin-bottom:1rem;padding:1rem;border-radius:8px}.edit-message--error{background:#351b21;color:#ffc3ca}.edit-message--success{background:#163025;color:#99e7b9}.admin-save,.admin-edit-link{display:inline-block;border:0;border-radius:7px;background:#bda6ff;color:#181122!important;padding:.85rem 1.2rem;font:inherit;font-weight:800;cursor:pointer;justify-self:start}
@media(max-width:600px){.manual-field__heading{align-items:flex-start;flex-direction:column}}
.admin-id-form{display:flex;gap:.7rem;align-items:center}.admin-id-form label{color:#a7aaba;font-size:.8rem}.admin-id-form input{width:9rem;padding:.78rem;border:1px solid #3c4053;border-radius:7px;background:#0f1119;color:#fff;font:inherit}.admin-id-form button{border:0;border-radius:7px;background:#bda6ff;color:#181122;padding:.82rem 1rem;font-weight:800;cursor:pointer}@media(max-width:500px){.admin-id-form{align-items:stretch;flex-direction:column}.admin-id-form input{width:100%;box-sizing:border-box}}
.media-file-list{display:grid;gap:.7rem}.media-file-list article{display:grid;gap:.65rem;padding:1rem;border:1px solid #ffffff14;border-radius:8px;background:#151822}.media-file-list strong{overflow-wrap:anywhere}.media-file-list article>div{display:flex;flex-wrap:wrap;gap:.45rem}.media-file-list span{padding:.3rem .5rem;border-radius:5px;background:#25293a;color:#c3c6d2;font-size:.72rem;font-variant-numeric:tabular-nums}
.company-hero{display:grid;grid-template-columns:220px 1fr;gap:2.5rem;align-items:center;padding:5rem 0 3rem}.company-hero h1{font-size:clamp(3rem,8vw,6rem);line-height:.95;margin:.5rem 0 1rem}.company-logo{display:grid;place-items:center;aspect-ratio:1;border:1px solid #ffffff16;border-radius:14px;background:#fff;padding:1.5rem}.company-logo img{max-width:100%;max-height:100%}@media(max-width:650px){.company-hero{grid-template-columns:90px 1fr;gap:1.2rem;padding:3rem 0 2rem}.company-logo{padding:.7rem}}
.online-update-control{margin:1rem 0}.online-update-button{border:0;border-radius:7px;background:#bda6ff;color:#181122;padding:.8rem 1.1rem;font:inherit;font-weight:800;cursor:pointer}.online-update-button:disabled{opacity:.55;cursor:wait}.online-update-dialog{width:min(520px,calc(100% - 2rem));border:1px solid #ffffff24;border-radius:12px;padding:0;background:#151822;color:#f5f3f8;box-shadow:0 25px 90px #000c}.online-update-dialog::backdrop{background:#05060bcc;backdrop-filter:blur(4px)}.online-update-modal{padding:1.7rem}.online-update-modal h2{margin:.4rem 0}.online-update-modal p,.online-update-modal li{color:#adb0bf;line-height:1.5}.online-update-modal ol{padding-left:1.3rem;max-height:240px;overflow:auto}.online-update-modal>button{border:1px solid #ffffff2b;border-radius:7px;background:#25293a;color:#fff;padding:.65rem 1rem;cursor:pointer}.online-update-spinner{width:30px;height:30px;border:3px solid #ffffff22;border-top-color:#bda6ff;border-radius:50%;animation:online-update-spin .8s linear infinite}.online-update-dialog--error .online-update-spinner{border-top-color:#ff7d8c}@keyframes online-update-spin{to{transform:rotate(360deg)}}
.online-film-link{border:0;padding:0;background:none;color:#f1eef7;font:inherit;font-weight:700;text-align:left;cursor:pointer}.online-film-link:hover{color:#c5afff}.online-filmography article{background:linear-gradient(90deg,#171a2422,#241d372e)}

/* Responsive and ten-foot UI baseline */
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
img, video, svg { max-width: 100%; }
button, input, select, textarea { font: inherit; }
a, button, input, select, textarea { min-width: 0; }
:where(a,button,input,select,textarea,summary):focus-visible { outline: 3px solid #c5afff; outline-offset: 3px; }
.detail-header nav, .home-header nav { align-items: center; flex-wrap: wrap; }
.detail-header nav form { margin: 0; }
.detail-header nav button { border: 1px solid #ffffff26; border-radius: 6px; background: #181b27; color: inherit; padding: .55rem .75rem; cursor: pointer; }
.detail-section, .detail-layout > *, .person-hero > *, .episode-hero > *, .season-hero > * { min-width: 0; }
.source-table, .diagnostic-content { scrollbar-width: thin; }
.online-update-dialog { max-height: calc(100dvh - 2rem); overflow: auto; }

@media (max-width: 1024px) {
    .home-header, .home-shell { width: min(100% - 2.5rem, 960px); }
    .detail-header, .detail-shell { width: min(100% - 2.5rem, 960px); }
    .detail-hero { grid-template-columns: 200px minmax(0, 1fr); gap: 2rem; min-height: 500px; }
    .detail-layout { grid-template-columns: minmax(0, 1.6fr) minmax(230px, 1fr); gap: 2rem; }
    .title-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.1rem; }
    .season-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .person-hero { grid-template-columns: 210px minmax(0,1fr); gap: 2.2rem; }
    .episode-hero { grid-template-columns: minmax(260px,1.1fr) minmax(260px,1fr); gap: 2rem; }
    .admin-stat-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 760px) {
    body { overflow-x: hidden; }
    .detail-header { align-items: flex-start; flex-direction: column; gap: 1rem; }
    .detail-header nav { width: 100%; gap: .65rem 1rem; }
    .detail-header nav a, .detail-header nav button { min-height: 44px; display: inline-flex; align-items: center; }
    .detail-backdrop { height: 520px; }
    .detail-layout { grid-template-columns: 1fr; }
    .detail-hero { min-height: 0; align-items: start; }
    .detail-intro { align-self: center; }
    .detail-intro .overview, .detail-intro blockquote, .online-update-control { grid-column: 1 / -1; }
    .cast-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .season-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .series-stat-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .episode-hero, .person-hero { grid-template-columns: 1fr; }
    .episode-main-still { width: 100%; }
    .person-photo { width: min(220px,60vw); }
    .person-facts { grid-template-columns: 1fr; }
    .genre-filters { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .diagnostic-grid, .admin-provider-list { grid-template-columns: 1fr; }
    .source-table { width: 100%; overflow-x: auto; }
    .manual-field__heading { align-items: stretch; flex-direction: column; }
}

@media (max-width: 560px) {
    .home-header, .home-shell, .detail-header, .detail-shell, .shell { width: calc(100% - 1.5rem); }
    .home-search { align-items: stretch; flex-direction: column; }
    .home-search input, .home-search button { min-height: 48px; font-size: 1rem; }
    .home-intro { padding-top: 2rem; }
    .title-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem .75rem; }
    .detail-hero { grid-template-columns: 92px minmax(0,1fr); gap: 1rem; padding-top: 1.5rem; }
    .detail-poster { border-radius: 8px; }
    .detail-intro h1 { font-size: clamp(1.8rem,10vw,2.8rem); }
    .detail-intro .overview, .detail-intro blockquote, .detail-intro .online-update-control { grid-column: 1 / -1; }
    .detail-list { grid-template-columns: 82px minmax(0,1fr); }
    .cast-grid { gap: .55rem; }
    .cast-grid article { padding: .7rem; }
    .season-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .season-hero { grid-template-columns: 86px minmax(0,1fr); }
    .episode-list article { grid-template-columns: 1fr; }
    .genre-filters, .admin-stat-grid { grid-template-columns: 1fr; }
    .admin-id-form { align-items: stretch; flex-direction: column; }
    .admin-id-form input { width: 100%; }
    .filmography-list article { grid-template-columns: 44px minmax(0,1fr); }
    .online-update-modal { padding: 1.25rem; }
}

@media (max-width: 360px) {
    .cast-grid { grid-template-columns: 1fr; }
    .title-grid { gap: .8rem .55rem; }
    .section-heading { align-items: flex-start; flex-direction: column; }
}

@media (hover: none), (pointer: coarse) {
    :where(a,button,input,select,textarea,summary) { min-height: 44px; }
    .title-card a, .season-card { display: block; min-height: 0; }
}

@media (min-width: 1600px) {
    :root { font-size: 18px; }
    .home-header, .home-shell { width: min(1560px,calc(100% - 8rem)); }
    .detail-header, .detail-shell { width: min(1480px,calc(100% - 8rem)); }
    .detail-hero { grid-template-columns: 300px minmax(0,820px); gap: 4rem; min-height: 680px; }
    .detail-layout { grid-template-columns: minmax(0,2fr) minmax(340px,1fr); gap: 4.5rem; }
    .title-grid { grid-template-columns: repeat(8,minmax(0,1fr)); gap: 1.35rem; }
    .cast-grid { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1rem; }
    .detail-header nav { gap: 1.7rem; }
    :where(a,button,input,select,textarea,summary):focus-visible { outline-width: 5px; outline-offset: 5px; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
.media-match-candidate { border: 0; background: transparent; padding: .25rem 0; color: #c5afff; font: inherit; text-align: left; text-decoration: underline; cursor: pointer; }
.media-match-candidate:hover { color: #eee6ff; }
.media-play-action { margin: .65rem 0; }
.media-play-button { display: inline-flex; align-items: center; min-height: 44px; padding: .6rem 1rem; border-radius: 7px; background: #bda6ff; color: #181122; font-weight: 700; }
.media-play-button:hover { background: #d2c1ff; }
.local-video { display: block; width: 100%; max-height: 75vh; background: #000; border-radius: 10px; }
.video-title { overflow-wrap: anywhere; font-size: clamp(1.2rem, 3vw, 2rem); }
.admin-tool-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr)); gap: 1rem; }
.admin-tool-grid > a { display: grid; gap: .5rem; padding: 1.2rem; border: 1px solid #ffffff24; border-radius: 10px; background: #171b29; }
.admin-tool-grid > a:hover { border-color: #bda6ff; }
.admin-tool-grid strong { color: #d2c1ff; }
.admin-tool-grid span { color: #a7aaba; line-height: 1.5; }
.home-header nav .admin-nav-link, .detail-header nav .admin-nav-link { color: #d2c1ff; border-bottom: 1px solid #bda6ff; }
.admin-cli-form, .admin-cli-job { padding: 1.2rem; border: 1px solid #ffffff24; border-radius: 10px; background: #171b29; }
.admin-cli-form { display: grid; gap: 1rem; align-content: start; }
.admin-cli-form button { border: 0; border-radius: 7px; background: #bda6ff; color: #181122; padding: .8rem; cursor: pointer; }
.admin-cli-form input[type=number] { width: 6rem; padding: .5rem; }
.admin-cli-job { margin-bottom: 1rem; }
.admin-cli-job pre { white-space: pre-wrap; overflow-wrap: anywhere; max-height: 22rem; overflow: auto; }
.trailer-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 1rem; }
.trailer-card { min-width: 0; overflow: hidden; background: #171a24; border: 1px solid #ffffff16; border-radius: 10px; }
.trailer-preview { position: relative; display: grid; place-items: center; aspect-ratio: 16 / 9; background: linear-gradient(135deg, #29233f, #111623); overflow: hidden; }
.trailer-preview img { width: 100%; height: 100%; object-fit: cover; position: absolute; opacity: .7; transition: opacity .2s; }
.trailer-preview:hover img { opacity: .95; }
.trailer-play-icon { z-index: 1; display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: #111a; color: #fff; border: 2px solid #fff9; font-size: 1.4rem; }
.trailer-caption { padding: 1rem; }
.trailer-caption h3 { margin: 0; font-size: 1rem; overflow-wrap: anywhere; }
.trailer-caption p { margin: .5rem 0 0; color: #a7aaba; font-size: .8rem; }
.trailer-dialog { width: min(1000px, calc(100% - 1.5rem)); max-height: 90vh; max-height: 90dvh; overflow: auto; padding: 0; border: 1px solid #ffffff30; border-radius: 12px; background: #151822; color: #f5f3f8; }
.trailer-dialog::backdrop { background: #05060be6; }
.trailer-dialog-header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem; }
.trailer-dialog-header h2 { margin: 0; font-size: 1.1rem; overflow-wrap: anywhere; }
.trailer-dialog-header button { flex-shrink: 0; border: 1px solid #ffffff40; border-radius: 6px; padding: .65rem; background: #25293a; color: #fff; cursor: pointer; }
.trailer-frame { aspect-ratio: 16 / 9; min-height: 200px; background: #000; }
.trailer-frame iframe { display: block; width: 100%; height: 100%; min-height: 200px; border: 0; }
.trailer-dialog-help { padding: 0 1rem 1rem; color: #adb0bf; }
.trailer-dialog-help a { color: #c5afff; }
