html,body{margin:0;padding:0;width:100%;height:100%;background:#07050a;overflow:hidden;overscroll-behavior:none;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;color:#d8cfc4;font-family:Georgia,Times New Roman,serif}#game-root{position:fixed;inset:0;display:flex;align-items:center;justify-content:center}#game-root canvas{image-rendering:pixelated;image-rendering:crisp-edges;outline:none}#boot-screen{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;background:radial-gradient(ellipse at center,#1c0a0e,#07050a 70%);z-index:50;transition:opacity .5s ease}#boot-screen.hidden{opacity:0;pointer-events:none}.boot-title{font-size:clamp(28px,7vw,64px);letter-spacing:.25em;color:#b3242c;text-shadow:0 0 18px #4a0d12,0 2px 0 #07050a}.boot-msg{font-size:15px;color:#8c8199;letter-spacing:.1em}.boot-msg.error{color:#e04a3f;max-width:80vw;text-align:center;line-height:1.5}#rotate-hint{position:fixed;left:0;right:0;bottom:max(12px,env(safe-area-inset-bottom));margin:0 auto;width:min(92vw,420px);padding:12px 14px;background:#0d080eeb;border:1px solid #4a0d12;border-radius:6px;z-index:40;text-align:center;font-size:14px}#rotate-hint p{margin:0 0 8px}#rotate-hint button{background:#2e1214;color:#e6dcc3;border:1px solid #7d1620;padding:8px 16px;font:inherit;border-radius:4px}#account-panel{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:min(92vw,440px);max-height:92vh;overflow-y:auto;box-sizing:border-box;padding:18px 20px;background:#120a10;border:2px solid #7d1620;box-shadow:0 0 0 4px #07050a,0 0 40px #b3242c59;border-radius:8px;color:#e6dcc3;z-index:60;font:15px/1.45 Georgia,Times New Roman,serif;-webkit-user-select:text;user-select:text;touch-action:auto}#account-panel h2{margin:0 0 8px;color:#f0d27a;letter-spacing:.12em;font-size:18px}#account-panel p{margin:0 0 10px}#account-panel .acc-dim{color:#b3a5b0}#account-panel .small{font-size:12px;margin-top:10px}#account-panel label{display:block;margin:0 0 10px;font-size:13px;color:#c9b8a8}#account-panel input{display:block;width:100%;box-sizing:border-box;margin-top:4px;padding:10px 12px;font:16px Georgia,serif;color:#f3ece0;background:#07050a;border:1px solid #5c2c40;border-radius:6px}#account-panel input:focus{outline:2px solid #ffd75e;outline-offset:1px}#account-panel .acc-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}#account-panel button{font:700 14px Georgia,serif;color:#f3ece0;cursor:pointer;background:linear-gradient(#7d1620,#4a0d12);border:1px solid #b3242c;border-radius:6px;padding:10px 14px;min-height:42px}#account-panel button.ghost{background:transparent;border-color:#5c2c40;color:#b3a5b0}#account-panel button:disabled{opacity:.5;cursor:default}#account-panel button:focus-visible{outline:2px solid #ffd75e;outline-offset:2px}#account-panel .acc-msg{color:#a8c94a}#account-panel .acc-msg.err{color:#ff7a6a}#account-panel #gsi-btn{display:flex;justify-content:center;min-height:44px;margin:4px 0 6px}#account-panel .acc-sep{text-align:center;font-size:12px;color:#8c8199;margin:4px 0 10px}#account-panel .acc-choice{display:grid;gap:8px}#account-panel .acc-choice button{text-align:left;display:flex;flex-direction:column;gap:2px}#account-panel .acc-choice span{font-weight:400;font-size:13px;color:#e6dcc3}#touch-ui{position:fixed;inset:0;pointer-events:none;z-index:30;--tc-opacity: .55;--btn: clamp(52px, 13vmin, 84px);--btn-s: clamp(42px, 10vmin, 62px);--safe-l: env(safe-area-inset-left, 0px);--safe-r: env(safe-area-inset-right, 0px);--safe-b: env(safe-area-inset-bottom, 0px);--safe-t: env(safe-area-inset-top, 0px)}#touch-ui.off .tc-game{display:none}#touch-ui .tc{pointer-events:auto;touch-action:none;position:absolute;opacity:var(--tc-opacity)}.tc-stick-zone{left:0;bottom:0;width:42vw;height:70vh}.tc-stick-base{position:absolute;width:calc(var(--btn) * 1.7);height:calc(var(--btn) * 1.7);margin-left:calc(var(--btn) * -.85);margin-top:calc(var(--btn) * -.85);border-radius:50%;border:2px solid rgba(179,36,44,.7);background:radial-gradient(circle,#2e12148c,#0d080e59 70%);pointer-events:none}.tc-stick-knob{position:absolute;width:calc(var(--btn) * .7);height:calc(var(--btn) * .7);margin-left:calc(var(--btn) * -.35);margin-top:calc(var(--btn) * -.35);border-radius:50%;background:radial-gradient(circle at 35% 35%,#e04a3f,#7d1620 60%,#2e1214);border:2px solid #e6dcc3;pointer-events:none}.tc-btn{width:var(--btn);height:var(--btn);border-radius:50%;border:2px solid rgba(230,220,195,.75);background:radial-gradient(circle at 40% 35%,#7d1620d9,#1a0507d9 80%);color:#e6dcc3;font:700 12px Georgia,serif;letter-spacing:.05em;display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.05;box-sizing:border-box}.tc-btn.small{width:var(--btn-s);height:var(--btn-s);font-size:10px}.tc-btn.held{background:radial-gradient(circle at 40% 35%,#e04a3f,#4a0d12 80%);transform:scale(.94)}.tc-btn.sq{border-radius:8px}.tc-jump{right:calc(16px + var(--safe-r));bottom:calc(18px + var(--safe-b))}.tc-shoot{right:calc(26px + var(--btn) + var(--safe-r));bottom:calc(6px + var(--safe-b) + var(--btn) * .45)}.tc-special{right:calc(10px + var(--safe-r));bottom:calc(30px + var(--btn) + var(--safe-b))}.tc-armor{right:calc(40px + var(--btn) * 2 + var(--safe-r));bottom:calc(10px + var(--safe-b))}.tc-shot{right:calc(36px + var(--btn) + var(--safe-r));bottom:calc(26px + var(--btn) * 1.5 + var(--safe-b))}.tc-pause{right:calc(10px + var(--safe-r));top:calc(8px + var(--safe-t))}.tc-map{right:calc(18px + var(--btn-s) + var(--safe-r));top:calc(8px + var(--safe-t))}#touch-ui .tc-fs{position:absolute;pointer-events:auto;touch-action:manipulation;top:calc(8px + var(--safe-t));right:calc(10px + var(--safe-r));width:var(--btn-s);height:var(--btn-s);display:flex;align-items:center;justify-content:center;padding:0;border-radius:8px;border:2px solid rgba(230,220,195,.75);background:radial-gradient(circle at 40% 35%,#7d1620d9,#1a0507d9 80%);color:#e6dcc3;opacity:max(var(--tc-opacity),.7);cursor:pointer}#touch-ui .tc-fs[hidden]{display:none}#touch-ui .tc-fs.ingame{right:calc(26px + var(--btn-s) * 2 + var(--safe-r));opacity:var(--tc-opacity)}#touch-ui .tc-fs:active{transform:scale(.94)}#fs-hint{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:min(90vw,380px);box-sizing:border-box;padding:16px 18px;background:#120a10;border:2px solid #7d1620;box-shadow:0 0 0 4px #07050a,0 0 30px #b3242c59;border-radius:8px;color:#e6dcc3;font:15px/1.45 Georgia,serif;z-index:70}#fs-hint p,#fs-hint ol{margin:0 0 10px}#fs-hint ol{padding-left:20px}#fs-hint .fs-tip{color:#b3a5b0;font-size:13px}#fs-hint button{font:700 14px Georgia,serif;color:#f3ece0;background:linear-gradient(#7d1620,#4a0d12);border:1px solid #b3242c;border-radius:6px;padding:10px 16px;min-height:42px}@media(orientation:portrait){.tc-stick-zone{height:45vh;width:50vw}}
