/* GameOn's own exhibition. Shared typography, navigation and controls come from shell.css. */
.gameon-page { --gameon-light:#cbb4ff; }
.gameon-main { min-width:0; overflow:clip; }
.gameon-main .section-shell { max-width:1400px; }
.gameon-main h2 { font:500 clamp(2rem,3.9vw,3.8rem)/1.08 var(--display); letter-spacing:-.045em; text-wrap:balance; }
.gameon-main h1,.gameon-main h2,.gameon-main h3,.gameon-next-title { overflow-wrap:anywhere; }
.gameon-main em { color:var(--gameon-light); font-style:normal; }
.gameon-main .eyebrow { font-size:.8125rem; margin-bottom:16px; }
.gameon-main [id] { scroll-margin-top:16px; }
.gameon-opening { padding-top:24px; padding-bottom:0; }
.gameon-topline { display:flex; align-items:center; justify-content:space-between; gap:20px; font-size:.8125rem; color:var(--muted); }
.gameon-back { display:inline-flex; align-items:center; min-height:44px; gap:12px; color:var(--ink); }
.gameon-back span { color:var(--accent); }
.gameon-back:hover { color:var(--gameon-light); }
.gameon-hero { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.12fr); gap:30px; align-items:center; min-height:570px; padding-block:48px 58px; }
.gameon-hero-copy { position:relative; z-index:2; }
.gameon-hero-copy .eyebrow { color:var(--gameon-light); }
.gameon-hero-copy .eyebrow>span { margin-inline:8px; color:var(--muted); }
.gameon-hero-copy h1 { font:500 clamp(3rem,5.1vw,5rem)/1.01 var(--display); letter-spacing:-.065em; text-wrap:balance; }
.gameon-hero-copy h1>span { display:block; color:var(--gameon-light); }
.gameon-deck { max-width:38ch; margin-block:26px 28px; color:#bab4c8; font-size:1.0625rem; line-height:1.65; }
.gameon-primary { background:#773fca; border:1px solid #ad7bf745; box-shadow:inset 0 1px 0 #ffffff16,0 8px 24px #662cb114; font-size:.875rem; gap:28px; padding:13px 18px; min-height:48px; border-radius:var(--radius); }
.gameon-primary:hover { transform:none; background:#8650d6; box-shadow:0 0 26px #8650d62b; }
.gameon-route-mark { display:flex; align-items:center; gap:3px; height:16px; }
.gameon-route-mark i { display:block; width:3px; height:9px; border-radius:2px; background:currentColor; opacity:.65; }
.gameon-route-mark i:nth-child(2) { height:16px; opacity:1; }
.gameon-route-mark i:last-child { height:12px; }
.gameon-stage { position:relative; min-width:0; perspective:1100px; isolation:isolate; padding-block:50px 30px; --stage-x:50%; --stage-y:50%; --stage-turn:0deg; --stage-tip:0deg; }
.gameon-stage-light { position:absolute; inset:-50% -30%; z-index:-1; background:radial-gradient(ellipse at var(--stage-x) var(--stage-y),#713bc82a,transparent 47%); pointer-events:none; }
.gameon-stage::before { content:''; position:absolute; z-index:-1; inset:-10% 7% -4%; border-radius:50%; border:1px solid #b697ff10; transform:rotate(-24deg); pointer-events:none; }
.gameon-film { position:relative; padding:8px; border:1px solid #c1a3ff42; border-radius:12px; background:#16101f; box-shadow:0 28px 60px #000b,0 0 48px #7d3cbd17; transform:rotateY(calc(-8deg + var(--stage-turn))) rotateX(var(--stage-tip)) rotateZ(2deg); transition:transform .45s cubic-bezier(.2,.7,.3,1); }
.gameon-creative-crop { position:relative; width:100%; overflow:hidden; background:#100c18; aspect-ratio:565/317; }
.gameon-creative-crop img { position:absolute; max-width:none; height:auto; }
/* Portfolio framing of the captured creative; each uncut source is still linked. */
.crop-launch { border-radius:6px; }
.crop-launch img { width:103.9%; top:-91.8%; left:-1.24%; }
.gameon-film figcaption { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:4px 14px; padding:4px 6px 0; font-size:.6875rem; letter-spacing:.03em; color:#b9aaca; }
.gameon-film figcaption a { display:inline-flex; align-items:center; gap:14px; min-height:44px; color:var(--ink); }
.gameon-film figcaption a>span { color:var(--accent); font-size:1rem; }
.gameon-film>a { display:block; border-radius:6px; }
.gameon-film>a:focus-visible { outline-offset:0; }
.gameon-stage-floor { position:absolute; left:5%; right:5%; height:50%; bottom:-36%; z-index:-1; transform:rotateX(70deg); background:radial-gradient(ellipse at center,#9553ed28,transparent 65%); border-top:1px solid #b697ff1f; pointer-events:none; }
.gameon-credit-line { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); gap:48px; margin:0; padding-block:22px 28px; border-top:1px solid #b697ff24; }
.gameon-credit-line dt,.gameon-brief-facts dt,.gameon-record dt { font-size:.75rem; color:var(--muted); margin-bottom:6px; }
.gameon-credit-line dd { margin:0; font-size:.875rem; max-width:58ch; }
.gameon-chapters { position:sticky; top:var(--header-height); z-index:30; background:#07070af5; border-block:1px solid var(--line); backdrop-filter:blur(14px); }
.gameon-chapters-inner { max-width:1400px; margin-inline:auto; padding-inline:var(--gutter); display:flex; gap:36px; }
.gameon-chapters a { display:inline-flex; align-items:center; gap:10px; min-width:0; min-height:60px; font-size:.8125rem; color:var(--muted); position:relative; overflow-wrap:anywhere; }
.gameon-chapters a>span { font-size:.6875rem; color:#8e77ad; font-variant-numeric:tabular-nums; }
.gameon-chapters a:hover,.gameon-chapters a[aria-current] { color:var(--ink); }
.gameon-chapters a[aria-current]::after { content:''; position:absolute; inset:auto 0 0; height:2px; background:var(--accent); }
.gameon-chapters .gameon-collection-link { margin-left:auto; }
.gameon-progress { position:absolute; bottom:-1px; left:0; width:100%; height:1px; background:#d7c3ff55; transform:scaleX(var(--read-progress,0)); transform-origin:left; }
.gameon-section-label { display:flex; align-items:center; gap:14px; font-size:.8125rem; color:var(--muted); margin-bottom:36px; }
.gameon-section-label>span { display:grid; place-items:center; width:24px; height:24px; border:1px solid #b697ff39; border-radius:50%; font-size:.625rem; color:var(--gameon-light); flex-shrink:0; }
.gameon-brief { padding-block:90px 100px; }
.gameon-brief-grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:80px; }
.gameon-brief-grid h2 { max-width:13ch; }
.gameon-question { font:500 1.25rem/1.4 var(--display); margin-bottom:18px; }
.gameon-brief-copy { font-size:1rem; line-height:1.75; max-width:46ch; color:var(--muted); }
.gameon-brief-facts { display:grid; grid-template-columns:1fr 1fr; gap:24px; padding-top:24px; margin:28px 0 0; border-top:1px solid var(--line); }
.gameon-brief-facts dd { margin:0; font-size:.8125rem; line-height:1.65; }
.gameon-decisions { padding-block:64px 72px; border-block:1px solid var(--line); background:radial-gradient(ellipse at 95% 65%,#63329b0c,transparent 55%); }
.gameon-section-head { display:flex; align-items:flex-end; justify-content:space-between; gap:32px; margin-bottom:36px; }
.gameon-section-head .gameon-section-label { margin-bottom:18px; }
.gameon-section-head>p { max-width:26ch; color:var(--muted); font-size:.9375rem; }
.gameon-beat-controls { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; padding:5px; background:#0d0b12; border:1px solid #b697ff21; border-radius:12px; margin-bottom:40px; }
.gameon-beat-controls button { display:flex; align-items:center; gap:16px; padding:14px 20px; min-width:0; min-height:54px; color:var(--muted); background:transparent; font-size:.875rem; border-radius:8px; text-align:left; overflow-wrap:anywhere; transition:background .2s,color .2s; }
.gameon-beat-controls button>span { color:#a084c5; font-size:.6875rem; font-variant-numeric:tabular-nums; }
.gameon-beat-controls button:hover { color:var(--ink); background:#b697ff06; }
.gameon-beat-controls button[aria-selected=true] { color:var(--ink); background:#21162f; box-shadow:inset 0 0 0 1px #b697ff30; }
.gameon-beat-controls button[aria-selected=true]>span { color:var(--gameon-light); }
.gameon-decision-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.9fr); gap:100px; align-items:start; }
.gameon-reading { min-width:0; padding-top:18px; }
.gameon-enhanced .gameon-beat-panels { display:grid; overflow-anchor:none; }
.gameon-beat-panel { padding-bottom:24px; }
.gameon-beat-panel:not(:last-of-type) { border-bottom:1px solid var(--line); margin-bottom:32px; }
.gameon-enhanced .gameon-beat-panel { grid-area:1/1; border:0; margin:0; min-height:370px; }
.gameon-enhanced .gameon-beat-panel:not([data-active]) { visibility:hidden; pointer-events:none; }
.gameon-beat-panel h3 { font:500 clamp(1.65rem,2.6vw,2.4rem)/1.17 var(--display); max-width:20ch; letter-spacing:-.04em; text-wrap:balance; }
.gameon-beat-panel blockquote { margin:28px 0 24px; padding-left:20px; border-left:1px solid #b697ff55; }
.gameon-beat-panel blockquote p { font:500 clamp(1.0625rem,1.7vw,1.375rem)/1.5 var(--display); color:var(--gameon-light); }
.gameon-beat-panel cite { display:block; margin-top:8px; font-size:.6875rem; font-style:normal; color:var(--muted); }
.gameon-explanation { color:var(--muted); font-size:.9375rem; line-height:1.75; max-width:46ch; }
.gameon-principle { display:flex; gap:10px; align-items:baseline; margin-top:26px; font-size:.8125rem; }
.gameon-principle>span { width:5px; height:5px; background:var(--accent); border-radius:50%; flex-shrink:0; }
.gameon-inline-link { display:inline-flex; align-items:center; justify-content:space-between; gap:28px; padding-block:10px; min-height:44px; color:var(--gameon-light); font-size:.8125rem; }
.gameon-inline-link:hover { color:var(--ink); }
.gameon-annotated { min-width:0; max-width:400px; width:100%; margin-inline:auto; }
.gameon-post { position:relative; background:#000; border-radius:10px; border:1px solid #b697ff23; padding:14px; box-shadow:0 15px 40px #0008; }
.gameon-post img { width:100%; height:auto; }
.gameon-focus-frame { display:none; position:absolute; z-index:1; pointer-events:none; border:1px solid #d0b4ff; border-radius:8px; box-shadow:0 0 0 3px #a981ff18; background:#bd92ff07; transition:top .55s cubic-bezier(.2,.7,.3,1),height .55s cubic-bezier(.2,.7,.3,1); left:3.8%; width:92.5%; }
.gameon-enhanced .gameon-focus-frame { display:block; }
.gameon-annotated[data-beat="0"] .gameon-focus-frame { top:40.8%; height:44.2%; }
.gameon-annotated[data-beat="1"] .gameon-focus-frame { top:25.3%; height:8.1%; }
.gameon-annotated[data-beat="2"] .gameon-focus-frame { top:16%; height:8.1%; }
.gameon-annotated figcaption { display:flex; align-items:center; justify-content:space-between; gap:16px; color:var(--muted); font-size:.6875rem; padding-top:10px; }
.gameon-annotated figcaption a { display:inline-flex; align-items:center; min-height:44px; text-decoration:underline; text-underline-offset:4px; color:var(--ink); }
.gameon-companions { padding-block:80px 88px; }
.gameon-companion-grid { display:grid; grid-template-columns:1fr 1fr; gap:40px; }
.gameon-companion { min-width:0; border-top:1px solid #b697ff31; padding-top:16px; }
.gameon-companion-top { display:flex; gap:18px; align-items:baseline; color:var(--muted); font-size:.75rem; padding-bottom:18px; }
.gameon-companion-top>span:first-child { color:var(--accent); font-variant-numeric:tabular-nums; }
.gameon-companion .gameon-creative-crop { border:1px solid #b697ff1a; border-radius:8px; aspect-ratio:565/317; }
.gameon-companion img { transition:filter .3s; }
.gameon-companion:hover img { filter:brightness(1.12); }
.crop-anatomy img { width:105.7%; left:-2.1%; top:-114.8%; }
.crop-live img { width:114.9%; left:-11.8%; top:-131.1%; }
.gameon-companion-copy { padding-block:22px 0; }
.gameon-companion-copy h3 { font:500 1.375rem/1.3 var(--display); letter-spacing:-.03em; }
.gameon-companion-copy p { margin-top:10px; font-size:.875rem; max-width:40ch; color:var(--muted); }
.gameon-view-piece { display:flex; align-items:center; justify-content:space-between; gap:20px; font-size:.8125rem; padding-block:16px 10px; }
.gameon-view-piece>span { color:var(--accent); font-size:1.3rem; }
.gameon-evidence { padding-block:70px 88px; border-block:1px solid var(--line); }
.gameon-evidence-grid { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:100px; }
.gameon-evidence h2 { font-size:clamp(1.8rem,3vw,2.6rem); }
.gameon-stat { display:flex; align-items:center; gap:30px; margin-block:32px 24px; }
.gameon-stat>strong { font:500 clamp(4.5rem,8vw,7rem)/1 var(--display); letter-spacing:-.08em; color:var(--gameon-light); }
.gameon-stat>span { font-size:.8125rem; color:var(--muted); }
.gameon-evidence-limit { max-width:42ch; font-size:.8125rem; color:var(--muted); line-height:1.7; }
.gameon-source-link { display:inline-flex; align-items:center; gap:24px; margin-top:26px; min-height:48px; border:1px solid #b697ff3b; background:transparent; color:var(--ink); font-size:.8125rem; padding:10px 16px; border-radius:var(--radius); }
.gameon-source-link:hover { transform:none; background:#b697ff0b; }
.gameon-external { width:11px; height:10px; border:1px solid #cbb4ff80; border-radius:2px; position:relative; }
.gameon-external::before { content:''; position:absolute; width:5px; height:5px; top:-4px; right:-4px; border:1px solid var(--gameon-light); background:var(--bg); }
.gameon-record { border-top:1px solid #b697ff42; padding-top:22px; }
.gameon-record>p:not(.eyebrow) { font-size:.9375rem; color:var(--muted); line-height:1.7; }
.gameon-record dl { margin:22px 0 0; }
.gameon-record dl>div { padding-block:13px; border-top:1px solid var(--line); }
.gameon-record dd { font-size:.8125rem; margin:0; }
.gameon-record .reader-source-notes { font-size:.8125rem; }
.gameon-record .reader-source-notes p { font-size:.875rem; }
.gameon-handoff { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); align-items:center; gap:100px; padding-block:86px; }
.gameon-contact .button { margin-top:28px; }
.gameon-next { display:block; border:1px solid #b697ff27; border-radius:12px; padding:26px; background:radial-gradient(ellipse at 90% 0%,#6c3aac17,transparent 70%),#0b090f; transition:border-color .25s; }
.gameon-next:hover { border-color:#b697ff66; }
.gameon-next .eyebrow { display:block; }
.gameon-next-art { display:block; height:140px; background:#07070a; overflow:hidden; margin-block:20px; }
.gameon-next-art img { width:100%; height:100%; object-fit:contain; }
.gameon-next-title { display:block; font:500 1.75rem/1.1 var(--display); letter-spacing:-.04em; }
.gameon-next .gameon-view-piece { padding-top:22px; }
.gameon-end { display:flex; justify-content:space-between; align-items:center; gap:24px; padding-block:24px!important; border-top:1px solid var(--line); font-size:.75rem; }
.gameon-footer-note { color:var(--muted); }
.gameon-end>div { display:flex; gap:24px; }
.gameon-end a { display:inline-flex; align-items:center; min-height:44px; color:var(--muted); }
.gameon-end a:hover { color:var(--ink); }
.gameon-media-status { font-size:.875rem; padding:24px; color:var(--muted); }
@media(min-width:901px) {
  .gameon-hero-copy { animation:gameon-arrive .75s both; }
  .gameon-film { animation:gameon-film-arrive 1s both; }
}
@keyframes gameon-arrive { from { opacity:0; transform:translateY(16px); } to { opacity:1; transform:translateY(0); } }
@keyframes gameon-film-arrive { from { opacity:0; translate:0 24px; } to { opacity:1; translate:0 0; } }
@media(max-width:1100px) {
  .gameon-hero { min-height:500px; gap:18px; }
  .gameon-hero-copy h1 { font-size:clamp(2.9rem,5vw,4.5rem); }
  .gameon-brief-grid,.gameon-decision-grid,.gameon-evidence-grid,.gameon-handoff { gap:50px; }
  .gameon-chapters-inner { gap:26px; }
}
@media(max-width:800px) {
  .gameon-hero { grid-template-columns:1fr; min-height:0; padding-block:36px 28px; gap:18px; }
  .gameon-hero-copy h1 { font-size:clamp(2.8rem,7.5vw,4.5rem); }
  .gameon-stage { max-width:620px; width:100%; margin-inline:auto; padding-block:16px 18px; }
  .gameon-film { transform:rotateY(-4deg) rotateZ(1deg); }
  .gameon-stage-floor { display:none; }
  .gameon-deck { max-width:48ch; }
  .gameon-brief-grid { gap:32px; }
  .gameon-decision-grid { gap:32px; grid-template-columns:1fr 1fr; align-items:start; }
  .gameon-enhanced .gameon-beat-panel { min-height:400px; }
  .gameon-beat-controls button { padding:12px; gap:10px; }
  .gameon-stat { flex-wrap:wrap; gap:12px 22px; }
  .gameon-handoff { gap:40px; }
  .gameon-chapters .gameon-collection-link { display:none; }
  .gameon-chapters-inner { justify-content:space-between; }
}
@media(max-width:600px) {
  .gameon-main .section-shell { padding-inline:var(--gutter); }
  .gameon-main h2 { font-size:2rem; }
  .gameon-main [id] { scroll-margin-top:16px; }
  .gameon-opening { padding-top:12px; }
  .gameon-topline { font-size:.75rem; gap:14px; }
  .gameon-topline>span { max-width:17ch; text-align:right; font-size:.6875rem; }
  .gameon-hero { padding-block:24px 18px; gap:22px; }
  .gameon-hero-copy h1 { font-size:clamp(2.65rem,10vw,3.8rem); letter-spacing:-.06em; }
  .gameon-hero-copy .eyebrow { font-size:.75rem; }
  .gameon-deck { font-size:.9375rem; line-height:1.65; margin-block:20px 22px; }
  .gameon-primary { gap:18px; font-size:.8125rem; padding-inline:15px; }
  .gameon-stage { padding-block:6px 8px; }
  .gameon-film { padding:5px; border-radius:9px; }
  .gameon-film figcaption { font-size:.625rem; gap:5px 8px; padding:2px 3px 0; letter-spacing:0; }
  .gameon-credit-line { grid-template-columns:1fr; gap:18px; padding-block:18px 24px; }
  .gameon-credit-line dd { font-size:.8125rem; }
  .gameon-chapters-inner { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
  .gameon-chapters a { min-height:54px; font-size:.6875rem; gap:6px; justify-content:center; }
  .gameon-chapters a>span { font-size:.5625rem; }
  .gameon-section-label { margin-bottom:24px; }
  .gameon-brief { padding-block:48px 54px; }
  .gameon-brief-grid { grid-template-columns:1fr; gap:26px; }
  .gameon-brief-grid h2 { max-width:none; }
  .gameon-question { font-size:1.0625rem; margin-bottom:12px; }
  .gameon-brief-copy { font-size:.9375rem; }
  .gameon-brief-facts { gap:20px; margin-top:22px; }
  .gameon-brief-facts dd { font-size:.75rem; }
  .gameon-section-head { display:block; margin-bottom:24px; }
  .gameon-section-head>p { margin-top:12px; font-size:.8125rem; max-width:none; }
  .gameon-decisions { padding-block:42px 46px; }
  .gameon-beat-controls { gap:3px; padding:4px; margin-bottom:26px; border-radius:10px; }
  .gameon-beat-controls button { flex-direction:column; align-items:flex-start; justify-content:center; gap:5px; padding:10px 8px; font-size:.75rem; min-height:66px; }
  .gameon-beat-controls button>span { font-size:.5625rem; }
  .gameon-decision-grid { grid-template-columns:1fr; gap:20px; }
  .gameon-reading { padding-top:0; }
  .gameon-enhanced .gameon-beat-panel { min-height:315px; padding-bottom:8px; }
  .gameon-beat-panel h3 { font-size:1.625rem; max-width:22ch; }
  .gameon-beat-panel blockquote { margin-block:20px; padding-left:14px; }
  .gameon-beat-panel blockquote p { font-size:1.0625rem; }
  .gameon-explanation { font-size:.875rem; }
  .gameon-principle { font-size:.75rem; margin-top:20px; }
  .gameon-annotated { max-width:380px; }
  .gameon-post { padding:10px; }
  .gameon-annotated figcaption { font-size:.625rem; }
  .gameon-companions { padding-block:46px 50px; }
  .gameon-companion-grid { grid-template-columns:1fr; gap:32px; }
  .gameon-companion-copy h3 { font-size:1.25rem; }
  .gameon-companion-copy p { font-size:.8125rem; }
  .gameon-evidence { padding-block:46px 50px; }
  .gameon-evidence-grid { grid-template-columns:1fr; gap:38px; }
  .gameon-evidence h2 { font-size:1.875rem; }
  .gameon-stat { flex-wrap:wrap; gap:24px; margin-top:24px; }
  .gameon-stat>strong { font-size:5.25rem; }
  .gameon-stat>span { font-size:.75rem; }
  .gameon-handoff { grid-template-columns:1fr; gap:38px; padding-block:48px; }
  .gameon-next { padding:22px; }
  .gameon-next-title { font-size:1.625rem; }
  .gameon-end { display:block; }
  .gameon-end>div { margin-top:12px; gap:22px; }
}
@media(max-width:360px) {
  .gameon-hero-copy h1 { font-size:2.375rem; }
  .gameon-chapters a { gap:4px; font-size:.625rem; }
  .gameon-beat-controls button { padding-inline:5px; font-size:.6875rem; }
  .gameon-stat { flex-wrap:wrap; }
}
@media(max-width:900px) {
  html:not(.js-ready) .gameon-page .site-header { position:relative; height:auto; flex-wrap:wrap; }
  html:not(.js-ready) .gameon-page .site-header #main-nav { position:static; display:flex; flex-direction:row; flex-wrap:wrap; width:100%; max-height:none; gap:8px; padding:0; background:transparent; box-shadow:none; }
  html:not(.js-ready) .gameon-page .site-header #main-nav .nav-room { min-height:44px; padding:10px; }
  html:not(.js-ready) .gameon-page .site-header #main-nav .nav-note { display:none; }
  html:not(.js-ready) .gameon-page .gameon-chapters { top:0; }
}
@media(prefers-reduced-motion:reduce) {
  .gameon-page { scroll-behavior:auto; }
  .gameon-hero-copy,.gameon-film { animation:none; }
  .gameon-film,.gameon-focus-frame,.gameon-companion img { transition:none; }
}
@media(forced-colors:active) {
  .gameon-film,.gameon-post,.gameon-next,.gameon-beat-controls { border-color:CanvasText; }
  .gameon-focus-frame { border-color:Highlight; background:transparent; }
  .gameon-beat-controls button[aria-selected=true] { outline:2px solid Highlight; }
}
