:root {
    color-scheme: dark;
    --bg: #090b10;
    --panel: #121720;
    --panel-2: #191f2b;
    --text: #f5f6fb;
    --muted: #9aa4b8;
    --line: rgba(255,255,255,.1);
    --accent: #e7b95f;
    --accent-2: #7bd2c5;
    --accent-3: #e88ba6;
    --danger: #d95f5f;
    --radius: 8px;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
body {
    margin: 0;
    background:
        radial-gradient(circle at 12% 0, rgba(123,210,197,.14), transparent 28rem),
        radial-gradient(circle at 88% 4rem, rgba(231,185,95,.13), transparent 26rem),
        linear-gradient(180deg, #0b0d13, var(--bg) 34rem);
    color: var(--text);
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button, input, select, textarea { font: inherit; }

.site-header {
    position: sticky; top: 0; z-index: 10;
    display: flex; align-items: center; justify-content: space-between; gap: 1rem;
    padding: .9rem clamp(1rem, 4vw, 3rem);
    background: rgba(9, 11, 16, .78);
    border-bottom: 1px solid var(--line);
    backdrop-filter: blur(18px);
    overflow-x: auto;
}
.brand {
    font-weight: 900;
    letter-spacing: 0;
    color: var(--text);
    display: inline-flex;
    align-items: center;
    gap: .5rem;
}
.brand::before {
    content: "";
    width: .72rem;
    aspect-ratio: 1;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--accent), var(--accent-2));
    box-shadow: 0 0 24px rgba(231,185,95,.55);
}
.nav { display: flex; flex-wrap: nowrap; gap: .45rem; color: var(--muted); font-size: .95rem; white-space: nowrap; }
.nav a, .button, button, .row-actions a {
    display: inline-flex; align-items: center; justify-content: center; gap: .4rem;
}
.nav a {
    min-height: 2.3rem; padding: .35rem .55rem; border-radius: var(--radius);
}
.nav a:hover {
    color: var(--text);
    background: rgba(255,255,255,.06);
}
.icon {
    width: 1rem !important; height: 1rem !important; flex: 0 0 auto;
    fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round;
}
.actions { display: flex; flex-wrap: wrap; gap: .55rem; align-items: center; justify-content: flex-end; }
.site-footer { display: flex; flex-wrap: wrap; gap: 1rem; padding: 2rem clamp(1rem, 4vw, 3rem); color: var(--muted); border-top: 1px solid var(--line); }

.tracker-overview {
    min-height: 480px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 360px);
    align-items: end;
    gap: clamp(1rem, 4vw, 2rem);
    padding: clamp(4.5rem, 8vw, 6.5rem) clamp(1rem, 5vw, 4rem) 1.4rem;
    position: relative;
    overflow: hidden;
    background:
        linear-gradient(to top, var(--bg), rgba(9,11,16,.72) 48%, rgba(9,11,16,.34)),
        var(--backdrop) center/cover;
}
.tracker-overview::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(9,11,16,.94), rgba(9,11,16,.58), rgba(9,11,16,.86)),
        radial-gradient(circle at 30% 20%, rgba(123,210,197,.14), transparent 22rem);
}
.overview-copy, .spotlight-card { position: relative; z-index: 1; }
.overview-copy h1 {
    max-width: 760px;
    font-size: clamp(2.8rem, 7vw, 5.8rem);
    line-height: .92;
    margin-bottom: .85rem;
}
.overview-copy p:not(.eyebrow) {
    max-width: 58ch;
    color: #d9deea;
    line-height: 1.55;
    font-size: 1.02rem;
}
.overview-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .7rem;
    margin-top: 1.2rem;
}
.overview-stats div {
    padding: .9rem;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: rgba(255,255,255,.07);
    backdrop-filter: blur(18px);
}
.overview-stats strong { display: block; color: var(--accent); font-size: 1.8rem; }
.overview-stats span { color: var(--muted); }
.spotlight-card {
    display: grid;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.035));
    backdrop-filter: blur(18px);
    overflow: hidden;
    box-shadow: 0 24px 70px rgba(0,0,0,.34);
}
.spotlight-card img {
    width: 100%;
    height: 190px;
    object-fit: cover;
    object-position: center 20%;
}
.spotlight-card span { display: grid; gap: .35rem; padding: .85rem; }
.spotlight-card small { color: var(--accent-2); font-weight: 800; text-transform: uppercase; font-size: .72rem; }
.spotlight-card b { font-size: 1.25rem; line-height: 1.1; }
.title-rail {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(132px, 170px);
    gap: .9rem;
    overflow-x: auto;
    padding: .15rem 0 .8rem;
    scroll-snap-type: x proximity;
    scrollbar-width: thin;
    scrollbar-color: rgba(231,185,95,.65) transparent;
}
.feature-rail { grid-auto-columns: minmax(148px, 190px); }
.title-rail > * { scroll-snap-align: start; }
.title-rail .poster-card, .rail-card {
    display: grid;
    gap: .5rem;
    align-content: start;
    min-width: 0;
}
.rail-card img, .title-rail .poster-card img {
    width: 100%;
    aspect-ratio: 2/3;
    object-fit: cover;
    border-radius: var(--radius);
    background: var(--panel);
    box-shadow: 0 16px 42px rgba(0,0,0,.34);
}
.title-rail .poster-card .badge { width: fit-content; }
.quiet-section {
    opacity: .78;
    padding-top: .4rem;
}
.quiet-section:hover { opacity: 1; }
.quiet-rail {
    grid-auto-columns: minmax(108px, 136px);
}
.quiet-rail .poster-card strong { font-size: .9rem; }
.rail-card strong, .title-rail .poster-card strong {
    line-height: 1.15;
    overflow-wrap: anywhere;
}
.rail-card small { color: var(--muted); line-height: 1.25; min-height: 2.4em; }
.home-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem;
}
.activity-list {
    display: grid;
    gap: .65rem;
}
.activity-list a {
    display: grid;
    grid-template-columns: 54px 1fr;
    align-items: center;
    gap: .75rem;
    padding: .55rem;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.025));
}
.activity-list img {
    width: 54px;
    aspect-ratio: 2/3;
    object-fit: cover;
    border-radius: 6px;
}
.activity-list span { display: grid; gap: .2rem; min-width: 0; }
.activity-list b { overflow-wrap: anywhere; }
.activity-list small { color: var(--muted); }
.wide-list a { grid-template-columns: 1fr; padding: .9rem 1rem; }
.genre-cloud {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    align-content: start;
    padding: .9rem;
    min-height: 150px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.025));
}
.genre-cloud span {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    height: 2rem;
    padding: 0 .7rem;
    border-radius: 999px;
    border: 1px solid var(--line);
    background: rgba(255,255,255,.06);
}
.genre-cloud b { color: var(--accent); }

