@import"https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@500;700;800;900&display=swap";:root{font-family:"M PLUS Rounded 1c",Hiragino Maru Gothic ProN,Hiragino Sans,Yu Gothic,YuGothic,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#18314d;background:#9bd7ff;font-synthesis:none;text-rendering:geometricPrecision;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden;touch-action:none}button{font:inherit}button:focus-visible,body.gamepad-focus button:focus{outline:4px solid #fff4a8;outline-offset:5px}#game-canvas{display:block;width:100%;height:100%;background:#9bd7ff}.hud{position:fixed;top:max(18px,env(safe-area-inset-top));right:0;left:0;z-index:4;display:block;opacity:0;transform:translateY(-10px);transition:opacity .25s ease,transform .25s ease;pointer-events:none}.hud-visible{opacity:1;transform:translateY(0)}.hud-card{position:absolute;min-width:108px;padding:11px 16px 13px;border:1px solid rgb(255 255 255 / 82%);border-radius:8px;background:linear-gradient(145deg,#ffffffeb,#fff9e7d1),linear-gradient(135deg,#fff1a8,#9cecff);box-shadow:inset 0 1px #fffffff0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);text-align:center}.hud-card:first-child{display:none}.hud-card:nth-child(2){top:0;left:50%;min-width:114px;padding:9px 15px 11px;transform:translate(-50%);background:linear-gradient(145deg,#ffffffeb,#f5fffccc),linear-gradient(135deg,#84e7ff,#8df0c5)}.hud-card:nth-child(2) .hud-label{color:#e24f91;font-size:12px}.hud-card:nth-child(2) strong{color:#0b7fa0;font-size:27px}.speed-readout{position:absolute;top:0;left:max(16px,env(safe-area-inset-left));display:flex;align-items:center;gap:5px;color:#fff;font-weight:950;-webkit-text-stroke:2px rgb(18 40 70 / 88%);paint-order:stroke fill;text-shadow:none}.speed-readout .hud-label{display:inline;margin-right:0;margin-bottom:0;color:#fff;font-size:13px}.speed-readout strong{display:inline;color:#fff;font-size:17px;line-height:1}.hud-label{display:block;margin-bottom:3px;color:#0b7fa0;font-size:12px;font-weight:950;letter-spacing:0}.hud-card strong{display:block;overflow:hidden;color:#142846;font-size:25px;line-height:1;text-overflow:ellipsis;white-space:nowrap}.screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:6;display:flex;align-items:center;justify-content:center;overflow-y:auto;padding:max(18px,env(safe-area-inset-top)) 20px max(18px,env(safe-area-inset-bottom));pointer-events:none;opacity:0;transition:opacity .25s ease}.screen-visible{pointer-events:auto;opacity:1}.screen:before{position:absolute;top:0;right:0;bottom:0;left:0;content:"";background:radial-gradient(circle at 50% 35%,rgb(255 240 156 / 24%),transparent 34%),linear-gradient(180deg,#9bd7ff2e,#3f80a46b)}.screen-panel{position:relative;z-index:1;width:min(470px,100%);padding:0;border:0;border-radius:8px;background:transparent;box-shadow:none;text-align:center;-webkit-backdrop-filter:none;backdrop-filter:none}.screen-panel:before{content:none}.title-panel{display:flex;width:min(92vw,720px);min-height:min-content;flex-direction:column;align-items:center;justify-content:center}.title-logo{position:relative;display:block;width:min(84vw,620px);aspect-ratio:1.88 / 1;margin:0 auto clamp(8px,1.8vh,18px);overflow:hidden;filter:drop-shadow(0 20px 30px rgb(44 94 128 / 20%)) drop-shadow(0 9px 0 rgb(255 120 179 / 16%));pointer-events:none}.title-logo img{display:block;width:100%;height:100%;object-fit:contain;opacity:1;pointer-events:none}.eyebrow{margin:0 0 8px;color:#0c83a8;font-size:12px;font-weight:900;letter-spacing:0}h1,h2{margin:0;color:#172a4a;font-weight:900;letter-spacing:0;text-shadow:0 6px 28px rgb(255 184 91 / 30%)}h1{font-size:clamp(44px,9vw,72px);line-height:1}h2{font-size:clamp(34px,7vw,52px);line-height:1.1}.primary-button{position:relative;z-index:2;min-width:min(78vw,300px);min-height:78px;border:0;border-radius:8px;color:#172a4a;font-size:22px;font-weight:950;letter-spacing:0;cursor:pointer;background:linear-gradient(135deg,#fff06f,#ffc56b 42%,#ff78b3);box-shadow:0 10px #e86c9d,0 22px 36px #ff7ab34d,inset 0 1px #ffffff94}.secondary-button{position:relative;z-index:2;min-width:min(70vw,260px);min-height:56px;border:2px solid rgb(255 255 255 / 82%);border-radius:8px;color:#172a4a;font-size:17px;font-weight:950;letter-spacing:0;cursor:pointer;background:linear-gradient(135deg,#fff,#dff8ff 48%,#ffe8f3);box-shadow:0 8px #b8d8e8,0 18px 28px #2637562e,inset 0 1px #ffffffdb}.primary-button.secondary-size{min-width:min(42vw,210px);min-height:58px;font-size:17px}.secondary-button.compact{min-width:min(58vw,210px);min-height:46px;margin:0 0 22px;font-size:15px}.title-purpose{width:min(92vw,620px);margin:clamp(-10px,-1.2vh,-4px) auto clamp(12px,1.8vh,18px);color:#fff8c8;font-size:clamp(19px,3.3vw,29px);font-weight:950;line-height:1.18;letter-spacing:0;text-align:center;-webkit-text-stroke:4px #1a3352;paint-order:stroke fill;text-shadow:none}.high-score-badge{margin:0 auto 12px;padding:7px 16px 8px;border:1px solid rgb(255 255 255 / 82%);border-radius:999px;color:#17304d;background:#ffffffd1;font-size:14px;font-weight:950;line-height:1;box-shadow:inset 0 1px #ffffffe5}.high-score-badge strong{color:#e24f91;font-size:19px}.start-guide{display:grid;gap:8px;width:min(100%,620px);margin:0 auto;padding:12px 16px;border:1px solid rgb(255 255 255 / 74%);border-radius:8px;color:#24435c;background:#ffffffd1;box-shadow:0 12px 28px #2c5e8029;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font-size:12px;line-height:1.45;text-align:left}.compact-guide{width:min(100%,520px);margin:0 auto clamp(14px,2vh,22px);text-align:center}.start-guide p{margin:0}.start-guide strong{margin-right:7px;color:#e24f91;font-weight:950}.result{margin:0;color:#2f4b63;font-size:20px}.result strong{color:#0f6f9a}.result.small{margin:0;font-size:15px}.game-over-panel{overflow:visible;width:min(520px,100%);padding-bottom:14px}.game-over-panel .eyebrow{color:#6c7fa7}.game-over-logo{display:block;width:min(100%,520px);height:auto;margin:-2px auto 10px;filter:drop-shadow(0 18px 30px rgb(38 55 86 / 22%)) drop-shadow(0 7px 0 rgb(80 88 128 / 12%))}.result-stack{display:grid;grid-template-columns:minmax(210px,280px);justify-content:center;gap:9px;margin:0 auto 28px}.game-over-actions{display:flex;flex-wrap:wrap;justify-items:center;justify-content:center;gap:14px;margin-top:8px}.game-over-actions .secondary-button,.game-over-actions .primary-button{margin-top:0}.help-panel{display:grid;width:min(92vw,620px);justify-items:center;gap:10px}.help-panel h2{color:#ffe86f;font-size:clamp(34px,7vw,54px);line-height:1;-webkit-text-stroke:5px #17304d;paint-order:stroke fill;text-shadow:none}.help-panel h3{margin:0 0 3px;color:#172a4a;font-size:15px;font-weight:950;letter-spacing:0;text-shadow:none}.help-guide{gap:12px;padding:14px 17px}.help-section{display:grid;gap:5px}.help-section+.help-section{padding-top:13px;border-top:2px solid rgb(255 120 179 / 28%)}.pause-button{position:fixed;top:max(18px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right));z-index:5;min-width:86px;min-height:40px;border:2px solid rgb(255 255 255 / 82%);border-radius:8px;color:#172a4a;font-size:13px;font-weight:950;background:linear-gradient(135deg,#fff,#dff8ff 48%,#ffe8f3);box-shadow:0 7px #b8d8e8,0 16px 24px #26375629,inset 0 1px #ffffffdb;cursor:pointer;opacity:0;pointer-events:none;transform:translateY(-8px);transition:opacity .2s ease,transform .2s ease}.pause-button-visible{opacity:1;pointer-events:auto;transform:translateY(0)}.pause-screen:before{background:radial-gradient(circle at 50% 36%,rgb(255 240 156 / 22%),transparent 34%),linear-gradient(180deg,#1f375661,#1f37569e)}.pause-panel{display:grid;justify-items:center;gap:22px}.pause-panel h2{color:#fff071;font-size:clamp(40px,9vw,72px);line-height:1;-webkit-text-stroke:5px #17304d;paint-order:stroke fill;text-shadow:none}.result-stack .result:first-child{display:none}.result-stack .result{padding:12px 14px;border:1px solid rgb(255 255 255 / 92%);border-radius:8px;background:#fff;box-shadow:0 10px #314a761a,0 18px 34px #26375629,inset 0 1px #fff}.result-stack .result.small{padding:13px 16px 15px}.result-stack strong{display:block;margin-top:4px;color:#314a76;font-size:24px}.result-stack b{display:block;margin-top:12px;color:#e24f91;font-size:21px;font-weight:950;line-height:1.2}.countdown{position:fixed;top:0;right:0;bottom:0;left:0;z-index:7;display:grid;place-items:center;color:#fff7c2;font-size:clamp(72px,18vw,160px);font-weight:950;line-height:1;text-shadow:0 0 18px rgb(255 232 111 / 54%),0 12px 60px rgb(255 122 217 / 44%);pointer-events:none;opacity:0}.toast{position:fixed;top:calc(max(18px,env(safe-area-inset-top)) + 58px);left:50%;z-index:5;padding:0;border:0;color:#fff071;font-size:clamp(26px,6vw,46px);font-weight:950;line-height:1;white-space:nowrap;background:transparent;box-shadow:none;-webkit-text-stroke:4px #e24f91;paint-order:stroke fill;text-shadow:none;transform:translate(-50%);pointer-events:none;opacity:0;-webkit-backdrop-filter:none;backdrop-filter:none}.warning-alert{position:fixed;top:calc(max(18px,env(safe-area-inset-top)) + 92px);left:50%;z-index:7;display:grid;gap:5px;min-width:min(480px,calc(100vw - 24px));padding:0;border:0;color:#ff315f;text-align:center;background:transparent;box-shadow:none;transform:translate(-50%);pointer-events:none;opacity:0}.warning-alert strong{font-size:clamp(48px,12vw,108px);font-weight:950;line-height:.88;letter-spacing:0;-webkit-text-stroke:10px #fff9e8;paint-order:stroke fill;text-shadow:none}.warning-alert span{color:#ff315f;font-size:clamp(15px,3.4vw,24px);font-weight:950;-webkit-text-stroke:5px #fff9e8;paint-order:stroke fill;text-shadow:none}.power-alert{position:fixed;top:calc(max(18px,env(safe-area-inset-top)) + 62px);right:0;left:0;z-index:8;width:100%;color:#fff071;font-size:clamp(36px,8vw,76px);font-weight:950;line-height:.95;letter-spacing:0;text-align:center;white-space:nowrap;-webkit-text-stroke:4px #ff315f;paint-order:stroke fill;text-shadow:none;transform:none;pointer-events:none;opacity:0}.flash{position:fixed;top:0;right:0;bottom:0;left:0;z-index:5;background:#ff315f;pointer-events:none;opacity:0;mix-blend-mode:screen}.floating-scores{position:fixed;top:0;right:0;bottom:0;left:0;z-index:5;pointer-events:none}.floating-score{position:absolute;color:#ffe86f;font-size:22px;font-weight:950;text-shadow:0 5px 18px rgb(255 122 217 / 58%);transform:translate(-50%,-50%);white-space:nowrap}.startup-error{position:fixed;right:24px;bottom:24px;left:24px;z-index:20;max-width:680px;margin:0 auto;padding:18px 20px;border:2px solid rgb(255 255 255 / 86%);border-radius:8px;color:#17304d;background:linear-gradient(135deg,#fff8ca,#ffb9d4 52%,#9cecff);box-shadow:0 14px #e86c9d57,0 28px 60px #26304042;text-align:center}.startup-error strong,.startup-error span,.startup-error small{display:block}.startup-error strong{margin-bottom:8px;color:#ff315f;font-size:20px;font-weight:950}.startup-error span{margin-bottom:8px;font-size:14px;font-weight:800}.startup-error small{font-size:12px;font-weight:700;line-height:1.55}@media (max-width: 640px){.hud{top:max(10px,env(safe-area-inset-top))}.hud-card{min-width:0;padding:8px 9px 9px}.hud-card:nth-child(2){min-width:92px;padding:6px 9px 7px}.hud-card:nth-child(2) strong{font-size:22px}.speed-readout{left:max(10px,env(safe-area-inset-left));gap:4px}.speed-readout .hud-label{font-size:12px}.speed-readout strong{font-size:15px}.pause-button{top:max(10px,env(safe-area-inset-top));right:max(10px,env(safe-area-inset-right));min-width:74px;min-height:34px;font-size:12px}.screen{padding:max(12px,env(safe-area-inset-top)) 12px max(16px,env(safe-area-inset-bottom))}.screen-panel{padding:0}.title-panel{width:min(100%,520px);padding-top:4px}.title-logo{width:min(94vw,500px);margin-bottom:14px}.primary-button{min-height:64px;min-width:min(82vw,300px);font-size:20px}.secondary-button.compact{min-height:44px;margin-bottom:20px}.start-guide{width:min(100%,500px);padding:11px 12px;font-size:11px;line-height:1.45}}@media (max-height: 760px){.screen{align-items:center}.title-logo{width:min(76vw,470px);margin-bottom:6px}.primary-button{min-height:58px}.secondary-button.compact{margin-bottom:18px}.start-guide{padding:10px 13px;font-size:11px}.game-over-actions{gap:20px}}@media (max-width: 640px) and (max-height: 760px){.title-logo{width:min(94vw,500px);margin-bottom:12px}}
