*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;overscroll-behavior:none;background:#1b1c21}body{font-family:system-ui,-apple-system,Hiragino Sans,Noto Sans JP,sans-serif;color:#fff;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}#app{position:relative;width:100%;max-width:520px;height:100dvh;margin:0 auto;overflow:hidden;touch-action:none}#stage{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none}#hud{position:absolute;top:calc(8px + env(safe-area-inset-top));left:8px;right:8px;display:flex;gap:5px;align-items:center;pointer-events:none}.pill{background:#30333deb;border-radius:999px;padding:6px 11px;display:flex;align-items:baseline;gap:5px;white-space:nowrap}.pill .label{font-size:11px;letter-spacing:.04em;opacity:.8}.pill strong{font-size:20px;font-variant-numeric:tabular-nums}#score{min-width:3ch;text-align:right}button{font:inherit;color:inherit;border:0;cursor:pointer}#sound{margin-left:auto;pointer-events:auto;font-size:13px;padding:10px 12px;min-height:40px;align-items:center}#vsbar{position:absolute;left:8px;right:8px;top:calc(54px + env(safe-area-inset-top));display:flex;align-items:center;gap:8px;pointer-events:none;font-size:12px;font-weight:800;color:#ffe14d;text-shadow:0 1px 2px #000}#vsbar[hidden]{display:none}#vsbar .track{position:relative;flex:1;height:8px;border-radius:4px;background:#00000073;overflow:hidden}#vs-fill{position:absolute;left:0;top:0;bottom:0;width:0;background:#7fd4ff;transition:width .2s}#vs-fill.over{background:#ffe14d}#vs-line{position:absolute;top:-2px;bottom:-2px;right:0;width:3px;background:#ff5a5a}#missions{position:absolute;left:8px;top:calc(54px + env(safe-area-inset-top));margin:0;padding:4px 9px;list-style:none;background:#30333dbf;border-radius:10px;font-size:11px;line-height:1.5;pointer-events:none;max-width:calc(100% - 16px)}#app.vs #missions{top:calc(72px + env(safe-area-inset-top))}#missions li{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#missions li .star{color:#ffe14d;margin-right:3px}#missions li.done{color:#ffe14d;font-weight:800}#missions li.failed{opacity:.45;text-decoration:line-through}#guide{position:absolute;left:50%;top:24%;transform:translate(-50%);width:88%;text-align:center;background:#1e2028e6;border-radius:18px;padding:12px 10px;pointer-events:none;line-height:1.5;font-size:15px}#guide .title{font-size:28px;line-height:1.15;font-weight:900;margin:0 0 6px;color:#fff3c4;text-shadow:0 3px 0 #c2451f}#guide .mode{margin:0 0 6px;font-size:15px;font-weight:800;color:#7fd4ff}#guide .mode.vs{color:#ffe14d;font-size:17px}#guide p{margin:4px 0}#guide .small{font-size:13px;opacity:.95}#guide b{color:#fff3c4}#guide b.g{color:#9ff07a}#guide b.w{color:#ffb36b}#guide b.c{color:#7fd4ff}#guide b.t{color:#ff9de2}#guide .best{color:#ffd84a;font-weight:700}#guide.hide{display:none}#call{position:absolute;left:10px;bottom:40px;font-size:14px;font-weight:800;padding:10px 12px;min-height:44px;align-items:center;background:#2f6fb3;box-shadow:0 3px #1d4775}#call[hidden]{display:none}#call:disabled{background:#464a56e6;box-shadow:none;color:#ffffff73}#mode{position:absolute;left:50%;transform:translate(-50%);bottom:calc(104px + env(safe-area-inset-bottom));font-size:14px;font-weight:800;padding:10px 16px;min-height:42px;align-items:center;box-shadow:0 0 0 2px #7fd4ffb3}#mode[hidden]{display:none}#audio-hint{position:absolute;left:50%;transform:translate(-50%);bottom:calc(14px + env(safe-area-inset-bottom));font-size:15px;font-weight:800;padding:10px 18px;color:#fff;background:#1e2028eb;box-shadow:0 0 0 2px #ffe680;cursor:pointer;z-index:3}#audio-hint[hidden]{display:none}#app.need-tap #audio-hint{bottom:calc(24px + env(safe-area-inset-bottom));font-size:22px;padding:16px 30px;background:#ff9d2e;color:#2a1600;box-shadow:0 6px #b5561c;border-radius:18px}#result{position:absolute;left:4%;right:4%;bottom:calc(10px + env(safe-area-inset-bottom));background:#1e2028f5;border-radius:22px;padding:12px 14px;text-align:center;box-shadow:0 10px 40px #00000080;max-height:62%;overflow-y:auto;touch-action:pan-y}#result[hidden]{display:none}#result p{margin:0}#result-comment{position:relative;margin:0 auto 4px!important;display:inline-block;max-width:100%;background:#fff;color:#3a2a1a;font-weight:900;font-size:16px;padding:7px 14px;border-radius:16px}.result-head{display:flex;align-items:center;justify-content:center;gap:14px}#result-rank{font-size:52px;font-weight:900;line-height:1;color:#ffe14d;text-shadow:0 3px 0 #b5561c}.result-score strong{font-size:42px;font-variant-numeric:tabular-nums;line-height:1.05}.result-score span{font-size:18px;margin-left:3px}#result-title{font-size:15px;font-weight:900;color:#9ff07a}#result-next{margin-top:4px!important;font-size:19px;font-weight:900;color:#fff3c4}#result-best{font-size:14px;color:#ffd84a;font-weight:800;min-height:1.2em}#result-best.new{font-size:19px;animation:bump .6s ease-out 2}@keyframes bump{40%{transform:scale(1.15)}}#result-vs{font-size:14px;font-weight:800;color:#7fd4ff}#result-vs:empty{display:none}#result-detail{margin-top:6px!important;font-size:14px;font-weight:800}#result-missions{list-style:none;margin:4px 0 0;padding:0;font-size:13px;line-height:1.5;display:flex;flex-wrap:wrap;justify-content:center;gap:2px 10px}#result-missions .done{color:#ffe14d;font-weight:800}#result-missions .no{opacity:.55}.zukan-label{margin-top:8px!important;font-size:12px;opacity:.85}#zukan{list-style:none;margin:4px 0 0;padding:0;display:grid;grid-template-columns:repeat(6,1fr);gap:4px}#zukan li{position:relative;aspect-ratio:1;border-radius:8px;background:#ffffff14;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:900;color:#ffffff59;overflow:visible}#zukan li canvas{width:100%;height:100%}#zukan li .new{position:absolute;top:-6px;right:-4px;font-size:9px;background:#ff4d6d;color:#fff;border-radius:6px;padding:1px 4px}.actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.actions button{min-height:46px;border-radius:14px;font-size:15px;font-weight:800;background:#464b5a}.actions button.primary{grid-column:1 / -1;min-height:52px;background:#ff9d2e;color:#2a1600;font-size:22px}#share-msg{min-height:1.2em;margin:4px 0 0!important;font-size:12px;opacity:.85;word-break:break-all}#share-msg:empty{min-height:0}@media(max-height:640px){#result{padding:8px 10px;max-height:64%}#result-rank{font-size:40px}.result-score strong{font-size:32px}#result-next{font-size:16px}.actions button{min-height:42px;font-size:14px}.actions button.primary{min-height:46px;font-size:18px}#guide{font-size:13px;top:21%;padding:9px 8px}#guide .title{font-size:23px}#guide .small{font-size:12px}}@media(max-width:360px){#hud{gap:4px;left:6px;right:6px}.pill{padding:6px 8px;gap:3px}.pill strong{font-size:17px}.pill .label{font-size:10px}#sound{padding:8px 9px;font-size:12px}#guide{width:calc(100% - 20px);font-size:13px;line-height:1.4}#result{left:8px;right:8px}#result-comment{font-size:14px}#call{font-size:13px;padding:9px 10px;left:8px}}@media(min-width:521px){#app{box-shadow:0 0 0 1px #ffffff0f}}