.hero {
    min-height: 62vh; display: grid; align-items: end; position: relative; overflow: hidden;
    padding: clamp(5rem, 10vw, 9rem) clamp(1rem, 4vw, 3rem) 2rem;
}
.hero-bg { position: absolute; inset: 0; background: linear-gradient(130deg, rgba(231,185,95,.28), transparent 32%), linear-gradient(to top, var(--bg), transparent 72%), url('/assets/img/placeholder.svg') center/cover; filter: saturate(1.1); opacity: .38; }
.hero-content { position: relative; max-width: 980px; }
.eyebrow { margin: 0 0 .5rem; color: var(--accent-2); text-transform: uppercase; font-size: .78rem; font-weight: 800; }
h1, h2 { margin: 0; letter-spacing: 0; }
.hero h1 { max-width: 880px; font-size: clamp(2.2rem, 7vw, 5.5rem); line-height: .95; }

.stat-row, .admin-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: .75rem; margin-top: 1.4rem; }
.stat-row div, .admin-stats div {
    padding: 1rem; border: 1px solid var(--line); border-radius: var(--radius);
    background: rgba(18, 23, 32, .78);
}
.stat-row strong, .admin-stats strong { display: block; font-size: 1.75rem; color: var(--accent); }
.stat-row span, .admin-stats span { color: var(--muted); }

.section { padding: 1.6rem clamp(1rem, 4vw, 3rem); }
.page-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.section-title { display: flex; justify-content: space-between; align-items: end; gap: 1rem; margin-bottom: 1rem; }
.section-title a, .section-title span { color: var(--muted); }
.split { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(260px, .6fr); gap: 1rem; }

