:root{--space:8px;--card-padding:24px;--section-gap:24px}.profile-grid{display:grid;grid-template-columns:1fr;max-width:960px;margin:auto}.panel,.quiet-card{padding:var(--card-padding);margin-bottom:var(--section-gap)}button,.button{min-height:48px}.secondary{background:transparent;border:1px solid #627698}.destructive{background:#812d3e;color:white;border:2px solid #ffb2bd}.wordmark{background:transparent;padding:0;justify-content:start}.bottom-nav button{color:var(--muted);background:transparent;border:0;padding:8px 24px;min-height:48px;font-size:14px}.bottom-nav button[aria-current=page]{background:#293d60;color:#e4efff}.title-card{display:block;min-width:0;width:100%;padding:0;background:transparent;border:0;text-align:left;color:var(--ink);font-weight:inherit}.title-card:hover .poster-placeholder{border-color:var(--blue)}.catalog,.poster-rail,.search-extras{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:24px;overflow:visible}.filter-extra{grid-column:1/-1;display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px}.filters{grid-template-columns:minmax(160px,1fr) minmax(120px,.6fr) auto auto auto;align-items:end}.add-choice{max-width:640px;margin:auto;display:grid;gap:24px}.add-choice>button:first-of-type{min-height:96px;font-size:24px}.advanced{display:grid;gap:24px}.advanced summary{cursor:pointer;padding:16px;border-radius:12px;list-style:none}.advanced[open]>label{margin-top:24px}.form-tools{margin-top:8px}.sample-banner{padding:16px 24px;background:#554720;color:#fff1bd;text-align:center}.import-dialog{color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:24px;padding:0;width:min(960px,calc(100% - 32px));max-height:90dvh;overflow:auto}.import-dialog::backdrop{background:#050a1dcc}.import-dialog header,.import-dialog [data-content],.import-dialog>.error{padding:24px}.import-dialog h1{font-size:32px}.import-dialog h2{margin:24px 0 16px}.import-dialog p{margin:16px 0}.import-toolbar{position:sticky;bottom:0;z-index:3;padding:16px;display:flex;flex-wrap:wrap;gap:8px;background:#101a31;border-top:1px solid var(--line)}.import-counts{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding:24px 0}.import-counts strong{padding:16px;border:1px solid var(--line);border-radius:12px}.import-dialog details{border-top:1px solid var(--line);padding:16px 0}.import-dialog summary{cursor:pointer;min-height:44px}.import-dialog dl{display:grid;grid-template-columns:1fr 1fr}.import-dialog [data-mapping]{display:grid;gap:16px}.profile-grid .actions{margin-top:24px}.result-panel{padding:16px;border:1px solid var(--line);border-radius:12px;margin-top:16px}.queue-reason{font-size:13px;color:#d8dff2}.season-shell{padding:32px;border:1px solid var(--line);border-radius:24px}body[data-event=october] .wordmark{color:#ffc98b}body[data-event=winter] .wordmark{color:#d2edff}@media(max-width:760px){.filters{grid-template-columns:1fr 1fr}.filters>label:first-child{grid-column:1/-1}.bottom-nav button{flex:1;display:flex;flex-direction:column;font-size:11px;padding:8px}.catalog,.poster-rail,.search-extras{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.import-counts{grid-template-columns:1fr 1fr}.import-toolbar button{flex:1}.profile-grid{max-width:none}}

.hero-poster{background:transparent;border:0;padding:0}.seasonal-theme .brand-dot{color:#ffe2a0}.review-reason{border-left:4px solid var(--blue);padding:16px}.title-card .poster-placeholder{width:100%;aspect-ratio:2/3}

.catalog,.poster-rail,.search-extras{align-items:start}.title-card{align-self:start}
/* Step 1 shared button component and layout baseline. */
.app-button{font:inherit;font-weight:650;min-height:48px;border-radius:12px;max-width:100%;white-space:normal;overflow-wrap:anywhere;flex-shrink:0}
.app-button:disabled,.app-button[aria-disabled="true"]{background:#303a4d!important;color:#aeb8c9!important;border:1px solid #566176!important;opacity:1!important;cursor:not-allowed!important;box-shadow:none!important;transform:none!important;transition:none!important}
main,section,form,.profile-grid>*,.detail-layout>*,.hero-copy{min-width:0}
.section-heading{flex-wrap:wrap;align-items:center;gap:16px}
.section-heading h1{flex:1 1 180px;overflow-wrap:anywhere}
.section-heading .app-button{flex:0 1 auto}
.panel>details,.panel>button,.panel>label+button{margin-top:16px}
.add-choice>button{margin-top:0}
.panel>details>label,.advanced[open]>button{margin-top:16px}
.panel .actions{gap:12px}.actions>*{min-width:0;flex-basis:auto}
form .error:empty{display:none}.form-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.filters{grid-template-columns:minmax(160px,1fr) minmax(120px,.6fr) auto auto}
[data-filter-chips]:not(:empty){margin-bottom:24px}
.poster-rail{grid-auto-flow:row;grid-auto-columns:auto}
.home-toolbar h1{font-size:32px}.movie-hero h1{font-size:32px}
.panel>h3{margin-top:24px}.backup-list li>span{min-width:0}.backup-list li .app-button{flex-shrink:0}
@media(max-width:760px){
 :root{--card-padding:20px;--section-gap:24px}
 .topbar{padding:24px 20px;gap:12px}.preview{white-space:normal;text-align:right;max-width:150px}
 main{padding:0 20px;margin:24px auto}.panel,.quiet-card{padding:20px}
 .page-head{margin:16px 0 24px}.page-head h1{font-size:32px}
 .section-heading{margin:24px 0;gap:12px}.section-heading h1{font-size:32px;flex-basis:100%}
 .home-toolbar h1{flex-basis:auto}.home-toolbar{margin-top:0}
 .filters{grid-template-columns:1fr 1fr;gap:12px}.filters>label:first-child{grid-column:1/-1}.filter-extra{grid-template-columns:1fr;gap:16px}
 .catalog,.poster-rail,.search-extras{gap:16px}.poster-placeholder{padding:12px}.poster-placeholder>span{font-size:17px;overflow-wrap:anywhere}
 .edition-tabs{flex-wrap:wrap;gap:4px;padding:6px}.edition-tabs span{padding:4px 6px}
 .profile-grid .actions{display:grid;grid-template-columns:1fr;margin-top:16px}.profile-grid .actions .app-button{width:100%}
 .detail-layout{gap:24px}.case-row>.app-button{display:flex;width:100%;margin-top:12px}
 .panel>a+a{margin-left:0}.panel .form-grid{margin-top:16px}
 .bottom-nav .app-button{max-width:none;min-width:0;border-radius:12px}.bottom-nav{gap:4px}
 .sample-banner{padding:12px 20px;font-size:13px}
}
/* Step 1b: contained hero, shared controls and viewport clearance. */
body{padding-bottom:0}
main{padding-bottom:calc(var(--nav-footprint,112px) + 16px)}
.movie-hero{min-height:0;align-items:center}
.movie-hero .hero-poster,.movie-hero .hero-poster:hover{transform:none;align-self:center;justify-self:center;overflow:hidden}
.hero-copy>[data-go]{position:static;margin:0}
.poster-placeholder>.placeholder-mark{font-size:32px;font-weight:400;color:var(--muted)}
.filters select,.filters>[data-filter-toggle]{height:48px;min-height:48px}
.filter-control{font:inherit;font-weight:650;border:1px solid #627698;border-radius:12px;background:#0d162d;color:var(--ink);padding:12px 16px}
.filters>[data-filter-toggle]{align-self:end}
.detail-disclosure{display:flex;align-items:center;justify-content:space-between;gap:16px;list-style:none;font-size:16px;font-weight:650;padding:16px;min-height:56px}
.detail-disclosure::-webkit-details-marker,summary.app-button::-webkit-details-marker{display:none}
.detail-disclosure::after{content:'›';font-size:24px;line-height:1;transition:transform .15s}
details[open]>.detail-disclosure::after{transform:rotate(90deg)}
details.panel:has(>.detail-disclosure){padding:0}
details.panel>.form-grid,details.panel>.app-button,details.panel>p{margin:16px}
summary.app-button{display:inline-flex;list-style:none;cursor:pointer}
.seasonal-settings{margin:24px 0}
.seasonal-settings .check{justify-content:space-between;margin:16px 0;flex-direction:row-reverse}
input[role=switch]{appearance:none;flex-shrink:0;width:48px;height:28px;min-height:28px;padding:3px;border-radius:20px;background:#303a4d;cursor:pointer}
input[role=switch]::before{content:'';display:block;width:20px;height:20px;border-radius:50%;background:var(--ink);transition:transform .15s}
input[role=switch]:checked{background:#416da1;border-color:var(--blue)}
input[role=switch]:checked::before{transform:translateX(18px)}
@media(max-width:760px){
 .movie-hero{padding:20px;gap:16px}
 .movie-hero .hero-copy{order:2}.movie-hero .hero-poster{order:1;max-width:120px;margin:0 auto;min-height:0}
 .movie-hero .hero-poster .poster-placeholder{width:120px;height:180px}
 .movie-hero .eyebrow{margin-bottom:8px}.movie-hero h1{font-size:28px;margin-bottom:16px}
 .hero-watch{margin-top:16px}.hero-watch .watch-actions{margin-bottom:0}
 .filters{align-items:end}.filters>label:has([name=sort]){grid-column:1}.filters>[data-filter-toggle]{grid-column:2;grid-row:2}
 .detail-layout{grid-template-columns:80px minmax(0,1fr);gap:16px}.detail-layout>div{width:80px}.detail-layout .poster-placeholder{padding:6px}.detail-layout .poster-placeholder small{font-size:9px;margin-top:8px}.detail-layout .edition-tabs{padding:2px}.detail-layout p{margin-bottom:12px}
 .detail-layout+.panel .case-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:12px 0}
 .detail-layout+.panel .case-row>strong,.detail-layout+.panel .case-row>p{grid-column:1/-1;margin:0}
 .detail-layout+.panel .case-row>.app-button{margin:0;padding:12px;font-size:14px}
 .detail-layout{margin-bottom:16px}
 .detail-layout+.panel{padding:16px;margin-bottom:16px}
 .detail-layout+.panel .case-row{gap:8px;padding:8px 0}
 details.panel:has(>.detail-disclosure){margin-bottom:16px}
}
/* Step 1c: contained hero and Detail hierarchy, touch rails and viewport menus. */
.topbar .preview{display:none}
.tab-toolbar,.home-toolbar{justify-content:flex-end;margin-top:0}
.movie-hero{display:flex;position:relative;isolation:isolate;align-items:flex-end;min-height:400px;padding:32px;background:radial-gradient(ellipse at 75% 15%,#324f78 0,transparent 60%),linear-gradient(135deg,#1d3153,var(--bg));border:0;overflow:hidden;transform:none}
.movie-hero::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#0b10261a 0%,#0b102680 35%,var(--bg) 100%);pointer-events:none}
.hero-backdrop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.hero-link{position:absolute;inset:0;z-index:0;border-radius:inherit}
.hero-link:focus-visible{outline-offset:-4px}
.movie-hero .hero-copy{order:0;width:100%;max-width:640px;pointer-events:none;z-index:1}
.hero-copy button,.hero-copy a,.hero-copy select,.hero-copy label{pointer-events:auto}
.movie-hero h1{font-size:36px;margin:0 0 16px;overflow-wrap:anywhere}
.movie-hero .hero-meta{font-size:14px;margin:0 0 8px}
.hero-watch{margin-top:16px}
.hero-watch .watch-actions{display:flex;flex-wrap:nowrap;gap:8px;margin:0}
.hero-watch .watch-actions>button,.hero-watch .watch-actions>a{flex:1;min-width:0;max-width:none}
.hero-watch .error:empty,#detail-watch .error:empty{display:none}
.genre-pills{display:flex;flex-wrap:wrap;gap:0 8px;align-items:center}
.genre-pills .genre-pill{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding:6px 0;background:none;border:0;border-radius:0;color:var(--ink);font-size:12px;flex:0 0 auto;text-decoration:none}
.genre-pill>span{display:flex;align-items:center;justify-content:center;min-height:32px;padding:4px 12px;background:#16223b;border:1px solid #465879;border-radius:8px;line-height:1.25}
.genre-pill:active{transform:scale(.98)}
.poster-rail{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:160px;gap:16px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;padding:0 0 16px;scroll-padding-inline:0}
.poster-rail .title-card{scroll-snap-align:start;touch-action:pan-x pan-y}
.home-row .section-heading button{min-height:44px}
.detail-header{margin:24px 0}
.detail-layout{display:grid;grid-template-columns:160px minmax(0,1fr);gap:24px;align-items:end;margin:0 0 16px}
.detail-layout>.detail-poster{width:160px;max-width:none;align-self:end}
.detail-poster .poster-placeholder{aspect-ratio:2/3;width:100%;transform:none}
.detail-copy{display:flex;flex-direction:column;justify-content:flex-end;min-width:0}
.detail-copy h1{font-size:32px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;margin:0 0 8px}
.detail-copy .detail-meta{font-size:13px;line-height:1.5;margin:0 0 8px}
#detail-watch{padding:0;margin:0;background:none;border:0}
#detail-watch .current-rating{font-size:12px;margin-top:8px}
#detail-watch .rating-chips{gap:8px;margin-top:8px}
#detail-watch .rating-chips button{min-height:44px;padding:8px 12px}
.detail-synopsis{margin-bottom:24px;display:grid;gap:16px}
.detail-synopsis p{font-size:14px;margin:0}
.detail-synopsis>.button,.detail-synopsis>.app-button{justify-self:start}
.copies-panel .case-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:16px 0}
.copies-panel .case-row>strong,.copies-panel .case-row>p{grid-column:1/-1;margin:0}
.copies-panel .case-row>.app-button{margin:0;padding:12px;font-size:14px;width:100%}
.nav-scrim{position:fixed;left:0;right:0;bottom:0;height:calc(var(--nav-footprint,112px) + 96px);background:linear-gradient(to bottom,transparent,var(--bg) 96px);z-index:9;pointer-events:none}
body:has(#navigation[hidden]) .nav-scrim{display:none}
.native-dropdown{position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;padding:0!important;clip-path:inset(50%);overflow:hidden;pointer-events:none}
.dropdown-trigger{width:100%;justify-content:space-between;text-align:left;min-height:48px;font:inherit;padding:12px 16px}
.dropdown-menu{position:fixed;inset:auto;margin:0;box-sizing:border-box;padding:8px;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;background:var(--panel);color:var(--ink);border:1px solid #627698;border-radius:16px;box-shadow:0 16px 40px #03081b99;z-index:30}
.dropdown-menu::backdrop{background:transparent}
.dropdown-option{display:flex;width:100%;min-height:48px;justify-content:flex-start;background:transparent;color:var(--ink);border-radius:8px;font-size:14px;padding:12px 16px;text-align:left}
.dropdown-option[aria-selected=true]{background:#293d60;color:#e4efff}
.dropdown-option:focus-visible{outline-offset:-3px}
@media(max-width:760px){
 .movie-hero{display:flex;min-height:360px;padding:24px;margin:0 -20px;border-radius:0;gap:0}
 .movie-hero h1{font-size:32px;margin-bottom:16px}
 .detail-layout{grid-template-columns:112px minmax(0,1fr);gap:16px}
 .detail-layout>.detail-poster{width:112px}
 .detail-copy h1{font-size:24px;line-height:1.15}
 .detail-copy .detail-meta{font-size:12px}
 .detail-poster .poster-placeholder{padding:8px}
 .detail-poster .poster-placeholder small{font-size:9px;margin-top:8px}
 .detail-copy .genre-pill>span{padding-inline:8px}
 .poster-rail{grid-auto-columns:144px}
 .catalog.compact{display:block}
 .compact .title-card{grid-template-columns:64px minmax(0,1fr);gap:8px 16px}
}
/* Overlay link must not inherit the shared primary button fill. */
.movie-hero .hero-link{background:transparent;border:0;padding:0;min-height:0;max-width:none;transform:none}
.detail-layout>.detail-copy{width:auto;max-width:none}
.seasonal-settings>button{display:flex;margin-top:16px}
.seasonal-settings .check{min-height:44px}
/* Keep the existing nav-height + 16px padding; reserve outer clearance for the fade. */
main{margin-bottom:120px}

/* Keep the any-title quick logger inside the featured title action row. */
.hero-watch .watch-actions{align-items:stretch}
.hero-watch .watch-actions>.app-button{padding-inline:8px;font-size:14px}

