:root{--paper:#f3f7f4;--paper-2:#f7f9f6;--ink:#121a1c;--ink-2:#12181a;--blood:#8f2323;--moss:#1e5c3b;--grey:#939393;--archive-font:"Eurostile", "Bahnschrift", "Avenir Next", "DIN Alternate", "Helvetica Neue", Arial, sans-serif;--hud-font:ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html,body,#root{background:var(--paper);width:100%;height:100%;color:var(--ink);font-family:var(--archive-font);-webkit-font-smoothing:antialiased;overscroll-behavior:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;margin:0;overflow:hidden}body{position:fixed;inset:0}img{-webkit-user-drag:none}.app{touch-action:none;height:100dvh;position:fixed;inset:0;overflow:hidden}.game,.game canvas{touch-action:none;width:100%;height:100%;position:absolute;inset:0}.overlay{padding:max(24px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left));pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:14px;animation:.32s ease-out both fade-in;display:flex;position:absolute;inset:0}.overlay button,.overlay a{pointer-events:auto}.overlay--title{pointer-events:auto;background:linear-gradient(#f3f7f4db 0%,#f3f7f48c 55%,#f3f7f4e6 100%)}.overlay--dim{pointer-events:auto;background:#121a1c6b}@keyframes fade-in{0%{opacity:0}}.loading__emblem{opacity:.8;width:96px;animation:2.4s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.title__logo{filter:drop-shadow(0 2px #121a1c26);width:min(62vw,300px)}.title__sub{letter-spacing:.32em;text-transform:lowercase;margin:0;font-size:clamp(15px,4.4vw,20px)}.title__divider,.card__divider{opacity:.85;width:min(70vw,320px)}.title__how{gap:10px;max-width:320px;margin:4px 0 8px;padding:0;font-size:15px;list-style:none;display:grid}.title__how li{align-items:center;gap:12px;display:flex}.title__glyph{border:1.5px solid var(--ink);border-radius:50%;flex:none;place-items:center;width:34px;height:34px;display:inline-grid}.title__glyph svg{fill:none;width:20px;height:20px;stroke:var(--ink);stroke-width:1.8px;stroke-linecap:round}.title__keys{color:var(--grey);font-family:var(--hud-font);justify-content:center;font-size:12px}@media (pointer:coarse){.title__keys{display:none!important}}.title__best{font-family:var(--hud-font);color:var(--moss);margin:0;font-size:13px}.difficulty{border:2px solid var(--ink);background:var(--paper-2);border-radius:2px;display:flex}.difficulty__opt{min-width:78px;min-height:44px;color:var(--ink);font:inherit;letter-spacing:.12em;cursor:pointer;background:0 0;border:0;padding:8px 12px;font-size:15px}.difficulty__opt+.difficulty__opt{border-left:1.5px solid var(--ink)}.difficulty__opt.is-on{background:var(--ink);color:var(--paper);box-shadow:inset 0 -3px 0 var(--blood)}.difficulty__opt:focus-visible{outline:2px dashed var(--blood);outline-offset:2px}.home-link{top:max(14px, env(safe-area-inset-top));left:max(14px, env(safe-area-inset-left));width:56px;display:block;position:absolute}.home-link img{width:100%;display:block}.home-link--inline{margin-top:4px;position:static}.ink-btn{border:2px solid var(--ink);background:var(--ink);min-width:220px;min-height:52px;color:var(--paper);font:inherit;letter-spacing:.2em;text-transform:lowercase;cursor:pointer;box-shadow:4px 4px 0 var(--blood);border-radius:2px;padding:12px 28px;font-size:17px;transition:transform 90ms,box-shadow 90ms}.ink-btn:active{box-shadow:1px 1px 0 var(--blood);transform:translate(3px,3px)}.ink-btn:focus-visible,.hud__btn:focus-visible,.open-gates:focus-visible{outline:2px dashed var(--blood);outline-offset:4px}.ink-btn--quiet{background:var(--paper-2);color:var(--ink);box-shadow:4px 4px 0 var(--grey)}.card{background:var(--paper-2);border:2px solid var(--ink);pointer-events:auto;flex-direction:column;align-items:center;gap:14px;width:min(100%,380px);padding:28px 22px;animation:.36s cubic-bezier(.2,.9,.3,1.2) both rise;display:flex;box-shadow:8px 8px #121a1cd9}@keyframes rise{0%{opacity:0;transform:translateY(24px)}}.card h2{letter-spacing:.14em;text-align:center;margin:0;font-size:clamp(20px,6vw,26px);font-weight:600}.card__stat{font-family:var(--hud-font);text-align:center;margin:0;font-size:14px}.card__best{color:var(--blood);font-family:var(--hud-font);letter-spacing:.1em;margin:0;font-size:13px}.hud{padding:max(10px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) 0 max(12px, env(safe-area-inset-left));pointer-events:none;font-family:var(--hud-font);position:absolute;inset:0 0 auto}.hud__row{justify-content:space-between;align-items:center;gap:8px;display:flex}.hud__hearts{gap:4px;display:flex}.hud__hearts--many{gap:3px}.hud__hearts--many .heart{width:20px;height:18px}.heart{fill:#0000;width:24px;height:22px;stroke:var(--ink);stroke-width:1.8px;transition:fill .2s}.heart.is-full{fill:var(--blood)}.hud__right{align-items:center;gap:8px;display:flex}.hud__kills{white-space:nowrap;padding:0 6px;font-size:15px}.hud__btn{border:1.5px solid var(--ink);width:44px;height:44px;color:var(--ink);cursor:pointer;pointer-events:auto;background:#f7f9f6cc;border-radius:50%;place-items:center;padding:0;font-size:15px;display:grid}.hud__road{width:min(72vw,360px);height:30px;margin:8px auto 0;position:relative}.hud__divider{opacity:.8;width:100%;position:absolute;inset:50% 0 auto;transform:translateY(-50%)}.hud__marker{filter:drop-shadow(0 1px 1px #121a1c66);width:26px;transition:left .25s linear;position:absolute;top:50%;transform:translate(-50%,-50%)}.hud__boss{text-align:center;letter-spacing:.3em;width:min(80vw,380px);color:var(--blood);margin:10px auto 0;font-size:12px;animation:.4s ease-out both fade-in}.hud__bossbar{border:1.5px solid var(--ink);background:var(--paper-2);height:8px;margin-top:4px}.hud__bossbar div{background:var(--blood);height:100%;transition:width .16s ease-out}.overlay--gates{pointer-events:auto;background:#f3f7f473;padding:0}.overlay--gates .card{z-index:1;margin:0 20px;position:relative}.gate{object-fit:cover;z-index:2;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.gate--main{object-position:center bottom}.is-opening .gate--right{animation:.45s ease-in forwards gate-right}.is-opening .gate--left{animation:.45s ease-in .3s forwards gate-left}.is-opening .gate--main{animation:.65s ease-in .6s forwards gate-main}@keyframes gate-right{to{transform:translate(100%)}}@keyframes gate-left{to{transform:translate(-100%)}}@keyframes gate-main{to{opacity:0;transform:translateY(100%)}}.open-gates{z-index:3;bottom:max(48px, calc(env(safe-area-inset-bottom) + 32px));cursor:pointer;background:0 0;border:0;width:min(56vw,240px);padding:0;animation:1.6s ease-in-out infinite pulse;position:absolute;left:50%;transform:translate(-50%)}.open-gates img{width:100%;display:block}@keyframes pulse{50%{transform:translate(-50%)scale(1.05)}}@media (prefers-reduced-motion:reduce){.is-opening .gate{animation-duration:1ms!important;animation-delay:0s!important}.open-gates,.loading__emblem{animation:none}}
