/* This stylesheet is requested only by game detail routes. The shared shell,
   catalog and homepage keep their existing theme and layout. */
body:has(.session-page){--stage-bg:#17191c;--stage-panel:#202327;--stage-text:#f4f1eb;--stage-muted:#b5b6b8;--stage-line:#414449;--stage-accent:#ffab65;--stage-ink:#24170d;background:var(--stage-bg);color:var(--stage-text);scrollbar-color:#777 var(--stage-bg)}
html[data-theme=light] body:has(.session-page){--stage-bg:#f2f0e9;--stage-panel:#e7e3da;--stage-text:#252723;--stage-muted:#585b56;--stage-line:#bdbeb6;--stage-accent:#974000;--stage-ink:#fff7ee}
body:has(.session-page) .circuit-background{display:none}
.session-page{padding-top:26px;padding-bottom:64px;max-width:1280px;font-family:Arial,Helvetica,sans-serif}
.session-page ::selection{background:var(--stage-accent);color:var(--stage-ink)}
.session-page a{color:inherit}.session-page :focus-visible{outline:3px solid var(--stage-accent);outline-offset:5px}
.session-path{display:flex;gap:12px;font-size:13px;color:var(--stage-muted)}.session-path a{text-decoration:underline;text-underline-offset:4px}
.session-heading{display:flex;justify-content:space-between;align-items:center;gap:32px;margin:28px 0 30px}.session-heading h1{font-size:clamp(32px,4vw,58px);line-height:1.05;letter-spacing:-.035em;max-width:22ch;margin:0 0 12px;text-wrap:balance}.session-heading p{font-size:17px;line-height:1.5;color:var(--stage-muted);margin:0 0 16px}.session-byline{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;color:var(--stage-muted)}.session-byline span{border-left:1px solid var(--stage-line);padding-left:12px}
.session-page .button{border-radius:4px;min-height:44px;box-shadow:none;background:var(--stage-accent);color:var(--stage-ink);border:1px solid transparent}.session-page .session-save{background:transparent;color:var(--stage-text);border-color:var(--stage-line);flex-shrink:0}.session-page .session-save[aria-pressed=true]{border-color:var(--stage-accent);color:var(--stage-accent)}
/* Keep all iframe lifecycle selectors intact; only its surrounding chrome changes. */
.session-page .stage-player{border:0;border-radius:0;background:#101214;box-shadow:none;color:#f4f1eb;overflow:hidden}.session-page .player-toolbar{background:#26292c;border:0;padding:13px 20px;min-height:54px}.session-page .player-label{font-size:11px;color:#f4f1eb;letter-spacing:.08em}.session-page .player-toolbar button,.session-page .player-bottom button{color:#f4f1eb;min-height:36px;font-size:12px}.session-page .player-toolbar button:hover,.session-page .player-bottom button:hover{color:#ffab65}.session-page .player-stage{aspect-ratio:16/8;min-height:300px;background:#101214}.session-page .stage-player[data-orientation=portrait] .player-stage{aspect-ratio:16/8;max-height:none}.session-page .player-prompt img{object-fit:contain;opacity:.45}.session-page .player-shade{background:linear-gradient(0deg,#101214ee,transparent 85%)}.session-page .launch-copy h2{font-size:clamp(25px,3vw,40px);letter-spacing:-.025em;color:#fff;margin:0 0 22px}.session-page .launch-copy p{color:#d1d2d3;font-size:12px}.session-page .launch{background:#ffab65;color:#24170d;padding:16px 28px}.session-page .player-bottom{background:#26292c;border:0;padding:10px 20px}.session-page .player-bottom p{color:#d1d2d3;font-size:12px}.session-page .player-bottom button:disabled{opacity:.45}.session-page .embed-disclosure{background:#101214;color:#b9bdc2;padding:12px 20px;font-size:11px;line-height:1.7;margin:0}.session-page .embed-disclosure a{color:#ffab65;text-decoration:underline;text-underline-offset:3px}.session-page .stage-player.is-expanded,.session-page .stage-player:fullscreen{height:100dvh;width:100%;border:0;inset:0;position:fixed}.session-page .stage-player.is-expanded .player-stage,.session-page .stage-player:fullscreen .player-stage{aspect-ratio:auto;min-height:0;max-height:none;flex:1}
.session-specs{display:grid;grid-template-columns:1fr .7fr 1.2fr 1fr;margin:0;border-bottom:1px solid var(--stage-line);padding:24px 0;gap:24px}.session-specs div+div{border-left:1px solid var(--stage-line);padding-left:24px}.session-specs dt{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--stage-muted);margin-bottom:8px}.session-specs dd{margin:0;font-size:14px;font-weight:700;line-height:1.5}
.session-manual{display:grid;grid-template-columns:210px minmax(0,1fr);gap:70px;margin:64px 0 72px}.session-index{position:sticky;top:110px;align-self:start;display:grid;gap:5px}.session-index>span{font-size:18px;font-weight:700;margin-bottom:16px}.session-index a{min-height:44px;display:flex;align-items:center;border-bottom:1px solid var(--stage-line);font-size:13px;color:var(--stage-muted)}.session-index a:hover{color:var(--stage-accent)}.session-articles{max-width:75ch;min-width:0}.session-articles section{scroll-margin-top:110px;margin-bottom:50px}.session-articles h2{font-size:clamp(25px,3vw,34px);line-height:1.2;letter-spacing:-.025em;margin:0 0 20px;color:var(--stage-text)}.session-articles p{font-size:16px;line-height:1.85;color:var(--stage-muted);margin:0 0 16px}.session-controls{list-style:none;padding:0;margin:0 0 20px}.session-controls li{display:flex;gap:18px;padding:16px 0;border-bottom:1px solid var(--stage-line);line-height:1.65;font-size:16px}.session-controls svg{flex-shrink:0;margin-top:5px;color:var(--stage-accent)}.session-tip{background:var(--stage-panel);padding:30px}.session-tip p{color:var(--stage-text);font-size:20px;line-height:1.6}.session-notes details{border-top:1px solid var(--stage-line)}.session-notes details:last-child{border-bottom:1px solid var(--stage-line)}.session-notes summary{cursor:pointer;padding:20px 0;font-weight:700;font-size:15px;line-height:1.5;min-height:60px}.session-notes details>div{padding:0 0 24px}.session-notes a{color:var(--stage-accent);text-decoration:underline;text-underline-offset:4px}.session-source-links{display:flex;flex-wrap:wrap;gap:18px;font-size:13px}
.session-next{border-top:1px solid var(--stage-line);padding-top:32px}.session-next-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px}.session-next h2{font-size:26px;letter-spacing:-.02em;margin:0}.session-next-heading>a{display:flex;align-items:center;gap:12px;font-size:13px}.session-next-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.session-next-list>a{display:flex;gap:16px;align-items:center;padding:16px 0;border-bottom:1px solid var(--stage-line);min-width:0}.session-next-list img{width:90px;height:68px;object-fit:cover}.session-next-list span{min-width:0;flex:1}.session-next-list strong{display:block;font-size:16px;line-height:1.3}.session-next-list small{display:block;color:var(--stage-muted);font-size:12px;line-height:1.5;margin-top:8px}.session-next-list svg{flex-shrink:0;color:var(--stage-accent)}
@media(max-width:900px){.session-manual{gap:32px;grid-template-columns:160px minmax(0,1fr)}.session-next-list{grid-template-columns:1fr}.session-next-list img{width:120px;height:75px}.session-specs{grid-template-columns:1fr 1fr}.session-specs div+div{border:0;padding:0}}
@media(max-width:600px){.session-page{padding-top:20px;padding-bottom:40px}.session-heading{align-items:flex-start;flex-direction:column;gap:18px;margin:25px 0}.session-heading p{font-size:15px}.session-heading h1{font-size:36px}.session-page .player-toolbar{padding:9px 12px;gap:6px}.session-page .player-toolbar>div{gap:12px}.session-page .player-stage,.session-page .stage-player[data-orientation=portrait] .player-stage{aspect-ratio:4/3;min-height:270px}.session-page .player-bottom{padding:10px 12px}.session-page .embed-disclosure{padding:12px}.session-specs{gap:20px;padding:24px 0}.session-specs dd{font-size:13px}.session-manual{display:block;margin:30px 0 40px}.session-index{position:static;display:flex;overflow:auto;gap:22px;margin-bottom:35px;padding-bottom:8px;border-bottom:1px solid var(--stage-line)}.session-index>span{display:none}.session-index a{white-space:nowrap;border:0;min-height:44px}.session-articles p,.session-controls li{font-size:15px}.session-articles section{margin-bottom:36px}.session-tip{padding:24px}.session-tip p{font-size:18px}.session-next-heading{align-items:flex-start}.session-next h2{font-size:23px;max-width:220px}.session-next-heading>a{white-space:nowrap}.session-page .stage-player.is-expanded .player-stage{min-height:0}}
/* Explicit light-surface overrides outrank the shared silver cabin rules. */
:root[data-theme=light] body:has(.session-page){background:var(--stage-bg);color:var(--stage-text)}
:root[data-theme=light] .session-page .stage-player{background:#101214;border:0;color:#f4f1eb}
:root[data-theme=light] .session-page .player-toolbar{background:#26292c;border:0}
:root[data-theme=light] .session-page .player-toolbar button,:root[data-theme=light] .session-page .player-bottom button{color:#f4f1eb}
:root[data-theme=light] .session-page .launch{background:#ffab65;color:#24170d;border-color:transparent;box-shadow:none}
:root[data-theme=light] .session-page .session-save{background:transparent;color:var(--stage-text);border-color:var(--stage-line);box-shadow:none}
:root[data-theme=light] .session-page .session-save[aria-pressed=true]{color:var(--stage-accent);border-color:var(--stage-accent)}
