/* Public introduction: landscape previews, a clear route into music, and the
   same illustrated characters/companions as the full player. */
#landingMain{max-width:1360px;padding-inline:clamp(20px,4vw,64px)}
#landingMain .site-header{gap:22px;padding-block:20px;border-bottom:1px solid var(--line)}
#landingMain .header-nav{gap:16px}
#landingMain .header-nav a{min-height:44px;display:inline-flex;align-items:center;font-size:.72rem}
#landingMain .header-side .live-status{display:none}
#landingMain .header-open{min-height:44px;display:inline-flex;align-items:center;padding:10px 16px;background:var(--bg2)}
#landingMain .landing-hero{grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:clamp(28px,4vw,64px);min-height:0;padding:64px 0 72px}
#landingMain .hero-mode{gap:10px;margin-bottom:22px}
#landingMain .hero-mode span{font:700 .62rem/1.3 Inter,sans-serif;letter-spacing:.08em;padding:0;border:0;border-radius:0;background:none;color:var(--muted)}
#landingMain .hero-mode span:first-child::before{animation:none;box-shadow:none}
#landingMain .hero-mode span+span{border-left:1px solid var(--line);padding-left:10px}
#landingMain .landing-hero h1{font-size:clamp(3.1rem,5.6vw,5.7rem);line-height:.99;letter-spacing:-.065em;margin-bottom:22px}
#landingMain .hero-copy{max-width:40ch;font-size:1rem;line-height:1.75;color:var(--muted)}
#landingMain .hero-copy b{display:block;margin-top:8px;font-weight:500;color:var(--fg)}
#landingMain .hero-world-label{font:600 .7rem/1.5 Inter,sans-serif;letter-spacing:0;text-transform:none;margin-top:22px;color:var(--muted)}
#landingMain .hero-actions{margin-top:26px;gap:10px}
#landingMain :is(.primary-cta,.secondary-cta){min-height:50px;border-radius:12px;font-size:.8rem;line-height:1.3;padding:12px 18px;box-shadow:none}
#landingMain .primary-cta{background:linear-gradient(125deg,var(--world-a),var(--world-b));color:#071322}
#landingMain .hero-note{font-size:.73rem;line-height:1.5;margin-top:16px}
#landingMain .hero-note i{box-shadow:none}
#landingMain .game-stage{min-height:570px;border-radius:var(--world-radius,24px);border-color:color-mix(in srgb,var(--world-a) 28%,var(--line));background:var(--bg2);transform:none;box-shadow:0 24px 70px -36px #000,inset 0 1px #ffffff12}
#landingMain .game-stage::before{inset:0;z-index:1;opacity:1;background:linear-gradient(0deg,var(--bg) 0%,transparent 72%),linear-gradient(90deg,var(--bg),transparent 85%);mask-image:none;pointer-events:none}
#landingMain .game-stage::after{display:none}
#landingMain .stage-world-art{inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:none;opacity:.52;transform:none}
#landingMain .stage-world-art.swapping{opacity:0}
#landingMain .landing-guide{position:absolute;z-index:2;right:-5%;bottom:84px;width:92%;height:79%;object-fit:contain;object-position:right bottom;filter:drop-shadow(0 14px 24px #0006);pointer-events:none}
#landingMain .game-stage-top{top:23px;left:24px;right:24px}
#landingMain .stage-live{font:600 .6rem/1.4 Inter,sans-serif;letter-spacing:.12em;text-transform:uppercase}
#landingMain .stage-live i{animation:none;box-shadow:none}
#landingMain .stage-code{font:600 .54rem/1.4 ui-monospace,monospace}
#landingMain .stage-world-copy{z-index:4;left:24px;right:24px;bottom:84px;max-width:none;padding:0;border:0;background:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
#landingMain .stage-world-copy small{font-size:.56rem;letter-spacing:.13em}
#landingMain .stage-world-copy h2{max-width:15ch;font:700 clamp(1.7rem,2.4vw,2.25rem)/1.08 var(--world-heading,'Space Grotesk'),sans-serif;letter-spacing:-.035em;margin-top:9px;text-wrap:balance;text-shadow:0 2px 14px #000}
#landingMain .stage-world-copy p{display:none}
#landingMain .landing-companion{position:absolute;z-index:4;left:24px;top:80px;display:flex;flex-direction:column;align-items:center;gap:3px;text-align:center}
#landingMain .landing-companion img{width:82px;height:82px;filter:drop-shadow(0 5px 12px #0005)}
#landingMain .landing-companion span{font:500 .54rem/1.5 Inter,sans-serif;color:var(--muted)}
#landingMain .landing-companion strong{display:block;color:var(--fg);font-size:.72rem;letter-spacing:.03em}
#landingMain .stage-enter{position:absolute;z-index:5;bottom:0;left:0;right:0;min-height:62px;display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-top:1px solid var(--line);background:var(--bg2);color:var(--fg);text-decoration:none;font:600 .8rem/1.4 Inter,sans-serif}
#landingMain .stage-enter span{font-size:1.2rem;color:var(--a2)}
#landingMain .stage-enter:hover{background:color-mix(in srgb,var(--a2) 12%,var(--bg2))}
#landingMain .section-headline{align-items:end;margin-bottom:24px;gap:24px}
#landingMain .section-headline h2{max-width:20ch;font:700 clamp(1.85rem,3.7vw,3rem)/1.08 var(--world-heading,'Space Grotesk'),sans-serif;letter-spacing:-.04em;text-wrap:balance;margin-top:10px}
#landingMain .section-headline p{font-size:.82rem;line-height:1.65;max-width:39ch;text-align:left}
#landingMain .world-select{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;overflow:visible}
#landingMain .world-button{position:relative;isolation:isolate;min-width:0;min-height:152px;padding:14px;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:5px;border-radius:14px;background:var(--bg2);overflow:hidden;box-shadow:none;text-align:left;border:1px solid var(--line)}
#landingMain .world-button::before{position:absolute;z-index:-1;inset:0;content:"";background:linear-gradient(0deg,#040916 5%,#040916ab 42%,transparent);opacity:1;transform:none;animation:none}
#landingMain .world-button::after{content:none}
#landingMain .world-preview{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;opacity:.8;transition:transform .2s}
#landingMain .world-button small{font:600 .58rem/1.3 Inter,sans-serif;color:#d8e0ef;letter-spacing:.03em}
#landingMain .world-button b{font:700 .94rem/1.2 'Space Grotesk',sans-serif;color:#fff}
#landingMain .world-button[aria-pressed="true"]{border:2px solid var(--a2);padding:13px;box-shadow:0 0 0 3px color-mix(in srgb,var(--a2) 10%,transparent)}
#landingMain .world-button:hover .world-preview{transform:scale(1.035)}
#landingMain .landing-paths{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:28px;padding:26px 0;border-block:1px solid var(--line)}
#landingMain .landing-paths a{display:flex;align-items:center;gap:14px;min-width:0;color:var(--fg);text-decoration:none;min-height:64px;padding:8px;border-radius:10px}
#landingMain .landing-paths a>span{font:500 .67rem/1 ui-monospace,monospace;color:var(--a2)}
#landingMain .landing-paths a>div{min-width:0;flex:1}
#landingMain .landing-paths strong{display:block;font:600 .8rem/1.4 Inter,sans-serif}
#landingMain .landing-paths small{display:block;font:400 .68rem/1.5 Inter,sans-serif;color:var(--muted);margin-top:4px}
#landingMain .landing-paths a>b{font-size:1rem;color:var(--muted)}
#landingMain .landing-paths a:hover{background:var(--panel)}
#landingMain :is(.world-deck,.platforms,.systems,.landing-video){margin-bottom:72px}
#landingMain .platform-card{min-height:420px;border-radius:var(--world-radius,22px);background:var(--bg2);border-color:var(--line);box-shadow:none}
#landingMain .platform-art{height:68%;width:100%;object-fit:contain;object-position:center top;opacity:.85;filter:none}
#landingMain .platform-copy{inset:auto 22px 24px;max-width:none}
#landingMain .platform-copy h3{font:700 1.6rem/1.08 var(--world-heading,'Space Grotesk'),sans-serif;letter-spacing:-.035em}
#landingMain .platform-copy p{font-size:.78rem;line-height:1.6;max-width:35ch}
#landingMain .platform-link{min-height:44px;display:inline-flex;align-items:center;margin-top:13px;font-size:.76rem}
#landingMain .systems{padding:32px;border-radius:var(--world-radius,22px);background:var(--bg2);border-color:var(--line)}
#landingMain .system-card{min-height:190px;background:none;border:0;border-left:1px solid var(--line);border-radius:0;padding:8px 18px;box-shadow:none;transform:none}
#landingMain .system-icon{box-shadow:none;background:var(--panel);border:1px solid var(--line)}
#landingMain .system-card p{font-size:.76rem;line-height:1.6}
#landingMain .final-call{padding:40px;gap:44px;border-radius:var(--world-radius,24px);background:linear-gradient(125deg,color-mix(in srgb,var(--a3) 8%,var(--bg2)),var(--bg));border:1px solid var(--line);box-shadow:none}
#landingMain .final-copy h2{font:700 clamp(2rem,3.7vw,3.4rem)/1.06 var(--world-heading,'Space Grotesk'),sans-serif;letter-spacing:-.045em;max-width:17ch}
#landingMain .final-copy p{font-size:.87rem;line-height:1.65}
#landingMain .notify{padding:24px;background:var(--bg2);box-shadow:none;border-color:var(--line)}
#landingMain .notify-form{flex-wrap:wrap}
#landingMain .notify-form input{min-height:48px;font-size:1rem;flex:1 1 180px}
#landingMain .notify-form button{min-height:48px;color:#071322}
.landing-scene .scene-grid{opacity:.16}
.landing-scene .scene-world{opacity:.13;animation:none}
.landing-scene i{display:none}
@media(max-width:1100px){#landingMain .header-nav{display:none}#landingMain .world-select{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:900px){
  #landingMain .landing-hero{grid-template-columns:1fr;gap:32px;padding:38px 0 48px}
  #landingMain .hero-content{max-width:640px}
  #landingMain .hero-copy{max-width:52ch}
  #landingMain .game-stage{width:100%;min-height:440px}
  #landingMain .landing-guide{right:0;width:70%;height:90%;bottom:28px}
  #landingMain .landing-companion{top:70px;left:28px}
  #landingMain .platform-grid{grid-template-columns:1fr}
  #landingMain .platform-card,#landingMain .platform-card:last-child{min-height:320px;grid-column:auto}
  #landingMain .platform-art{height:95%;width:55%;left:auto;right:-3%;object-position:right bottom}
  #landingMain .platform-copy{right:36%;bottom:28px}
  #landingMain .landing-paths{gap:8px}
}
@media(max-width:600px){
  #landingMain{padding-inline:18px}
  #landingMain .site-header{gap:12px;padding-block:14px;margin:0}
  #landingMain .brand{font-size:.78rem}
  #landingMain .header-open{padding:8px 11px;font-size:.68rem}
  #landingMain .hero-mode{margin-bottom:18px}
  #landingMain .hero-mode span+span{display:none}
  #landingMain .landing-hero h1{font-size:clamp(3rem,13vw,4.8rem)}
  #landingMain .hero-copy{font-size:.92rem;line-height:1.6}
  #landingMain .hero-world-label{display:none}
  #landingMain .hero-actions{display:flex;flex-direction:row;flex-wrap:wrap;margin-top:22px}
  #landingMain .hero-actions a{flex:1 1 140px;width:auto;padding-inline:12px;font-size:.73rem}
  #landingMain .hero-note{font-size:.68rem}
  #landingMain .game-stage{min-height:370px}
  #landingMain .game-stage-top{left:18px;right:18px;top:17px}
  #landingMain .stage-code{display:none}
  #landingMain .landing-guide{right:-12%;width:94%;height:83%;bottom:62px}
  #landingMain .landing-companion{left:14px;top:50px}
  #landingMain .landing-companion img{width:64px;height:64px}
  #landingMain .landing-companion span{font-size:.48rem}
  #landingMain .stage-world-copy{left:18px;right:18px;bottom:80px}
  #landingMain .stage-world-copy h2{font-size:1.8rem;max-width:12ch}
  #landingMain .stage-enter{min-height:58px;padding-inline:18px;font-size:.76rem}
  #landingMain .section-headline{gap:12px;align-items:start}
  #landingMain .section-headline h2{font-size:2rem}
  #landingMain .section-headline p{font-size:.78rem}
  #landingMain .world-select{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  #landingMain .world-button{min-height:126px;padding:10px;border-radius:11px}
  #landingMain .world-button[aria-pressed="true"]{padding:9px}
  #landingMain .world-button b{font-size:.78rem}
  #landingMain .world-button small{font-size:.5rem}
  #landingMain .landing-paths{grid-template-columns:1fr;padding-block:16px;gap:4px}
  #landingMain .landing-paths a{padding:10px 5px}
  #landingMain :is(.world-deck,.platforms,.systems,.landing-video){margin-bottom:48px}
  #landingMain .platform-card,#landingMain .platform-card:last-child{min-height:360px}
  #landingMain .platform-copy{right:22px;bottom:22px}
  #landingMain .platform-copy h3{max-width:15ch}
  #landingMain .platform-art{height:78%;width:80%;right:-16%}
  #landingMain .systems{padding:24px 18px}
  #landingMain .systems-grid{grid-template-columns:1fr 1fr;gap:20px 10px}
  #landingMain .system-card{padding:0 0 0 12px;min-height:180px}
  #landingMain .system-card h3{font-size:1rem;line-height:1.2}
  #landingMain .system-card p{font-size:.72rem}
  #landingMain .final-call{padding:26px 20px;gap:28px}
  #landingMain .notify{padding:18px}
}
@media(prefers-reduced-motion:reduce){#landingMain .world-preview{transition:none;transform:none!important}}
@media(forced-colors:active){#landingMain .world-button[aria-pressed="true"]{border:3px solid Highlight}#landingMain .world-button b,#landingMain .world-button small{color:ButtonText}}

/* A world selection should reveal its personality where the choice is made. */
#landingMain .world-dossier{display:grid;grid-template-columns:138px minmax(0,1fr) auto;align-items:center;gap:26px;position:relative;isolation:isolate;overflow:hidden;margin-top:20px;padding:26px;border:1px solid var(--line);border-radius:var(--world-radius,22px);background:var(--bg2)}
#landingMain .world-dossier::before{content:"";position:absolute;z-index:-1;inset:0;background-image:linear-gradient(90deg,var(--bg2) 12%,color-mix(in srgb,var(--bg2) 84%,transparent)),var(--theme-world-art);background-size:cover;background-position:center;opacity:.7}
#landingMain .world-dossier-companion{display:grid;justify-items:center;gap:7px;text-align:center}
#landingMain .world-dossier-companion img{display:block;width:104px;height:104px;filter:drop-shadow(0 8px 12px #0005)}
#landingMain .world-dossier-companion span{font:500 .58rem/1.4 Inter,sans-serif;color:var(--muted)}
#landingMain .world-dossier-copy .eyebrow{font-size:.54rem;letter-spacing:.12em}
#landingMain .world-dossier-copy h3{margin:9px 0;font:700 1.45rem/1.2 var(--world-heading,'Space Grotesk'),sans-serif;letter-spacing:-.03em}
#landingMain .world-dossier-copy p{font:400 .78rem/1.65 Inter,sans-serif;max-width:55ch;color:var(--muted)}
#landingMain .world-material{display:block;margin-top:13px;font:500 .58rem/1.5 Inter,sans-serif;letter-spacing:.02em;color:var(--a2)}
#landingMain .world-dossier-enter{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:48px;padding:12px 16px;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--fg);font:600 .7rem/1.4 Inter,sans-serif;text-decoration:none}
#landingMain .world-dossier-enter span{color:var(--a2);font-size:1rem}
#landingMain .world-dossier-enter:hover{border-color:var(--a2)}
#landingMain .world-selected-mark{display:grid;place-items:center;position:absolute;top:9px;right:9px;left:auto;bottom:auto;width:22px;height:22px;border:1px solid #ffffff65;border-radius:50%;background:#071322bf;color:#fff;font:700 .65rem/1 Inter,sans-serif;box-shadow:none;opacity:0;transform:none}
#landingMain .world-button[aria-pressed="true"] .world-selected-mark{opacity:1}
#landingMain .game-stage{border-top:2px solid var(--world-a)}
#landingMain .landing-companion{padding:10px 8px;border:1px solid #ffffff15;border-radius:18px;background:linear-gradient(150deg,#0713229e,#07132211);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
:root[data-theme="cyber"] #landingMain :is(.game-stage,.world-dossier),:root[data-theme="fps"] #landingMain :is(.game-stage,.world-dossier){border-radius:8px}
:root[data-theme="girly"] #landingMain :is(.game-stage,.world-dossier){border-radius:30px}
:root[data-theme="verdant"] #landingMain :is(.game-stage,.world-dossier){border-radius:30px 12px 30px 12px}
#landingMain .system-icon{position:relative;border-color:color-mix(in srgb,var(--system-a) 35%,var(--line));background:linear-gradient(145deg,color-mix(in srgb,var(--system-a) 16%,var(--bg)),var(--bg))}
#landingMain .platform-link:focus-visible,#landingMain .world-dossier-enter:focus-visible{outline:2px solid var(--a2);outline-offset:4px}
@media(max-width:900px){#landingMain .world-dossier{grid-template-columns:105px minmax(0,1fr);gap:20px}#landingMain .world-dossier-enter{grid-column:2;justify-self:start}#landingMain .world-dossier-companion{grid-row:1/3}}
@media(max-width:600px){
  #landingMain .world-dossier{grid-template-columns:70px minmax(0,1fr);padding:20px 16px;gap:14px}
  #landingMain .world-dossier-companion{grid-row:auto;align-self:start}
  #landingMain .world-dossier-companion img{width:68px;height:68px}
  #landingMain .world-dossier-companion span{font-size:.5rem}
  #landingMain .world-dossier-copy h3{font-size:1.1rem;overflow-wrap:anywhere}
  #landingMain .world-dossier-copy p{font-size:.73rem}
  #landingMain .world-material{font-size:.55rem}
  #landingMain .world-dossier-enter{grid-column:1/-1;justify-self:stretch}
  #landingMain .landing-companion{padding:6px;border-radius:12px}
}
