/* The first minute: one invitation, the same room at every size. */
:root{--arrival-gutter:clamp(24px,3.3vw,56px);--arrival-cream:#f1e8d8;--arrival-muted:#c5bbaa}
#arrival{position:absolute;z-index:6;right:var(--arrival-gutter);top:auto;bottom:24px;width:340px;color:var(--arrival-cream);transition:opacity .25s ease,visibility .25s}
#arrival::before{content:"";position:absolute;inset:-55px calc(-1 * var(--arrival-gutter)) -42px -70px;z-index:-1;background:radial-gradient(ellipse at 65% 65%,#0d0a08e8 12%,#0d0a08a6 52%,transparent 74%);pointer-events:none}
.arrival__eyebrow{display:block;font:10px/1.6 var(--mono);letter-spacing:.19em;text-transform:uppercase;color:var(--arrival-muted)}
#arrival h1{font:400 27px/1.5 var(--px);letter-spacing:-.04em;margin:14px 0 14px;text-wrap:balance}
#arrival p{max-width:31ch;font:400 12px/1.8 var(--mono);color:#d6ccbd;margin:0 0 22px;text-wrap:pretty}
.arrival__actions{display:flex;flex-direction:column;align-items:stretch;gap:4px}
.arrival__action{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:48px;padding:13px 16px;text-decoration:none;font:11px/1.5 var(--mono);letter-spacing:.015em;color:var(--arrival-cream);border:1px solid #d3bd975c;background:#15120ee6;cursor:pointer;transition:background .16s,border-color .16s,color .16s}
.arrival__action--primary{background:#e5c99d;color:#251b13;border-color:#e5c99d}
.arrival__action:hover{background:#30271e;border-color:#dfc79f}
.arrival__action--primary:hover{background:#f3dbb3;color:#251b13}
.arrival__action--quiet{border-color:transparent;background:transparent;color:#d6c7b4;padding-left:0;padding-right:2px}
.arrival__action--quiet:hover{background:transparent;color:#fff1dc;border-color:transparent}
.arrival__action[aria-busy=true]{opacity:.7;cursor:progress}
#arrival-status{font:11px/1.5 var(--mono)!important;min-height:0;margin:10px 0 0!important}
#arrival-status:empty{display:none}
.station-poster,.station-mobile-mark{display:none}
body.reading #arrival,body.seated #arrival,body.station-engaged #arrival,body.station-travel #arrival{visibility:hidden;opacity:0;pointer-events:none}
#mark{left:var(--arrival-gutter);top:32px;font-size:11px}
#sub{left:var(--arrival-gutter);top:57px;font-size:10px;letter-spacing:.12em}
#skip{left:var(--arrival-gutter);top:82px;min-height:44px;padding:10px 0;background:transparent;border:0;border-radius:0;font-size:11px;letter-spacing:.02em;color:#ded4c5}
#sound{right:var(--arrival-gutter);top:28px;min-height:44px;font-size:11px;letter-spacing:.04em;border-radius:2px}
#room-index-toggle{right:auto;left:var(--arrival-gutter);bottom:28px;font-size:11px;letter-spacing:.02em}
#room-index{right:auto;left:var(--arrival-gutter);bottom:84px}
#room-index button{padding:12px 8px;font-size:12px}#room-index button small{font-size:11px}
#stand,#full{min-height:44px;font-size:11px;letter-spacing:.02em}
body :is(a,button):focus-visible{outline:2px solid #f4d9ad!important;outline-offset:5px!important}
#gl:focus-visible{outline:2px solid #f4d9ad;outline-offset:-4px}
#boot{left:var(--arrival-gutter);bottom:90px;font-size:10px}
#cap{font-size:11px;letter-spacing:.025em}#cap b{font-size:10px;letter-spacing:.09em}
.ix{--g-serif-body:19px;--g-serif-body-s:18px;--g-mono-xs:11px;--g-ink-64:#b9b3a9;--g-ink-52:#a59c90;--g-floor:#0c0b0e;--g-pad-b:88px;--g-px-title:19px;--g-px-title-s:14px}
.ix__mast{padding:56px 0 42px}.ix__mast .ix__mark{font:400 42px/1.1 'Newsreader',Georgia,serif;letter-spacing:-.02em}
.ix__mast .ix__say{margin:18px 0;font-size:22px;max-width:50ch}
.ix__fact{margin-bottom:0}.place__t p{font-weight:400}.place__f .box{border-color:#e0c9ac26}.place__f figcaption{line-height:1.7}
#station-directory{width:min(760px,calc(100vw - 32px));height:min(680px,calc(100svh - 48px));padding:0;background:#16120d;border:1px solid #b09a7866;color:#f1e8d8}
#station-directory::backdrop{background:#09070ae8;backdrop-filter:blur(10px)}
#station-directory>button{position:absolute;right:16px;top:12px;z-index:2;min-height:44px;padding:8px 12px;background:#211a13;color:inherit;border:1px solid #b09a7866;font:11px var(--mono);cursor:pointer}
#station-directory iframe{display:block;border:0;width:100%;height:100%}
@media(min-width:700px) and (max-height:740px){#arrival{top:auto;bottom:24px;width:310px}#arrival h1{font-size:24px;margin:10px 0}#arrival p{font-size:12px;margin-bottom:12px}.arrival__action{min-height:44px;padding-top:10px;padding-bottom:10px}}
@media(max-width:699px){
  body{background:#100d0c}.lid,body.flat-page .lid{height:0}
  #stage,body.has-museum-visit #stage{display:none}
  body.station-travel #stage,body.flat-page.station-travel #stage,body.seated #stage{display:block;opacity:1}
  #arrival{position:relative;inset:auto;width:auto;min-height:100svh;padding:calc(53svh - 12px) 24px 26px;isolation:isolate;background:#100d0c}
  #arrival::before{inset:0;background:linear-gradient(180deg,transparent 30%,#100d0c18 43%,#100d0c 58%);z-index:-1}
  .station-poster{display:block;position:absolute;z-index:-2;inset:0;width:100%;height:60svh;object-fit:cover;object-position:45% 50%}
  .station-mobile-mark{display:block;position:absolute;top:28px;left:24px;font:10px var(--px);letter-spacing:.13em;text-shadow:0 2px 14px #000}
  .arrival__eyebrow{font-size:10px}#arrival h1{font-size:27px;margin:13px 0 16px}#arrival p{font-size:13px;line-height:1.8;max-width:36ch;margin-bottom:24px}
  .arrival__action{font-size:12px;min-height:52px}.arrival__action--quiet{min-height:48px}
  body.reading #arrival{visibility:visible;opacity:1;pointer-events:auto}
  body.station-travel #arrival,body.seated #arrival{visibility:hidden;opacity:0}
  #arrival .arrival__browse{display:flex}
  .ix__mast{padding:36px 0}.ix__mast .ix__mark{font-size:34px}.ix__mast .ix__say{font-size:21px}
  #room-index-toggle,#sound{display:none}
  #station-directory{width:calc(100vw - 24px);height:calc(100svh - 32px);max-height:none}
}
@media(min-width:700px){.arrival__browse{display:none}}
@media(prefers-reduced-motion:reduce){#arrival,.arrival__action{transition:none}}

/* The passage's controls share the arrival's readable, quiet treatment. */
body #station-journey{border-color:#b89f7652;background:#15120fed;padding:15px 18px;bottom:24px}
body #station-journey .journey-label{font-size:10px;letter-spacing:.12em;color:#d2ba96}
body #station-journey p{font-size:12px;color:#e7ddcf}
body #station-journey button{font-size:11px;border-color:#b89f765c;background:#221c15;padding:10px 14px}
body #station-journey button:hover{background:#3b3023;border-color:#d2ba96}
body #station-journey button:disabled{opacity:.45;cursor:wait}
@media(max-width:650px){body #station-journey{padding:14px;bottom:16px;gap:12px}body #station-journey .journey-buttons{width:100%;gap:6px}body #station-journey button{flex:1;padding:10px 8px;font-size:10px}body #station-journey p{font-size:11px}}

body.station-travel #sound{visibility:hidden;pointer-events:none}
@media(max-width:650px){body #aperture-visit .aperture-return{top:76px;left:18px;background:#15120fe8;border-color:#b89f7652}}
@media(min-width:700px){
  body.flat-page #arrival{position:relative;top:auto;right:auto;margin-left:auto;margin-right:var(--arrival-gutter);padding-top:calc(100svh - 310px);padding-bottom:32px;min-height:100svh}
  body.flat-page .station-poster{display:block;position:absolute;z-index:-2;top:0;right:calc(-1 * var(--arrival-gutter));width:100vw;height:100svh;object-fit:cover;max-width:none}
  body.flat-page #arrival::before{inset:0 -56px -42px -70px}
}

/* A single CRT scan settles as the glass opens; no strobe or looping effect. */
body.flat #css3d::after{content:"";position:absolute;inset:0;z-index:10;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 3px,#e5c99d18 3px 4px);animation:landing-scan .7s steps(12,end) both}
@keyframes landing-scan{from{opacity:.7;transform:translateY(-6px)}to{opacity:0;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){body.flat #css3d::after{display:none}}