.poster-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 1rem; }
.poster-grid.compact { grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); }
.poster-card {
    display: grid; gap: .5rem; align-content: start; min-width: 0;
    transition: transform .18s ease, filter .18s ease;
}
.poster-card:hover { transform: translateY(-4px); filter: brightness(1.12); }
.poster-card img {
    aspect-ratio: 2/3;
    object-fit: cover;
    border-radius: var(--radius);
    background: var(--panel);
    box-shadow: 0 16px 40px rgba(0,0,0,.32);
    outline: 1px solid rgba(255,255,255,.06);
    outline-offset: -1px;
}
.poster-card strong { min-height: 2.4em; line-height: 1.2; overflow-wrap: anywhere; }
.poster-meta { color: var(--muted); font-size: .82rem; }
progress {
    width: 100%;
    height: .55rem;
    overflow: hidden;
    border: 0;
    border-radius: 999px;
    accent-color: var(--accent);
    background: rgba(255,255,255,.08);
}
progress::-webkit-progress-bar { background: rgba(255,255,255,.08); border-radius: 999px; }
progress::-webkit-progress-value { background: linear-gradient(90deg, var(--accent-2), var(--accent)); border-radius: 999px; }
progress::-moz-progress-bar { background: linear-gradient(90deg, var(--accent-2), var(--accent)); border-radius: 999px; }

.badge, .chips span {
    display: inline-flex; align-items: center; gap: .3rem; min-height: 1.7rem;
    padding: .25rem .55rem; border: 1px solid var(--line); border-radius: 999px; background: rgba(255,255,255,.05);
    color: var(--text); font-size: .82rem;
}
.badge-rating { color: #15110a; background: linear-gradient(135deg, var(--accent), #ffd98d); border-color: transparent; font-weight: 800; }
.badge-muted { color: var(--muted); }
.chips { display: flex; flex-wrap: wrap; gap: .5rem; }

.list { display: grid; gap: .5rem; }
.list a, .list div, .facts span {
    display: flex; justify-content: space-between; gap: 1rem;
    padding: .85rem 1rem; background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius);
}
.list small, .facts b { color: var(--muted); white-space: nowrap; }
.facts { display: grid; gap: .5rem; }

.detail-hero {
    min-height: 70vh; display: grid; grid-template-columns: minmax(180px, 300px) minmax(0, 760px); align-items: end; gap: clamp(1rem, 4vw, 2.5rem);
    padding: clamp(5rem, 10vw, 9rem) clamp(1rem, 4vw, 3rem) 2rem; position: relative;
    background: linear-gradient(to top, var(--bg), rgba(9,11,16,.42)), var(--backdrop) center/cover;
}
.detail-hero::before { content: ""; position: absolute; inset: 0; backdrop-filter: blur(5px); background: rgba(0,0,0,.26); }
.detail-poster, .detail-copy { position: relative; }
.detail-poster { border-radius: var(--radius); box-shadow: 0 24px 60px rgba(0,0,0,.55); }
.detail-copy { display: grid; gap: .8rem; }
.detail-copy h1 { font-size: clamp(2rem, 6vw, 4.6rem); line-height: 1; }
.detail-copy p { color: #d6d9e2; max-width: 70ch; }
.credit-strip {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
}
.credit-strip span {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    min-height: 2rem;
    padding: .35rem .62rem;
    border: 1px solid var(--line);
    border-radius: 999px;
    background: rgba(255,255,255,.07);
    color: #eef2f8;
    font-size: .86rem;
}
.credit-strip b {
    color: var(--accent-2);
    font-size: .68rem;
    text-transform: uppercase;
}
.recommendation-section {
    padding-top: 1.1rem;
    padding-bottom: .7rem;
}
.recommendation-rail .poster-card {
    padding: .55rem;
    border: 1px solid rgba(255,255,255,.075);
    border-radius: var(--radius);
    background: linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.02));
}
.recommendation-rail .poster-card.is-current {
    border-color: rgba(231,185,95,.62);
    background:
        linear-gradient(180deg, rgba(231,185,95,.16), rgba(255,255,255,.03));
}
.recommendation-rail .poster-card.is-current::after {
    content: "Current";
    width: fit-content;
    min-height: 1.55rem;
    padding: .18rem .48rem;
    border-radius: 999px;
    background: var(--accent);
    color: #15110a;
    font-size: .72rem;
    font-weight: 900;
}
.recommendation-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
    gap: .75rem;
}
.recommendation-card {
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr);
    gap: .75rem;
    align-items: center;
    min-width: 0;
    padding: .65rem;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background:
        linear-gradient(90deg, rgba(232,139,166,.08), transparent 42%),
        linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.025));
}
.recommendation-card.is-local {
    background:
        linear-gradient(90deg, rgba(123,210,197,.12), transparent 42%),
        linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.03));
    border-color: rgba(123,210,197,.38);
}
.recommendation-card img {
    width: 64px;
    aspect-ratio: 2/3;
    object-fit: cover;
    border-radius: 6px;
    background: var(--panel);
}
.recommendation-card span {
    display: grid;
    gap: .22rem;
    min-width: 0;
}
.recommendation-card small {
    color: var(--accent-2);
    font-size: .7rem;
    font-weight: 900;
    text-transform: uppercase;
}
.recommendation-card strong {
    line-height: 1.15;
    overflow-wrap: anywhere;
}
.recommendation-card em {
    color: var(--muted);
    font-style: normal;
    font-size: .84rem;
}

