*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#02050d;color:#f7fbff;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;overscroll-behavior:none}body{min-height:100dvh;overflow:hidden;touch-action:none}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}#app{width:100%;height:100dvh;display:flex;flex-direction:column;align-items:center;padding:max(6px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(7px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));background:radial-gradient(circle at 50% 24%,#102d47 0,#071426 36%,#02050d 78%)}#hud{width:min(96vw,440px);height:49px;display:grid;grid-template-columns:repeat(4,1fr);gap:5px;flex:0 0 auto}#hud>div{display:grid;place-content:center;text-align:center;border:1px solid rgba(101,231,255,.14);border-radius:11px;background:rgba(10,20,38,.82);box-shadow:inset 0 1px rgba(255,255,255,.035)}.hud-label{display:block;margin-bottom:2px;color:#82a4bd;font-size:6.5px;font-weight:900;letter-spacing:.12em}.hud-label+strong{font-size:13px;color:#fff}.hud-label+strong#score{color:#ffe66d}#topbar{width:min(96vw,440px);height:37px;display:flex;align-items:center;gap:6px;flex:0 0 auto}.icon-btn,.tool-btn{height:30px;min-width:30px;display:inline-grid;place-items:center;border:1px solid rgba(101,231,255,.15);border-radius:9px;color:#d9f8ff;background:rgba(8,18,34,.86);text-decoration:none;cursor:pointer}.tool-btn{padding:0 7px;font-size:7px;font-weight:950;letter-spacing:.08em}.sensor-status{height:27px;display:inline-flex;align-items:center;gap:5px;padding:0 8px;border:1px solid rgba(124,255,178,.12);border-radius:999px;color:#9eb2c6;background:rgba(8,18,34,.72);font-size:6.5px;font-weight:900;letter-spacing:.1em}.sensor-status i{width:6px;height:6px;border-radius:50%;background:#748498}.sensor-status.active{color:#caffdc;border-color:rgba(124,255,178,.24)}.sensor-status.active i{background:#7cffb2;box-shadow:0 0 9px #7cffb2}.sensor-status.calibrating i{background:#ffe66d;box-shadow:0 0 9px #ffe66d;animation:pulse .5s steps(2,end) infinite}#calibrateBtn{margin-left:auto}#gameWrap{position:relative;width:min(96vw,440px);flex:1 1 auto;min-height:0;max-height:calc(100dvh - 142px);border:1px solid rgba(101,231,255,.24);border-radius:18px;overflow:hidden;background:#030711;box-shadow:0 16px 50px rgba(0,0,0,.42),0 0 28px rgba(101,231,255,.06)}#game{width:100%;height:100%;display:block;touch-action:none}#banner{position:absolute;z-index:5;left:50%;top:12%;transform:translate(-50%,-10px) scale(.92);padding:7px 11px;border:1px solid rgba(255,255,255,.13);border-radius:999px;color:#06151a;background:linear-gradient(135deg,#7cffb2,#65e7ff);box-shadow:0 10px 28px rgba(101,231,255,.18);font-size:8px;font-weight:950;letter-spacing:.08em;opacity:0;pointer-events:none;white-space:nowrap}#banner.show{animation:banner 1.2s ease both}#tiltMeter{position:absolute;z-index:4;right:9px;bottom:9px;width:44px;height:44px;border:1px solid rgba(101,231,255,.16);border-radius:50%;background:rgba(2,6,14,.55);pointer-events:none}#tiltMeter::before,#tiltMeter::after{content:"";position:absolute;background:rgba(101,231,255,.12)}#tiltMeter::before{left:50%;top:5px;bottom:5px;width:1px}#tiltMeter::after{top:50%;left:5px;right:5px;height:1px}#tiltDot{position:absolute;left:50%;top:50%;width:8px;height:8px;margin:-4px;border-radius:50%;background:#7cffb2;box-shadow:0 0 9px #7cffb2}#touchStick{position:absolute;z-index:6;width:62px;height:62px;margin:-31px;border:1px solid rgba(255,255,255,.22);border-radius:50%;background:rgba(5,11,22,.45);pointer-events:none}#touchStick i{position:absolute;left:50%;top:50%;width:26px;height:26px;margin:-13px;border-radius:50%;background:rgba(101,231,255,.62);box-shadow:0 0 12px rgba(101,231,255,.46)}.sensor-help{width:min(96vw,440px);min-height:29px;display:flex;justify-content:space-between;gap:8px;align-items:center;flex:0 0 auto;color:#6f8aa0;font-size:6.2px;line-height:1.25}.sensor-help b{color:#8ff4ff}.sensor-help span:last-child{text-align:right}#overlay{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 50% 35%,rgba(101,231,255,.17),transparent 25rem),rgba(2,5,13,.94);backdrop-filter:blur(16px)}#overlay:not(.visible){display:none}.panel{width:min(90vw,390px);padding:26px 22px 21px;border:1px solid rgba(101,231,255,.22);border-radius:25px;text-align:center;background:linear-gradient(150deg,rgba(17,34,60,.98),rgba(7,12,27,.99));box-shadow:0 28px 90px rgba(0,0,0,.58),inset 0 1px rgba(255,255,255,.07)}.eyebrow{margin:0 0 11px;color:#7cffb2;font-size:7px;font-weight:950;letter-spacing:.18em}.panel h1{margin:0;font-size:clamp(43px,14vw,65px);line-height:.78;letter-spacing:-.085em;text-shadow:3px 4px 0 rgba(255,94,207,.3)}.panel h1 span{color:#65e7ff}.panel #overlayText{max-width:34ch;margin:17px auto 13px;color:#b8c9d9;font-size:9px;line-height:1.55}.feature-strip{display:flex;justify-content:center;gap:5px;flex-wrap:wrap}.feature-strip span{padding:5px 7px;border:1px solid rgba(101,231,255,.13);border-radius:999px;color:#bcefff;background:rgba(101,231,255,.04);font-size:6px;font-weight:900;letter-spacing:.09em}.stats-line{margin:13px 0 9px;color:#728ca2;font-size:7px;font-weight:900;letter-spacing:.12em}.stats-line strong{color:#ffe66d;font-size:13px}.primary-btn{width:100%;min-height:49px;border:1px solid rgba(255,255,255,.3);border-radius:14px;color:#06131c;background:linear-gradient(135deg,#7cffb2,#65e7ff);box-shadow:0 12px 34px rgba(101,231,255,.16);font-size:11px;font-weight:950;letter-spacing:.08em;cursor:pointer}.hint{margin:9px 0 0;color:#758b9f;font-size:6.5px;line-height:1.4}.primary-btn:active,.icon-btn:active,.tool-btn:active{transform:scale(.97)}@keyframes banner{0%{opacity:0;transform:translate(-50%,-8px) scale(.9)}18%,72%{opacity:1;transform:translate(-50%,0) scale(1)}100%{opacity:0;transform:translate(-50%,-4px) scale(.96)}}@keyframes pulse{50%{opacity:.35}}@media(max-height:700px){#hud{height:43px}.hud-label+strong{font-size:11px}#topbar{height:33px}.sensor-help{display:none}#gameWrap{max-height:calc(100dvh - 92px)}}@media(max-width:350px){#hud{gap:3px}.hud-label{font-size:5.8px}#topbar{gap:4px}.sensor-status{padding:0 6px}.tool-btn{padding:0 5px}}@media(prefers-reduced-motion:reduce){.sensor-status.calibrating i{animation:none!important}#banner.show{animation-duration:.15s}}
