/* Cinema reference: compact masthead, full 16:9 film, one footer bar. */
.cinema-header { height:72px; min-height:72px; margin:8px 10px 0; padding:0 14px; gap:0; background:#08090b; color:var(--paper); border:2px ridge #c9cbd0; box-shadow:none; overflow:visible; }
/* Sized to the NASDAFUQ wordmark beside it; capped by the 72px header. */
.cinema-header .menubar-brand { flex:0 0 auto; margin-right:10px; }
.cinema-header .menubar-brand img { width:clamp(44px,3.9vw,62px); height:clamp(44px,3.9vw,62px); filter:none; mix-blend-mode:normal; }
.cinema-header .hero-title-wrap { position:relative; inset:auto; width:auto; margin:0 22px 0 0; flex:none; }
.cinema-header .hero-title { display:flex; width:fit-content; margin:0; font-family:'Arial Black',Arial,sans-serif; font-size:clamp(32px,3.1vw,54px); line-height:1; letter-spacing:-.06em; transform:skew(-8deg); text-shadow:2px 3px 0 var(--pink); white-space:nowrap; }
.cinema-header .hero-title[tabindex="-1"]:focus { outline:none; }
.cinema-header .dafuq-letter { border:0; }
.cinema-header .slot-card { position:absolute; top:calc(100% + 15px); left:0; z-index:25; font-size:10px; pointer-events:none; }
.cinema-header .slot-card.is-idle { visibility:hidden; }
.cinema-header .menubar-link { color:var(--paper); padding:12px 18px; font-size:12px; letter-spacing:.04em; border-left:1px solid #777; }
.cinema-header .menubar-x { display:inline-flex; align-items:center; }
.cinema-header .menubar-x svg { width:18px; height:18px; fill:currentColor; }
.cinema-header .menubar-x[aria-disabled="true"] { opacity:.35; cursor:not-allowed; background:transparent; color:var(--paper); }
.cinema-header .menubar-link:hover, .cinema-header .menubar-link:focus-visible, .cinema-header .menubar-link.is-active { color:#08090b; }
.cinema-header .menubar-ca:disabled { color:var(--paper); background:transparent; border:0; font-size:12px; min-width:96px; padding:6px; }
.cinema-header .nav-sound { color:var(--acid); border:1px solid var(--acid); margin-left:12px; padding:8px 10px; min-height:36px; background:#08090b; }
.cinema-header .cinema-controls { background:transparent; border:0; cursor:pointer; padding:12px 10px; }
.nav-equalizer { display:flex; align-items:flex-end; gap:4px; height:28px; margin-left:6px; }
.nav-equalizer i { width:5px; height:8px; background:var(--pink); }
.nav-equalizer i:nth-child(2n) { height:22px; }
.nav-equalizer i:nth-child(3) { height:15px; }
.sound-playing .nav-equalizer i { animation:equalizer-hop .6s ease-in-out infinite alternate; }
.sound-playing .nav-equalizer i:nth-child(2n) { animation-delay:-.3s; }
@keyframes equalizer-hop { to { height:5px; } }
.hero.hero-cinema { height:calc(100svh - 80px); min-height:360px; display:flex; flex-direction:column; gap:8px; padding:8px 10px 10px; margin:0; border:0; box-shadow:none; background:#070809; }
.hero-video-window { display:flex; flex-direction:column; flex:1; min-height:0; border:2px ridge #d9dbe0; background:#070809; }
.hero-cinema .hero-topline { flex:0 0 27px; min-height:27px; padding:2px 7px; font-size:10px; color:var(--paper); background:linear-gradient(#181b1e,#050607 50%,#1a1b1e); border-bottom:2px ridge #c9cbd0; }
.hero-cinema .hero-topline span:first-child { gap:8px; }
.hero-cinema .hero-topline > span:nth-child(2) { margin-left:auto; font-size:9px; color:#b6b8b4; }
.hero-window-buttons { display:flex; gap:3px; }
.hero-window-buttons i { width:20px; height:19px; display:grid; place-items:center; border:2px outset #e7e8e8; background:#b6bbc2; color:#050607; font-style:normal; font-size:17px; line-height:1; }
.hero-window-buttons i:last-child { background:var(--pink); border-color:#ff8ad5; }
.hero-cinema .hero-stage { position:relative; flex:1; min-height:0; overflow:hidden; isolation:isolate; background:#070809; }
.hero-cinema .hero-bg { display:block; position:absolute; inset:0; z-index:0; width:100%; height:100%; object-fit:contain; }
.hero-cinema .hero-stage::after { display:none; }
.stage-corners { position:absolute; inset:12px; z-index:1; pointer-events:none; background:linear-gradient(var(--acid),var(--acid)) top left/1px 28px no-repeat,linear-gradient(var(--acid),var(--acid)) top right/1px 28px no-repeat,linear-gradient(var(--acid),var(--acid)) bottom left/1px 28px no-repeat,linear-gradient(var(--acid),var(--acid)) bottom right/1px 28px no-repeat; }
.stage-microcopy { display:none; }
.hero-summary { flex:0 0 74px; display:grid; grid-template-columns:1.5fr 1fr .85fr; align-items:center; gap:20px; padding:8px 20px; border:2px ridge #c9cbd0; }
.hero-summary .cinema-slogan { grid-column:1; margin:0; font:italic clamp(22px,2.5vw,42px)/1.05 Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif; }
.hero-summary .command-primary { grid-column:3; grid-row:1; display:flex; align-items:center; justify-content:space-between; min-height:48px; padding:7px 24px; color:#050506; background:var(--pink); border:3px ridge #e3dfe5; box-shadow:none; font:clamp(22px,2vw,32px)/1 Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif; }
.hero-summary .command-primary:hover { background:var(--acid); }
.hero-cinema .hero-note { grid-column:2; grid-row:1; margin:0; padding:12px 18px; border-left:1px solid var(--acid); font-size:9px; text-align:center; }
@media(max-width:1200px) {
 .cinema-header { padding-inline:10px; }
 .cinema-header .menubar-brand { margin-right:8px; }
 .cinema-header .menubar-brand img { width:44px; height:44px; }
 .cinema-header .hero-title-wrap { margin-right:12px; }
 .cinema-header .menubar-link { padding:10px 12px; font-size:11px; }
 .cinema-header .menubar-ca:disabled { min-width:84px; font-size:11px; margin:0; }
 .nav-equalizer { display:none; }
 .hero-summary { padding-inline:14px; gap:12px; }
}
@media(max-width:900px) {
 .cinema-header { height:auto; min-height:90px; flex-wrap:wrap; justify-content:center; padding:6px; gap:2px; }
 .cinema-header .hero-title { font-size:32px; }
 .cinema-header .menubar-spacer, .cinema-header .menubar-ca, .cinema-header .menubar-brand { display:none; }
 .cinema-header .hero-title-wrap { flex-basis:100%; margin:0; display:flex; justify-content:center; padding:4px; }
 .cinema-header .menubar-link { min-height:32px; padding:8px 10px; border:0; }
 .cinema-header .nav-sound { margin-left:4px; border:1px solid var(--acid); }
 .hero.hero-cinema { height:auto; min-height:0; }
 .hero-video-window { flex:none; }
 .hero-cinema .hero-stage { flex:none; aspect-ratio:16/9; }
 .hero-summary { flex:auto; grid-template-columns:1fr auto; gap:14px; padding:14px; }
 .hero-summary .cinema-slogan { font-size:clamp(22px,4vw,32px); }
 .hero-summary .command-primary { grid-column:2; min-height:44px; padding:8px 14px; }
 .hero-cinema .hero-note { grid-column:1/-1; grid-row:2; border:0; padding:0; text-align:left; font-size:8px; }
}
@media(max-width:500px) {
 .cinema-header { margin:6px 6px 0; }
 .cinema-header .menubar-link { padding:8px 6px; font-size:10px; }
 .cinema-header .menubar-x svg { width:15px; height:15px; }
 .hero.hero-cinema { padding:6px; gap:6px; }
 .hero-cinema .hero-topline > span:nth-child(2) { display:none; }
 .hero-window-buttons { margin-left:auto; }
 .hero-summary { grid-template-columns:1fr; }
 .hero-summary .command-primary { grid-column:1; grid-row:2; }
 .hero-cinema .hero-note { grid-row:3; }
 .stage-corners { display:none; }
}
@media(prefers-reduced-motion:reduce) { .nav-equalizer i { animation:none !important; } .entry-button:hover { transform:none; } }
.motion-reduced .nav-equalizer i { animation:none; }

/* A real click starts the persistent audio player; no page reload is involved. */
.rave-entry[hidden] { display:none; }
.rave-gate-pending #rave-entry { display:flex; }
.rave-gate-pending #site-page > :not(#rave-entry) { visibility:hidden; }
.rave-gate-pending #rave-player, .rave-locked #rave-player { visibility:hidden; }
.rave-gate-pending, .rave-locked { overflow:hidden; }
.rave-entry { position:fixed; z-index:100; inset:0; min-height:100svh; display:flex; flex-direction:column; background:#070809; isolation:isolate; overflow-y:auto; }
.entry-image { position:absolute; inset:0; z-index:-2; background:linear-gradient(0deg,#070809f2 0%,#16181dc7 35%,#16181db3 65%,#16181dc7 100%),url('assets/nasdafuq-gate.webp') center/cover no-repeat; opacity:1; }
.rave-entry::after { content:''; position:absolute; inset:12px; pointer-events:none; border:2px ridge #d4d7dd; }
.entry-top, .entry-bottom { display:flex; justify-content:space-between; gap:20px; padding:25px 32px; font-size:11px; letter-spacing:.035em; }
.entry-top b { color:var(--acid); font-weight:normal; }
.entry-main { width:100%; margin:auto; padding:22px 24px 48px; text-align:center; }
.entry-blade { display:block; width:120px; height:74px; object-fit:contain; margin:0 auto 20px; }
.entry-kicker { font-size:11px; letter-spacing:.2em; margin:0 0 24px; }
.entry-main h1 { margin:0 0 16px; color:var(--acid); font:italic 900 clamp(72px,13vw,200px)/.95 Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif; letter-spacing:-.04em; text-shadow:4px 5px 0 #ff16cf; }
.entry-lore { font-size:clamp(13px,1.4vw,20px); font-weight:bold; margin:0 0 36px; }
.entry-button { display:inline-flex; align-items:center; justify-content:space-between; gap:45px; min-height:70px; border:3px ridge #e7e7e7; padding:13px 32px; background:#ff16cf; color:#050506; font:900 32px/1 Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif; box-shadow:5px 5px 0 #050506; cursor:pointer; }
.entry-button:hover { background:var(--acid); transform:translateY(-2px); }
.entry-button:focus-visible, .entry-quiet:focus-visible { outline:3px solid var(--cyan); outline-offset:6px; }
.entry-hint { margin:20px 0 10px; font-size:9px; letter-spacing:.08em; color:#d1d3cd; }
.entry-quiet { background:transparent; border:0; padding:10px; font:11px 'Courier New',monospace; color:#b6b8b3; text-decoration:underline; text-underline-offset:4px; cursor:pointer; }
.entry-bottom { font-size:10px; color:#c3c5bf; }

@media(max-width:700px) {
  .entry-top, .entry-bottom { padding:25px 24px; font-size:8px; }
  .entry-top > span:last-child { display:none; }
  .entry-main { padding:30px 20px; }
  .entry-main h1 { font-size:16vw; text-shadow:2px 3px 0 #ff16cf; }
  .entry-kicker { font-size:8px; letter-spacing:.12em; }
  .entry-lore { font-size:11px; margin-bottom:30px; }
  .entry-button { min-height:62px; padding:14px 22px; gap:30px; font-size:27px; }
  .entry-hint { font-size:8px; }
  .entry-bottom { gap:15px; font-size:7px; }
}

/* Reactive light banks occupy only unused space outside the fitted 16:9 film. */
.hero-cinema .hero-stage { container-type:size; }
.hero-cinema .hero-bg { background:transparent; }
.stage-lightspill { position:absolute; inset:-35px; z-index:-1; pointer-events:none; background:url('assets/nasdafuq-hero-v3-poster.jpg') center/cover no-repeat; filter:blur(45px) saturate(.8); opacity:.13; }
.stage-rail { position:absolute; inset-block:0; z-index:1; width:max(0px,calc((100cqw - 177.77778cqh)/2)); display:flex; align-items:center; justify-content:center; overflow:hidden; }
/* Hover pauses a column so someone can actually read it. */
.stage-rail:hover .rail-ticker-track { animation-play-state:paused; }
.stage-rail-left { left:0; }
.stage-rail-right { right:0; }
/* Nasdaq-100 ticker columns: symbols only, never prices. The track holds the list twice, so -50% loops seamlessly. */
.rail-ticker { width:calc(100% - 28px); height:100%; overflow:hidden; -webkit-mask-image:linear-gradient(transparent,#000 14%,#000 86%,transparent); mask-image:linear-gradient(transparent,#000 14%,#000 86%,transparent); }
.rail-ticker-track { display:flex; flex-direction:column; animation:rail-ticker-scroll 40s linear infinite; will-change:transform; }
.stage-rail-right .rail-ticker-track { animation-direction:reverse; }
@keyframes rail-ticker-scroll { to { transform:translateY(-50%); } }
.rail-ticker-track span { display:flex; align-items:center; gap:.45em; padding:.42em .1em; border-bottom:1px solid #1d1f25; color:var(--paper); white-space:nowrap; font:italic 900 clamp(11px,min(3.4cqh,(100cqw - 177.77778cqh) / 16 - 4px),34px)/1 Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif; letter-spacing:.02em; text-shadow:0 0 calc(var(--rave-bass,0) * 14px) currentColor; }
.rail-ticker-track span::before { content:''; flex:none; width:.32em; height:.32em; background:var(--cyan); box-shadow:0 0 8px var(--cyan); }
.rail-ticker-track span:nth-child(3n+2)::before { background:var(--acid); box-shadow:0 0 8px var(--acid); }
.rail-ticker-track span:nth-child(3n)::before { background:var(--pink); box-shadow:0 0 8px var(--pink); }
.stage-rail-right .rail-ticker-track span { flex-direction:row-reverse; }

/* The % sits on the column edge that faces the video. */
.rail-ticker-track span b { margin-left:auto; padding-left:.4em; font:bold .55em/1 'Courier New',monospace; letter-spacing:.02em; text-shadow:none; }
.stage-rail-right .rail-ticker-track span b { margin-left:0; margin-right:auto; padding-left:0; padding-right:.4em; }
.rail-ticker-track b.up { color:#3dff8f; }
.rail-ticker-track b.down { color:#ff4d6a; }
.rail-ticker-track b.flat { color:#b6b8b4; }
.rail-ticker-track b.meme { color:var(--acid); }
.rail-credit { position:absolute; z-index:2; left:0; right:0; bottom:6px; padding:0 6px; font:8px/1.3 'Courier New',monospace; color:#b6b8b4; text-align:center; }
.rail-credit[hidden] { display:none; }
.rail-ticker-track .rail-ticker-home { color:var(--pink); text-shadow:0 0 calc(4px + var(--rave-bass,0) * 16px) var(--pink); }
.rail-ticker-track .rail-ticker-home::before { background:var(--acid); box-shadow:0 0 10px var(--acid); }
.motion-reduced .rail-ticker-track { animation:none; }
.entry-warning { max-width:430px; margin:0 auto 22px; padding:12px 16px; border:1px solid var(--pink); background:#08090be8; color:var(--paper); font:11px/1.6 'Courier New',monospace; }
.entry-warning strong { color:var(--acid); }
.entry-still { display:block; margin:18px auto 0; padding:12px 20px; border:1px solid var(--paper); color:var(--paper); background:#08090b; font:900 12px/1.3 'Courier New',monospace; cursor:pointer; }
.entry-still:hover { color:var(--acid); border-color:var(--acid); }
.entry-still:focus-visible { outline:3px solid var(--cyan); outline-offset:4px; }
@media(prefers-reduced-motion:reduce) { .rail-ticker-track { animation:none; } }
.agent-art img { filter:none; mix-blend-mode:normal; }
@container (max-aspect-ratio: 21/10) { .stage-rail { display:none; } }
@media(max-width:900px) { .stage-lightspill, .stage-rail { display:none; } }
/* Keep the warning and both entry choices visible on short laptop screens. */
.entry-main { padding-top:14px; padding-bottom:20px; }
.entry-main h1 { font-size:clamp(64px,min(13vw,20svh),200px); }
.entry-blade { width:clamp(120px,22svh,200px); height:clamp(120px,22svh,200px); margin-bottom:10px; }
.entry-kicker { margin-bottom:16px; }
.entry-lore { margin-bottom:20px; }
.entry-warning { margin-bottom:16px; padding:10px 14px; }
.entry-hint { margin:12px 0 6px; }
.entry-still { margin-top:10px; }
.entry-bottom { padding-top:12px; padding-bottom:18px; }
@media(max-width:700px) { .entry-main h1 { font-size:16vw; } }

.entry-choice-note { display:block; margin-top:5px; font:9px/1.4 'Courier New',monospace; color:#c5c7bd; text-transform:none; }
.entry-quiet { display:block; margin:4px auto 0; text-decoration:none; }
.entry-quiet strong { text-decoration:underline; text-underline-offset:4px; }

/* Gate, simplified 2026-09-25: logo, title, line, two choices. The warning is an amber hazard label. */
.entry-main h1 { margin-bottom:10px; }
.entry-lore { margin-bottom:34px; }
.entry-actions { display:flex; flex-wrap:wrap; justify-content:center; align-items:stretch; gap:16px; }
.entry-actions .entry-button { min-height:70px; }
.entry-quiet { display:inline-flex; align-items:center; margin:0; min-height:70px; padding:13px 26px; border:3px ridge #e7e7e7; background:#08090bcc; color:var(--paper); font:900 20px/1 Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif; letter-spacing:.02em; text-decoration:none; cursor:pointer; }
.entry-quiet:hover { color:#08090b; background:var(--paper); }
.entry-bottom { align-items:center; }
/* The warning is a strip of hazard tape exactly as wide as the two choices above it. */
.entry-choices { display:inline-grid; gap:14px; }
.entry-warning { margin:0; max-width:none; padding:8px 40px; border:2px solid #08090b; background:repeating-linear-gradient(-45deg,#08090b 0 5px,#ffb000 5px 10px) left/26px 100% no-repeat,repeating-linear-gradient(-45deg,#08090b 0 5px,#ffb000 5px 10px) right/26px 100% no-repeat,#ffb000; color:#08090b; font:900 11px/1.3 'Courier New',monospace; letter-spacing:.08em; text-align:center; }
@media(max-width:700px) {
  .entry-actions { flex-direction:column; align-items:stretch; max-width:340px; margin:0 auto; gap:12px; }
  .entry-actions .entry-button, .entry-quiet { min-height:58px; justify-content:center; font-size:22px; }
  .entry-quiet { font-size:17px; }
  .entry-bottom { flex-direction:column; align-items:center; gap:10px; }
  .entry-choices { display:grid; width:min(340px,100%); margin:0 auto; }
  .entry-choices .entry-actions { max-width:none; margin:0; }
  .entry-warning { font-size:9px; padding-inline:32px; }
}

/* "Don't give me a seizure": a brief, static verdict before entering. */
.entry-verdict { position:absolute; inset:0; z-index:3; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:18px; padding:24px; background:#070809f2; text-align:center; cursor:pointer; }
.entry-verdict[hidden] { display:none; }
.entry-verdict-title { margin:0; color:var(--paper); font:italic 900 clamp(64px,12vw,170px)/.9 Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif; letter-spacing:-.03em; }
.entry-verdict-title span { color:var(--acid); text-shadow:4px 5px 0 #ff16cf; }
.entry-verdict-note { margin:0; font:900 11px/1.4 'Courier New',monospace; letter-spacing:.12em; color:#c3c5bf; }

/* +∞% in the hero rails: a large, bold infinity that doesn't change the row height. */
.rail-ticker-track span b.meme { font:italic 900 .95em/1 Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif; letter-spacing:.01em; color:var(--acid); text-shadow:0 0 8px #d9ff2f88; }
.rail-ticker-track span b.meme.rail-tight { font-size:.68em; }
.rail-ticker-track span b.rail-tight:not(.meme) { font-size:.45em; }
.rail-ticker-track span b .rail-inf { display:inline-block; width:1.45em; height:.72em; margin:0 .06em; vertical-align:-.02em; overflow:visible; fill:none; stroke:currentColor; stroke-width:3.2; transform:skewX(-10deg); }

/* Second hero action: send people (and their AI agents) to the brief and the contract checklist. */
.hero-summary { grid-template-columns:1.5fr 1fr .85fr auto; }
.hero-summary .hero-agent { grid-column:4; grid-row:1; display:flex; align-items:center; gap:10px; min-height:48px; padding:7px 18px; color:var(--acid); background:#08090b; border:3px ridge #e3dfe5; box-shadow:none; font:clamp(16px,1.4vw,22px)/1 Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif; white-space:nowrap; }
.hero-summary .hero-agent:hover { color:#08090b; background:var(--acid); }
@media(max-width:900px) { .hero-summary { grid-template-columns:1fr auto; } .hero-summary .hero-agent { grid-column:2; grid-row:2; min-height:40px; } }
@media(max-width:560px) { .hero-summary { grid-template-columns:1fr; } .hero-summary .command-primary, .hero-summary .hero-agent { grid-column:1; grid-row:auto; justify-content:space-between; } .hero-cinema .hero-note { grid-row:auto; } }

/* On narrow screens, keep all three gate characters visible above the entry choices. */
@media(max-width:700px) {
  .entry-image { background-position:center,center 32px; background-size:100% 100%,145% auto; background-repeat:no-repeat;
    /* The art is 145vw wide, so it ends 32px + 81.6vw down; fade its last third into the black. */
    -webkit-mask-image:linear-gradient(to bottom,#000 calc(32px + 50vw),transparent calc(32px + 81.6vw)); mask-image:linear-gradient(to bottom,#000 calc(32px + 50vw),transparent calc(32px + 81.6vw)); }
  /* Sit the choices low, on the black below the art. */
  .entry-main { margin:auto auto 0; }
}

/* APPLY: the job posting's call to action (joins the YAP leaderboard). */
.cinema-header .menubar-apply { color:#08090b; background:var(--pink); font-weight:900; }
.cinema-header .menubar-apply:hover, .cinema-header .menubar-apply:focus-visible { color:#08090b; background:var(--acid); }