.season { margin: .7rem 0; border: 1px solid var(--line); border-radius: var(--radius); background: var(--panel); }
.season summary { cursor: pointer; padding: 1rem; font-weight: 800; }
.episode-list { display: grid; gap: 1px; background: var(--line); }
.episode { display: flex; justify-content: space-between; gap: 1rem; padding: .8rem 1rem; background: var(--panel-2); }
.episode.is-watched span { color: var(--accent-2); }

.admin-shell { max-width: 1180px; margin: 0 auto; }
.login-panel { min-height: 75vh; display: grid; place-items: center; padding: 1rem; }
.form-card, .form-grid, .toolbar {
    background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius); padding: 1rem;
}
.form-card { width: min(420px, 100%); display: grid; gap: .9rem; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin: 0 clamp(1rem, 4vw, 3rem) 2rem; }
.form-grid .wide { grid-column: 1 / -1; }
label { display: grid; gap: .35rem; color: var(--muted); }
.check { display: flex; align-items: center; gap: .5rem; }
input, select, textarea {
    width: 100%; color: var(--text); background: #0d1119; border: 1px solid var(--line); border-radius: var(--radius);
    padding: .7rem .8rem;
}
.button, button {
    width: fit-content; border: 0; border-radius: var(--radius); padding: .7rem 1rem; cursor: pointer;
    background: var(--accent); color: #16120a; font-weight: 800;
}
.button.secondary { background: var(--panel-2); color: var(--text); border: 1px solid var(--line); }
.button.danger { background: var(--danger); color: white; }
.alert { margin: 1rem clamp(1rem, 4vw, 3rem); padding: .8rem 1rem; border: 1px solid rgba(217,95,95,.5); background: rgba(217,95,95,.12); border-radius: var(--radius); }
.toolbar { display: flex; gap: .75rem; margin: 0 clamp(1rem, 4vw, 3rem); }
.filter-toolbar { flex-wrap: wrap; align-items: center; }
.filter-toolbar input, .filter-toolbar select { min-width: 140px; flex: 1 1 150px; }
.filter-toolbar input[name="q"] { flex-basis: 240px; }
.inline-check {
    width: auto;
    min-height: 3rem;
    grid-auto-flow: column;
    justify-content: center;
    align-items: center;
    padding: .55rem .75rem;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #0d1119;
}
.inline-check input { width: auto; }
.hero-toolbar input { min-height: 3rem; font-size: 1rem; }
.table { width: 100%; border-collapse: collapse; background: var(--panel); border-radius: var(--radius); overflow: hidden; }
.table th, .table td { padding: .8rem; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.table th { color: var(--muted); font-size: .85rem; }
.row-actions { display: flex; flex-wrap: wrap; gap: .4rem; }
.row-actions a {
    min-height: 2.1rem; padding: .35rem .5rem; border: 1px solid var(--line); border-radius: var(--radius);
    color: var(--text); background: rgba(255,255,255,.04);
}
.episode-admin input { min-width: 80px; margin-bottom: .25rem; }
.import-grid { display: grid; gap: 1rem; }
.import-card { display: grid; grid-template-columns: 110px 1fr; gap: 1rem; padding: 1rem; background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius); }
.import-card img { border-radius: var(--radius); aspect-ratio: 2/3; object-fit: cover; }
.pager { padding: 0 clamp(1rem, 4vw, 3rem) 2rem; }
.library-pager {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .75rem;
}
.library-pager a, .library-pager span {
    min-height: 2.6rem;
    display: inline-flex;
    align-items: center;
    padding: .55rem .8rem;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: var(--panel);
}
.library-pager span { color: var(--muted); }
.bulk-result-list { display: grid; gap: .5rem; margin-top: 1rem; }
.bulk-result-list li {
    display: grid;
    gap: .15rem;
    padding: .75rem .9rem;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: var(--panel);
}
.bulk-result-list small { color: var(--muted); }

