*{box-sizing:border-box}:root{--ink: #3d2a1c;--ink-soft: #7a5d48;--night: #141a3c;--coral: #ff6f4f;--coral-d: #c94428;--gold: #ffc531;--gold-d: #d18a00;--card: #fffaf0;--line: #ecd3a8;--sat: env(safe-area-inset-top, 0px);--sar: env(safe-area-inset-right, 0px);--sab: env(safe-area-inset-bottom, 0px);--sal: env(safe-area-inset-left, 0px)}html,body{margin:0;height:100%;overflow:hidden;background:var(--night);color:var(--ink);font-family:Zen Maru Gothic,system-ui,-apple-system,Hiragino Maru Gothic ProN,sans-serif;overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-text-size-adjust:100%;touch-action:manipulation}button{font:inherit;color:inherit;border:0;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid var(--coral);outline-offset:3px}[hidden]{display:none!important}.app{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden}.stage{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;touch-action:none;-webkit-tap-highlight-color:transparent}.gl{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}.stage.is-look{cursor:grab}.stage.is-dragging{cursor:grabbing}.stage.is-hover{cursor:pointer}.alarm-svg{display:block;width:100%;height:100%;overflow:visible}.title-alarm .a-body{fill:#ef4b4b;stroke:#a82525;stroke-width:4}.title-alarm .a-bell{fill:#ef4b4b;stroke:#a82525;stroke-width:3}.ring-lines{opacity:0}.alarm-shake{transform-box:fill-box;transform-origin:50% 90%}@keyframes blink{50%{opacity:1}}.flash{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(circle at 50% 50%,rgba(255,255,240,.9),rgba(255,236,160,.55));opacity:0}.flash.go{animation:wakeflash .34s ease-out}@keyframes wakeflash{0%{opacity:0}18%{opacity:.6}to{opacity:0}}.flash.hit{animation:hitflash .22s ease-out}@keyframes hitflash{0%{opacity:.9}to{opacity:0}}.flash.bad{background:rgba(255,60,60,.45);animation:hitflash .4s ease-out}.impact-text{position:absolute;left:0;top:0;margin:0;font-size:clamp(36px,min(12vw,15vh),88px);font-weight:900;line-height:1;white-space:nowrap;color:#ffe14a;-webkit-text-stroke:3px #7a2a1a;paint-order:stroke fill;text-shadow:0 5px 0 #7a2a1a,0 0 22px rgba(255,200,60,.8);pointer-events:none;opacity:0;translate:-50% -50%}.impact-text.show{animation:impact 1.1s cubic-bezier(.2,1.6,.4,1) forwards}@keyframes impact{0%{opacity:0;transform:scale(2.6) rotate(-14deg)}12%{opacity:1;transform:scale(.9) rotate(-8deg)}22%{transform:scale(1.08) rotate(-8deg)}75%{opacity:1;transform:scale(1) rotate(-8deg)}to{opacity:0;transform:scale(1.1) rotate(-8deg) translateY(-12px)}}.shout{position:absolute;left:0;top:0;margin:0;padding:6px 12px;border-radius:14px;background:#fff;border:3px solid var(--ink);font-size:clamp(14px,4vw,20px);font-weight:900;white-space:nowrap;pointer-events:none;opacity:0;translate:-50% -100%}.shout:after{content:"";position:absolute;left:50%;top:100%;margin-left:-7px;border:7px solid transparent;border-top-color:var(--ink)}.shout.show{animation:shout .9s ease-out forwards}@keyframes shout{0%{opacity:0;transform:scale(.4)}15%{opacity:1;transform:scale(1.1)}25%{transform:scale(1)}80%{opacity:1}to{opacity:0}}.false-text{position:absolute;left:50%;top:42%;margin:0;font-size:clamp(42px,13vw,96px);font-weight:900;white-space:nowrap;color:#ff4a3d;-webkit-text-stroke:4px #fff;paint-order:stroke fill;text-shadow:0 6px 0 rgba(0,0,0,.35);pointer-events:none;opacity:0;translate:-50% -50%}.false-text.show{animation:falsepop 1.3s cubic-bezier(.2,1.6,.4,1) forwards}@keyframes falsepop{0%{opacity:0;transform:scale(3) rotate(10deg)}14%{opacity:1;transform:scale(.92) rotate(-4deg)}20%,26%,32%{transform:scale(1) rotate(-4deg) translate(-8px)}23%,29%{transform:scale(1) rotate(-4deg) translate(8px)}to{opacity:1;transform:scale(1) rotate(-4deg)}}.miss-pop{position:absolute;margin:0;font-size:18px;font-weight:900;color:#fff;-webkit-text-stroke:3px var(--ink);paint-order:stroke fill;pointer-events:none;translate:-50% -50%;animation:misspop .6s ease-out forwards}@keyframes misspop{0%{opacity:0;transform:scale(.6)}20%{opacity:1;transform:scale(1.1)}to{opacity:0;transform:translateY(-24px)}}.vignette{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(ellipse at 50% 50%,transparent 45%,rgba(20,8,0,.55) 100%);opacity:0;transition:opacity .15s}.vignette.on{opacity:1}.hover-tag{position:absolute;left:0;top:0;margin:0;padding:2px 10px;border-radius:999px;background:var(--ink);color:#fff;font-size:13px;font-weight:900;white-space:nowrap;pointer-events:none;translate:-50% -100%}.eyelids{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.eyelids:not(.is-open):not(.is-peek){background:#05060f}.eyelids:before,.eyelids:after{content:"";position:absolute;left:-10%;right:-10%;height:52%;background:#05060f;transition:transform .2s cubic-bezier(.3,.8,.4,1)}.eyelids:before{top:0;border-radius:0 0 50% 50%/0 0 30% 30%}.eyelids:after{bottom:0;border-radius:50% 50% 0 0/30% 30% 0 0}.eyelids.is-open:before{transform:translateY(-105%)}.eyelids.is-open:after{transform:translateY(105%)}.eyelids.is-peek:before{transform:translateY(-18%)}.eyelids.is-peek:after{transform:translateY(18%)}.lid-zzz{position:absolute;left:50%;top:50%;margin:0;color:#9fb2ff;font-size:clamp(22px,6vw,34px);font-weight:900;letter-spacing:.2em;translate:-50% -50%;pointer-events:none;animation:breathe 2.4s ease-in-out infinite}@keyframes breathe{50%{opacity:.45;transform:scale(.94)}}.dir-hint{position:absolute;left:0;top:0;width:64px;height:64px;margin:-32px 0 0 -32px;pointer-events:none;display:grid;place-items:center}.dir-hint .arrow{width:0;height:0;border-top:14px solid transparent;border-bottom:14px solid transparent;border-left:26px solid #ff3b3b;filter:drop-shadow(0 0 2px #fff) drop-shadow(0 0 6px rgba(255,60,60,.8));animation:hint .5s ease-in-out infinite alternate}.dir-hint .label{position:absolute;font-size:11px;font-weight:900;color:#fff;-webkit-text-stroke:3px #ff3b3b;paint-order:stroke fill;white-space:nowrap}@keyframes hint{to{translate:6px 0}}.look-hint{position:absolute;left:50%;bottom:calc(18px + var(--sab));margin:0;padding:6px 14px;border-radius:999px;background:rgba(20,26,60,.75);color:#fff;font-size:13px;font-weight:900;white-space:nowrap;translate:-50% 0;pointer-events:none}.shout.is-fp{left:50%!important;top:auto!important;bottom:calc(70px + var(--sab));translate:-50% 0}.mission{position:absolute;left:50%;top:calc(58px + var(--sat));margin:0;display:flex;align-items:center;gap:8px;padding:6px 16px 6px 8px;border-radius:999px;background:#fff;border:3px solid var(--ink);font-size:clamp(14px,4.2vw,19px);font-weight:900;white-space:nowrap;translate:-50% 0;pointer-events:none;box-shadow:0 4px #00000040}.mission .chip{width:28px;height:28px;border-radius:50%;border:3px solid var(--dark, #333);background:var(--body, #f00);flex:none}.mission b{color:var(--dark, #333)}.mission.pop{animation:mission-pop .9s cubic-bezier(.2,1.6,.4,1)}@keyframes mission-pop{0%{transform:scale(2.2);opacity:0}18%{transform:scale(.95);opacity:1}30%{transform:scale(1.05)}to{transform:scale(1)}}.round-tag{position:absolute;left:50%;top:calc(104px + var(--sat));margin:0;translate:-50% 0;color:#fff;font-size:12px;font-weight:900;-webkit-text-stroke:3px var(--ink);paint-order:stroke fill;pointer-events:none}.clear-text{position:absolute;left:50%;top:40%;margin:0;font-size:clamp(36px,11vw,72px);font-weight:900;color:#ffe14a;-webkit-text-stroke:3px #7a2a1a;paint-order:stroke fill;white-space:nowrap;translate:-50% -50%;pointer-events:none;opacity:0}.clear-text.show{animation:impact 1s cubic-bezier(.2,1.6,.4,1) forwards}.penalty-pop{color:#ff4a3d!important}.hud{position:absolute;top:0;left:0;right:0;z-index:30;display:flex;align-items:center;gap:8px;padding:calc(8px + var(--sat)) calc(10px + var(--sar)) 8px calc(10px + var(--sal));pointer-events:none}.mini-btn{pointer-events:auto;display:inline-flex;align-items:center;justify-content:center;gap:4px;height:40px;padding:0 12px;border-radius:999px;background:rgba(255,255,255,.85);border:2px solid var(--line);color:var(--ink-soft);font-size:12px;font-weight:900;white-space:nowrap;flex:none}.mini-btn:active{transform:scale(.95)}.sound-btn{width:44px;padding:0}.sound-btn svg{width:22px;height:22px}.sound-btn .mute,.sound-btn[aria-pressed=false] .wave{display:none}.sound-btn[aria-pressed=false] .mute{display:inline}.hud-chip{flex:1;min-width:0;height:40px;display:flex;align-items:center;justify-content:center;gap:10px;border-radius:999px;background:rgba(20,26,60,.7);color:#d9e6ff;font-size:clamp(14px,4.2vw,18px);font-weight:900;white-space:nowrap;overflow:hidden}.hud-time{font-variant-numeric:tabular-nums;min-width:3.2em;text-align:right}.hud-time:empty{display:none}.hud-chip.is-ringing{background:#ff3b3b;color:#fff;animation:chipring .14s steps(1) infinite}@keyframes chipring{50%{background:#ffd84a;color:#7a1a10}}.hud-chip.is-done{background:#fff;color:var(--coral-d)}.hud-pause{padding:0 12px 0 8px}.hud-pause svg{width:18px;height:18px}.app[data-phase=title] .hud-pause,.app[data-phase=result] .hud-pause,.app.is-paused .hud-pause,.app[data-phase=title] .hud-chip,.app[data-phase=result] .hud-chip{visibility:hidden}@media (max-width: 360px){.hud-pause{width:44px;padding:0;font-size:0;gap:0}}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;flex-direction:column;align-items:center;padding:calc(58px + var(--sat)) calc(14px + var(--sar)) calc(16px + var(--sab)) calc(14px + var(--sal));overflow-y:auto;touch-action:pan-y;-webkit-overflow-scrolling:touch}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:58px;padding:12px 28px;border-radius:999px;background:linear-gradient(180deg,#ff8a6b,var(--coral));color:#fff;font-size:21px;font-weight:900;letter-spacing:.06em;text-shadow:0 2px 0 rgba(150,40,20,.4);box-shadow:0 5px 0 var(--coral-d),0 10px 22px #c944284d;text-decoration:none}.btn-primary:active{transform:translateY(4px);box-shadow:0 1px 0 var(--coral-d)}.btn-ghost{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:10px 18px;border-radius:999px;background:#fff;border:2px solid var(--line);color:var(--ink);font-size:16px;font-weight:900;text-decoration:none}.btn-ghost:active{transform:translateY(2px);background:#fff6e8}.btn-share{background:#1d1d1f;border-color:#1d1d1f;color:#fff}.site-top{position:absolute;top:calc(8px + var(--sat));left:calc(10px + var(--sal));height:40px;display:inline-flex;align-items:center;padding:0 12px;border-radius:999px;background:#fff;border:2px solid var(--line);color:var(--ink);font-size:12px;font-weight:900;text-decoration:none}.title-screen{justify-content:center;gap:12px;background:radial-gradient(ellipse at 50% 30%,rgba(40,50,120,.55),rgba(8,10,30,.82));color:#fff}.title-alarm{width:clamp(84px,24vw,120px);height:clamp(84px,24vw,120px)}.title-alarm .ring-lines{animation:blink .14s steps(1) infinite}.title-alarm .alarm-shake{animation:title-jiri 1.6s ease-in-out infinite}@keyframes title-jiri{0%,55%,to{transform:none}60%,70%,80%,90%{transform:rotate(-9deg)}65%,75%,85%,95%{transform:rotate(9deg)}}.title-logo{margin:0;text-align:center;font-size:clamp(38px,11.5vw,68px);font-weight:900;line-height:1.05;letter-spacing:.02em;color:#fff;text-shadow:0 4px 0 #ff3b3b,0 8px 18px rgba(0,0,0,.4)}.title-logo small{display:block;font-size:.56em;color:#ffd84a;text-shadow:0 3px 0 #a8461a}.title-sub{margin:0;padding:6px 16px;border-radius:999px;background:#ffd84a;color:#4a2a10;font-size:clamp(14px,4vw,18px);font-weight:900;text-align:center}.howto{margin:0;padding:10px 16px;border-radius:16px;background:rgba(255,255,255,.95);color:var(--ink);font-size:13px;font-weight:700;line-height:1.75;list-style:none;width:min(420px,100%)}.howto li:before{content:"▶ ";color:var(--coral)}.howto b{color:var(--coral-d)}.title-best{margin:0;font-size:15px;font-weight:900;color:#d9e6ff;font-variant-numeric:tabular-nums}.title-best b{font-size:22px;color:#ffd84a}.btn-start{min-width:min(320px,100%);min-height:64px;font-size:clamp(17px,5.6vw,22px);white-space:nowrap}.key-hint{margin:0;font-size:11px;color:#aab6d8}@media (hover: none) and (pointer: coarse){.key-hint{display:none}}.pause-screen{z-index:25;justify-content:center;background:rgba(8,10,30,.62)}.pause-card{margin:0;border-color:#9fb2ff}.pause-title{margin:4px 0 0;font-size:28px;font-weight:900}.pause-note{margin:4px 0 14px;font-size:12px;font-weight:700;color:var(--ink-soft)}.result-screen{justify-content:flex-start;background:rgba(255,214,110,.5)}.result-screen.is-false{background:rgba(110,120,170,.6)}.card{position:relative;width:min(420px,100%);margin:auto;padding:18px 18px 16px;border-radius:26px;background:var(--card);border:4px solid var(--gold);box-shadow:0 18px 50px #78460a66;text-align:center;animation:card-in .4s cubic-bezier(.2,1.3,.4,1) both}@keyframes card-in{0%{opacity:0;transform:translateY(24px) scale(.94)}to{opacity:1;transform:none}}.result-screen.is-false .card{border-color:#8a96bd}.newrec{position:absolute;left:50%;top:-22px;margin:0;padding:4px 18px;border-radius:999px;background:linear-gradient(90deg,#ff3b3b,#ffb31a,#ffe14a,#3fd17f,#3d9be0,#b26bff,#ff3b3b);background-size:200% 100%;color:#fff;font-size:clamp(20px,6vw,28px);font-weight:900;letter-spacing:.06em;white-space:nowrap;-webkit-text-stroke:2px #5a1a10;paint-order:stroke fill;box-shadow:0 4px #8a2a10,0 0 24px #ffdc50e6;translate:-50% 0;animation:newrec-in .6s .25s cubic-bezier(.2,1.8,.4,1) both,rainbow 1.2s linear infinite,newrec-pulse .9s .9s ease-in-out infinite}@keyframes newrec-in{0%{opacity:0;transform:scale(3) rotate(-12deg)}to{opacity:1;transform:scale(1) rotate(-3deg)}}@keyframes rainbow{to{background-position:200% 0}}@keyframes newrec-pulse{0%,to{transform:scale(1) rotate(-3deg)}50%{transform:scale(1.08) rotate(-3deg)}}.card.is-newrec{animation:card-in .4s cubic-bezier(.2,1.3,.4,1) both,glow 1s .4s ease-in-out infinite}@keyframes glow{50%{box-shadow:0 18px 50px #78460a66,0 0 0 8px #ffd63c8c}}.result-label{margin:8px 0 0;font-size:13px;font-weight:900;letter-spacing:.2em;color:var(--ink-soft)}.result-score{margin:0;font-size:clamp(56px,18vw,84px);font-weight:900;line-height:1.05;color:var(--coral-d);font-variant-numeric:tabular-nums;animation:score-in .5s .15s cubic-bezier(.2,1.6,.4,1) both}.result-score small{margin-left:4px;font-size:.34em}.result-screen.is-false .result-score{color:#5a6680;font-size:clamp(44px,14vw,64px)}@keyframes score-in{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:none}}.stamp{display:inline-block;margin:6px 0 0;padding:4px 18px 6px;border:4px solid var(--coral);border-radius:14px;background:#fff;color:var(--coral);font-size:clamp(24px,7.5vw,34px);font-weight:900;line-height:1.2;transform:rotate(-3deg);animation:stamp .45s .45s cubic-bezier(.2,1.6,.4,1) both}.stamp:before{content:"称号";display:block;font-size:11px;letter-spacing:.3em;color:var(--ink-soft)}.result-screen.is-false .stamp{border-color:#6c7a96;color:#5a6680;transform:rotate(2deg)}@keyframes stamp{0%{opacity:0;transform:rotate(-12deg) scale(2.2)}to{opacity:1;transform:rotate(-3deg) scale(1)}}.result-note{margin:10px 0 0;font-size:13px;font-weight:700;color:var(--ink-soft)}.result-best{margin:6px 0 12px;font-size:16px;font-weight:900;font-variant-numeric:tabular-nums}.result-best b{color:var(--coral-d);font-size:20px}.result-actions{display:grid;gap:8px}.result-actions .btn-primary{width:100%}.result-social .social{margin-top:12px}.result-ad{margin-top:12px;text-align:center}@media (max-height: 640px){.title-screen{gap:8px}.howto{font-size:12px;padding:6px 12px;line-height:1.6}.title-alarm{width:72px;height:72px}.title-logo{font-size:36px}.result-score{font-size:52px}}@media (max-height: 520px) and (min-width: 560px){.card{width:min(620px,100%);padding:14px 16px 12px}.result-label{margin-top:4px}.result-score{font-size:48px}.stamp{font-size:22px;padding:2px 14px 4px}.result-note{margin-top:6px}.result-best{margin:4px 0 8px}.result-actions{grid-template-columns:1fr 1fr}.result-actions #retryBtn{grid-column:1 / -1;min-height:50px}.newrec{top:-18px;font-size:20px}}@media (prefers-reduced-motion: reduce){.title-alarm .alarm-shake,.title-alarm .ring-lines,.lid-zzz,.dir-hint .arrow{animation:none}}
