@import url('data:text/css,');
:root{color-scheme:dark;--red:#e24b43;--white:#e7e6e0;--muted:#8f969b;--line:#ffffff23;font-family:Arial,Helvetica,sans-serif;color:var(--white);background:#0a0d10}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--red);outline-offset:4px}button:disabled{opacity:.4;cursor:wait}[hidden]{display:none!important}#viewport,canvas,.vignette{position:fixed;inset:0;width:100%;height:100%}.vignette{pointer-events:none;background:radial-gradient(ellipse at center,transparent 25%,#0008 100%);z-index:1}body:not(.exploring) #viewport:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#080c10ed 0%,#080c10c9 43%,#080c1070 100%)}header{position:fixed;left:4vw;right:4vw;top:30px;z-index:4;display:flex;align-items:center;gap:24px}.wordmark{font-size:25px;font-weight:1000;letter-spacing:-1.8px;color:var(--white);text-decoration:none;transform:skew(-8deg)}.wordmark span{display:block;font:9px monospace;letter-spacing:4.5px;transform:skew(8deg);margin-top:4px}.badge{margin-left:auto;font:10px monospace;letter-spacing:1.5px;color:#aab3b8}.badge i{display:inline-block;width:6px;height:6px;background:var(--red);border-radius:50%;margin-right:8px}button.small{padding:10px 14px;background:#0a0d10bb;border:1px solid var(--line);color:var(--white);font:10px monospace}main{position:absolute;inset:122px 7vw 84px 7vw;z-index:3;display:grid;grid-template-columns:1.25fr 1fr;gap:9vw;align-items:center}.eyebrow{font:10px monospace;letter-spacing:2.4px;color:var(--red)}h1{font-family:Impact,'Arial Narrow',Arial,sans-serif;font-size:clamp(40px,5.5vw,85px);font-weight:900;line-height:1;letter-spacing:-1px;margin:26px 0}h1 em{font-style:normal;color:var(--red)}.lede{font-size:13px;line-height:1.9;color:#b4bbc0}.rule{margin:28px 0;width:48px;height:2px;background:var(--red)}.buildnote{max-width:390px}.buildnote b{font:9px monospace;letter-spacing:1.4px;color:#c4c8cc}.buildnote p{font-size:11px;line-height:1.8;color:var(--muted)}.keys{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:25px;font-size:10px;color:var(--muted)}kbd{font:10px monospace;border:1px solid #ffffff2b;border-bottom-width:2px;border-radius:2px;padding:3px 6px;color:#cbd0d4;margin-right:5px}.library{background:#0a1016dd;border:1px solid var(--line);padding:25px;max-width:510px;backdrop-filter:blur(12px)}.library-head{display:flex;justify-content:space-between;align-items:center}.library-head .eyebrow{color:#d4d8da;font-size:9px}.library-head>span{font:10px monospace;color:var(--muted)}.search{display:flex;gap:8px;align-items:center;margin:21px 0 12px;border-bottom:1px solid var(--line);padding:8px 2px;color:var(--muted)}.search input{border:0;background:transparent;outline:none;color:var(--white);font-size:12px;width:100%}#levels{max-height:clamp(180px,33vh,400px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#4a4d52 transparent}.level{display:flex;align-items:center;gap:16px;padding:15px 10px;width:100%;text-align:left;color:#c9cdd0;background:transparent;border:0;border-bottom:1px solid #ffffff0c}.level:hover{background:#ffffff09}.level.active{background:#e24b4313;box-shadow:inset 2px 0 var(--red);color:var(--white)}.level .number{font:11px monospace;color:#707981}.level.active .number{color:var(--red)}.level strong{display:block;font-size:12px;font-weight:500}.level small{display:block;font:9px monospace;color:#747f88;margin-top:5px}.level .arrow{margin-left:auto;color:#76818a}#selection{display:flex;justify-content:space-between;gap:15px;margin:20px 0 14px;font:9px monospace;letter-spacing:1px;color:var(--muted)}#enter{width:100%;display:flex;justify-content:space-between;padding:17px 20px;font:11px monospace;letter-spacing:2px;color:#fff;border:0;background:var(--red)}#enter:hover{background:#f4655d}.local-note{font:9px monospace;color:#6a767e;text-align:center;margin:14px 0 0}footer{position:fixed;bottom:25px;left:4vw;right:4vw;display:flex;justify-content:space-between;color:#69767f;font:9px monospace;letter-spacing:1px;z-index:3}#loading{position:fixed;bottom:85px;left:7vw;z-index:5;max-width:330px;padding:16px 20px;background:#0a0f14e8;border-left:2px solid var(--red)}#loading p{font-size:11px;color:#adb5bb;margin:8px 0 12px}.progress{height:2px;background:#ffffff20}.progress i{display:block;height:100%;width:0;background:var(--red);transition:width .2s}#hud{position:fixed;inset:0;z-index:2;pointer-events:none}.hud-title{position:absolute;top:108px;left:4vw}.hud-title h2{margin:8px 0;font-size:21px;font-weight:500}.hud-title>span:last-child{font:10px monospace;color:#a1a8af}#crosshair{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font:18px monospace;color:#ffffff99}.tools{position:absolute;bottom:68px;left:4vw;display:flex;gap:8px;pointer-events:auto}.tools button,#details button{background:#0b1017cf;border:1px solid var(--line);padding:11px 13px;color:#d8dce0;font:10px monospace;letter-spacing:.8px}.tools kbd{font-size:9px;margin-left:8px;margin-right:0}.tools button.active{border-color:var(--red);color:var(--red)}#hint{position:absolute;bottom:24px;left:4vw;font:10px monospace;color:#b0b8bd;background:#080c1099;padding:7px}#details{position:absolute;right:4vw;top:108px;width:290px;background:#0a1016ed;border:1px solid var(--line);padding:20px;pointer-events:auto}#details label{display:block;font-size:11px;line-height:1.8;margin:17px 0}#details select{display:block;width:100%;padding:8px;background:#151b22;border:1px solid var(--line);font-size:11px;color:#c7ced3;margin-top:5px}#details input[type=range]{width:100%;accent-color:var(--red)}#details input[type=checkbox]{accent-color:var(--red)}#details p{font-size:10px;color:var(--muted);line-height:1.7}.row{display:flex;gap:8px}#coordinates{font:10px monospace;color:#788791}#toast{position:fixed;left:50%;top:90px;transform:translateX(-50%);z-index:8;font:11px monospace;background:#0a0f14ee;border:1px solid var(--line);padding:14px 20px;opacity:0;pointer-events:none;transition:opacity .2s}#toast.visible{opacity:1}.exploring header .badge{opacity:.7}.exploring .vignette{opacity:.5}@media(max-width:850px){main{gap:5vw;inset:110px 5vw 65px}h1{font-size:42px}.library{padding:18px}.intro .keys{display:none}.badge{font-size:8px}.tools{flex-wrap:wrap;max-width:60vw}.tools kbd{display:none}footer span:nth-child(2){display:none}}@media(max-width:620px){body{overflow:auto}main{display:block;position:relative;inset:auto;margin:110px 6vw 75px}.intro h1{font-size:38px}.intro .lede,.intro .rule,.intro .buildnote{display:none}.intro .eyebrow{font-size:9px}.library{margin-top:22px;max-width:none}#levels{max-height:230px}header .badge{display:none}footer{position:relative;margin:20px 6vw;left:0;right:0}#loading{bottom:20px;left:6vw}.exploring footer{display:none}#details{right:4vw;max-width:80vw}.hud-title h2{font-size:17px}#hint{max-width:90vw;font-size:9px;line-height:1.7}.tools{max-width:95vw}.tools button{font-size:8px;padding:10px}.exploring #viewport{touch-action:none}}
body{min-height:100vh}#details{max-height:calc(100vh - 190px);overflow-y:auto;scrollbar-width:thin}
#playGame{width:100%;display:flex;justify-content:space-between;padding:17px 20px;font:11px monospace;letter-spacing:2px;color:#fff;border:0;background:var(--red)}.menuActions{display:flex;gap:8px;margin-top:10px}.menuActions button{flex:1;background:#ffffff0a;border:1px solid var(--line);color:#adb5bb;padding:9px;font:10px monospace}#enter{background:#ffffff0a!important;padding:10px;display:block;font-size:10px}#gameHud{position:fixed;inset:0;pointer-events:none;z-index:3}.combatVitals{position:absolute;bottom:85px;left:4vw;width:160px;font:10px monospace}.combatVitals>span{display:flex;justify-content:space-between;margin:8px 0}.combatBar{height:4px;background:#ffffff33}.combatBar i{display:block;height:100%;width:100%;background:#e14d44}.combatBar.bullet i{background:#d6b66a}.combatAmmo{position:absolute;right:4vw;bottom:95px;text-align:right;font:26px monospace}.combatAmmo span{display:block;font:10px monospace;margin-top:8px}.gameActions{position:absolute;top:190px;left:4vw;pointer-events:auto}.gameActions button{font:9px monospace;color:#d0d6dd;background:#101822b8;border:1px solid #ffffff33;padding:8px}.gameActions small{display:block;color:#d5b16f;font:9px monospace;margin-top:10px}.playing .tools{display:none}.playing #gameHud[hidden]{display:none}.playing #detailsButton{display:none}#damageOverlay{pointer-events:none;position:fixed;inset:0;z-index:4;box-shadow:inset 0 0 180px #d00000;opacity:0}.cinematic:before,.cinematic:after{content:"";position:fixed;left:0;right:0;height:6vh;background:black;z-index:2;pointer-events:none}.cinematic:before{top:0}.cinematic:after{bottom:0}
dialog { color: #e8e4df; background: #14181c; border: 1px solid #555; max-width: min(720px, 90vw); max-height: 80vh; padding: 24px; }
dialog::backdrop { background: #000b; }
#cinematicFade { position: fixed; inset: 0; background: black; opacity: 0; pointer-events: none; z-index: 5; }
#storyReader { position: fixed; inset: 0; z-index: 7; background: #000; display: flex; flex-direction: column; align-items: center; }
#storyReader[hidden] { display: none; }
.storyArtwork { flex: 1; min-height: 0; width: 100%; display: flex; justify-content: center; align-items: center; overflow: auto; }
.storyArtwork img { display: block; max-width: 100%; max-height: 100%; object-fit: contain; }
.storyControls { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 12px; padding: 14px; color: #bbb; font: 11px monospace; }
.storyControls button { padding: 10px 14px; background: #121212; border: 1px solid #555; color: #eee; cursor: pointer; font: 11px monospace; }
.storyControls button:disabled { opacity: .35; cursor: default; }
.reading-story #gameHud, .reading-story #hud { visibility: hidden; }
#skipCutscene { position: fixed; bottom: 2vh; right: 4vw; z-index: 6; padding: 8px 12px; border: 1px solid #ffffff55; background: #090b0dcc; color: #ddd; font: 10px monospace; cursor: pointer; }
.cutscene #crosshair, .cutscene .combatVitals, .cutscene .combatAmmo, .cutscene .gameActions, .cutscene .hud-title, .cutscene #hint { visibility: hidden; }
.cinematic:before, .cinematic:after { z-index: 5; }
dialog pre { white-space: pre-wrap; overflow-wrap: anywhere; font-size: 11px; line-height: 1.7; }
#gameLevelPicker{display:grid}.gameLevelPicker{display:grid;gap:7px;margin-top:14px;color:#9ca8b2;font:10px monospace;letter-spacing:1.5px}.gameLevelPicker select{width:100%;padding:10px 12px;background:#101822;color:#eee;border:1px solid var(--line);font:11px monospace;letter-spacing:1px}.gameLevelPicker option:disabled{color:#74808a}#timedModeHud{position:absolute;top:5vh;left:50%;transform:translateX(-50%);display:grid;justify-items:center;gap:5px;color:#e8d4a0;text-shadow:0 2px 8px #000;font:10px monospace;letter-spacing:2px}#timedModeHud strong{font-size:30px;letter-spacing:3px}#timedModeHud[hidden]{display:none}