.admin-body {
    background:
        radial-gradient(circle at 12% 0, rgba(123, 210, 197, .18), transparent 28rem),
        radial-gradient(circle at 88% 8%, rgba(231, 185, 95, .16), transparent 24rem),
        linear-gradient(180deg, #080a0f, #10131a 38rem, #080a0f);
}
.admin-hero {
    min-height: 240px;
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1rem;
    margin: 1rem clamp(1rem, 4vw, 3rem) .5rem;
    padding: clamp(1.1rem, 4vw, 2rem);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background:
        linear-gradient(135deg, rgba(231,185,95,.18), transparent 38%),
        linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.03)),
        var(--panel);
    box-shadow: 0 20px 60px rgba(0,0,0,.25);
}
.compact-hero { min-height: 170px; }
.admin-hero h1 { font-size: clamp(2rem, 6vw, 4.2rem); line-height: .98; }
.admin-hero p:not(.eyebrow) { max-width: 60ch; color: #cfd4df; margin: .7rem 0 0; }
.admin-stats {
    padding: 0 clamp(1rem, 4vw, 3rem);
    margin-top: 1rem;
}
.admin-stats div {
    background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.03));
}
.admin-poster-row {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(130px, 170px);
    gap: 1rem;
    overflow-x: auto;
    padding-bottom: .5rem;
    scroll-snap-type: x proximity;
}
.admin-poster-row .poster-card { scroll-snap-align: start; }
.admin-card-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
    gap: 1rem;
}
.library-card {
    display: grid;
    grid-template-columns: 96px 1fr;
    gap: 1rem;
    padding: .8rem;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.025));
    min-width: 0;
}
.library-poster img {
    width: 96px;
    aspect-ratio: 2/3;
    object-fit: cover;
    border-radius: var(--radius);
    background: var(--panel);
}
.library-copy { display: grid; align-content: start; gap: .65rem; min-width: 0; }
.media-card-head { display: flex; align-items: start; justify-content: space-between; gap: .75rem; }
.media-card-head h2 {
    font-size: 1.08rem;
    line-height: 1.15;
    overflow-wrap: anywhere;
}
.muted-line { margin: 0; color: var(--muted); font-size: .9rem; }
.quick-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
    align-items: center;
}
.quick-actions form { margin: 0; }
.mini-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .35rem;
    min-height: 2.25rem;
    width: auto;
    padding: .42rem .58rem;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: rgba(255,255,255,.06);
    color: var(--text);
    font-size: .83rem;
    font-weight: 750;
}
.mini-button:hover, .mini-button.is-active {
    background: var(--accent);
    color: #15110a;
    border-color: transparent;
}
.import-card.is-existing {
    border-color: rgba(123,210,197,.42);
    background:
        linear-gradient(90deg, rgba(123,210,197,.12), transparent 36%),
        linear-gradient(180deg, rgba(255,255,255,.085), rgba(255,255,255,.03));
}
.badge-existing {
    color: #071311 !important;
    background: linear-gradient(135deg, var(--accent-2), #b8f3ea) !important;
    border-color: transparent !important;
    font-weight: 900;
}
.admin-empty {
    max-width: none;
    margin-bottom: 1rem;
    padding: 1rem;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: rgba(255,255,255,.045);
}
.admin-mini-list {
    display: grid;
    gap: .65rem;
}
.admin-mini-list a {
    display: grid;
    grid-template-columns: 48px 1fr;
    gap: .75rem;
    align-items: center;
    padding: .55rem;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: rgba(255,255,255,.04);
}
.admin-mini-list img {
    width: 48px;
    aspect-ratio: 2/3;
    object-fit: cover;
    border-radius: 6px;
}
.admin-mini-list span { display: grid; gap: .2rem; min-width: 0; }
.admin-mini-list b { overflow-wrap: anywhere; }
.admin-mini-list small {
    color: var(--muted);
    display: flex;
    align-items: center;
    gap: .35rem;
    flex-wrap: wrap;
}
.import-card.media-card {
    grid-template-columns: 118px 1fr;
    align-items: start;
    background: linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.03));
}
.import-card.media-card img {
    width: 118px;
    aspect-ratio: 2/3;
    object-fit: cover;
}
.import-card p {
    color: #cfd4df;
    line-height: 1.45;
    max-width: 72ch;
}
.edit-hero {
    display: grid;
    grid-template-columns: 124px minmax(0, 1fr) auto;
    align-items: end;
    gap: 1rem;
    margin: 1rem clamp(1rem, 4vw, 3rem) 1rem;
    padding: clamp(1rem, 3vw, 1.4rem);
    min-height: 260px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    position: relative;
    overflow: hidden;
    background: linear-gradient(to top, rgba(8,10,15,.96), rgba(8,10,15,.58)), var(--backdrop) center/cover;
}
.edit-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    backdrop-filter: blur(4px);
    background: rgba(0,0,0,.18);
}
.edit-hero > * { position: relative; }
.edit-hero img {
    width: 124px;
    aspect-ratio: 2/3;
    object-fit: cover;
    border-radius: var(--radius);
    box-shadow: 0 18px 46px rgba(0,0,0,.42);
}
.edit-hero h1 {
    font-size: clamp(1.8rem, 5vw, 3.6rem);
    line-height: 1;
    margin-bottom: .7rem;
}
.status-strip { margin-top: .9rem; }
.season-date-card {
    display: grid;
    grid-template-columns: repeat(3, minmax(80px, 1fr));
    gap: .55rem;
    min-width: min(430px, 100%);
    padding: .85rem;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: rgba(8,10,15,.42);
}
.season-date-card .button {
    grid-column: 1 / -1;
    width: 100%;
}
.season-stack {
    display: grid;
    gap: 1rem;
}
.season-admin-card {
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.025));
    overflow: hidden;
}
.season-admin-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: center;
    padding: 1rem;
}
.season-admin-head h2 { font-size: 1.45rem; }
.season-admin-head p { margin: .35rem 0 .7rem; color: var(--muted); }
.season-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
    justify-content: flex-end;
}
.episode-pill-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: .55rem;
    padding: 1rem;
    border-top: 1px solid var(--line);
}
.episode-pill {
    display: grid;
    gap: .35rem;
    min-width: 0;
}
.episode-pill button {
    width: 100%;
    min-height: 5.2rem;
    display: grid;
    justify-items: start;
    gap: .2rem;
    padding: .7rem;
    color: var(--text);
    background: rgba(255,255,255,.045);
    border: 1px solid var(--line);
    text-align: left;
    transition: border-color .16s ease, background .16s ease, transform .16s ease;
}
.episode-pill button:hover { transform: translateY(-1px); border-color: rgba(231,185,95,.55); }
.episode-edit-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .3rem;
    margin-top: .4rem;
    min-height: 2rem;
    padding: .35rem .55rem;
    border-radius: var(--radius);
    border: 1px solid var(--line);
    background: rgba(255,255,255,.05);
    color: var(--text);
    font-size: .82rem;
    font-weight: 800;
}
.episode-pill.is-watched .episode-edit-link {
    border-color: rgba(123,210,197,.35);
    color: var(--accent-2);
}
.episode-pill span { color: var(--accent); font-size: .78rem; font-weight: 800; }
.episode-pill b { line-height: 1.15; }
.episode-pill small { color: var(--muted); }
.episode-pill.is-watched button {
    background: linear-gradient(180deg, rgba(123,210,197,.16), rgba(123,210,197,.07));
    border-color: rgba(123,210,197,.45);
}
.episode-pill.is-watched span { color: var(--accent-2); }
.upcoming-hero {
    min-height: 560px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(240px, 320px);
    align-items: end;
    gap: clamp(1rem, 5vw, 3rem);
    padding: clamp(5rem, 10vw, 8rem) clamp(1rem, 5vw, 4rem) 1.4rem;
    position: relative;
    overflow: hidden;
    background:
        linear-gradient(to top, var(--bg), rgba(9,11,16,.68) 50%, rgba(9,11,16,.18)),
        var(--backdrop) center/cover;
}
.upcoming-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(9,11,16,.96), rgba(9,11,16,.56), rgba(9,11,16,.86)),
        radial-gradient(circle at 72% 24%, rgba(232,139,166,.17), transparent 20rem);
}
.upcoming-hero-copy, .next-drop { position: relative; z-index: 1; }
.upcoming-hero-copy { max-width: 860px; }
.upcoming-hero h1 {
    font-size: clamp(2.6rem, 8vw, 6rem);
    line-height: .9;
}
.upcoming-hero p:not(.eyebrow) { color: #d9deea; font-size: 1.05rem; }
.upcoming-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(110px, 1fr));
    gap: .7rem;
    margin-top: 1.2rem;
}
.upcoming-stats span {
    display: grid;
    gap: .1rem;
    min-height: 4.2rem;
    padding: .75rem .85rem;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: rgba(255,255,255,.07);
    color: var(--muted);
    backdrop-filter: blur(18px);
}
.upcoming-stats b {
    color: var(--accent);
    font-size: 1.55rem;
    line-height: 1;
}
.next-drop {
    display: grid;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    overflow: hidden;
    background: linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.035));
    box-shadow: 0 26px 70px rgba(0,0,0,.4);
    backdrop-filter: blur(18px);
}
.next-drop img {
    width: 100%;
    aspect-ratio: 2/3;
    object-fit: cover;
}
.next-drop span { display: grid; gap: .28rem; padding: .9rem; }
.next-drop small, .upcoming-card small {
    color: var(--accent-2);
    font-size: .72rem;
    font-weight: 900;
    text-transform: uppercase;
}
.next-drop b { font-size: 1.22rem; line-height: 1.12; overflow-wrap: anywhere; }
.next-drop em { color: var(--muted); font-style: normal; }
.upcoming-section { padding-top: 1.3rem; }
.upcoming-timeline {
    display: grid;
    grid-template-columns: minmax(120px, 170px) minmax(0, 1fr);
    gap: .7rem .9rem;
    align-items: stretch;
    position: relative;
}
.timeline-date {
    position: sticky;
    top: 5.2rem;
    display: grid;
    align-content: start;
    gap: .15rem;
    min-height: 5.2rem;
    padding: .85rem .9rem;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: rgba(18,23,32,.82);
    backdrop-filter: blur(16px);
}
.timeline-date strong { color: var(--text); }
.timeline-date span { color: var(--muted); font-size: .86rem; }
.timeline-date + .upcoming-card { grid-column: 2; }
.upcoming-card + .upcoming-card { grid-column: 2; }
.upcoming-card {
    min-width: 0;
    position: relative;
}
.upcoming-card {
    display: grid;
    grid-template-columns: 68px minmax(0, 1fr) auto;
    gap: .85rem;
    align-items: center;
    min-height: 6.2rem;
    padding: .72rem .82rem;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background:
        linear-gradient(90deg, rgba(123,210,197,.08), transparent 38%),
        linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.025));
    transition: transform .16s ease, border-color .16s ease, background .16s ease;
}
.upcoming-card:hover {
    transform: translateY(-2px);
    border-color: rgba(231,185,95,.5);
    background:
        linear-gradient(90deg, rgba(231,185,95,.12), transparent 38%),
        linear-gradient(180deg, rgba(255,255,255,.1), rgba(255,255,255,.035));
}
.upcoming-card.is-movie { background:
    linear-gradient(90deg, rgba(231,185,95,.1), transparent 38%),
    linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.025));
}
.upcoming-card.is-series { background:
    linear-gradient(90deg, rgba(232,139,166,.1), transparent 38%),
    linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.025));
}
.upcoming-card img {
    width: 68px;
    aspect-ratio: 2/3;
    object-fit: cover;
    border-radius: 6px;
    background: var(--panel);
}
.upcoming-card-copy {
    display: grid;
    gap: .15rem;
    min-width: 0;
}
.upcoming-card b { overflow-wrap: anywhere; }
.upcoming-card em {
    color: var(--muted);
    font-style: normal;
    line-height: 1.25;
}
.upcoming-card-date {
    justify-self: end;
    white-space: nowrap;
    padding: .36rem .55rem;
    border: 1px solid var(--line);
    border-radius: 999px;
    color: var(--text);
    background: rgba(255,255,255,.055);
    font-size: .82rem;
}
.empty-state {
    display: grid;
    gap: .4rem;
    max-width: 680px;
}
.empty-state p { margin: 0; color: var(--muted); }
.empty-state.admin-empty { max-width: none; }

