:root{
  --bg:#050505;
  --panel:#0a0a0a;
  --panel-2:#0e0e0e;
  --line:#2b2b2b;
  --line-strong:#444;
  --text:#f2f2f2;
  --muted:#8e8e8e;
  --muted-2:#5f5f5f;
  --accent:#f0f0f0;
  --danger:#d26d6d;
  --success:#9fc995;
  --max:1240px;
  --header:72px;
  --tracking:.25em;
}
*{box-sizing:border-box}
html{background:var(--bg);color-scheme:dark;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased}
button,input,textarea,select{font:inherit}
a{color:inherit;text-decoration:none}
button{color:inherit}
img{max-width:100%;display:block}
::selection{background:#eee;color:#111}
.hidden{display:none!important}

.site-header{height:var(--header);position:sticky;top:0;z-index:50;background:rgba(5,5,5,.91);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.08)}
.header-inner{max-width:var(--max);height:100%;margin:auto;padding:0 24px;display:flex;align-items:center;gap:34px}
.brand{display:flex;align-items:center;gap:12px;margin-right:auto;min-width:max-content}
.brand-mark{width:48px;height:22px;position:relative}
.brand-mark:before,.brand-mark:after{content:"";position:absolute;top:3px;width:22px;height:15px;border-top:2px solid #eee;border-bottom:2px solid #eee;transform:skew(-28deg)}
.brand-mark:before{left:0;border-left:2px solid #eee}.brand-mark:after{right:0;border-right:2px solid #eee}
.brand-name{font-size:11px;font-weight:700;letter-spacing:.42em;white-space:nowrap}
.main-nav{display:flex;gap:26px;align-items:center}
.main-nav a,.header-action{font-size:10px;letter-spacing:.22em;font-weight:700;color:#bcbcbc;transition:.2s}
.main-nav a:hover,.main-nav a.active,.header-action:hover{color:#fff}
.header-tools{display:flex;align-items:center;gap:14px;margin-left:10px}
.header-search{width:220px;position:relative}
.header-search input{width:100%;height:36px;border:1px solid var(--line);background:#080808;padding:0 34px 0 12px;color:#ddd;font-size:11px;outline:none}
.header-search input:focus{border-color:#666}
.header-search:after{content:"⌕";position:absolute;right:11px;top:7px;color:#777;font-size:18px}
.icon-button{width:36px;height:36px;border:1px solid var(--line);background:#090909;display:grid;place-items:center;cursor:pointer;transition:.2s}
.icon-button:hover{border-color:#777;background:#101010}
.avatar-button{width:36px;height:36px;border:1px solid #555;border-radius:50%;overflow:hidden;background:#111;cursor:pointer;padding:0}
.avatar-button img{width:100%;height:100%;object-fit:cover}
.avatar-fallback{width:100%;height:100%;display:grid;place-items:center;font-size:11px;letter-spacing:.08em}
.profile-menu{position:fixed;z-index:70;top:62px;right:max(24px,calc((100vw - var(--max))/2 + 24px));width:210px;background:#0a0a0a;border:1px solid var(--line-strong);box-shadow:0 22px 55px #000;display:none}
.profile-menu.open{display:block}
.profile-menu button,.profile-menu a{width:100%;display:flex;align-items:center;padding:15px 17px;border:0;border-bottom:1px solid var(--line);background:transparent;color:#ddd;cursor:pointer;font-size:12px;text-align:left}
.profile-menu button:last-child,.profile-menu a:last-child{border-bottom:0}.profile-menu button:hover,.profile-menu a:hover{background:#111;color:#fff}

.hero{height:500px;position:relative;background:#000 url('../assets/hero-moon.svg') center top/cover no-repeat;border-bottom:1px solid var(--line);display:grid;place-items:center;overflow:hidden}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.08),rgba(0,0,0,.08) 55%,#050505 100%)}
.hero-title{z-index:1;text-align:center;margin-top:60px;font-size:48px;font-weight:400;letter-spacing:.28em;line-height:1.18;text-transform:uppercase;text-shadow:0 2px 20px #000;max-width:950px;padding-left:.28em}

.page{min-height:calc(100vh - var(--header))}
.content{max-width:var(--max);margin:0 auto;padding:42px 24px 80px}
.content.narrow{max-width:940px}
.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:30px;border-bottom:1px solid var(--line);padding-bottom:18px}
.page-heading h1{margin:0;font-weight:500;font-size:32px;letter-spacing:.16em;text-transform:uppercase}
.page-heading p{margin:0;color:var(--muted);font-size:12px;line-height:1.6;max-width:520px}
.eyebrow{font-size:9px;letter-spacing:.28em;color:#9a9a9a;font-weight:700;text-transform:uppercase}

.library{padding-top:34px}
.library-toolbar{display:grid;grid-template-columns:minmax(260px,1.2fr) auto;gap:18px;align-items:center}
.search-box{position:relative}
.search-box input{width:100%;height:42px;border:1px solid var(--line-strong);background:#080808;color:#eee;padding:0 40px 0 14px;font-size:12px;outline:none}
.search-box input:focus{border-color:#8a8a8a}.search-box:after{content:"⌕";position:absolute;right:14px;top:7px;font-size:21px;color:#777}
.result-count{font-size:9px;letter-spacing:.2em;color:#777;display:flex;gap:18px;justify-content:flex-end}.clear-link{color:#bbb;cursor:pointer}.clear-link:hover{color:#fff}
.genre-strip{display:flex;gap:24px;align-items:center;border-bottom:1px solid var(--line);padding:18px 0 12px;overflow:auto;scrollbar-width:none}
.genre-strip::-webkit-scrollbar{display:none}
.genre-chip{border:0;background:transparent;color:#777;padding:0 0 10px;font-size:9px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;cursor:pointer;position:relative;white-space:nowrap}
.genre-chip.active,.genre-chip:hover{color:#eee}.genre-chip.active:after{content:"";height:1px;background:#eee;position:absolute;left:0;right:0;bottom:-1px}
.filter-row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:14px 0 24px}
.filter-control{position:relative}
.filter-button{width:100%;height:44px;border:1px solid var(--line);background:#090909;color:#aaa;display:flex;align-items:center;justify-content:space-between;padding:0 14px;cursor:pointer;font-size:10px;letter-spacing:.08em;text-transform:uppercase}.filter-button:hover,.filter-button.open{border-color:#666;color:#eee}
.filter-button strong{font-size:9px;color:#eee;letter-spacing:.16em}.filter-button span:last-child{color:#777}
.filter-popover{position:absolute;z-index:25;top:49px;left:0;right:0;background:#0c0c0c;border:1px solid #474747;padding:16px;box-shadow:0 18px 40px #000;display:none;min-width:220px}.filter-control.open .filter-popover{display:block}
.filter-popover label{display:block;color:#8f8f8f;font-size:9px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:9px}.filter-popover select,.filter-popover input[type="number"]{width:100%;height:38px;background:#080808;border:1px solid #333;color:#ddd;padding:0 10px;outline:none}
.range-values{display:flex;justify-content:space-between;color:#ccc;font-size:11px;margin-bottom:8px}.range-stack input[type="range"]{width:100%;accent-color:#ddd}.check-list{display:grid;gap:10px;max-height:240px;overflow:auto}.check-list label{display:flex;gap:10px;align-items:center;margin:0;font-size:10px;color:#bbb;letter-spacing:.07em}.check-list input{accent-color:#eee}

.film-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px 14px}
.film-card{border:1px solid var(--line);background:#080808;cursor:pointer;transition:transform .24s,border-color .24s,background .24s;position:relative;overflow:hidden}.film-card:hover{transform:translateY(-3px);border-color:#606060;background:#0b0b0b}.film-card-media{aspect-ratio:16/9;overflow:hidden;background:#111;position:relative}.film-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .45s,filter .45s;filter:saturate(.75) contrast(1.06)}.film-card:hover img{transform:scale(1.025);filter:saturate(1) contrast(1.07)}
.film-card-body{padding:12px 12px 14px}.film-card h3{font-family:Georgia,Times,serif;font-size:19px;line-height:1.05;font-weight:500;margin:0 0 7px;color:#eee}.film-card .director{font-size:11px;color:#c7c7c7;margin-bottom:8px}.film-meta{font-size:9px;color:#767676;letter-spacing:.13em;text-transform:uppercase;line-height:1.6}.film-badge{position:absolute;right:9px;top:9px;background:rgba(0,0,0,.72);border:1px solid #555;padding:5px 7px;font-size:8px;letter-spacing:.14em;text-transform:uppercase;color:#ddd}
.empty-state{padding:70px 20px;border:1px solid var(--line);text-align:center;color:#777;letter-spacing:.08em}.empty-state strong{display:block;color:#ddd;margin-bottom:10px}

.film-detail-hero{background:#000;border-bottom:1px solid var(--line)}
.player-shell{width:100%;max-height:82vh;aspect-ratio:16/9;background:#000;display:grid;place-items:center;overflow:hidden}.player-shell iframe,.player-shell video{width:100%;height:100%;border:0}.player-placeholder{width:100%;height:100%;min-height:430px;background:radial-gradient(circle at 50% 38%,#202020,#050505 50%,#000 75%);display:grid;place-items:center;text-align:center}.player-placeholder .play-mark{width:76px;height:76px;border:1px solid #555;border-radius:50%;display:grid;place-items:center;margin:auto auto 18px;font-size:25px;padding-left:5px}.player-placeholder p{color:#777;font-size:11px;letter-spacing:.14em}
.film-info-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,.7fr);gap:65px;padding-top:34px}.film-title{font-family:Georgia,Times,serif;font-size:48px;font-weight:500;line-height:1;margin:0 0 14px}.director-link{font-size:18px;color:#ddd}.director-link:hover{text-decoration:underline}.detail-meta{margin:12px 0 24px;color:#777;font-size:10px;letter-spacing:.16em;text-transform:uppercase}.film-description{font-size:17px;color:#c5c5c5;line-height:1.7;max-width:800px}.action-row{display:flex;gap:8px;margin:25px 0}.button{height:42px;padding:0 18px;border:1px solid #4b4b4b;background:#101010;color:#e9e9e9;font-size:9px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;cursor:pointer;transition:.2s}.button:hover{border-color:#aaa;background:#151515}.button.primary{background:#eee;color:#090909;border-color:#eee}.button.primary:hover{background:#fff}.button.danger{color:#e6aaaa;border-color:#653b3b}.button:disabled{opacity:.4;cursor:not-allowed}.text-button{border:0;background:none;color:#999;font-size:11px;text-decoration:underline;cursor:pointer}.text-button:hover{color:#fff}
.rating-row{display:grid;grid-template-columns:repeat(10,1fr);border:1px solid var(--line);margin:12px 0 25px}.rating-row button{height:40px;background:#090909;border:0;border-right:1px solid var(--line);color:#777;cursor:pointer}.rating-row button:last-child{border-right:0}.rating-row button:hover,.rating-row button.active{background:#e5e5e5;color:#090909}.next-films{border-top:1px solid var(--line);padding-top:22px;margin-top:36px}.section-title{font-size:11px;letter-spacing:.22em;text-transform:uppercase;margin:0 0 16px}.queue-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.queue-card{cursor:pointer}.queue-card img{aspect-ratio:16/9;object-fit:cover;border:1px solid var(--line);width:100%}.queue-card h4{font-family:Georgia,serif;font-size:14px;margin:8px 0 0;font-weight:500}.countdown{font-size:11px;color:#999;margin-top:10px}.detail-aside{border-left:1px solid var(--line);padding-left:30px}.detail-aside dl{margin:0}.detail-aside dt{font-size:9px;letter-spacing:.18em;color:#6f6f6f;text-transform:uppercase;margin-top:22px}.detail-aside dd{margin:7px 0 0;color:#ddd;font-size:13px;line-height:1.5}

.list-toolbar{display:flex;gap:10px;margin-bottom:28px}.list-toolbar .search-box{flex:1}.select-dark{height:42px;background:#080808;border:1px solid var(--line-strong);color:#aaa;padding:0 12px;min-width:190px;outline:none}
.festival-list{display:grid;gap:1px;background:var(--line);border:1px solid var(--line)}.festival-row{background:#070707;display:grid;grid-template-columns:130px minmax(0,1fr) 190px;gap:26px;padding:22px;align-items:center}.festival-logo{aspect-ratio:1/1;background:#111;border:1px solid var(--line);display:grid;place-items:center;overflow:hidden}.festival-logo img{width:100%;height:100%;object-fit:cover}.festival-logo-fallback{font-family:Georgia,serif;font-size:30px;color:#555}.festival-row h3{font-family:Georgia,serif;margin:0 0 8px;font-size:25px;font-weight:500}.festival-row p{margin:0;color:#8d8d8d;line-height:1.55;font-size:13px}.festival-side{text-align:right}.festival-side .country{font-size:9px;letter-spacing:.15em;color:#777;text-transform:uppercase;margin-bottom:12px}.festival-side a{text-decoration:underline;font-size:11px;color:#ccc}

.people-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px 20px}.person-card{cursor:pointer}.person-photo{aspect-ratio:1/1;border-radius:50%;overflow:hidden;border:1px solid var(--line);background:#111}.person-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.72);transition:.35s}.person-card:hover img{filter:saturate(1);transform:scale(1.02)}.person-card h3{font-family:Georgia,serif;font-size:19px;font-weight:500;margin:12px 0 5px}.person-card p{font-size:9px;color:#777;letter-spacing:.14em;text-transform:uppercase;margin:0}
.profile-hero{height:260px;background:linear-gradient(120deg,#111,#050505);border-bottom:1px solid var(--line);position:relative;overflow:hidden}.profile-hero img{width:100%;height:100%;object-fit:cover;opacity:.55;filter:saturate(.6)}.profile-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:45px;margin-top:-90px;position:relative}.profile-photo-large{width:210px;height:210px;border-radius:50%;overflow:hidden;border:3px solid #050505;background:#111;box-shadow:0 0 0 1px #555}.profile-photo-large img{width:100%;height:100%;object-fit:cover}.profile-name{font-family:Georgia,serif;font-size:42px;margin:98px 0 6px;font-weight:500}.profile-title{color:#999;font-size:13px}.profile-bio{color:#bbb;line-height:1.7;font-size:15px;max-width:760px;margin-top:22px}.profile-sections{margin-top:42px}.profile-film-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}

.form-card{border:1px solid var(--line);background:#080808;padding:28px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px 18px}.form-grid .full{grid-column:1/-1}.stack{display:grid;gap:16px}.stack label,.form-grid label{font-size:9px;letter-spacing:.16em;color:#9d9d9d;text-transform:uppercase;display:grid;gap:8px}.stack input,.stack textarea,.stack select,.form-grid input,.form-grid textarea,.form-grid select{width:100%;background:#050505;border:1px solid #333;color:#eee;padding:11px 12px;outline:none;min-height:42px}.stack textarea,.form-grid textarea{min-height:130px;resize:vertical;line-height:1.5}.stack input:focus,.stack textarea:focus,.stack select:focus,.form-grid input:focus,.form-grid textarea:focus,.form-grid select:focus{border-color:#777}.form-note{color:#777;font-size:11px;line-height:1.6}.form-status{font-size:11px;min-height:18px;color:#aaa}.form-status.error{color:#e49797}.form-status.success{color:#a6d49e}.char-count{text-align:right;color:#555;font-size:9px;margin-top:-3px}

.inbox-layout{display:grid;grid-template-columns:330px minmax(0,1fr);border:1px solid var(--line);min-height:650px}.thread-list{border-right:1px solid var(--line);background:#080808}.thread-head{padding:18px;border-bottom:1px solid var(--line);font-size:11px;letter-spacing:.16em;text-transform:uppercase}.thread{padding:16px;border-bottom:1px solid #1c1c1c;cursor:pointer}.thread:hover,.thread.active{background:#101010}.thread strong{font-family:Georgia,serif;font-size:15px;font-weight:500}.thread p{font-size:11px;color:#777;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:6px 0 0}.message-pane{display:flex;flex-direction:column;min-width:0}.message-head{padding:18px;border-bottom:1px solid var(--line);font-family:Georgia,serif;font-size:18px}.message-stream{flex:1;padding:24px;display:flex;flex-direction:column;gap:12px;overflow:auto;max-height:520px}.bubble{max-width:70%;border:1px solid var(--line);padding:11px 13px;color:#bbb;font-size:13px;line-height:1.5;background:#080808}.bubble.mine{margin-left:auto;background:#151515;border-color:#3c3c3c;color:#eee}.bubble-time{display:block;font-size:8px;color:#5d5d5d;margin-top:5px;letter-spacing:.12em}.message-compose{border-top:1px solid var(--line);padding:15px;display:flex;gap:10px}.message-compose textarea{flex:1;min-height:58px;background:#050505;border:1px solid #333;color:#eee;padding:10px;resize:none;outline:none}

.settings-layout{display:grid;grid-template-columns:200px minmax(0,1fr);gap:34px}.settings-nav{display:grid;align-content:start;border:1px solid var(--line)}.settings-nav button{height:46px;border:0;border-bottom:1px solid var(--line);background:#080808;color:#888;text-align:left;padding:0 14px;cursor:pointer;font-size:10px;letter-spacing:.14em;text-transform:uppercase}.settings-nav button.active,.settings-nav button:hover{background:#121212;color:#fff}.settings-nav button:last-child{border-bottom:0}.settings-content{min-width:0}.settings-section{border:1px solid var(--line);padding:26px;background:#080808;margin-bottom:18px}.settings-section h2{font-family:Georgia,serif;font-size:24px;font-weight:500;margin:0 0 20px}.toggle-list{display:grid;gap:14px}.toggle-list label{display:flex;align-items:center;gap:12px;color:#aaa;font-size:12px;text-transform:none;letter-spacing:0}.toggle-list input{accent-color:#eee}

.admin-tabs{display:flex;gap:6px;margin-bottom:18px;flex-wrap:wrap}.admin-table{width:100%;border-collapse:collapse;font-size:11px}.admin-table th,.admin-table td{padding:11px;border:1px solid var(--line);text-align:left;vertical-align:top}.admin-table th{color:#777;font-size:9px;letter-spacing:.12em;text-transform:uppercase;background:#090909}.admin-table td{color:#bbb}.admin-table tr:hover td{background:#0b0b0b}.status-pill{padding:4px 7px;border:1px solid #444;font-size:8px;letter-spacing:.12em;text-transform:uppercase;display:inline-block}

.site-footer{border-top:1px solid var(--line);padding:25px 24px 34px;color:#595959;font-size:8px;letter-spacing:.22em;text-transform:uppercase}.site-footer-inner{max-width:var(--max);margin:auto;display:flex;justify-content:space-between;gap:20px}

.modal{position:fixed;inset:0;z-index:100;display:none}.modal.open{display:block}.modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.78);backdrop-filter:blur(4px)}.modal-panel{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(460px,calc(100vw - 30px));background:#090909;border:1px solid #555;padding:28px;box-shadow:0 30px 100px #000}.modal-close{position:absolute;right:10px;top:10px;font-size:20px}.auth-tabs{display:flex;border-bottom:1px solid var(--line);margin:0 42px 24px 0}.auth-tab{flex:1;height:42px;background:none;border:0;border-bottom:1px solid transparent;color:#777;font-size:10px;letter-spacing:.18em;cursor:pointer}.auth-tab.active{color:#fff;border-bottom-color:#fff}.fine-print{font-size:10px;color:#666;line-height:1.5;margin:0}
.toast{position:fixed;z-index:120;bottom:24px;right:24px;max-width:360px;padding:13px 16px;background:#eee;color:#0a0a0a;font-size:11px;box-shadow:0 14px 40px #000;transform:translateY(100px);opacity:0;transition:.3s;pointer-events:none}.toast.show{transform:translateY(0);opacity:1}

@media (max-width:1050px){
  .main-nav{gap:16px}.header-search{display:none}.film-grid{grid-template-columns:repeat(3,1fr)}.filter-row{grid-template-columns:repeat(2,1fr)}.people-grid{grid-template-columns:repeat(3,1fr)}.hero-title{font-size:40px}.film-info-grid{grid-template-columns:1fr}.detail-aside{border-left:0;border-top:1px solid var(--line);padding-left:0;padding-top:10px}.festival-row{grid-template-columns:110px 1fr}.festival-side{grid-column:2;text-align:left}.queue-grid{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:760px){
  :root{--header:62px}.header-inner{padding:0 14px;gap:14px}.brand-name{display:none}.brand-mark{width:42px}.main-nav{display:none}.header-tools{margin-left:auto}.hero{height:390px}.hero-title{font-size:29px;letter-spacing:.2em;padding-left:.2em}.content{padding:30px 14px 60px}.library-toolbar{grid-template-columns:1fr}.result-count{justify-content:flex-start}.filter-row{grid-template-columns:1fr 1fr}.film-grid{grid-template-columns:repeat(2,1fr);gap:10px}.film-card-body{padding:10px}.film-card h3{font-size:16px}.page-heading{align-items:flex-start;flex-direction:column}.page-heading h1{font-size:25px}.film-title{font-size:37px}.film-description{font-size:15px}.player-placeholder{min-height:240px}.queue-grid{grid-template-columns:repeat(2,1fr)}.festival-row{grid-template-columns:90px 1fr;padding:14px;gap:16px}.festival-row h3{font-size:19px}.people-grid{grid-template-columns:repeat(2,1fr)}.profile-layout{grid-template-columns:1fr;margin-top:-70px}.profile-photo-large{width:150px;height:150px}.profile-name{margin:0;font-size:34px}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.inbox-layout{grid-template-columns:1fr}.thread-list{border-right:0;border-bottom:1px solid var(--line);max-height:230px;overflow:auto}.settings-layout{grid-template-columns:1fr}.settings-nav{grid-template-columns:repeat(3,1fr)}.settings-nav button{border-right:1px solid var(--line)}.site-footer-inner{flex-direction:column}.profile-film-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:460px){.filter-row{grid-template-columns:1fr}.film-grid{grid-template-columns:1fr}.people-grid{grid-template-columns:1fr 1fr;gap:20px 12px}.festival-row{grid-template-columns:72px 1fr}.festival-row p{font-size:11px}.queue-grid{grid-template-columns:1fr 1fr}.profile-film-grid{grid-template-columns:1fr}.header-tools .header-action{display:none}}
/* v2 reliability + interaction additions */
button{font-family:inherit}.clear-link{background:none;border:0;padding:0;font-size:9px;letter-spacing:.2em}.filter-row{grid-template-columns:repeat(5,1fr)}
.preview-ribbon{position:fixed;left:14px;bottom:14px;z-index:90;border:1px solid #3b3b3b;background:rgba(5,5,5,.9);padding:7px 9px;color:#777;font-size:7px;letter-spacing:.18em;pointer-events:none}
.footer-reset{background:none;border:0;color:#666;font-size:8px;letter-spacing:.18em;cursor:pointer}.footer-reset:hover{color:#bbb}
.notification-button{position:relative}.notification-dot{position:absolute;right:-5px;top:-6px;min-width:18px;height:18px;padding:0 4px;border-radius:20px;background:#eee;color:#050505;font-size:8px;display:grid;place-items:center;font-weight:800}.notification-panel{position:fixed;right:max(24px,calc((100vw - var(--max))/2 + 24px));top:62px;width:min(390px,calc(100vw - 30px));max-height:520px;overflow:auto;background:#090909;border:1px solid #444;box-shadow:0 24px 70px #000;z-index:68;display:none}.notification-panel.open{display:block}.notification-head{display:flex;justify-content:space-between;align-items:center;padding:14px;border-bottom:1px solid var(--line);font-size:9px;letter-spacing:.15em}.notification-head button{background:none;border:0;color:#777;font-size:8px;cursor:pointer}.notification-item{display:grid;width:100%;text-align:left;gap:4px;border:0;border-bottom:1px solid #1d1d1d;background:#080808;padding:13px 14px;cursor:pointer}.notification-item:hover,.notification-item.unread{background:#101010}.notification-item strong{font-size:9px;letter-spacing:.12em}.notification-item span{font-size:11px;color:#999;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notification-item small{font-size:8px;color:#555}.notification-empty{padding:22px}
.mobile-toggle{display:none}.mobile-menu{display:none;position:fixed;z-index:66;top:var(--header);left:0;right:0;background:#070707;border-bottom:1px solid #333;padding:14px}.mobile-menu.open{display:grid}.mobile-menu a,.mobile-menu button{height:46px;background:none;border:0;border-bottom:1px solid #222;color:#bbb;text-align:left;padding:0 8px;font-size:10px;letter-spacing:.18em}
.rating-row{display:grid;grid-template-columns:repeat(10,1fr);border:1px solid var(--line);margin:10px 0 26px}.rating-row button{height:40px;border:0;border-right:1px solid var(--line);background:#080808;color:#777;cursor:pointer}.rating-row button:last-child{border-right:0}.rating-row button:hover,.rating-row button.active{background:#eee;color:#050505}.button.active{background:#eee;color:#050505}.countdown{border-top:1px solid var(--line);margin-top:20px;padding-top:15px;color:#777;font-size:9px;letter-spacing:.13em;line-height:1.8}.countdown button{background:none;border:0;color:#ccc;text-decoration:underline;font-size:8px;cursor:pointer}.comment-card{padding:14px;margin-bottom:8px}.comment-card p{margin:7px 0;color:#aaa}.deadline{margin-top:10px;font-size:8px;color:#666;letter-spacing:.11em}.festival-dates{display:flex;gap:25px;flex-wrap:wrap;margin:20px 0;color:#777;font-size:9px;letter-spacing:.12em}.festival-dates strong{color:#bbb}.square{border-radius:0}.avatar-fallback.large{font-size:40px}
.people-toolbar{grid-template-columns:minmax(250px,1fr) repeat(3,190px)}.honor-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.honor-card{display:grid;gap:6px}.honor-card span{color:#aaa;font-size:12px}.honor-card small{color:#666}.settings-divider{height:1px;background:var(--line);margin:24px 0}.text-button{background:none;border:0;color:#aaa;text-decoration:underline;cursor:pointer;padding:0;font-size:11px}.checkbox-line{display:flex!important;grid-auto-flow:column;justify-content:start;align-items:center}.checkbox-line input{width:auto!important;min-height:0!important}.table-wrap{overflow:auto}.admin-editor{margin:14px 0 20px}.admin-summary{display:flex;gap:20px;margin:10px 0 14px;color:#777;font-size:9px;letter-spacing:.15em}.button.small{height:32px;padding:0 10px;font-size:8px}.button.danger{border-color:#6d3535;color:#d49a9a}
.search-modal-panel{position:absolute;top:80px;left:50%;transform:translateX(-50%);width:min(760px,calc(100vw - 30px));background:#090909;border:1px solid #555;box-shadow:0 30px 100px #000;padding:18px}.search-modal-input{width:100%;height:54px;background:#050505;border:1px solid #444;color:#eee;padding:0 16px;font-size:16px;outline:none}.search-results{max-height:60vh;overflow:auto;margin-top:12px}.search-result-group{border-top:1px solid var(--line);padding-top:10px;margin-top:10px}.search-result-group h3{font-size:8px;letter-spacing:.18em;color:#666;margin:0 0 7px}.search-result-group button{width:100%;display:grid;grid-template-columns:1fr auto;gap:10px;text-align:left;border:0;border-bottom:1px solid #1c1c1c;background:#080808;padding:11px 12px;cursor:pointer}.search-result-group button:hover{background:#111}.search-result-group strong{font-family:Georgia,serif;font-weight:500}.search-result-group span{color:#666;font-size:10px}.search-hint{padding:24px 4px}.fatal-error{max-width:700px;margin:120px auto;padding:30px;border:1px solid #444;color:#aaa}.fatal-error strong{color:#fff;letter-spacing:.14em}.fatal-error button{height:40px;border:1px solid #555;background:#111;color:#eee;padding:0 16px;cursor:pointer}
.thread{width:100%;text-align:left;background:#080808;border:0;border-bottom:1px solid #1c1c1c;color:inherit}
@media(max-width:1180px){.filter-row{grid-template-columns:repeat(3,1fr)}.people-toolbar{grid-template-columns:1fr 1fr}.people-toolbar .search-box{grid-column:1/-1}}
@media(max-width:760px){.mobile-toggle{display:grid}.filter-row{grid-template-columns:1fr 1fr}.notification-panel{right:14px;top:58px}.honor-grid{grid-template-columns:1fr}.rating-row{grid-template-columns:repeat(5,1fr)}.search-modal-panel{top:68px}.header-tools>a.icon-button{display:none}}
@media(max-width:460px){.filter-row{grid-template-columns:1fr}.people-toolbar{grid-template-columns:1fr}.people-toolbar .search-box{grid-column:auto}.preview-ribbon{display:none}}

/* v3 audited controls */
.library-actions{display:flex;align-items:center;justify-content:flex-end;gap:18px;flex-wrap:wrap}
.sort-control{display:flex;align-items:center;gap:9px;color:#777;font-size:8px;letter-spacing:.16em;white-space:nowrap}
.sort-control .select-dark{height:36px;min-width:135px}
.filter-search{width:100%;height:36px;background:#070707;border:1px solid #333;color:#ddd;padding:0 10px;margin-bottom:12px;outline:none;font-size:10px}
.filter-search:focus{border-color:#777}
.check-list label[hidden]{display:none!important}
.runtime-histogram{height:56px;display:flex;align-items:flex-end;gap:2px;border-bottom:1px solid #333;margin:0 0 12px;padding:0 1px}
.runtime-bar{flex:1;min-width:3px;background:#5d5d5d;position:relative;transition:.15s}
.runtime-bar:hover{background:#aaa}
.runtime-bar i{position:absolute;bottom:100%;left:50%;transform:translateX(-50%);font-style:normal;color:#777;font-size:7px;line-height:1;margin-bottom:2px}
.histogram-note{font-size:7px;letter-spacing:.08em;color:#555;line-height:1.45;margin-top:9px;text-transform:uppercase}
.dual-range{position:relative;height:28px;margin:5px 0 2px}
.dual-range:before{content:"";position:absolute;left:0;right:0;top:13px;height:2px;background:#333}
.dual-range input[type="range"]{position:absolute;inset:0;width:100%;height:28px;margin:0;background:transparent;appearance:none;pointer-events:none;outline:none}
.dual-range input[type="range"]::-webkit-slider-runnable-track{height:2px;background:transparent}
.dual-range input[type="range"]::-webkit-slider-thumb{appearance:none;width:13px;height:13px;border-radius:50%;background:#eee;border:1px solid #050505;margin-top:-5.5px;pointer-events:auto;cursor:pointer}
.dual-range input[type="range"]::-moz-range-track{height:2px;background:transparent}
.dual-range input[type="range"]::-moz-range-thumb{width:13px;height:13px;border-radius:50%;background:#eee;border:1px solid #050505;pointer-events:auto;cursor:pointer}
.filter-control[data-filter-control="country"] .filter-popover{min-width:290px}

@media(max-width:760px){.library-actions{justify-content:flex-start}.sort-control{width:100%}.sort-control .select-dark{flex:1}.runtime-histogram{height:48px}}
.inline-link{text-decoration:underline;text-underline-offset:3px;color:#d8d8d8}.inline-link:hover{color:#fff}
.admin-film-table{min-width:2300px}.admin-table .id-cell{max-width:190px;word-break:break-all;color:#777;font-size:9px}.admin-table .description-cell{min-width:260px;max-width:420px;white-space:normal;line-height:1.45}.creator-confirm{font-size:10px!important;line-height:1.45;color:#aaa!important;text-transform:none!important;letter-spacing:.02em!important}
/* Audited directory pagination */
.pager{display:flex;align-items:center;justify-content:center;gap:18px;margin:28px 0 4px;padding-top:18px;border-top:1px solid var(--line)}
.pager span,.directory-count{font-size:9px;letter-spacing:.16em;color:#818181;text-transform:uppercase;white-space:nowrap}
.pager .button[disabled]{opacity:.32;cursor:not-allowed}
.list-toolbar .directory-count{margin-left:auto;align-self:center}
@media(max-width:760px){.pager{gap:9px}.pager span{font-size:8px}.list-toolbar .directory-count{width:100%;margin-left:0}.list-toolbar{flex-wrap:wrap}}
.thread-unread{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border:1px solid #777;border-radius:9px;font-size:8px;margin-left:6px;color:#fff}

/* Tablet navigation: collapse the full nav before it can force horizontal overflow. */
@media (max-width:900px){
  .main-nav{display:none}
  .mobile-toggle{display:grid}
  .header-tools{margin-left:auto}
}

/* v4 brand + supplied moon hero */
.brand{display:flex;align-items:center;margin-right:auto;min-width:max-content;text-decoration:none}
.brand-logo{display:block;width:300px;max-width:32vw;height:auto;filter:none}
.hero{
  min-height:560px;
  height:72vh;
  max-height:860px;
  background-color:#000;
  background-image:url('../assets/home-moon.png');
  background-repeat:no-repeat;
  background-position:center center;
  background-size:cover;
}
.hero:after{
  background:linear-gradient(to bottom,rgba(0,0,0,.02) 0%,rgba(0,0,0,.04) 58%,rgba(5,5,5,.92) 100%);
}
.hero-title{
  margin-top:90px;
  text-shadow:0 3px 24px rgba(0,0,0,.95);
}
@media (max-width:1100px){
  .brand-logo{width:250px;max-width:38vw}
  .hero{min-height:500px;height:66vh;max-height:720px;background-position:center center}
}
@media (max-width:720px){
  .brand-logo{width:190px;max-width:58vw}
  .hero{min-height:420px;height:62vh;max-height:600px;background-position:center 52%}
  .hero-title{margin-top:120px}
}
