/* The TV home puts the wheel inside the available height, with tasks beside it. */
.ritual-rail{min-width:0;display:grid;gap:16px;align-content:start}
.draw-options{margin:12px 0}
.draw-options summary{min-height:44px;padding:12px 4px;cursor:pointer;color:var(--gold2);font-size:.9rem}
.remote-hint{display:none}
#discoverLoadMore{display:block;max-width:420px;margin:24px auto 0}
.party-home-actions{display:flex;gap:10px;flex-wrap:wrap}
.party-home-actions .btn{flex:1;min-width:130px}
.party-home-status:empty{display:none}
.party-home-status{color:var(--gold2);line-height:1.45}
.party-next .party-home-film{font-size:1.15rem;color:var(--ink);margin:8px 0}
body.tv-mode .remote-hint{display:inline}body.tv-mode .pointer-hint{display:none}
body.tv-mode .wheel-shell{width:min(100%,calc(90vh - 150px));width:min(100%,calc(90svh - 150px))}
body.tv-mode .runering,body.tv-mode .wheel-aura,body.tv-mode .hub:before,body.tv-mode .result-window:after,body.tv-mode .feature-event:before,body.tv-mode .feature-event:after{animation:none}
body.tv-mode .runering:before,body.tv-mode .runering:after{display:none}
body.tv-mode .tap-hint{color:#c3b3a3;font-size:.85rem;line-height:1.4}
body.tv-mode .movie-dossier,body.tv-mode .info-dialog,body.tv-mode .review-dialog{max-height:80vh;max-height:80svh;scroll-padding:20px}
body.tv-mode .drawer{top:5vh;bottom:5vh;height:auto;right:5vw;max-width:90vw}
body.tv-mode .movie-dossier .dossier-title{font-size:2rem}
body.tv-mode .dossier-body{grid-template-columns:minmax(120px,20%) minmax(0,1fr);gap:24px;padding:60px 24px 24px}
body.tv-mode .dossier-poster{width:100%;max-width:240px}
body.tv-mode .dossier-actions .btn,body.tv-mode .poster-card-actions .micro{white-space:normal}
body.tv-mode .discover-copy b{font-size:1.1rem}body.tv-mode .discover-copy small{font-size:.9rem}
body.tv-mode .discover-copy p{font-size:.95rem;line-height:1.45}
body.tv-mode .poster-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
body.tv-mode .discover-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
body.tv-mode .navbtn,body.tv-mode .btn,body.tv-mode summary,body.tv-mode .info-button{scroll-margin-block:90px}
body.tv-wide{--navh:64px;font-size:1rem}
body.tv-wide .app{width:90vw;max-width:none;margin:auto;padding:calc(5vh + var(--navh) + 12px) 0 5vh}
body.tv-wide .topbar{top:5vh;left:5vw;right:5vw;padding:0 8px;gap:12px;border-radius:12px}
body.tv-wide .brand-name{font-size:.85rem}
body.tv-wide .brand-name small{display:none}
body.tv-wide .desktop-nav{display:flex}
body.tv-wide .mobile-nav{display:none!important}
body.tv-wide .navbtn{padding:10px 12px;min-height:48px;font-size:.95rem}
body.tv-wide .views{max-width:none}
body.tv-wide .view{padding:0 0 24px;min-height:calc(90vh - var(--navh))}
body.tv-wide .ritual-head{display:none}
body.tv-wide .ritual-grid{grid-template-columns:minmax(0,2fr) minmax(310px,1fr);gap:24px;align-items:start}
body.tv-wide .wheel-stage{padding:4px 8px 0}
body.tv-wide .wheel-shell{width:min(100%,calc(90vh - var(--navh) - 90px));width:min(100%,calc(90svh - var(--navh) - 90px));filter:none}
body.tv-wide .wheel-key{margin:0 auto;max-width:100%;font-size:.9rem}
body.tv-wide .wheel-key summary{padding:8px;min-height:40px}
body.tv-wide .ritual-rail{max-height:calc(90vh - var(--navh) - 24px);max-height:calc(90svh - var(--navh) - 24px);grid-auto-rows:max-content;overflow-y:auto;overflow-x:hidden;padding:8px 12px 18px;scrollbar-gutter:stable;scrollbar-color:var(--gold) #130d16;scroll-padding-block:18px;border-left:1px solid var(--line)}
body.tv-wide .ritual-rail>*{min-width:0;max-width:100%}
body.tv-wide .ritual-rail :is(button,a,summary,input,select){scroll-margin-block:12px}
body.tv-wide .ritual-rail .btn{min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere}
body.tv-wide .fate-panel{width:100%;margin:0;padding:14px;box-shadow:none}
body.tv-wide .fate-title{font-size:1.2rem}body.tv-wide .fate-copy{display:none}
body.tv-wide .result-window{min-height:100px;padding:12px}
body.tv-wide .result-category{font-size:1.3rem}body.tv-wide .result-kicker{font-size:.8rem}
body.tv-wide .btn{padding:12px;min-height:48px;line-height:1.25}
body.tv-wide .fate-actions .two{display:grid;grid-template-columns:1fr 1fr;gap:8px}
body.tv-wide .party-next{padding:14px}
body.tv-wide .party-next h3{font-size:1.35rem;margin:6px 0}
body.tv-wide .party-next p{font-size:1rem;margin:10px 0}
body.tv-wide .eyebrow{font-size:.8rem;letter-spacing:.12em}
body.tv-wide .feature-event{margin:0;background:#130d16}
body.tv-wide #partyHomeFeature .party-film-layout,body.tv-wide #homeFeatureEvent .feature-inner{display:grid;grid-template-columns:78px minmax(0,1fr);padding:14px;gap:14px}
body.tv-wide #partyHomeFeature .feature-poster,body.tv-wide #homeFeatureEvent .feature-poster{width:78px;min-height:117px;align-self:start}
body.tv-wide #partyHomeFeature h3,body.tv-wide #homeFeatureEvent h3{font-size:1.3rem;margin:8px 0;overflow-wrap:anywhere}
body.tv-wide #partyHomeFeature .party-film-body{grid-column:1/-1}
body.tv-wide #partyHomeFeature .feature-summary,body.tv-wide #partyHomeFeature .party-film-meta,body.tv-wide #partyHomeFeature .party-control-line,body.tv-wide #partyHomeFeature .party-film-trailer,body.tv-wide #partyHomeFeature .party-film-watch,body.tv-wide #partyHomeFeature .party-feature-remind,body.tv-wide #partyHomeFeature .party-film-connection,body.tv-wide #homeFeatureEvent .feature-summary,body.tv-wide #homeFeatureEvent .feature-meta,body.tv-wide #homeFeatureEvent .feature-trailer,body.tv-wide #homeFeatureEvent .feature-watch{display:none}
body.tv-wide #partyHomeFeature .feature-actions,body.tv-wide #homeFeatureEvent .feature-actions{display:grid;grid-template-columns:1fr;gap:8px}
body.tv-wide #homeFeatureEvent .feature-actions{margin-top:12px}
body.tv-wide #homeSecondary{margin:0;display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
body.tv-wide #homeSecondary .home-profile{display:block;margin:0}
body.tv-wide #homeSecondary p{overflow-wrap:anywhere}
body.tv-wide #homeSecondary .btn{margin-top:10px;width:100%}
body.tv-wide .party-home-actions{display:grid;grid-template-columns:1fr 1fr}
body.tv-wide .party-home-actions .btn{min-width:0}
body.tv-wide .party-home-actions .party-feature-manage{grid-column:1/-1}
body.tv-wide .watching-indicator{font-size:.9rem;padding:6px 8px}
@media(max-width:1100px){body.tv-wide .brand-name{display:none}body.tv-wide .ritual-grid{gap:12px}body.tv-wide .top-actions{gap:8px}}
/* Personal film feedback uses moon symbols plus numbers and explicit labels. */
.review-prompt h3{margin:8px 0;font-size:1.2rem}.review-prompt p{margin:8px 0 14px;line-height:1.4;overflow-wrap:anywhere}
.review-dialog{width:min(560px,92vw);max-height:85vh;max-height:85svh;overflow:auto;border:1px solid var(--gold);border-radius:22px;background:#171019;color:var(--ink);padding:24px;box-shadow:var(--shadow)}
.review-dialog::backdrop{background:rgba(0,0,0,.8)}
.review-heading{display:flex;justify-content:space-between;align-items:start;gap:14px}.review-heading h2{margin:8px 0;font-size:1.6rem}.review-heading .iconbtn{flex:none}
#reviewFilm{font-weight:bold;font-size:1.15rem;overflow-wrap:anywhere}
.review-privacy,.review-scale{font-size:.95rem;color:#c3b3a3;line-height:1.5}
.review-dialog fieldset{min-width:0;border:0;padding:0;margin:20px 0}.review-dialog legend{font-weight:bold;margin-bottom:12px}
.review-reactions,.review-footer{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.review-reactions [aria-pressed="true"]{border:2px solid var(--gold2);background:#503529}
.moon-choices{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.moon-choices button{border:1px solid var(--line);border-radius:12px;background:#0b080d;color:var(--ink);min-height:66px;padding:8px 4px;cursor:pointer}
.moon-choices span{display:block;font-size:1.5rem;opacity:.4}.moon-choices b{font-size:1rem}
.moon-choices .filled span{opacity:1}.moon-choices [aria-pressed="true"]{border:2px solid var(--gold2);background:#503529}
.review-remove{margin-top:18px;min-height:44px}.review-dialog button{min-height:44px}
#reviewSaveStatus:empty{display:none}#reviewSaveStatus{color:#f4c179}
.viewing-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.personal-verdict{color:var(--gold2)!important}
.viewing-actions .viewing-correct{flex-basis:100%;min-height:44px;text-align:right;font-size:.875rem}
.removed-viewings{margin-top:20px;border-top:1px solid var(--line);padding-top:12px}
.removed-viewings summary{min-height:44px;cursor:pointer;color:var(--gold2);line-height:1.5;padding:10px 0}
.removed-viewings p{font-size:1rem;line-height:1.5;color:#c3b3a3}
.correction-dialog #correctionFilm{font-size:1.15rem;font-weight:bold;overflow-wrap:anywhere}
.correction-dialog label{display:block;font-size:1rem;margin-bottom:10px}
.correction-dialog input{width:100%;max-width:100%;min-width:0;box-sizing:border-box;font:inherit;min-height:48px;color-scheme:dark}
.correction-dialog .correction-remove{min-height:48px;margin-top:14px}
#correctionConfirm p{line-height:1.5}#correctionConfirm .btn{white-space:normal}
#correctionError{color:#f4c179;line-height:1.5}#correctionError:empty,#viewingCorrectionStatus:empty{display:none}
#viewingCorrectionStatus{color:var(--gold2);font-size:1rem;line-height:1.5}
@media(max-width:480px){.viewing-row{flex-wrap:wrap}.viewing-row>.viewing-actions{width:100%;justify-content:flex-start}.viewing-actions .viewing-correct{text-align:left}.correction-dialog .review-footer{grid-template-columns:1fr}}
html.tv-wide{font-size:clamp(18px,1.42vw,28px)}
body.tv-mode .review-dialog{width:min(760px,80vw);padding:24px}
body.tv-mode .review-dialog button{min-height:52px}
@media(max-width:500px){.viewing-row{grid-template-columns:1fr}.viewing-actions{justify-content:start}.viewing-actions .btn{flex:1}.review-dialog{padding:18px}.review-footer{grid-template-columns:1fr}}
