:root{color-scheme:dark;font-family:Inter,Segoe UI,Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:#070b12;color:#f7f9ff}header{height:72px;padding:0 clamp(22px,5vw,80px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #202a3a;background:#0c121d}header img{width:150px}header nav{display:flex;gap:24px}a{color:#dce7fa;text-decoration:none}.hero{height:min(39vw,480px);min-height:270px;position:relative;overflow:hidden;background:linear-gradient(135deg,#122237,#321b59)}.hero>img{width:100%;height:100%;object-fit:contain}.shade{position:absolute;inset:0;background:linear-gradient(0deg,#070b12,transparent 75%),linear-gradient(90deg,#070b1299,transparent)}.back{position:absolute;left:5vw;top:28px;padding:11px 15px;border:1px solid #ffffff29;border-radius:7px;background:#070b12c9;font-size:12px;font-weight:900}.detail{position:relative;display:grid;grid-template-columns:minmax(280px,370px) minmax(0,820px);gap:55px;width:min(1220px,90vw);margin:-95px auto 80px}.detail>aside,.detail>article{position:relative}.identity{display:flex;align-items:center;gap:16px}.identity img{width:105px;height:105px;object-fit:contain;border:1px solid #ffffff22;border-radius:20px;box-shadow:0 18px 45px #000a}.identity small{color:#43d9ff;font-weight:900}.identity h1{font-size:clamp(32px,4vw,52px);margin:5px 0}.short,.description{color:#bdc7d7;line-height:1.7}.play{width:100%;margin:16px 0 25px;padding:15px;border:0;border-radius:8px;background:linear-gradient(90deg,#17bee7,#7450ff);color:white;font-weight:1000;cursor:pointer}.play:disabled{opacity:.5}dl{display:grid;grid-template-columns:1fr 1fr;gap:0}dl div{padding:13px 0;border-bottom:1px solid #ffffff16}dt{color:#7f8ca1;font-size:12px}dd{margin:5px 0 0}.detail article{padding-top:105px}.detail h2{font-size:28px}.description{white-space:pre-wrap}.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.gallery button{border:0;padding:0;border-radius:9px;overflow:hidden;background:none;cursor:zoom-in}.gallery img{display:block;width:100%;aspect-ratio:1280/700;object-fit:contain;transition:.2s}.gallery button:hover img{transform:scale(1.02)}#viewer{width:min(1320px,96vw);max-width:none;padding:42px 12px 12px;border:1px solid #ffffff24;background:#03050a}#viewer::backdrop{background:#000e}#viewer>button{position:absolute;right:10px;top:7px;border:0;background:none;color:#fff;font-size:25px}#viewer img{display:block;max-width:100%;max-height:86vh;margin:auto}#message{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);color:#ff9ba5}@media(max-width:760px){header nav{gap:10px;font-size:12px}.detail{grid-template-columns:1fr;margin-top:-55px}.detail article{padding-top:0}.gallery{grid-template-columns:1fr}}

#message{display:none;position:fixed;top:90px;bottom:auto;left:50%;transform:translateX(-50%);z-index:10000;width:max-content;max-width:calc(100vw - 32px);padding:20px 52px 20px 24px;border:1px solid #58dfff;border-left:5px solid #58dfff;border-radius:12px;background:#132338;color:#fff;box-shadow:0 16px 50px #000b;font-size:16px;font-weight:600;line-height:1.5;box-sizing:border-box}#message.show{display:flex;align-items:center;gap:18px;flex-wrap:wrap}#message span{flex:1;min-width:0;overflow-wrap:anywhere}#message a{display:inline-block;background:linear-gradient(90deg,#17bee7,#7450ff);color:#fff;border-radius:7px;padding:10px 14px;font-size:13px;font-weight:800;white-space:nowrap}#message button{position:absolute;right:10px;top:10px;background:none;border:0;color:#fff;font-size:26px;cursor:pointer;padding:4px 8px}#message a:focus-visible,#message button:focus-visible{outline:2px solid #58dfff;outline-offset:3px}@media(max-width:600px){#message{top:80px;width:calc(100vw - 24px);max-width:none;padding:18px 46px 18px 18px}#message span{flex-basis:100%}}

#message.insufficient-acroms{width:460px;max-width:calc(100vw - 24px);padding:26px 52px 26px 26px;font-size:18px;gap:20px}#message.insufficient-acroms span{flex-basis:100%}#message.insufficient-acroms a{padding:13px 22px;font-size:15px;text-align:center}

/* Keep the game icon anchored to the heading, independently of action height. */
.identity{align-items:flex-start}.identity>img{flex:0 0 105px;margin-top:4px}.identity>div{min-width:0}
