
:root{--lime:#d6fd79;--muted:#abb1a7}*{box-sizing:border-box}body{margin:0;background:#151a1a;color:#f5f6e9;font:14px Arial,'Yu Gothic',sans-serif;overflow:hidden}#game,canvas,.grain{position:absolute;inset:0;width:100%;height:100%}.grain{pointer-events:none;background:linear-gradient(90deg,#0b141aaa,transparent 50%),linear-gradient(0deg,#0a141a99,transparent 30%)}header{position:absolute;left:42px;right:42px;top:32px;display:flex;justify-content:space-between;align-items:start}.brand{font-size:23px;font-weight:900;letter-spacing:2px}.brand span{font-weight:300;color:#c6cbbd}.brand small{display:block;font-size:10px;letter-spacing:3px;margin-top:9px;color:var(--muted)}.topright{display:flex;gap:15px;align-items:center}.live,.eyebrow{font-size:10px;letter-spacing:2px;color:var(--lime)}button{font:inherit;color:inherit;border:1px solid #ffffff30;background:#15212366;padding:11px 17px;cursor:pointer;border-radius:5px}button:hover{background:#d6fd7925}#timeline{position:absolute;top:210px;left:43px;width:145px}.timelineBody{display:flex;height:310px;margin:24px 0}.track{width:2px;background:#ffffff28;position:relative;margin:0 19px 0 4px}.track i{position:absolute;left:-4px;width:10px;height:10px;border-radius:50%;background:var(--lime);box-shadow:0 0 18px var(--lime);transition:top 1s}.dates{display:flex;flex-direction:column;justify-content:space-between}.dates b{font-size:11px;letter-spacing:1px;font-weight:500}.dates small{display:block;font-size:9px;color:var(--muted);margin-top:5px}.timelineFoot{font-size:8px;color:var(--muted);letter-spacing:1px}.era{position:absolute;top:130px;right:42px;width:285px}h1{font-size:36px;letter-spacing:3px;margin:10px 0}.era p{color:#c5c4b9;font-size:11px}.eraDistance{display:flex;justify-content:space-between;font-size:10px;letter-spacing:1px;margin-top:24px}.progress{height:3px;background:#ffffff25;margin-top:12px}.progress i{display:block;height:100%;background:var(--lime);width:0%}footer{position:absolute;bottom:29px;left:42px;right:42px;display:flex;justify-content:space-between;align-items:end}.keys{display:flex;gap:24px;font-size:10px;color:#ccd1c6}kbd{border:1px solid #a4b09c66;border-radius:4px;padding:7px;font:10px Arial;color:white}.score{text-align:right}.score small{font-size:9px;letter-spacing:3px;display:block;color:var(--muted)}.score strong{font-size:38px;font-weight:300}#overlay{position:absolute;inset:0;background:linear-gradient(90deg,#111c20e0,transparent 85%);display:flex;align-items:center;padding-left:20%}.intro{max-width:550px}.intro h2{font-size:clamp(38px,5vw,76px);line-height:1.25;letter-spacing:-3px;margin:20px 0}.intro em{color:var(--lime);font-style:normal}.intro p{line-height:2;color:#cad0c5;font-size:13px}.primary{background:var(--lime);color:#1a2517;font-weight:700;width:290px;padding:18px 22px;text-align:left;border:0;margin-top:20px}.primary span{float:right}.primary:hover{background:#e2ff9c}.secondary{display:block;border:0;margin-top:8px;font-size:11px}.introMeta{font-size:9px;color:#969f93;line-height:2;letter-spacing:1px;margin-top:24px}#toast{position:absolute;bottom:140px;left:50%;transform:translateX(-50%);font-size:22px;color:var(--lime);font-weight:bold;text-shadow:0 2px 15px #000;pointer-events:none}#bossHUD{position:absolute;top:110px;left:30%;width:36%;text-align:center}#bossHUD .progress{height:7px}#bossHUD small{display:block;font-size:10px;margin-top:10px}dialog{color:#e7ecdf;background:#17262b;border:1px solid #638174;border-radius:14px;width:min(900px,90vw);max-height:85vh;padding:30px}dialog::backdrop{background:#000a}#closeBook{float:right}.assetList{line-height:2;color:#b5c3b6}.assetList strong{color:var(--lime)}#touch{display:none;position:absolute;bottom:90px;left:20%;gap:8px}#touch button{touch-action:none;width:42px;height:42px;padding:5px}@media(pointer:coarse){#touch{display:flex}.keys{display:none}}@media(max-width:800px){header{left:20px;right:20px}.live{display:none}.brand{font-size:17px}#timeline{left:20px;top:190px;transform:scale(.8);transform-origin:top left}.era{right:20px;width:190px;top:105px}h1{font-size:25px}.keys{gap:8px;font-size:8px}footer{left:20px;right:20px}#overlay{padding-left:22%}.intro h2{font-size:40px}.intro p{font-size:11px}.primary{width:240px}.topright{gap:5px}.topright button{font-size:10px;padding:8px}}