@media (max-width: 760px) {
    .site-header { position: static; }
    .site-header, .page-head, .toolbar { align-items: stretch; flex-direction: column; }
    .brand { font-size: 1.05rem; }
    .nav { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); width: 100%; gap: .35rem; white-space: normal; }
    .admin-header .nav { grid-template-columns: repeat(5, minmax(0, 1fr)); }
    .nav a {
        min-width: 0; min-height: 3rem; flex-direction: column; gap: .2rem; padding: .35rem .2rem;
        background: rgba(255,255,255,.04); border: 1px solid var(--line); font-size: .72rem;
    }
    .nav .icon { width: 1.05rem; height: 1.05rem; }
    .actions, .toolbar { width: 100%; }
    .actions .button, .toolbar button, .toolbar input { width: 100%; }
    .split, .detail-hero, .form-grid { grid-template-columns: 1fr; }
    .detail-poster { width: min(220px, 70vw); }
    .detail-hero { min-height: auto; padding-top: 3.8rem; }
    .credit-strip span { width: 100%; justify-content: space-between; }
    .recommendation-grid { grid-template-columns: 1fr; }
    .recommendation-card { grid-template-columns: 58px minmax(0, 1fr); }
    .recommendation-card img { width: 58px; }
    .poster-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .tracker-overview {
        min-height: 560px;
        grid-template-columns: 1fr;
        align-items: end;
        padding-top: 4rem;
    }
    .tracker-overview::before {
        background: linear-gradient(to top, rgba(9,11,16,.98), rgba(9,11,16,.72), rgba(9,11,16,.25));
    }
    .overview-copy h1 { font-size: clamp(2.5rem, 13vw, 4.6rem); }
    .overview-copy p:not(.eyebrow) { font-size: .95rem; }
    .overview-stats { grid-template-columns: 1fr; }
    .spotlight-card { display: none; }
    .title-rail { grid-auto-columns: minmax(128px, 42vw); }
    .home-grid { grid-template-columns: 1fr; }
    .genre-cloud { min-height: auto; }
    .list a, .list div, .episode, .facts span { flex-direction: column; gap: .35rem; }
    .table { display: block; overflow-x: auto; }
    .table th, .table td { padding: .7rem .6rem; }
    .row-actions { min-width: 150px; }
    .import-card { grid-template-columns: 84px 1fr; padding: .75rem; }
    .import-card h2 { font-size: 1rem; }
    .import-card p { font-size: .85rem; }
    .admin-hero {
        min-height: 210px;
        align-items: stretch;
        flex-direction: column;
        justify-content: end;
        margin-top: .7rem;
    }
    .compact-hero { min-height: 170px; }
    .admin-card-grid { grid-template-columns: 1fr; }
    .library-card { grid-template-columns: 82px 1fr; gap: .75rem; padding: .7rem; }
    .library-poster img { width: 82px; }
    .media-card-head { align-items: flex-start; flex-direction: column; gap: .4rem; }
    .quick-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .quick-actions form, .quick-actions button { width: 100%; max-width: 100%; }
    .row-actions a { flex: 1 1 7rem; }
    .import-card.media-card { grid-template-columns: 88px 1fr; }
    .import-card.media-card img { width: 88px; }
    .admin-poster-row { grid-auto-columns: minmax(120px, 42vw); }
    .edit-hero {
        grid-template-columns: 92px 1fr;
        align-items: end;
    }
    .edit-hero img { width: 92px; }
    .edit-hero .actions {
        grid-column: 1 / -1;
    }
    .season-date-card, .season-admin-head { grid-template-columns: 1fr; }
    .season-actions { justify-content: stretch; }
    .season-actions form, .season-actions button { width: 100%; }
    .episode-pill-grid { grid-template-columns: 1fr; }
    .upcoming-hero {
        min-height: 560px;
        grid-template-columns: 1fr;
        padding-top: 4rem;
    }
    .upcoming-hero::before {
        background: linear-gradient(to top, rgba(9,11,16,.98), rgba(9,11,16,.76), rgba(9,11,16,.28));
    }
    .upcoming-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .next-drop { display: none; }
    .upcoming-timeline { grid-template-columns: 1fr; }
    .timeline-date {
        position: static;
        min-height: auto;
    }
    .timeline-date + .upcoming-card, .upcoming-card + .upcoming-card { grid-column: auto; }
    .upcoming-card {
        grid-template-columns: 58px minmax(0, 1fr);
        min-height: 5.8rem;
    }
    .upcoming-card img { width: 58px; }
    .upcoming-card-date {
        grid-column: 2;
        justify-self: start;
        margin-top: .15rem;
    }
}
