:root { color-scheme: dark; --ink:#eeeede; --muted:#b8b9b8; --line:#ffffff24; --accent:#e1b77f; --body:Arial,Helvetica,sans-serif; font:16px/1.75 var(--body); background:#000; color:var(--ink); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:32px; }
body,h1,h2,h3,p,figure { margin:0; }
body { background:#000 url('assets/starfield.png') center top / cover fixed; }
a { color:inherit; text-decoration:none; }
button { color:inherit; font:inherit; cursor:pointer; }
button:disabled { cursor:not-allowed; }
a,button { touch-action:manipulation; -webkit-tap-highlight-color:transparent; }
a:focus-visible,button:focus-visible { outline:2px solid var(--accent); outline-offset:5px; }
img { display:block; max-width:100%; height:auto; }
p { color:var(--muted); }
h2 { font-size:clamp(26px,2.6vw,36px); line-height:1.2; font-weight:600; letter-spacing:-.7px; text-wrap:balance; }
::selection { background:var(--accent); color:#000; }
.wrap { width:min(1180px,calc(100% - 80px)); margin-inline:auto; }
.skip-link { position:fixed; top:-100px; left:15px; padding:10px; background:white; color:black; z-index:20; }
.skip-link:focus { top:15px; }
.header { background:#0006; }
.header-inner { width:min(1320px,calc(100% - 80px)); height:80px; margin:auto; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.studio { flex-shrink:0; }.studio img { width:150px; }
.header nav { display:flex; gap:34px; white-space:nowrap; font-size:14px; }
.header nav a:hover,.footer a:hover { color:var(--accent); }
.nav-steam { display:flex; gap:12px; align-items:center; font-size:13px; }
.nav-steam svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.5; }
.launch-inner { padding-top:24px; }
.game-intro { text-align:center; margin:0 auto 24px; }
.game-intro h1 { width:min(450px,85%); margin:0 auto 16px; }
.game-summary { color:var(--ink); font-size:clamp(18px,2vw,23px); line-height:1.5; text-wrap:balance; }
.game-description { font-size:16px; max-width:660px; margin:10px auto 18px; text-wrap:pretty; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:13px; min-height:52px; padding:13px 28px; border:1px solid #e0bb84; background:#e0bb84; border-radius:2px; color:#191b1b; font:700 15px var(--body); }
.button svg { width:23px; height:23px; fill:none; stroke:currentColor; stroke-width:1.5; }
.button:not(:disabled):hover { background:#f2d1a0; }
.trailer { width:min(1000px,100%); margin:auto; }
.trailer-player { display:block; width:100%; height:auto; aspect-ratio:16/9; border:0; background:#000; }
.trailer-link { margin-top:10px; text-align:right; font-size:12px; }
.trailer-link a:hover { color:var(--accent); }
.trailer-placeholder { position:relative; aspect-ratio:16/9; background:#000; overflow:hidden; border:0; }
.trailer-placeholder>img { width:100%; height:100%; object-fit:contain; }
.trailer-caption { position:absolute; inset:auto 0 0; padding:65px 28px 24px; display:flex; align-items:flex-end; justify-content:space-between; background:linear-gradient(transparent,#000e); }
.trailer-caption h2 { font-size:22px; letter-spacing:0; }.trailer-caption p { font-size:13px; margin-top:2px; }
.trailer-caption svg { width:36px; height:36px; fill:none; stroke:#eeeede; stroke-width:1.2; }
.game-details { position:relative; isolation:isolate; }
.creation-copy,.experiment>div { position:relative; isolation:isolate; }
.creation-copy::before,.experiment>div::before { content:""; position:absolute; z-index:-1; inset:0; pointer-events:none; background:#000c; box-shadow:0 0 18px 8px #000c; }
.creation-inner { display:grid; grid-template-columns:1.65fr 1fr; gap:55px; align-items:center; padding-block:85px; }
.creation-copy { grid-column:2; grid-row:1; }.worlds-image { grid-column:1; grid-row:1; }
.creation-copy h2,.experiment h2 { margin-bottom:22px; }
.creation-copy p+p,.experiment p+p { margin-top:16px; }
.worlds-image img,.experiment>img { width:100%; border:0; }
.experiments { display:grid; gap:85px; padding-block:85px 90px; }
.experiment { display:grid; grid-template-columns:1fr 1.65fr; gap:55px; align-items:center; }
.experiment>img { grid-column:2; grid-row:1; }.experiment>div { grid-column:1; grid-row:1; }
.experiment:nth-child(even) { grid-template-columns:1.65fr 1fr; }
.experiment:nth-child(even)>img { grid-column:1; }.experiment:nth-child(even)>div { grid-column:2; }
.surface { padding-block:85px; }
.gallery { padding-bottom:85px; }.gallery-heading { display:flex; align-items:baseline; justify-content:space-between; margin-bottom:25px; gap:20px; }.gallery-heading>span { font-size:13px; color:var(--muted); }
.gallery-stage { position: relative; }
.gallery-main { display: block; position: relative; width: 100%; aspect-ratio: 16/9; padding: 0; border: 0; background: #020406; cursor: zoom-in; overflow: hidden; }
.gallery-main>img { width: 100%; height: 100%; object-fit: contain; }
.enlarge-label { position: absolute; bottom: 18px; right: 20px; background: #080e18b3; padding: 5px 10px; font-size: 11px; color: #cad4d9; opacity: 0; transition: opacity .2s; }
.enlarge-label span { margin-left: 8px; }
.gallery-main:hover .enlarge-label,.gallery-main:focus-visible .enlarge-label { opacity: 1; }
.gallery-arrow { position: absolute; top: 50%; transform: translateY(-50%); width: 42px; height: 58px; padding: 0; display: grid; place-items: center; border: 1px solid #ffffff25; background: #080e18a6; font-size: 37px; font-weight: 300; border-radius: 3px; line-height: 1; }
.gallery-arrow:hover { background: #263746; }
.gallery-arrow.previous { left: 16px; }.gallery-arrow.next { right: 16px; }
.gallery-caption { display: flex; justify-content: space-between; gap: 20px; align-items: center; padding: 14px 0; font-size: 13px; }
.gallery-caption p { color: #bdc8ce; }.gallery-caption>span { flex-shrink:0; white-space:nowrap; font-size: 12px; color: #8b9ba5; }
.thumbnails { position: relative; display: flex; gap: 9px; overflow-x: auto; padding: 4px 3px 13px; scrollbar-width: thin; scrollbar-color: #344653 transparent; }
.thumbnail { padding: 0; border: 2px solid transparent; background: #03070b; flex: 0 0 118px; overflow: hidden; aspect-ratio: 16/9; opacity: .55; transition: opacity .2s,border-color .2s; }
.thumbnail:hover { opacity: 1; }.thumbnail[aria-pressed=true] { border-color: var(--accent); opacity: 1; }.thumbnail img { width: 100%; height: 100%; object-fit: cover; }

.game-facts { display:flex; flex-wrap:wrap; justify-content:center; gap:4px 18px; font-size:13px; margin:-10px 0 24px; }.game-facts span { white-space:nowrap; }.game-facts span+span::before { content:"·"; margin-right:18px; }
.wishlist { border-top:0; }
.wishlist-inner { text-align:center; padding-block:65px; }.wishlist-inner>img { width:310px; margin:0 auto 25px; }.wishlist h2 { font-size:22px; font-weight:400; letter-spacing:0; margin-bottom:24px; }
.footer { display:flex; align-items:center; justify-content:space-between; gap:25px; padding-block:25px; font-size:12px; color:#999; border-top:0; }.footer nav { display:flex; flex-wrap:wrap; justify-content:center; gap:25px; }
.lightbox { width: min(1400px,96vw); max-height: 96svh; padding: 15px; background: #0b121b; color: var(--ink); border: 0; border-radius: 4px; }
.lightbox::backdrop { background: #02060ded; backdrop-filter: blur(8px); }
.lightbox-top,.lightbox-bottom { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.lightbox-top { margin-bottom: 12px; font-size: 13px; color: #9eb0be; }
.lightbox>img { width: 100%; max-height: min(74svh,calc(96svh - 170px)); object-fit: contain; background: #020407; }
.lightbox-bottom { margin-top: 15px; }.lightbox h3 { font: 400 15px var(--body); letter-spacing: 0; }
.lightbox-controls { display: flex; flex-shrink:0; gap: 10px; }
.icon-button { display: inline-grid; place-items: center; width: 42px; height: 42px; background: transparent; border: 1px solid #ffffff30; border-radius: 3px; font-size: 18px; }
.icon-button:hover { background: #263746; }body.dialog-open { overflow: hidden; }

@media(max-width:1000px), (hover:none) and (pointer:coarse) {
 /* Let mobile browsers manage scrolling without the old navigation offset. */
 html { scroll-behavior:auto; scroll-padding-top:0; }
 /* Tile the stars at a stable scale instead of stretching them over the full page on mobile. */
 body { background-size:800px auto; background-repeat:repeat; background-attachment:scroll; }
}
@media(max-width:1000px) {
 .wrap,.header-inner { width:calc(100% - 48px); }
 .creation-inner,.experiment,.experiment:nth-child(even) { gap:30px; grid-template-columns:1fr 1fr; }
 .creation-copy p,.experiment p { font-size:15px; }
}
@media(max-width:700px) {
 .wrap,.header-inner { width:calc(100% - 36px); }.header-inner { height:68px; gap:15px; }.studio img { width:110px; }.header nav { font-size:12px; gap:12px; }.header nav a,.studio { display:inline-flex; align-items:center; min-height:44px; }.nav-steam { display:none; }
 .launch-inner { padding-top:20px; }.game-intro { margin-bottom:20px; }.game-intro h1 { width:320px; max-width:90%; margin-bottom:16px; }.game-summary { font-size:19px; }.game-description { font-size:14px; margin:10px auto 18px; max-width:360px; }
 .trailer-caption { padding:35px 16px 14px; }.trailer-caption h2 { font-size:17px; }.trailer-caption p { font-size:11px; }.trailer-caption svg { width:26px; height:26px; }
 .creation-inner,.experiment,.experiment:nth-child(even) { display:flex; flex-direction:column; gap:24px; align-items:stretch; }.creation-inner { padding-block:50px; }.worlds-image { order:-1; }.experiments { gap:50px; padding-block:50px; }.creation-copy h2,.experiment h2 { margin-bottom:17px; }
 .surface { padding-block:45px 55px; }
 .gallery { padding-bottom:50px; }.gallery-heading>span { font-size:11px; }.gallery-arrow { width:44px; height:44px; font-size:30px; }.gallery-arrow.previous { left:8px; }.gallery-arrow.next { right:8px; }.enlarge-label { display:none; }.gallery-caption { font-size:11px; }.thumbnail { flex-basis:88px; }.gallery-caption { gap:12px; align-items:flex-start; }.gallery-heading { flex-wrap:wrap; gap:6px 18px; }
 .wishlist-inner { padding-block:45px; }.wishlist-inner>img { width:250px; }.footer { flex-direction:column; justify-content:center; font-size:12px; gap:0; padding-block:12px; background:linear-gradient(transparent,#0009 20px); }.footer nav { width:100%; gap:0 16px; }.footer nav a { display:inline-flex; align-items:center; justify-content:center; min-height:44px; }.footer nav a[href^="mailto:"] { flex-basis:100%; overflow-wrap:anywhere; }
 .lightbox { padding:10px; }.lightbox h3 { font-size:12px; }.icon-button { width:44px; height:44px; flex-shrink:0; }.lightbox-bottom { gap:12px; }
}
@media(max-width:360px) { .studio img { width:96px; }.header nav { font-size:11px; gap:8px; }.header-inner { gap:10px; }.game-facts { gap:4px 12px; font-size:12px; }.game-facts span+span::before { margin-right:12px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }*,*::before,*::after { transition:none!important; } }
