:root{--ink: #1c2340;--accent: #ff5a36;--accent2: #2fa8ff;--panel: rgba(255, 255, 255, .94);--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);font-family:Hiragino Kaku Gothic ProN,Hiragino Sans,Noto Sans JP,Yu Gothic,Meiryo,system-ui,sans-serif;color:var(--ink)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;height:100%;overflow:hidden;background:#bfe3ff;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;overscroll-behavior:none}#gl{position:fixed;inset:0;width:100%;height:100%;display:block}#touch{position:fixed;inset:0;touch-action:none}.hidden{display:none!important}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation}#hud{position:fixed;inset:0;pointer-events:none;padding:calc(10px + var(--safe-top)) 14px 0;text-shadow:0 2px 0 rgba(255,255,255,.7)}.hud-top{display:flex;justify-content:center;align-items:center;position:relative}.hud-time{font-size:30px;font-weight:900;font-variant-numeric:tabular-nums;letter-spacing:.02em}.icon-btn{pointer-events:auto;position:absolute;right:0;top:0;width:44px;height:44px;border-radius:12px;border:none;background:#1c2340bf;color:#fff;font-weight:900;font-size:16px}.hud-rank{text-align:center;font-size:38px;font-weight:900;line-height:1.05;color:var(--accent);font-variant-numeric:tabular-nums;-webkit-text-stroke:1px #fff}.hud-rank small{font-size:18px;margin-left:2px}.hud-rank.first{color:#e0a800}.hud-dist{text-align:center;font-size:14px;font-weight:700}.progress{position:relative;height:8px;margin:6px auto 0;max-width:420px;border-radius:4px;background:#1c234040}.progress-me,.progress-leader{position:absolute;top:-4px;width:16px;height:16px;border-radius:50%;margin-left:-8px;border:2px solid #fff}.progress-me{background:var(--accent2);z-index:1}.progress-leader{background:#ffc21a}.gauges{display:flex;gap:10px;max-width:420px;margin:10px auto 0}.gauge{flex:1}.gauge label{font-size:11px;font-weight:700}.bar{height:10px;border-radius:5px;background:#1c23404d;overflow:hidden}.bar i{display:block;height:100%;width:100%;background:#42c86a;transition:background .2s}.bar i.low{background:#ff3b30}.bar.stamina i{background:#ffb21a}.toast{text-align:center;margin-top:14px;font-size:22px;font-weight:900;color:#fff;-webkit-text-stroke:1px var(--accent);text-shadow:0 3px 0 var(--accent);opacity:0;transition:opacity .2s}.toast.show{opacity:1}.countdown{position:absolute;left:0;right:0;top:36%;text-align:center;font-size:96px;font-weight:900;color:#fff;text-shadow:0 6px 0 var(--accent),0 0 30px rgba(0,0,0,.2)}#controls{position:fixed;left:0;right:0;bottom:0;padding:0 12px calc(16px + var(--safe-bottom));display:flex;align-items:flex-end;justify-content:space-between;pointer-events:none}.hint-zone{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;color:#ffffffd9;background:#1c234040;font-size:22px;margin-bottom:18px}.ctrl-buttons{display:flex;align-items:flex-end;gap:12px}.ctrl{pointer-events:auto;touch-action:none;border:none;border-radius:50%;color:#fff;font-weight:900;box-shadow:0 5px #00000040}.ctrl.step{width:104px;height:104px;background:var(--accent);font-size:17px}.ctrl.dash{width:66px;height:66px;background:#ffb21a;font-size:12px}.ctrl.pressed{transform:translateY(3px);box-shadow:0 2px #00000040}@media(hover:hover)and (pointer:fine){body:not(.touch) #controls{display:none}}.screen{position:fixed;inset:0;display:grid;place-items:center;padding:16px;background:#141e3c40;overflow-y:auto}.panel{width:min(420px,100%);background:var(--panel);border-radius:22px;padding:22px 20px;box-shadow:0 12px 40px #0003;text-align:center}.title-panel h1{margin:4px 0 8px;font-size:40px;line-height:1.05;font-weight:900}.title-panel .big{font-size:72px;color:var(--accent);letter-spacing:-.03em}.kicker{margin:0;font-size:13px;font-weight:700;color:#59607a}.tagline{font-weight:700;margin:0 0 18px}h2{margin:0 0 12px;font-size:24px}.btn{display:block;width:100%;margin:10px 0 0;padding:14px;border-radius:14px;border:2px solid var(--ink);background:#fff;font-weight:900;font-size:18px}.btn small{display:block;font-size:12px;font-weight:700;opacity:.8}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-size:22px;box-shadow:0 5px #c63a1b}.btn.small{font-size:15px;padding:10px}.row{display:flex;gap:10px}.best{font-size:13px;margin:14px 0 0;color:#59607a;min-height:1em}.ops{width:100%;border-collapse:collapse;font-size:13px;margin:8px 0}.ops th,.ops td{border-bottom:1px solid #dde;padding:6px 4px}.ops td:first-child{font-weight:700;white-space:nowrap}.tips{text-align:left;font-size:13px;padding-left:18px;line-height:1.6}.warn{color:#d4a000}.danger{color:#ff3b30}.panel p{font-size:14px;line-height:1.6}.setting{display:flex;align-items:center;justify-content:space-between;margin:12px 0;font-weight:700}.seg{display:flex;border:2px solid var(--ink);border-radius:12px;overflow:hidden}.seg button{border:none;background:#fff;padding:8px 14px;font-weight:700}.seg button.on{background:var(--ink);color:#fff}.note{font-size:12px!important;color:#59607a}.result-panel h2{font-size:36px;color:var(--accent);margin:4px 0}.result-panel h2.lose{color:#59607a;font-size:26px}.res-time{font-size:52px;font-weight:900;font-variant-numeric:tabular-nums}.res-time small{font-size:18px}.res-new{display:inline-block;background:#ffc21a;border-radius:8px;padding:2px 10px;font-weight:900}.res-stats{display:flex;justify-content:space-around;margin:14px 0 4px}.res-stats dt{font-size:12px;color:#59607a}.res-stats dd{margin:0;font-weight:900;font-size:18px}.res-msg{font-weight:700}#rotateHint{position:fixed;bottom:10px;left:0;right:0;text-align:center;font-size:12px}.res-card{display:block;width:100%;max-height:140px;object-fit:contain;border-radius:10px;margin:6px 0 0;box-shadow:0 2px 10px #00000026}.btn.share{background:#111;border-color:#111;color:#fff}.btn:disabled{opacity:.5}#cutin{position:fixed;inset:0;overflow:hidden;z-index:20;background:#0a0f2800;transition:background .3s}#cutin.dim{background:#0a0f2873}#cutin .cut{position:absolute;width:min(86vw,64vh);aspect-ratio:16 / 9;border:5px solid #fff;box-shadow:0 10px #00000040,0 0 0 2px #111;background:#000;transform:rotate(var(--r));animation:cutL .2s cubic-bezier(.2,1.4,.4,1) both}#cutin .cut canvas{display:block;width:100%;height:100%}#cutin .cut.c1{top:4%;left:4%;--r: -3deg}#cutin .cut.c2{top:33%;right:4%;--r: 2.5deg;animation-name:cutR}#cutin .cut.c3{top:60%;left:9%;--r: -2deg}@keyframes cutL{0%{transform:translate(-130%) rotate(var(--r)) scale(1.25)}to{transform:translate(0) rotate(var(--r)) scale(1)}}@keyframes cutR{0%{transform:translate(130%) rotate(var(--r)) scale(1.25)}to{transform:translate(0) rotate(var(--r)) scale(1)}}#cutin .flash{position:absolute;inset:0;background:#fff;opacity:0;z-index:2;pointer-events:none}#cutin .flash.on{animation:flash .3s ease-out}@keyframes flash{0%{opacity:.95}to{opacity:0}}#cutin .stamp{position:absolute;left:0;right:0;top:40%;text-align:center;z-index:3;font-size:clamp(56px,16vw,120px);font-weight:900;color:#ffd23f;-webkit-text-stroke:3px #c0392b;text-shadow:0 6px 0 #c0392b,0 0 30px rgba(255,210,63,.8);animation:stamp .35s cubic-bezier(.2,1.6,.4,1) both}#cutin .stamp small{display:block;font-size:.32em;color:#fff;-webkit-text-stroke:0;text-shadow:0 3px 0 #c0392b}@keyframes stamp{0%{transform:scale(2.4) rotate(-8deg);opacity:0}to{transform:scale(1) rotate(-4deg);opacity:1}}
