:root{--bg: #05060c;--ink: #e7ecff;--accent: #ff5e8a;--warm: #ff9e5e;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;background:var(--bg);color:var(--ink);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;overflow:hidden;overscroll-behavior:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;touch-action:none}#stage{position:fixed;inset:0;display:grid;place-items:center;background:radial-gradient(1px 1px at 20% 30%,rgba(255,255,255,.5),transparent),radial-gradient(1px 1px at 70% 60%,rgba(255,255,255,.4),transparent),radial-gradient(1px 1px at 40% 80%,rgba(255,255,255,.35),transparent),radial-gradient(1px 1px at 85% 18%,rgba(255,255,255,.45),transparent),radial-gradient(1200px 800px at 50% 120%,#160c22,var(--bg));padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}#game{display:block;background:#05060c;max-width:100%;max-height:100%;touch-action:none}#touch-ui{position:fixed;inset:0;pointer-events:none;z-index:10}body.touch #touch-ui[hidden]{display:block}#touch-ui[hidden]{display:none}#stick-zone{position:absolute;left:0;bottom:0;width:55%;height:65%;pointer-events:auto}#stick-base{position:absolute;width:132px;height:132px;margin:-66px 0 0 -66px;border-radius:50%;border:2px solid rgba(255,255,255,.16);background:#ffffff0d;opacity:0;transition:opacity .12s ease;left:-999px;top:-999px}#stick-base.active{opacity:1}#stick-knob{position:absolute;left:50%;top:50%;width:60px;height:60px;margin:-30px 0 0 -30px;border-radius:50%;background:#ffffff38;border:2px solid rgba(255,255,255,.35)}.btn{position:absolute;width:84px;height:84px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:26px;color:#ffffffd9;pointer-events:auto;user-select:none;border:2px solid rgba(255,255,255,.22);background:#ffffff0f;bottom:calc(28px + env(safe-area-inset-bottom))}.btn:active,.btn.held{background:#ff5e8a59;border-color:var(--accent);transform:scale(.94)}#btn-a{right:calc(22px + env(safe-area-inset-right));border-color:#ff9e5e8c}#btn-b{right:calc(120px + env(safe-area-inset-right))}#rotate-hint{position:fixed;inset:0;display:none;place-items:center;background:#05060ceb;color:var(--warm);font-size:18px;letter-spacing:1px;z-index:20;text-align:center;padding:2rem}@media(max-width:940px)and (orientation:landscape){body.touch #rotate-hint{display:grid}}#email-modal{position:fixed;inset:0;display:grid;place-items:center;background:#05060cd1;z-index:30;padding:24px;padding:max(24px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left))}#email-modal[hidden]{display:none}#email-card{background:#0a0e18f5;border:2px solid rgba(255,158,94,.55);padding:26px 26px 22px;max-width:420px;width:100%;color:var(--ink);letter-spacing:.03em;box-shadow:0 8px 40px #00000080}#email-title{text-align:center;font-size:16px;font-weight:700;color:var(--warm);letter-spacing:.18em}#email-sub{font-size:12px;line-height:1.5;margin:14px 0 18px;color:#e7ecffcc;text-align:center}#email-form{display:block}#email-input{display:block;width:100%;padding:12px 14px;font:inherit;font-size:14px;color:var(--ink);background:#00000059;border:1px solid rgba(255,255,255,.2);border-radius:0;outline:none;pointer-events:auto;-webkit-user-select:text;user-select:text;touch-action:auto}#email-input:focus{border-color:var(--warm)}#email-err{min-height:14px;margin-top:6px;font-size:11px;color:#ff7a7a}#email-actions{display:flex;gap:10px;margin-top:8px}#email-actions button{flex:1;padding:11px 12px;font:inherit;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);background:#ffffff0f;border:1px solid rgba(255,255,255,.25);cursor:pointer}#email-actions button:hover{background:#ffffff1f}#email-submit{color:#ffe4b5;border-color:#ff9e5eb3!important;background:#ff9e5e24!important}#email-submit:hover{background:#ff9e5e40!important}#email-submit:disabled{opacity:.5;cursor:default}#email-thanks{margin-top:12px;text-align:center;font-size:13px;color:#9fffce}
