:root{--bg:#f5f7fb;--card:#fff;--text:#1b2230;--muted:#5b6475;--accent:#2f6fdf;--accent-text:#fff;--ok:#1f9d55;--error:#c53030;--border:#e3e8f0;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#11151c;--card:#1a202b;--text:#e7ebf2;--muted:#9aa4b5;--accent:#5b8ff0;--ok:#38c172;--error:#f07171;--border:#2a3242;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.page{max-width:960px;margin:0 auto;padding:16px 16px 32px}.dot{background:var(--ok);border-radius:50%;width:8px;height:8px;display:inline-block}button{font:inherit;background:var(--accent);color:var(--accent-text);cursor:pointer;border:0;border-radius:8px;padding:10px 18px}button:disabled{opacity:.6;cursor:default}button.secondary{background:var(--card);color:var(--text);border:1px solid var(--border);padding:8px 14px}button.link{color:var(--accent);background:0 0;padding:0;text-decoration:underline}.tabs{border-bottom:1px solid var(--border);gap:4px;margin-bottom:12px;display:flex;overflow-x:auto}.tab{color:var(--muted);white-space:nowrap;background:0 0;border-bottom:3px solid #0000;border-radius:8px 8px 0 0;margin-bottom:-1px;padding:10px 16px}.tab.is-active{color:var(--text);border-bottom-color:var(--accent);font-weight:600}.card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:20px}.welcome h1{margin:0 0 4px;font-size:24px}.welcome>p{color:var(--muted);margin:0 0 12px}.game-frame{aspect-ratio:16/9;background:#000;border-radius:8px;width:100%;max-width:calc(177.778svh - 124.444px);margin:0 auto;position:relative;overflow:hidden}.game-canvas{width:100%;height:100%;image-rendering:pixelated;touch-action:none;display:block}.game-hud{position:absolute;inset:0}.game-canvas.playing{cursor:none}.game-overlay{text-align:center;color:#fcfcfc;text-shadow:1px 1px #000;background:#0000008c;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:12px;display:flex;position:absolute;inset:0}.game-overlay p{max-width:520px;margin:0}.game-title{color:#f8b800;letter-spacing:2px;margin:0;font:700 clamp(22px,6vw,44px)/1.1 monospace}.game-hint{opacity:.85;font-size:13px}.game-tip{color:#fcfcfc;pointer-events:none;white-space:nowrap;background:#0009;border-radius:6px;margin:0;padding:4px 10px;font-size:13px;position:absolute;bottom:26px;left:50%;transform:translate(-50%)}.rotate-hint{color:var(--muted);margin:8px 0 0;font-size:14px;display:none}.game-controls{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-top:10px;display:flex}.game-best{color:var(--muted)}button.secondary[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.game-story{background:#280000d1;font:15px/1.5 monospace}.game-credits{background:#000000e0;font-size:13px;overflow-y:auto}.game-credits a{color:#88d8f8}.game-terminal{background:linear-gradient(#0000 30%,#000000bf);justify-content:flex-end;padding-bottom:14px}.terminal-screen{color:#38f858;text-shadow:0 0 6px #38f858;background:#041004;border:2px solid #38f858;padding:6px 12px;font:700 15px/1.4 monospace}.squeaks{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}button.squeak{color:#000;border:3px solid #0000;min-width:86px;font-weight:700}button.squeak.lit{border-color:#fcfcfc;transform:scale(1.12);box-shadow:0 0 14px #fcfcfc}button.squeak:disabled{opacity:.85;cursor:default}.game-button{background:0 0;justify-content:flex-end;padding-bottom:20px}button.red-button{color:#fcfcfc;background:#d82800;border-radius:40px;padding:14px 22px;font:700 18px monospace;animation:.8s infinite alternate pulse;box-shadow:0 0 20px #f83800}@keyframes pulse{0%{box-shadow:0 0 10px #f83800}to{box-shadow:0 0 32px #f8d800}}.game-story p{color:#fce0a8}.holy-book-overlay{background:#0a0600e0}.holy-book{aspect-ratio:16/9;perspective:1200px;background:#5c1c14;border-radius:6px;width:min(92%,560px);padding:10px;animation:.9s ease-out book-open;display:flex;position:relative;box-shadow:0 0 40px #f8d87859}.book-page{color:#3c2410;text-shadow:none;background:linear-gradient(90deg,#e8dcb4,#f8f0d0 40%,#e8dcb4);flex-direction:column;flex:1;justify-content:center;gap:4px;padding:12px;font:14px/1.35 Georgia,serif;display:flex;overflow:hidden}.book-page.left{border-right:1px solid #b8a47c;border-radius:3px 0 0 3px}.book-page.right{border-radius:0 3px 3px 0}.book-page p{opacity:0;color:#3c2410;margin:0;animation:.6s ease-out forwards verse}.book-page.turning{transform-origin:0;backface-visibility:hidden;width:calc(50% - 10px);animation:.7s ease-in forwards page-turn;position:absolute;top:10px;bottom:10px;right:10px;box-shadow:-6px 0 12px #00000059}.book-page.turning p{opacity:1;animation:none}@keyframes book-open{0%{opacity:0;transform:scale(.3)rotateX(40deg)}to{opacity:1;transform:none}}@keyframes verse{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes page-turn{0%{transform:rotateY(0)}to{transform:rotateY(-180deg)}}@media (height<=500px){.book-page{padding:6px;font-size:11px}}.status{color:var(--muted);margin:12px 0 0;font-size:14px}.status-error{color:var(--error)}@media (orientation:portrait) and (width<=600px){.rotate-hint{display:block}}.game{-webkit-user-select:none;user-select:none}.game button{touch-action:manipulation}.weapon-cycle{align-items:center;gap:6px;display:none}.weapon-name{text-align:center;min-width:7em;font-weight:600}@media (pointer:coarse){.weapon-slot{display:none}.weapon-cycle{display:inline-flex}}.label-icon{display:none}button.off{opacity:.5}.fs-button{z-index:3;color:#fcfcfc;background:#00000073;border-radius:6px;width:30px;height:30px;padding:0;font-size:17px;line-height:30px;position:absolute;top:3px;right:3px}body.game-full{overflow:hidden}.game.is-full{z-index:1000;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background:#000;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.game.is-full .game-frame{width:min(100vw - env(safe-area-inset-left) - env(safe-area-inset-right), calc(100dvh * 16 / 9));border-radius:0;max-width:none;margin:0}@media (orientation:landscape) and (height<=500px){body:has(.game){background:#000}.page{max-width:none;padding:0}.game-frame{border-radius:0;width:min(100vw,177.778dvh);max-width:none}.status{display:none}.game-overlay{gap:4px;font-size:12px}.game-overlay p{max-width:70%}.game-title{font-size:24px}}.game.compact .rotate-hint,.game.compact .game-best,.game.compact .game-hint{display:none}.game.compact .game-controls{right:calc(6px + env(safe-area-inset-right));bottom:calc(6px + env(safe-area-inset-bottom));z-index:1001;gap:4px;margin:0;position:fixed}.game.compact .game-controls button{color:#fcfcfc;background:#00000073;border:0;border-radius:50%;width:36px;height:36px;padding:0;font-size:16px}.game.compact .label-long,.game.compact .weapon-name,.game.compact .weapon-slot{display:none}.game.compact .label-icon{display:inline}.game.compact .weapon-cycle{display:inline-flex}@media (width<=480px){.game-overlay{gap:4px;font-size:13px}.game-hint{display:none}}.credits-roll{width:min(90%,560px);height:38%;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(#0000,#000 15% 85%,#0000);mask-image:linear-gradient(#0000,#000 15% 85%,#0000)}.credits-roll-inner{animation:40s linear forwards roll;position:absolute;top:100%;left:0;right:0}.credits-roll-inner p{color:#fce0a8;margin:6px 0;font-size:13px}.credits-roll-inner p:first-child{color:#f8b800;font-size:20px}@keyframes roll{to{transform:translateY(calc(-100% - 260px))}}.steer{gap:6px;display:inline-flex}.hold-button{touch-action:none;-webkit-user-select:none;user-select:none;min-width:56px;min-height:44px;font-size:20px}
