@font-face{font-family:LittleLightsRound;src:url(/fonts/little-lights-round.ttf) format("truetype");font-style:normal;font-weight:700;font-display:swap}:root{color-scheme:dark;--background: #101e43;--foreground: #edf0ff;--primary: #ffe08c;--border: #ffe08c55;--font-round: LittleLightsRound, "Hiragino Maru Gothic ProN", "UD Digi Kyokasho N-R", "Yu Gothic", sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{overscroll-behavior:none;background:#101e43;width:100%;height:100%;margin:0;overflow:hidden}body{font-family:var(--font-round);color:#edf0ff;font-weight:700;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none}button:focus-visible{outline-offset:7px;outline:2px solid #fff1b6}button:disabled{cursor:default}.game-shell{background:#0c1735;justify-content:center;transition:background 1.4s;display:flex;position:fixed;inset:0}.game-shell.night-ended{background:#000}.game-frame{isolation:isolate;-webkit-user-select:none;user-select:none;width:100%;max-width:560px;height:100dvh;position:relative;overflow:hidden}.game-canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.start-panel{scrollbar-width:none;text-align:center;opacity:1;width:min(86%,380px);max-height:calc(100dvh - 4rem);padding:.4rem 0 .65rem;transition:opacity .65s;position:absolute;top:49%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}.start-panel.leaving{opacity:0;pointer-events:none}.start-panel h1{font-family:var(--font-round);letter-spacing:.065em;color:#ffe8a5;text-shadow:0 4px #08143055;margin:0;font-size:clamp(34px,10vw,46px);font-weight:700;line-height:1.5}.start-panel h1 span{display:block}.start-panel h1 span:first-child{color:#dbe6ff;letter-spacing:.1em;margin-bottom:.3em;font-size:.7em}.instruction{letter-spacing:.055em;color:#c7d5f0;margin:1.7rem 0 1.5rem;font-size:15px;line-height:1.9}.text-button{letter-spacing:.13em;background:none;border:0;border-bottom:1px solid #a0a9b14f;min-height:48px;padding:.7rem 1rem;font-size:16px;line-height:1.7;transition:color .2s,background .2s,opacity .3s,transform .15s}.text-button:hover{color:#fff}.text-button:active{opacity:.75}.start-button{color:#293257;background:#ffe091;border:0;border-radius:100px;min-width:172px;min-height:56px;padding:.7rem 1.6rem;font-size:18px;box-shadow:0 5px #030b2350,0 0 32px #ffce5710}.start-button:hover{color:#202d50;background:#ffe9ad;transform:translateY(-2px)}.start-button:active{transform:translateY(2px);box-shadow:0 2px #030b2350}.start-button.waiting{opacity:.45}.sound-note{letter-spacing:.1em;color:#8d9ebf;margin:1.2rem 0 0;font-size:12px}.count-ui{pointer-events:none;opacity:1;transition:opacity 1.1s;position:absolute;inset:0}.count-ui.leaving{opacity:0;pointer-events:none}.count-number{top:max(8%,calc(env(safe-area-inset-top) + 26px));text-align:center;width:100%;font-family:var(--font-round);font-variant-numeric:tabular-nums;color:#ffe8a5;letter-spacing:.035em;font-size:clamp(32px,9vw,42px);font-weight:700;position:absolute;left:0;pointer-events:auto}.count-number.wrong{animation:.32s wrong-shake}@keyframes wrong-shake{0%,to{transform:translate(0);color:#ffe8a5}20%{transform:translate(-6px);color:#c9b48a}50%{transform:translate(5px)}75%{transform:translate(-3px)}}.count-ui.leaving .count-number{pointer-events:none}.count-button{bottom:max(8%,calc(env(safe-area-inset-bottom) + 25px));pointer-events:auto;background:#ffe18d0d;border:1px solid #f6d58078;border-radius:32px;place-items:center;width:90px;height:90px;padding:0;display:grid;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 5px #030b232a}.count-button span{color:#ffe398;font-size:38px;font-weight:700;line-height:1;transform:translateY(-2px)}.count-button:active{background:#ffe08c25;border-color:#ffe3a7}.count-button:disabled{pointer-events:none}.end-panel{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(86%,360px);text-align:center;display:flex;flex-direction:column;align-items:center;gap:1.4rem}.ending-line{margin:0;color:#d9dde3;letter-spacing:.18em;font-size:18px;line-height:1.8;animation:1.6s both quiet-arrival}.time-message{margin:0;color:#8f959c;letter-spacing:.08em;font-size:14px;line-height:1.9;animation:1.6s .9s both quiet-arrival}.replay-button{color:#9da2a9;animation:1s 1.8s both quiet-arrival}.pause-screen{z-index:5;background:#000d;place-items:center;display:grid;position:absolute;inset:0}@keyframes quiet-arrival{0%{opacity:0}to{opacity:1}}@media(max-height:640px){.start-panel{top:49%}.start-panel h1{font-size:32px;line-height:1.4}.instruction{margin:1.1rem 0 1rem;font-size:14px}.sound-note{margin-top:.9rem}.start-button{min-height:50px;font-size:17px}.count-button{width:78px;height:78px;bottom:max(6%,calc(env(safe-area-inset-bottom) + 16px));border-radius:28px}.count-number{top:max(6%,calc(env(safe-area-inset-top) + 18px))}}@media(prefers-reduced-motion:reduce){.text-button{transition:none}.start-button:hover,.start-button:active{transform:none}.replay-button,.ending-line,.time-message,.count-number.wrong{animation:none}}
