:root{color-scheme:dark;--bg:#0d1110;--muted:#a3afa7;--green:#c7e49c;--line:#2b352e}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--bg);color:#edf0e9;font:16px/1.65 Arial,sans-serif}a{color:inherit;text-decoration:none}header,main,footer{max-width:1320px;margin:auto}header{display:flex;justify-content:space-between;align-items:center;padding:30px 6%;border-bottom:1px solid var(--line)}.wordmark{font-size:22px;font-weight:900;letter-spacing:5px}.wordmark span{display:block;font-size:8px;font-weight:400;letter-spacing:3px;color:var(--muted)}nav{display:flex;gap:35px;font-size:13px}nav a:hover{color:var(--green)}.hero{position:relative;min-height:640px;display:grid;grid-template-columns:1fr 1fr;overflow:hidden;border-bottom:1px solid var(--line)}.copy{padding:70px 0 70px 12%;z-index:2}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;color:var(--green)}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--green);margin-right:8px}h1{font-size:clamp(46px,6.4vw,84px);line-height:1.04;letter-spacing:-3px;margin:28px 0;font-weight:900}h1 em{font-style:normal;color:var(--green)}.intro{color:var(--muted);margin:25px 0 32px}.primary{display:inline-flex;justify-content:space-between;gap:40px;align-items:center;padding:17px 22px;background:var(--green);color:#121b13;font:700 13px Arial,sans-serif;border:0}.primary:hover{background:#d9efba}.primary span{font-size:20px}.caption,.fine{font-size:11px;color:var(--muted)}.art{position:relative;background:radial-gradient(ellipse at 55% 45%,#344c38 0,#152019 35%,#0d1110 74%);overflow:hidden;margin:15px 0}.art:after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 3px,#0002 3px 4px);pointer-events:none}.door{position:absolute;left:32%;top:20%;width:35%;height:55%;background:linear-gradient(90deg,#0d1510,#26372b 80%,#111a13);border:12px solid #25332a;border-bottom:0;box-shadow:0 0 0 3px #080d0a,12px 10px 30px #0008;transform:perspective(1000px) rotateY(-10deg)}.door span{position:absolute;top:-36px;left:16%;font-size:10px;letter-spacing:3px;color:#bdd2b7}.window{position:absolute;left:25%;top:17%;width:45%;height:25%;background:linear-gradient(150deg,#869c6c55,#111a12);border:7px solid #0a120d;box-shadow:0 0 30px #b2d17d22}.ceiling{position:absolute;top:10%;left:33%;width:36%;height:4px;background:#ccdda0;box-shadow:0 0 35px 7px #a9d27d44}.beam{position:absolute;left:30%;top:74%;width:46%;height:40%;background:linear-gradient(#afce7e32,transparent);clip-path:polygon(0 0,70% 0,100% 100%,0 100%)}.floor{position:absolute;inset:75% -20% 0;background:repeating-linear-gradient(0deg,transparent 0 48px,#899f7133 49px 50px),repeating-linear-gradient(90deg,transparent 0 95px,#899f7133 96px 97px);transform:perspective(180px) rotateX(40deg);transform-origin:top}.art-note{position:absolute;bottom:25px;right:22px;font:8px/1.8 monospace;color:#788a77;letter-spacing:1px;text-align:right}.issue{position:absolute;right:28px;top:25px;font:10px monospace;color:#7c907c;letter-spacing:2px}.download,.updates,.how{padding:65px 6%;border-bottom:1px solid var(--line)}.download{display:grid;grid-template-columns:1fr 1fr;gap:9%}h2{font-size:36px;line-height:1.15;letter-spacing:-1px;margin:20px 0}h3{font-size:18px;line-height:1.35}.download>div>p:not(.eyebrow){color:var(--muted);max-width:430px;font-size:14px}.download-card{border:1px solid #46563e;background:linear-gradient(130deg,#202b21,#141b16);padding:30px}.card-top,.section-heading{display:flex;align-items:center;justify-content:space-between;gap:15px}.card-top{font-size:10px;letter-spacing:1px}.pill{border:1px solid #455341;padding:5px 10px;font:9px monospace;letter-spacing:1px;white-space:nowrap}.download-card p{color:var(--muted);font-size:13px}.unavailable,.unavailable:hover{background:#354130;color:#b9c3b1;cursor:not-allowed;width:100%;justify-content:center;margin-top:15px}.updates article{display:grid;grid-template-columns:100px 1fr;border-top:1px solid var(--line);padding:28px 0}.release-number{font:28px monospace;color:var(--green)}#release-notes{white-space:pre-wrap;color:var(--muted);font-size:14px;max-width:820px;overflow-wrap:anywhere}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:30px}.steps span{font:14px monospace;color:var(--green)}.steps p{font-size:13px;color:var(--muted)}footer{padding:35px 6%;display:flex;justify-content:space-between;align-items:center;gap:20px}footer p,footer>span:last-child{font-size:9px;color:var(--muted);letter-spacing:1px}footer .wordmark{font-size:14px}a:focus-visible{outline:2px solid var(--green);outline-offset:6px}@media(max-width:720px){.hero{grid-template-columns:1fr}.copy{padding:40px 7%;background:linear-gradient(90deg,#0d1110ee,#0d111099)}.art{position:absolute;inset:0;opacity:.5}.hero{min-height:580px}.download{grid-template-columns:1fr;gap:30px}.steps{grid-template-columns:1fr;gap:20px}.updates article{grid-template-columns:55px 1fr}footer{flex-wrap:wrap}.section-heading{align-items:flex-start}.wordmark{font-size:18px}nav{gap:18px}}
:root{--accent-red:#79403b}.art .fracture{position:absolute;inset:7% 28% 15% 32%;background:linear-gradient(160deg,#e0e8c3,#83996d 45%,#283628);clip-path:polygon(49% 0,54% 0,43% 29%,60% 49%,46% 72%,53% 100%,46% 100%,39% 73%,53% 49%,36% 30%);filter:drop-shadow(0 0 16px #bed69a)}.art .mist{position:absolute;inset:45% -20% -20%;background:radial-gradient(ellipse,#647d5329,transparent 64%);transform:rotate(-15deg)}.download-card{box-shadow:inset 0 3px var(--accent-red)}.steps>div{border-top:1px solid var(--line);padding-top:18px}button:focus-visible{outline:2px solid var(--green);outline-offset:5px}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.nolan-art{min-height:580px}.nolan{position:absolute;width:1050px;max-width:none;height:1050px;left:50%;top:48%;transform:translate(-50%,-50%);object-fit:contain;image-rendering:pixelated}.nolan-art:after{display:none}@media(max-width:720px){.hero:has(.nolan-art){display:flex;flex-direction:column}.hero .nolan-art{position:relative;inset:auto;opacity:1;min-height:500px;margin:0}.nolan{width:950px;height:950px}.hero:has(.nolan-art) .copy{padding-bottom:20px}}
/* Static blood-stain treatment: decorative only, no flashing or input interception. */
body{background-color:#0d1010;background-image:radial-gradient(ellipse at 0 14%,#47191b45,transparent 34%),radial-gradient(ellipse at 100% 68%,#3c14172b,transparent 30%)}
.hero:before{content:'';position:absolute;z-index:1;pointer-events:none;inset:0;background:radial-gradient(ellipse 70px 24px at 96% 13%,#5a1b20bb 0 58%,transparent 64%),radial-gradient(ellipse 29px 50px at 98% 18%,#47171dc9 0 56%,transparent 64%),radial-gradient(circle 10px at 89% 9%,#76242ab0 0 67%,transparent 75%),radial-gradient(circle 5px at 85% 17%,#692329b0 0 65%,transparent 76%),radial-gradient(circle 7px at 92% 25%,#52171da8 0 64%,transparent 76%),radial-gradient(ellipse 110px 20px at 0% 92%,#521b20b0 0 60%,transparent 68%),radial-gradient(circle 8px at 9% 96%,#7d2c329c 0 63%,transparent 73%),radial-gradient(circle 4px at 13% 91%,#71242b9c 0 65%,transparent 75%)}
.hero:after{content:'';position:absolute;right:2.8%;top:14%;width:46px;height:170px;pointer-events:none;z-index:1;background:linear-gradient(#601e25b8,#46191e70);clip-path:polygon(0 0,100% 0,95% 12%,78% 17%,76% 89%,71% 100%,66% 88%,64% 21%,40% 19%,36% 59%,30% 72%,24% 57%,23% 14%,0 9%)}
.updates{position:relative;background:radial-gradient(ellipse 140px 26px at 98% 96%,#49161b77,transparent 74%)}
.download-card{border-top:2px solid #743035;box-shadow:inset 0 8px 25px #35151a28}
.issue{color:#b48480}.art-note{z-index:2}header{border-bottom-color:#49302f}
@media(max-width:720px){.hero:before{opacity:.7}.hero:after{height:110px;width:32px}}
/* A restrained breathing idle. The original transparent sprite is untouched. */
.nolan{transform-origin:50% 71.6%;animation:nolan-breathe 4.6s ease-in-out infinite;will-change:transform}
@keyframes nolan-breathe{0%,100%{transform:translate(-50%,-50%) scaleY(1)}45%{transform:translate(-50%,-50%) scaleY(1.007)}}
.nolan.idle-paused{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.nolan{animation:none;will-change:auto}}
/* Match the launcher's complete original title scene, without cropping the logo. */
.hero:has(.title-art){display:flex;flex-direction:column;min-height:0}
.hero .title-art{position:relative;inset:auto;order:-1;margin:0;background:#0b0b12;opacity:1;line-height:0;overflow:hidden}
.title-background{display:block;width:100%;height:auto;max-height:650px;object-fit:contain}
.title-art:after{display:none}
.hero:has(.title-art) .copy{padding:32px 6% 38px;background:#0d1110}
.hero:has(.title-art) h1{font-size:32px;letter-spacing:2px;margin:14px 0}
.hero:has(.title-art) .intro{margin:14px 0 24px}
.hero:has(.title-art) .issue{display:none}
.hero:has(.title-art):before,.hero:has(.title-art):after{display:none}
/* The game's title scene is the website backdrop, not a separate green banner. */
:root{--bg:#0c0a13;--muted:#b6aec4;--green:#dbbdf2;--line:#64507166}
html{min-height:100%;background:#0c0a13}
body{background:linear-gradient(180deg,#08071030 0%,#09071170 55%,#090711aa 100%),url('/afterlight-menu.png') center top / cover fixed no-repeat;min-height:100vh}
header{background:#0b08124d;border-bottom-color:#82718c55;backdrop-filter:blur(5px)}
.hero:has(.title-art){min-height:680px;justify-content:flex-end;background:transparent}
.hero .title-art{display:none}
.hero:has(.title-art) .copy{align-self:flex-start;width:min(560px,92%);margin:260px 4% 38px;padding:26px 30px;background:#100b19c7;border:1px solid #8a6b9a55;box-shadow:0 12px 50px #0005;backdrop-filter:blur(6px)}
.download,.updates,.how{background:#100c19c9;backdrop-filter:blur(7px)}
.download-card{background:#20152aca;border-color:#72517d;border-top-color:#783b4c;box-shadow:0 15px 40px #0003}
.pill{border-color:#795f88}.primary{background:#d7b4ec;color:#1b1024}.primary:hover{background:#ecd3fa}
.unavailable,.unavailable:hover{background:#42354c;color:#c5b8d0}
.updates article{background:transparent}.steps>div{border-top-color:#68507488}
footer{background:#090711d9}.copy .intro{color:#d0c4db}
@media(max-width:720px){body{background-attachment:scroll;background-size:auto 100vh;background-color:#100c19}.hero:has(.title-art){min-height:660px}.hero:has(.title-art) .copy{margin-top:300px;padding:22px}.download,.updates,.how{background:#100c19d9}}
