:root{color-scheme:dark;font-family:Georgia,'Times New Roman',serif;color:#e4ded0;background:#060708}*{box-sizing:border-box}body{margin:0;min-height:100vh;display:grid;place-items:center;overflow:hidden}#stage{width:min(100vw,177.77778vh);height:min(56.25vw,100vh);position:relative;background:#080a0b;overflow:hidden;box-shadow:0 0 100px #000}canvas{width:100%;height:100%;display:block;outline:none}button{font:inherit;color:inherit;cursor:pointer;background:none;border:0}button:disabled{opacity:.25;cursor:default}button:focus-visible,input:focus-visible{outline:1px solid #c7b285;outline-offset:5px}#menu{position:absolute;left:8%;top:10%;width:38%;text-shadow:0 3px 15px #000}h1{font-weight:400;letter-spacing:.095em;line-height:.94;margin:.2em 0;font-size:clamp(36px,6.5vw,110px)}h1 span{font-size:1.3em;letter-spacing:.22em}.eyebrow,.edition{font:10px Arial,sans-serif;letter-spacing:.35em;color:#bfb39b}.tagline{font-style:italic;color:#b9b8b2;margin:1.4em 0 1.3em;font-size:clamp(10px,1.2vw,19px)}nav{display:grid;gap:.2em;width:70%}nav button{text-align:left;padding:.3em 1em .3em 0;font-size:clamp(12px,1.55vw,25px);transition:color .15s,padding .15s}nav button:hover:not(:disabled),nav button:focus-visible{color:#e2c88a;padding-left:14px}nav button:hover:not(:disabled):before{content:'— ';color:#a7874b}#pressStart{font:clamp(9px,.9vw,15px) Arial,sans-serif;letter-spacing:.22em;color:#dbcda9;animation:pulse 2.5s infinite}#pressStart small{font-size:.6em;margin-left:12px;color:#8b9395}.edition{margin-top:3em;letter-spacing:.2em}.edition span{margin:0 12px;color:#8a302d}#loading{position:absolute;inset:0;background:#0c1012;display:grid;place-content:center;text-align:center;z-index:20}#loading h1{font-size:38px}#loading p{color:#a5aaa9;font-style:italic}.sigil{font-size:55px;color:#c6b68e;margin-bottom:25px}#modal{position:absolute;inset:0;background:#050708cd;backdrop-filter:blur(8px);display:grid;place-items:center;z-index:10}#modalBody{width:min(680px,70%);padding:3%;border:1px solid #6f65504d;background:linear-gradient(135deg,#171c20f5,#0c0f12f5);box-shadow:0 20px 100px #0009}#modal h2{font-size:clamp(20px,3vw,40px);font-weight:400;letter-spacing:.13em;margin:0 0 20px}#modal p{line-height:1.6;color:#b8bfc0;font:clamp(10px,1.2vw,17px) Arial,sans-serif}#modal button{display:block;border:1px solid #625b48;margin:12px 0;padding:10px 18px;min-width:180px;text-align:left;font-size:clamp(11px,1.2vw,18px)}#modal button:hover{background:#c8b27820;border-color:#bdaa7d}#modal label{font:clamp(10px,1.2vw,17px) Arial,sans-serif;display:flex;align-items:center;justify-content:space-between;gap:25px;margin:20px 0}input[type=range]{width:45%;accent-color:#c3ad7a}input[type=checkbox]{accent-color:#c3ad7a}dl{display:grid;grid-template-columns:45% 55%;gap:10px;font:clamp(10px,1.2vw,17px) Arial,sans-serif}dt{color:#cfbd94}dd{margin:0;color:#bdc1c2}#skip{position:absolute;right:4%;bottom:4%;letter-spacing:.15em;font:12px Arial,sans-serif;padding:12px;color:#d6cbb3;border:1px solid #6b6652;background:#090d1199}kbd{font:inherit;border:1px solid #7d7f7b;padding:3px;margin-left:8px}#toolbar{position:absolute;right:2%;top:2%;display:flex;gap:7px}#toolbar button{font:22px Arial;background:#0c1117aa;border:1px solid #73736355;width:40px;height:36px}#status{position:absolute;bottom:0;left:0;font-size:0;pointer-events:none}[hidden]{display:none!important}@keyframes pulse{50%{opacity:.38}}@media(max-height:600px){.edition{margin-top:1em}.eyebrow{font-size:7px}#menu{top:7%}.tagline{margin:.8em 0}nav button{padding:.2em 0}#modalBody{padding:2%}#modal label{margin:10px 0}#modal h2{margin-bottom:10px}}
/* Phone layout: preserve the entire 16:9 frame and reserve separate thumb rails. */
canvas,#touchControls{touch-action:none;-webkit-user-select:none;user-select:none}button{-webkit-tap-highlight-color:transparent}#touchHint{display:none}
#touchControls{position:fixed;left:var(--view-left,0px);top:var(--view-top,0px);width:var(--view-w,100vw);height:var(--view-h,100dvh);z-index:6;pointer-events:none;font:11px Arial}
.touch-left,.touch-right{position:absolute;bottom:max(16px,env(safe-area-inset-bottom));pointer-events:auto}.touch-left{left:max(6px,env(safe-area-inset-left));width:104px}.touch-right{right:max(6px,env(safe-area-inset-right));width:124px}.touch-left p{font:9px Arial;text-align:center;color:#c3b495;margin:9px -2px}.stick{position:relative;width:96px;height:96px;margin:auto;border:1px solid #b5a274;background:radial-gradient(circle,#27333d,#101820);border-radius:50%;touch-action:none;pointer-events:auto;box-shadow:inset 0 0 0 8px #111922}.stick span{position:absolute;top:10px;left:0;right:0;text-align:center;font:9px Arial;color:#d7c69e}.stick i{position:absolute;left:31px;top:31px;width:34px;height:34px;border:1px solid #e4c999;border-radius:50%;background:#867654;pointer-events:none}.stick b{position:absolute;inset:35px 0 auto;text-align:center;letter-spacing:17px;color:#a8977744;font-size:24px;pointer-events:none}.touch-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:12px}.touch-actions button{min-height:52px;min-width:52px;padding:0 3px;border:1px solid #928368;border-radius:13px;background:#1b2631;color:#f2e5ca;font:bold 10px Arial;touch-action:none}.touch-actions .fire{background:#6a3434;border-color:#c58a75}.touch-actions .jump{background:#3f535e}.touch-actions button.held{background:#98815a;border-color:#ffe1a0}.touch-actions [data-key=KeyQ],.touch-actions [data-key=KeyE],.touch-actions [data-key=KeyR]{min-height:44px;color:#c5c5bd;font-size:9px}
[data-mode=foot] .road-only,[data-mode=foot] #touchAim,[data-mode=road] .foot-only{display:none!important}
#touchStatus{position:fixed;left:calc(var(--view-left,0px) + max(112px,env(safe-area-inset-left)));right:calc(max(138px,env(safe-area-inset-right)));top:calc(var(--view-top,0px) + max(4px,env(safe-area-inset-top)));z-index:5;color:#e5d8b7;font:11px/1.5 Arial;text-align:center;white-space:pre-line;pointer-events:none}
.touch-enabled{display:block;min-height:0;overscroll-behavior:none}.touch-enabled #stage{position:fixed;left:var(--view-left,0px);top:var(--view-top,0px);width:var(--view-w,100vw);height:var(--view-h,100dvh);padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);box-shadow:none;background:#070d13}.touch-enabled #game{position:absolute;transform:none;aspect-ratio:16/9}.touch-enabled #toolbar{position:fixed;right:max(8px,env(safe-area-inset-right));top:calc(var(--view-top,0px) + max(5px,env(safe-area-inset-top)));z-index:8}.touch-enabled #toolbar button{width:44px;height:44px}.touch-enabled #modal{position:fixed;inset:auto;left:var(--view-left,0px);top:var(--view-top,0px);width:var(--view-w,100vw);height:var(--view-h,100dvh);z-index:12;backdrop-filter:none;background:#070d13f5}.touch-enabled #modalBody{width:min(640px,92%);max-height:calc(var(--view-h,100dvh) - 20px);overflow-y:auto;padding:14px;overscroll-behavior:contain;box-shadow:none}.touch-enabled #modal button{min-height:44px;margin:7px 0;font-size:14px}.touch-enabled #modal p,.touch-enabled #modal dl,.touch-enabled #modal label{font-size:13px}.touch-enabled #skip{position:fixed;bottom:max(12px,env(safe-area-inset-bottom));z-index:9;min-height:44px}.touch-enabled #menu{inset:0;width:100%;padding:20px max(24px,env(safe-area-inset-right)) 12px max(24px,env(safe-area-inset-left));overflow:auto;background:linear-gradient(90deg,#060c13ef,#060c1366)}.touch-enabled #menu h1{font-size:48px}.touch-enabled #menu nav{width:100%;gap:6px}.touch-enabled #menu nav button{min-height:44px;padding:7px 12px;font-size:15px;background:#131d28e6;border:1px solid #796c4e66;border-radius:6px}.touch-enabled #pressStart{display:none}.touch-enabled .edition{font-size:8px;margin-top:12px}.touch-enabled .tagline{font-size:12px}.touch-enabled .eyebrow{font-size:8px}.touch-enabled #loading h1{font-size:30px}.phone-landscape #menu{display:grid;grid-template-columns:1fr 1fr;column-gap:25px;align-content:center}.phone-landscape #menu nav{grid-column:2;grid-row:1 / span 5;grid-template-columns:1fr 1fr}.phone-landscape #menu nav button{min-height:64px}.phone-landscape #menu h1{grid-column:1}.phone-landscape .touch-left{bottom:calc(max(16px,env(safe-area-inset-bottom)) + 10px)}.phone-landscape #touchHint{display:none}
@media(orientation:portrait){.touch-enabled #menu{padding-top:48px}.touch-enabled #menu h1{font-size:60px}.touch-enabled #menu nav{grid-template-columns:1fr 1fr;margin-top:24px}.touch-enabled #menu nav button{min-height:52px}.touch-enabled #touchStatus{left:10px;right:110px;text-align:left;font-size:12px}.touch-enabled .touch-left{left:20px;bottom:max(60px,env(safe-area-inset-bottom));width:120px}.touch-enabled .touch-right{right:20px;bottom:max(30px,env(safe-area-inset-bottom));width:146px}.touch-enabled .touch-actions button{min-height:54px}.touch-enabled .stick{width:104px;height:104px}.touch-enabled .stick i{left:35px;top:35px}.touch-enabled #touchHint:not([hidden]){display:block;position:fixed;bottom:10px;left:15px;right:15px;font:11px Arial;color:#baac8e;text-align:center;pointer-events:none}}
/* Prevent browser gestures from competing with simultaneous game controls. */
.touch-enabled.phone-playing,.touch-enabled.phone-playing #stage,.touch-enabled.phone-playing #touchControls{touch-action:none;overscroll-behavior:none}
.touch-enabled button{touch-action:manipulation;-webkit-user-select:none;user-select:none}
.touch-enabled #touchControls button,.touch-enabled .stick{touch-action:none}
