:root{--bg:#070d17;--panel:#0c1727;--panel2:#101f33;--line:#20344d;--text:#f1f5fb;--muted:#9baec5;--blue:#2585ff;--blue2:#1266d6;--gold:#ffcb58;--green:#51d6a2;--red:#ff8a8a}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.55 Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,.film-card{transition:transform .15s ease,border-color .15s ease}button{cursor:pointer}.sidebar{position:fixed;inset:0 auto 0 0;width:220px;background:#050b14;border-right:1px solid var(--line);padding:24px 14px;display:flex;flex-direction:column;z-index:3}.brand{font-size:20px;font-weight:800;display:flex;gap:10px;align-items:center;padding:0 10px 28px}.sidebar nav{display:grid;gap:6px}.sidebar nav>a{padding:11px 12px;border-radius:9px;color:#bdcbe0}.sidebar nav>a:hover,.sidebar nav>a:first-child{background:#0d4f9c;color:white}.sidebar-foot{margin-top:auto;padding:12px;color:var(--muted);font-size:13px}.logout{padding:10px 12px}.logout button{border:0;background:transparent;color:var(--muted);padding:0}.main{margin-left:220px;max-width:1500px;padding:0 34px 32px}.topline{display:flex;justify-content:space-between;gap:16px;padding:18px 0;color:var(--muted);font-size:11px;letter-spacing:.14em;border-bottom:1px solid #17263a}.topline span+span{letter-spacing:0;font-size:12px}.hero{margin:24px 0 38px;padding:34px;border:1px solid var(--line);border-radius:18px;background:radial-gradient(ellipse at 80% 15%,#1d4774 0,transparent 43%),linear-gradient(120deg,#101f33,#09111e 75%);min-height:250px;display:flex;align-items:center;justify-content:space-between;gap:28px;overflow:hidden}.hero-copy{max-width:600px}.eyebrow{font-size:11px;letter-spacing:.16em;color:#7dbbff;font-weight:800;margin:0 0 10px}.hero h1{font-size:clamp(32px,4vw,56px);line-height:1.04;letter-spacing:-.04em;margin:0 0 18px}.hero h1 span{color:#77b8ff}.lead{font-size:18px;color:#c7d6e9}.status-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:13px}.status{background:#4a3915;color:var(--gold);padding:5px 10px;border-radius:999px;font-size:12px;font-weight:800}.winner{display:flex;gap:18px;max-width:470px;background:#07101dc9;border:1px solid #2b486b;border-radius:14px;padding:15px;align-items:flex-start}.winner img{width:105px;border-radius:7px;box-shadow:0 8px 25px #0008}.winner h2{font-size:19px;margin:0 0 7px}.winner small,.film-info small{font-weight:500;color:var(--muted)}.winner p:not(.eyebrow){color:#bdcbe0;font-size:13px;margin:5px 0 12px}.section{margin:0 0 42px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:15px;margin-bottom:18px}.section h2{font-size:24px;letter-spacing:-.025em;margin:0}.section h1{font-size:36px;letter-spacing:-.035em;margin:0 0 8px}.muted{color:var(--muted);font-size:13px}.film-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.film-card{min-width:0;overflow:hidden;background:var(--panel);border:1px solid var(--line);border-radius:12px}.film-card:hover{transform:translateY(-2px);border-color:#3e6c9e}.poster{width:100%;aspect-ratio:2/3;object-fit:cover;display:block;background:#14243a}.poster-placeholder{display:grid;place-items:center;min-height:180px;aspect-ratio:2/3;background:linear-gradient(145deg,#152c48,#0c1422);font-size:40px;color:#6e8eb3}.film-info{padding:13px}.film-info h3{font-size:16px;margin:0 0 7px}.film-info p{color:#b2c2d7;font-size:12px;line-height:1.5;min-height:54px;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.button{display:inline-flex;justify-content:center;align-items:center;border:0;border-radius:8px;background:var(--blue);color:white;font-weight:750;padding:10px 15px;font-size:13px}.button:hover{background:var(--blue2)}.button.secondary{background:#152a42;border:1px solid #2d4b6c}.button.full{width:100%}.text-link{color:#80bcff;font-size:13px;font-weight:700}.text-link:hover{text-decoration:underline}.film-info .text-link{display:inline-block;margin:2px 0 10px}.result-count{font-weight:800;color:var(--gold);font-size:13px}.rotation{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.member-chip,.member-row{display:flex;align-items:center;gap:10px;padding:12px;background:var(--panel);border:1px solid var(--line);border-radius:10px}.member-chip.current{border-color:#267be0;background:#0c2340}.number{display:grid;place-items:center;width:28px;height:28px;flex:none;border-radius:50%;background:#1b3c61;color:#9bcaff;font-weight:800}.tag{margin-left:auto;background:#123e6c;color:#8cc5ff;border-radius:999px;padding:3px 7px;font-size:9px;font-weight:900;letter-spacing:.06em}.recent-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.recent-card{background:var(--panel);border:1px solid var(--line);border-radius:10px;overflow:hidden}.recent-card img,.recent-card .poster-placeholder{width:100%;aspect-ratio:2/3;object-fit:cover}.recent-card>span{display:grid;gap:4px;padding:10px}.recent-card strong{font-size:12px}.recent-card small{font-size:11px;color:var(--muted)}.empty{padding:24px;border:1px dashed #2b4058;border-radius:10px;color:var(--muted);text-align:center}.auth-panel{max-width:560px;margin:45px auto;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:28px}.auth-panel h1{font-size:30px;margin:0 0 6px}.stack{display:grid;gap:14px}.stack label{display:grid;gap:6px;font-size:13px;color:#cbd8e8}.stack input,.stack textarea,.searchbar input{width:100%;background:#07101d;color:var(--text);border:1px solid #2a405a;border-radius:8px;padding:11px;outline:none}.stack input:focus,.stack textarea:focus,.searchbar input:focus{border-color:var(--blue)}.stack input[type=submit]{background:var(--blue);border:0;cursor:pointer;font-weight:800}.form-panel{background:var(--panel);border:1px solid var(--line);border-radius:13px;padding:20px}.form-panel h2{font-size:19px;margin:0 0 14px}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:24px 0}.top-gap{margin-top:15px}.subheading{margin:30px 0 12px}.member-list{display:grid;gap:8px;max-width:700px}.member-row{padding:10px 14px}.member-row>div{display:grid}.member-row small{font-size:12px;color:var(--muted)}.messages{padding-top:14px}.flash{padding:10px 14px;border-radius:8px;margin:5px 0;font-size:13px}.flash.success{background:#0e332b;color:#8df0c7}.flash.error{background:#421e24;color:#ffb4b4}.success-note{color:var(--green)}.searchbar{display:flex;gap:8px;max-width:520px;margin:22px 0}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px}table{width:100%;border-collapse:collapse;min-width:750px}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--line);vertical-align:top}th{background:#101f33;color:#a9bed6;font-size:11px;text-transform:uppercase;letter-spacing:.07em}td{font-size:13px}.table-film{display:flex;gap:10px;align-items:center;min-width:170px}.table-film img{width:43px;height:62px;object-fit:cover;border-radius:4px}.table-film span{display:grid;gap:2px}.table-film small,.table-film a{font-size:11px;color:var(--muted)}.review-row{padding:5px 0 9px;border-bottom:1px solid #1b2d42;max-width:360px}.review-row:last-child{border:0}.review-row p{margin:3px 0;color:#c2d0e1;white-space:pre-wrap}.small{font-size:11px}footer{border-top:1px solid #17263a;color:#627a95;padding:22px 0;font-size:11px;margin-top:28px}
@media(max-width:1100px){.main{padding:0 22px 25px}.sidebar{width:180px}.main{margin-left:180px}.film-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.recent-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.rotation{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{align-items:flex-start;flex-direction:column}.winner{max-width:100%}}
@media(max-width:650px){.sidebar{position:static;width:auto;height:auto;padding:10px 12px;display:block;border-right:0;border-bottom:1px solid var(--line)}.brand{padding:0 5px 10px}.sidebar nav{display:flex;overflow:auto;gap:5px}.sidebar nav>a{white-space:nowrap;padding:8px}.sidebar nav>a span{display:inline}.sidebar-foot{display:none}.logout{display:none}.main{margin-left:0;padding:0 14px 22px}.topline{font-size:9px}.topline span+span{font-size:10px}.hero{padding:22px 18px;margin:16px 0 28px}.winner{width:100%;gap:12px}.winner img{width:80px}.film-grid{gap:10px}.film-info{padding:10px}.film-info h3{font-size:14px}.film-info p{font-size:11px}.rotation{grid-template-columns:1fr}.recent-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-grid{grid-template-columns:1fr}.section h1{font-size:30px}.section-head{align-items:flex-start;flex-direction:column}.auth-panel{padding:20px;margin:24px auto}.film-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Streaming, tie-break and TMDB search additions */
.meta-row{display:flex;gap:14px;color:var(--muted);font-size:13px;margin:0 0 10px}
.winner-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.providers{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:12px 0}
.providers.compact{margin:8px 0 2px}
.providers-label{color:var(--muted);font-size:12px;letter-spacing:.04em}
.provider{display:inline-flex;align-items:center;gap:6px;background:#0d1d31;border:1px solid var(--line);border-radius:8px;padding:4px 9px;font-size:12px}
.provider img{width:18px;height:18px;border-radius:4px}
.provider.rent,.provider.buy{opacity:.78}
.provider em{color:var(--muted);font-style:normal;font-size:11px}
.providers-mini{color:var(--green)!important;font-size:11px}
.providers-unavailable{color:var(--muted);font-size:12px}
.providers-search{font-size:12px;font-weight:700;color:var(--blue);text-decoration:none}
.providers-search:hover{text-decoration:underline}
.tie-note{color:var(--gold);font-weight:600;margin:8px 0}
.tie-break,.tie-admin{margin-top:16px;padding:16px;border:1px solid var(--line);border-radius:12px;background:#0d1d31}
.tie-break .coinflip-form{margin:8px 0}
.tie-admin form{margin:8px 0}
.tie-choices{display:flex;flex-wrap:wrap;gap:8px}
.tie-choices button{width:auto}
.search-panel{margin-bottom:16px}
.search-results{display:grid;gap:8px;margin-top:10px}
.search-result{display:flex;align-items:center;gap:12px;text-align:left;background:#0d1d31;border:1px solid var(--line);border-radius:10px;padding:8px 10px;color:var(--text)}
.search-result:hover{border-color:var(--blue)}
.search-result img{width:44px;height:64px;object-fit:cover;border-radius:6px}
.search-result .poster-placeholder{width:44px;height:64px;display:flex;align-items:center;justify-content:center;background:#0a1626;border-radius:6px}
.search-result small{color:var(--muted)}

/* Keep the active navigation marker compact and specific to the current page. */
.sidebar nav>a:first-child{background:transparent;color:#bdcbe0}
.sidebar nav>a:hover{background:#0c1727;color:white}
.sidebar nav>a[aria-current="page"]{background:#0c2037;color:white;box-shadow:inset 3px 0 var(--blue)}
.sidebar nav>a[aria-current="page"]:hover{background:#102b49}
.sidebar nav{grid-template-columns:minmax(0,1fr);min-width:0}
.sidebar nav>a,.sidebar nav>.logout{width:100%;min-width:0}
.sidebar nav>.logout{display:flex;align-items:center}
@media(max-width:650px){.sidebar nav{grid-template-columns:none}.sidebar nav>a{width:auto}}

/* Poster-led archive cards remain readable without horizontal table scrolling. */
.archive-list{display:grid;gap:16px}
.archive-card{display:grid;grid-template-columns:132px minmax(0,1fr);gap:18px;padding:16px;background:var(--panel);border:1px solid var(--line);border-radius:14px;min-width:0}
.archive-poster{min-width:0}
.archive-poster img,.archive-poster-placeholder{display:grid;width:100%;aspect-ratio:2/3;object-fit:cover;border-radius:8px;background:linear-gradient(145deg,#152c48,#0c1422)}
.archive-poster-placeholder{place-items:center;align-content:center;gap:8px;color:#9bb1cc;text-align:center;padding:8px}
.archive-poster-placeholder span{font-size:34px}
.archive-poster-placeholder small{font-size:11px}
.archive-content{min-width:0}
.archive-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.archive-heading h2{margin:0;font-size:22px;line-height:1.25}
.archive-heading h2 small{font-size:15px;color:var(--muted);font-weight:500}
.archive-meta{margin:5px 0;color:var(--muted);font-size:13px}
.archive-average{display:grid;justify-items:end;flex:none;color:var(--muted);font-size:11px;line-height:1.35;text-align:right}
.archive-average strong{font-size:22px;color:var(--gold)}
.archive-links{display:flex;gap:14px;flex-wrap:wrap;min-height:24px;margin:4px 0 10px;color:var(--muted);font-size:12px}
.archive-links a{color:#80bcff}
.review-cta{min-height:48px;padding:12px 18px;font-size:15px;letter-spacing:.01em;box-shadow:0 5px 16px #0876e533}
.review-cta:hover{transform:translateY(-1px)}
.archive-review-cta{margin:2px 0 16px}
.archive-reviews{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr));gap:8px;align-content:start}
.archive-reviews h3{grid-column:1/-1;margin:0 0 2px;font-size:14px;color:#cbd8e8}
.archive-reviews .review-row{max-width:none;min-width:0;padding:9px 10px;background:#091522;border:1px solid #1b2d42;border-radius:8px;font-size:12px}
.archive-reviews .review-row strong{font-size:12px}
.archive-reviews .review-row p{font-size:12px;line-height:1.4;overflow-wrap:anywhere}
.archive-reviews .review-row .text-link{font-size:11px}
.archive-reviews .muted{grid-column:1/-1;margin:4px 0}
.winner>div{min-width:0}
.main,.hero-copy,.winner,.archive-card{min-width:0}
.searchbar input{min-width:0}
@media(max-width:650px){
  body{overflow-x:hidden}
  .topline{align-items:flex-start;flex-wrap:wrap;letter-spacing:.08em}
  .sidebar nav>.logout{display:flex;width:auto;flex:none;padding:8px 10px}
  .sidebar nav>.logout button{white-space:nowrap}
  .archive-card{grid-template-columns:96px minmax(0,1fr);gap:12px;padding:12px}
  .archive-heading{gap:8px}
  .archive-heading h2{font-size:18px}
  .archive-heading h2 small{font-size:12px}
  .archive-average strong{font-size:19px}
  .archive-review-cta{width:100%;padding:11px 9px;font-size:13px;text-align:center}
  .archive-reviews{grid-column:1/-1}
  .archive-reviews{grid-template-columns:repeat(auto-fill,minmax(min(100%,150px),1fr))}
  .winner-actions .review-cta{min-height:50px}
}
@media(max-width:380px){
  .archive-card{grid-template-columns:76px minmax(0,1fr);gap:10px;padding:10px}
  .archive-heading{display:block}
  .archive-average{justify-items:start;text-align:left;margin-top:5px}
  .archive-average strong{font-size:17px}
  .archive-review-cta{font-size:12px}
}
.admin-grid .form-panel>form.stack+form.stack{margin-top:12px}
.account-claimed{background:#0e332b;color:#8df0c7}
.account-unclaimed{background:#4a3915;color:var(--gold)}
.account-inactive{background:#263244;color:#b7c2d0}
.member-account-item{display:grid;gap:4px}
.password-reset{margin-left:48px;padding:0 10px 8px;color:var(--muted);font-size:12px}
.password-reset summary{cursor:pointer;color:#80bcff;font-weight:700}
.password-reset .stack{margin-top:8px;max-width:420px}
.review-reactions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.review-reactions form{margin:0}
.reaction-button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:42px;min-height:32px;padding:4px 8px;border:1px solid var(--line);border-radius:999px;background:#101d2c;color:var(--text);font-size:12px;cursor:pointer}
.reaction-button:hover{border-color:#428ff0;background:#142941}
.reaction-button.is-selected{border-color:#3286ff;background:#12345a;box-shadow:inset 0 0 0 1px #3286ff}
.review-reaction-tools{position:relative}
.reaction-picker-toggle{min-height:32px;padding:4px 10px;border:1px solid var(--line);border-radius:999px;background:#101d2c;color:#bcd4ef;font-size:12px}
.reaction-picker-toggle:hover{border-color:#428ff0;background:#142941}
.emoji-picker-popover{position:absolute;z-index:20;left:0;bottom:calc(100% + 7px);filter:drop-shadow(0 12px 28px #0009)}
#shared-emoji-picker emoji-picker{display:block;width:min(330px,calc(100vw - 54px));height:365px;max-height:70vh;color-scheme:dark}
.member-account-item{position:relative}
.member-row{position:relative}
.member-row .member-identity{display:flex;align-items:center;gap:10px;min-width:0;flex:1}
.member-row .account-status{margin-left:auto;flex:none}
.roster-order-form{gap:8px;margin:12px 0 18px}.roster-order-row{display:flex!important;align-items:center;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid var(--line)}.roster-order-row span{font-size:13px;color:var(--text)}.roster-order-row small{color:var(--muted);font-size:11px}.roster-order-row select{width:74px;background:#07101d;color:var(--text);border:1px solid #2a405a;border-radius:7px;padding:7px}.form-panel hr{border:0;border-top:1px solid var(--line);margin:20px 0}
.account-edit{position:relative;flex:none}
.account-edit summary{display:grid;place-items:center;list-style:none;width:34px;height:34px;border:1px solid var(--line);border-radius:8px;color:#9fcaff;background:#101d2c;cursor:pointer}
.account-edit summary::-webkit-details-marker{display:none}
.account-edit summary:hover{border-color:#428ff0;background:#142941}
.account-edit-panel{position:absolute;z-index:15;right:0;top:calc(100% + 7px);width:min(290px,calc(100vw - 48px));padding:14px;background:#0d1928;border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 28px #0009}
.account-edit-panel label{display:grid;gap:6px;font-size:12px;color:#cbd8e8}
.account-edit-panel input{width:100%;padding:9px;background:#07101d;color:var(--text);border:1px solid #2a405a;border-radius:7px}
.member-avatar{display:grid;place-items:center;flex:none;width:38px;height:38px;border-radius:50%;overflow:hidden;background:#1e426b;color:#9dcaff;font-weight:800}
.member-avatar img{width:100%;height:100%;object-fit:cover}
.member-avatar-small{width:27px;height:27px;font-size:12px}
.member-avatar-tiny{width:30px;height:30px;font-size:13px}
.member-avatar-large{width:92px;height:92px;font-size:32px}
.review-author{display:flex;align-items:center;gap:8px}
.topline-user{display:flex;align-items:center;gap:8px;letter-spacing:0!important;font-size:12px!important}
.profile-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,1fr);gap:18px;align-items:start}
.profile-avatar-preview{display:flex;align-items:center;gap:14px;margin:12px 0 18px}
@media(max-width:760px){.profile-layout{grid-template-columns:1fr}.account-edit-panel{right:-4px}}
/* Give mobile navigation fixed tap targets in a grid instead of shrinking into a row. */
@media(max-width:650px){
  .sidebar nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;overflow:visible;padding:0 2px 5px}
  .sidebar nav>a,.sidebar nav>.logout{display:flex;align-items:center;justify-content:center;gap:5px;width:auto;min-width:0;min-height:44px;padding:8px 5px;white-space:nowrap;font-size:12px}
  .sidebar nav>a span{display:inline;min-width:0}
  .sidebar nav>.logout button{white-space:nowrap;font-size:12px}
}
@media(max-width:380px){
  .sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr))}
}
.vote-participation{margin:16px 0;padding:14px;background:#0b1725;border:1px solid var(--line);border-radius:11px}
.vote-participation summary{display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;list-style:none;font-weight:800}
.vote-participation summary::-webkit-details-marker{display:none}
.vote-participation summary::after{content:"＋";color:#8dbfff;font-size:16px}
.vote-participation[open] summary::after{content:"−"}
.vote-participation-count{margin-left:auto;color:var(--muted);font-size:12px;font-weight:600}
.vote-participation>p{margin:8px 0 10px}
.vote-participant-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:6px}
.vote-participant{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;padding:8px 10px;border:1px solid #20334a;border-radius:8px;background:#0e1d2d;font-size:13px}
.vote-participant>span{min-width:0;overflow-wrap:anywhere}
.vote-participant>span small{color:var(--muted)}
.vote-participant strong{flex:none;font-size:11px;color:#aabbd0}
.vote-participant.vote-voted strong{color:#8df0c7}
.vote-participant.vote-waiting strong{color:#ffd36a}
.vote-participant.vote-unclaimed strong{color:#a0adc0}
.vote-participant.vote-picker strong{color:#82bbff}
.poster-trigger{display:block;width:100%;padding:0;border:0;border-radius:0;background:transparent;text-align:left}
.film-title-trigger{padding:0;border:0;background:transparent;color:inherit;font-size:inherit;font-weight:inherit;text-align:left}
.film-title-trigger small{font-size:12px;font-weight:500;color:var(--muted)}
.film-title-trigger:hover,.film-details-link:hover{text-decoration:underline}
.film-details-link{margin-top:2px;padding:0;border:0;background:transparent;text-align:left}
.film-details-dialog{position:fixed;width:min(760px,calc(100vw - 24px));max-width:none;max-height:86dvh;overflow:auto;padding:24px;background:#0b1725;color:var(--text);border:1px solid #2a405a;border-radius:16px;box-shadow:0 24px 70px #000b}
.film-details-dialog::backdrop{background:#02060dcc;backdrop-filter:blur(3px)}
.film-details-close{position:absolute;top:12px;right:12px;z-index:1;width:38px;height:38px;border:1px solid var(--line);border-radius:50%;background:#14243a;color:var(--text);font-size:24px;line-height:1}
.film-detail-layout{display:grid;grid-template-columns:minmax(105px,170px) minmax(0,1fr);gap:20px;align-items:start}
.film-detail-poster{display:block;width:100%;aspect-ratio:2/3;object-fit:cover;border-radius:9px;background:#14243a}
.film-detail-copy{min-width:0}
.film-detail-copy .eyebrow{margin:3px 35px 8px 0}
.film-detail-copy h2{margin:0 24px 5px 0;font-size:25px;line-height:1.2;overflow-wrap:anywhere}
.film-detail-facts{margin:6px 0 14px;color:var(--muted);font-size:12px}
.film-detail-copy h3{margin:12px 0 4px;font-size:15px}
.film-detail-synopsis{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;color:#d3deed;line-height:1.65}
.film-detail-links{display:flex;flex-wrap:wrap;gap:9px;margin-top:16px}
@media(max-width:520px){.film-details-dialog{padding:18px 16px;max-height:88dvh}.film-detail-layout{grid-template-columns:1fr;gap:10px}.film-detail-poster{width:92px}.film-detail-copy h2{font-size:22px}}
.emoji-reaction-submit[hidden]{display:none!important}

/* Give the selected film more of the homepage's visual weight than the slogan. */
.hero-with-winner{display:grid;grid-template-columns:minmax(210px,.7fr) minmax(0,1.3fr);align-items:center}
.hero-with-winner .hero-copy{max-width:440px}
.hero .hero-copy h1{font-size:clamp(24px,2.7vw,38px);line-height:1.12;letter-spacing:-.035em;margin:0 0 14px;color:#dce8f7}
.hero .hero-copy h1 span{color:#92a8c2}
.hero .lead{font-size:16px}
.hero-with-winner .winner{width:100%;max-width:none;gap:20px;padding:19px}
.hero-with-winner .winner>img,.hero-with-winner .winner>.poster-placeholder{width:clamp(135px,16vw,205px);min-width:clamp(135px,16vw,205px);aspect-ratio:2/3;object-fit:cover;border-radius:8px}
.hero-with-winner .winner h2{font-size:clamp(20px,2vw,27px)}
.status-selected,.status-reviewing,.status-complete{background:#0e332b;color:#8df0c7}
.status-voting{background:#123e6c;color:#9bcaff}
.status-tie{background:#4a3915;color:#ffd36a}
.provider-link{color:var(--text);text-decoration:none;min-height:38px;font-weight:700}
.provider-link:hover{border-color:#58a0ff;background:#142941;transform:translateY(-1px)}
.provider-link>span:last-child{color:#8dbfff}
.provider-attribution{width:100%;color:var(--muted);font-size:10px}
.film-review-links{margin-top:8px}
.film-detail-copy .film-review-links+.film-detail-links{margin-top:8px}
.film-card.result-card{transition:opacity .2s ease,border-color .2s ease,box-shadow .2s ease}
.film-card.result-other{opacity:.66}
.film-card.result-winner{border:2px solid #47d79a;box-shadow:0 0 0 2px #47d79a22,0 10px 28px #0004}
.film-card.result-winner:hover{border-color:#70f0b8}
.vote-breakdown{margin-top:12px;padding-top:2px}
.vote-breakdown summary{display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;list-style:none}
.vote-breakdown summary::-webkit-details-marker{display:none}
.vote-breakdown summary::after{content:"＋";color:#8dbfff;font-size:15px}
.vote-breakdown[open] summary::after{content:"−"}
.vote-breakdown .result-count{font-size:19px;line-height:1.2;color:#f5c75e}
.vote-breakdown summary>span{margin-left:auto;color:var(--muted);font-size:11px}
.vote-name-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.vote-name-list span{padding:5px 9px;border:1px solid #29415d;border-radius:999px;background:#0a1727;font-size:12px;font-weight:650}
@media(max-width:1100px){.hero-with-winner{grid-template-columns:1fr;gap:18px}.hero-with-winner .hero-copy{max-width:100%}.hero-with-winner .winner>img,.hero-with-winner .winner>.poster-placeholder{width:150px;min-width:150px}}
@media(max-width:650px){.hero-with-winner{display:grid}.hero-with-winner .winner{align-items:flex-start;padding:14px;gap:12px}.hero-with-winner .winner>img,.hero-with-winner .winner>.poster-placeholder{width:105px;min-width:105px}.hero .hero-copy h1{font-size:26px}.film-card.result-other{opacity:.72}.vote-breakdown .result-count{font-size:17px}}
@media(max-width:380px){.hero-with-winner .winner>img,.hero-with-winner .winner>.poster-placeholder{width:84px;min-width:84px}}

/* Compact, linked availability and rating panels for the selected film. */
.hero-with-winner .winner{display:grid;grid-template-columns:clamp(100px,13vw,165px) minmax(0,1fr);gap:14px 18px;align-items:start;width:100%;max-width:none;padding:18px}
.hero-with-winner .winner>img,.hero-with-winner .winner>.poster-placeholder{grid-column:1;grid-row:1;width:100%;min-width:0;aspect-ratio:2/3;object-fit:cover;border-radius:9px}
.hero-with-winner .winner-copy{grid-column:2;grid-row:1;min-width:0}
.hero-with-winner .winner-copy>p:not(.eyebrow){line-height:1.5}
.film-info-panels{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:12px;min-width:0;margin-top:2px}
.film-info-panel{min-width:0;padding:12px;background:#111d2c;border:1px solid #2a4058;border-radius:10px}
.film-info-panel h3{display:flex;align-items:baseline;gap:6px;margin:0 0 9px;font-size:14px}
.film-info-panel h3 small{color:var(--muted);font-size:11px;font-weight:500}
.service-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.service-chip{display:grid;grid-template-columns:28px minmax(0,1fr) 12px;align-items:center;gap:7px;min-width:0;padding:7px;border:1px solid #2a4058;border-radius:8px;color:var(--text);text-decoration:none;background:#0b1725}
.service-chip:hover{border-color:#418ce5;background:#13243a}
.service-chip img{width:26px;height:26px;object-fit:cover;border-radius:6px;background:#26384c}
.service-copy{display:grid;min-width:0;line-height:1.2}
.service-copy strong{overflow-wrap:anywhere;font-size:11px}
.service-copy small{color:var(--muted);font-size:10px}
.service-arrow{color:#8dbfff;font-size:12px}
.info-panel-link,.info-panel-source{display:inline-block;margin:9px 10px 0 0;font-size:11px;font-weight:700}
.info-panel-attribution{display:block;margin-top:9px;color:var(--muted);font-size:9px}
.providers-unavailable{margin:0;color:var(--muted);font-size:12px}
.rating-source{display:grid;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:39px;border-bottom:1px solid #26394e;color:var(--text);text-decoration:none;font-size:11px}
.rating-source:last-child{border-bottom:0}
.rating-source strong{font-size:12px}
.rating-source>b{color:#ffd36a;font-size:14px}
.rating-source>span:last-child{color:#8dbfff;text-align:right;font-size:10px}
.rating-mark{display:grid;place-items:center;width:24px;height:24px;border-radius:6px;background:#182b42;color:#9bcaff;font-size:8px;font-weight:800}
.imdb-mark{background:#f5c518;color:#161616}.rt-mark{font-size:16px}
.winner-actions{grid-column:2;display:flex;flex-wrap:wrap;gap:8px;margin-top:2px}
@media(max-width:760px){.hero-with-winner .winner{grid-template-columns:90px minmax(0,1fr);gap:12px;padding:14px}.film-info-panels{grid-template-columns:1fr}.service-list{grid-template-columns:repeat(2,minmax(0,1fr))}.winner-actions{grid-column:1/-1}}
@media(max-width:420px){.hero-with-winner .winner{grid-template-columns:74px minmax(0,1fr);gap:10px;padding:11px}.service-list{grid-template-columns:1fr}.film-info-panel{padding:10px}}

/* Vote-card year and IMDb score, plus touch-friendly rich film details. */
.film-info .film-card-meta{display:flex;align-items:center;gap:8px;min-height:0;margin:-5px 0 8px;color:var(--muted);font-size:11px;line-height:1.3}
.imdb-score-badge{display:inline-flex;align-items:center;gap:5px;padding:2px 6px;border-radius:4px;background:#f5c518;color:#151515;font-size:10px;font-weight:800}
.imdb-score-badge b{font-size:9px}
.film-detail-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}
.film-detail-tags span{padding:5px 9px;border:1px solid #355170;border-radius:999px;background:#14253a;color:#c4d9f3;font-size:11px;font-weight:700}
.film-detail-key-info{display:grid;gap:0;margin:4px 0 0}
.film-detail-key-info>div{display:grid;grid-template-columns:minmax(78px,.33fr) minmax(0,1fr);gap:10px;padding:8px 0;border-bottom:1px solid #26394e}
.film-detail-key-info>div:last-child{border-bottom:0}
.film-detail-key-info dt{color:var(--muted);font-size:12px}
.film-detail-key-info dd{margin:0;color:#d4dfed;font-size:12px;overflow-wrap:anywhere}
.film-detail-copy .film-detail-facts{margin:8px 0 14px;color:#8dbfff}
.film-details-dialog .film-detail-copy h3{margin-top:16px}
body.filmclub-home{background-image:radial-gradient(ellipse at 70% 8%,#21364a55,transparent 45%),linear-gradient(180deg,#09111b,#070c14 72%);background-attachment:fixed}
.filmclub-home .hero-seasonal{background-size:cover;transition:background .4s ease}
.filmclub-home.season-winter .hero-seasonal{background:radial-gradient(ellipse at 80% 12%,#8d603d88,transparent 38%),radial-gradient(ellipse at 12% 100%,#1c416488,transparent 48%),linear-gradient(120deg,#172234,#0a111d 76%)}
.filmclub-home.season-spring .hero-seasonal{background:radial-gradient(ellipse at 82% 18%,#3d765577,transparent 40%),radial-gradient(ellipse at 0% 100%,#52734a55,transparent 44%),linear-gradient(120deg,#17271f,#0a111d 76%)}
.filmclub-home.season-summer .hero-seasonal{background:radial-gradient(ellipse at 82% 16%,#b1843c66,transparent 40%),radial-gradient(ellipse at 0% 100%,#39777955,transparent 44%),linear-gradient(120deg,#29271d,#0a111d 76%)}
.filmclub-home.season-autumn .hero-seasonal{background:radial-gradient(ellipse at 82% 14%,#a35d3280,transparent 40%),radial-gradient(ellipse at 0% 100%,#6e493655,transparent 45%),linear-gradient(120deg,#29201d,#0a111d 76%)}
.filmclub-home .hero-with-winner{background-color:#09111e;background-image:linear-gradient(90deg,#09111ef5 0%,#09111ee8 23%,#09111eb5 58%,#09111e75 100%),linear-gradient(0deg,#09111eef 0%,transparent 60%),var(--winner-backdrop);background-size:cover;background-position:center 38%;}
@media(max-width:520px){.film-detail-key-info>div{grid-template-columns:76px minmax(0,1fr);gap:8px}.film-detail-tags{gap:6px;margin-top:11px}.film-detail-tags span{padding:4px 8px;font-size:10px}.film-detail-links .button{min-height:42px}.filmclub-home .hero-with-winner{background-position:center top}}

/* Let the club title and the weekly status read first; keep the film panel tidy. */
.hero-with-winner{grid-template-columns:minmax(180px,.52fr) minmax(0,1.48fr);align-items:start;gap:22px;padding:25px;min-height:0}
.hero-with-winner .hero-copy{max-width:100%;padding:12px 2px}
.hero-with-winner .hero-copy h1{font-size:clamp(38px,4.4vw,60px);line-height:1.02;margin:0 0 18px;letter-spacing:-.045em;color:#f0f4fb}
.hero-with-winner .hero-copy .eyebrow{font-size:10px}
.hero-with-winner .winner{gap:13px 16px;padding:15px}
.hero-with-winner .winner-copy h2{margin-top:0}
.hero-with-winner .winner-copy>p:not(.eyebrow){margin-bottom:8px}
.hero-with-winner .winner-actions{margin-top:0}
.hero-with-winner .winner-actions .button{min-height:42px}
@media(max-width:760px){.hero-with-winner{grid-template-columns:minmax(0,1fr);gap:12px;padding:18px}.hero-with-winner .hero-copy{padding:0}.hero-with-winner .hero-copy h1{font-size:clamp(38px,9vw,52px);margin-bottom:10px}.hero-with-winner .winner{grid-template-columns:82px minmax(0,1fr);padding:12px}.hero-with-winner .winner-copy h2{font-size:20px}.hero-with-winner .winner-actions{grid-column:1/-1}}
/* One consistent outline icon system for the sidebar navigation. */
.brand .nav-icon{width:23px;height:23px;color:#9bcaff;flex:none}
.sidebar nav>a{display:flex;align-items:center;gap:10px}
.sidebar nav .nav-icon{width:18px;height:18px;flex:none;opacity:.9}
.sidebar nav>a[aria-current="page"] .nav-icon,.sidebar nav>a:hover .nav-icon{color:#8fc5ff;opacity:1}
.sidebar nav>.logout{padding:0 12px}
.sidebar nav>.logout button{display:flex;align-items:center;gap:10px;width:100%;min-height:42px;text-align:left;font-size:inherit}
.sidebar nav>.logout .nav-icon{width:18px;height:18px}
.member-profile-link{color:inherit;text-decoration:none;border-radius:8px;min-width:0;flex:1}
.member-profile-link:hover strong,.vote-name-list a:hover{text-decoration:underline;color:#8fc5ff}
.vote-name-list a{display:inline-flex;align-items:center;padding:3px 8px;border:1px solid #29435f;border-radius:999px;background:#101f33}
.member-profile-header{display:flex;align-items:center;gap:18px;margin:18px 0 28px}
.member-profile-header .member-avatar-large{width:104px;height:104px}
.member-profile-header h1{margin:0;font-size:clamp(28px,5vw,42px)}
.member-profile-header p{margin:3px 0 0}
.member-activity-section{margin:30px 0}
.member-activity-section .section-head{align-items:center}
.member-history-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:10px}
.member-history-card{display:flex;align-items:center;gap:12px;min-width:0;padding:10px;background:var(--panel);border:1px solid var(--line);border-radius:10px}
.member-history-card>img,.member-history-card>.poster-placeholder{width:46px;height:68px;flex:none;object-fit:cover;border-radius:5px}
.member-history-card h3,.member-review-card h3{margin:0;font-size:15px;overflow-wrap:anywhere}
.member-history-card h3 small,.member-review-card h3 small{color:var(--muted);font-weight:500}
.member-history-card p{margin:3px 0 0}
.member-review-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:12px}
.member-review-card{min-width:0;padding:14px;background:var(--panel);border:1px solid var(--line);border-radius:11px}
.member-review-card>header{display:flex;gap:11px;align-items:center}
.member-review-card>header img{width:42px;height:62px;object-fit:cover;border-radius:5px}
.member-review-card>header p{margin:2px 0}
.member-review-rating{display:inline-block;margin-top:3px;color:var(--gold);font-size:13px}
.member-review-comment{margin:12px 0 0;color:#c2d0e1;white-space:pre-wrap;overflow-wrap:anywhere}
.member-review-edit{display:inline-block;margin-top:10px}
.password-subheading{margin:20px 0 4px;font-size:15px}
@media(max-width:650px){.sidebar nav>a{justify-content:flex-start}.sidebar nav>.logout{display:none}}
@media(max-width:520px){.member-profile-header{gap:13px;padding:14px}.member-profile-header .member-avatar-large{width:76px;height:76px}.member-activity-section .section-head{flex-direction:row;align-items:baseline}.member-activity-section .section-head h2{font-size:21px}}

/* History summaries keep the scan-friendly essentials visible when collapsed. */
.archive-controls{display:grid;grid-template-columns:minmax(180px,1fr) minmax(170px,.55fr) auto;align-items:end;gap:10px;margin:20px 0}
.archive-controls label{display:grid;gap:5px;color:#cbd8e8;font-size:12px;font-weight:700}
.archive-controls input,.archive-controls select{width:100%;min-width:0;min-height:42px;padding:9px 11px;border:1px solid #2a405a;border-radius:8px;background:#07101d;color:var(--text)}
.archive-controls .button{min-height:42px}
.archive-card{display:block;padding:0;overflow:hidden}
.archive-summary{display:grid;grid-template-columns:132px minmax(0,1fr);align-items:center;gap:18px;padding:16px;list-style:none;cursor:pointer}
.archive-summary::-webkit-details-marker{display:none}
.archive-summary::marker{content:""}
.archive-summary:focus-visible{outline:2px solid var(--blue);outline-offset:-3px;border-radius:12px}
.archive-summary .archive-poster img,.archive-summary .archive-poster-placeholder{width:100%;aspect-ratio:2/3;object-fit:cover;border-radius:8px}
.archive-summary-copy{min-width:0}
.archive-summary .archive-heading{align-items:center}
.archive-toggle-label{display:inline-flex;margin-top:12px;color:#8dbfff;font-size:12px;font-weight:700}
.archive-open-label{display:none}
.archive-card[open] .archive-open-label{display:inline}
.archive-card[open] .archive-closed-label{display:none}
.archive-toggle-label span::after{content:"  ▾"}
.archive-card[open] .archive-toggle-label span::after{content:"  ▴"}
.archive-content{margin-left:166px;padding:0 16px 16px 0;min-width:0}
.archive-content .archive-review-cta{margin-bottom:12px}
.archive-alternatives{margin:7px 0 0;color:#7f94ad;font-size:11px;line-height:1.4}
.archive-alternatives span{color:#a8b8cb}
@media(max-width:650px){
  .archive-controls{grid-template-columns:minmax(0,1fr) auto;align-items:end}
  .archive-search{grid-column:1/-1}
  .archive-controls .button{width:100%}
  .archive-summary{grid-template-columns:76px minmax(0,1fr);gap:11px;padding:11px}
  .archive-heading{align-items:flex-start}
  .archive-summary .archive-heading{display:flex}
  .archive-summary .archive-average{justify-items:end;text-align:right;margin:0}
  .archive-summary .archive-average strong{font-size:20px}
  .archive-summary .archive-heading h2{font-size:17px;overflow-wrap:anywhere}
  .archive-summary .archive-heading h2 small{font-size:11px}
  .archive-summary .archive-meta{font-size:11px;line-height:1.4}
  .archive-toggle-label{margin-top:7px;font-size:11px}
  .archive-content{margin:0;padding:0 11px 12px}
}
@media(max-width:380px){.archive-summary{grid-template-columns:66px minmax(0,1fr);gap:9px;padding:9px}.archive-summary .archive-average strong{font-size:17px}.archive-summary .archive-heading{display:block}.archive-summary .archive-average{justify-items:start;text-align:left;margin-top:3px}}
