:root{--bg:#0e1020;--surface:#181c33;--surface-2:#161a2f;--footer:#0a0c19;--accent:#c9f24d;--accent-ink:#0e1020;--rec:#ff5470;--fg:#fff;--fg-2:#ffffff8c;--fg-3:#ffffff73;--fg-4:#ffffff4d;--fill-1:#ffffff17;--fill-2:#ffffff12;--line:#ffffff29;--r-card:16px;--r-panel:20px;--r-btn:999px;--r-btn-sq:16px;--r-ad:14px;--r-thumb:11px;--jp:system-ui, -apple-system, "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;--mono:ui-monospace, SFMono-Regular, Menlo, monospace;--thumb-stripe:repeating-linear-gradient(135deg, #232847 0 8px, #1c2039 8px 16px)}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--fg);font-family:var(--jp);overscroll-behavior:none;margin:0}body{overflow-x:hidden}#app{-webkit-user-select:none;user-select:none;max-width:460px;min-height:100svh;margin-inline:auto;box-shadow:0 0 0 1px #ffffff0a}@media (max-width:460px){#app{box-shadow:none}}.view[hidden],svg[hidden]{display:none}.icon{width:1em;height:1em;display:block}.view--top{padding-top:env(safe-area-inset-top);display:block}.top__head{justify-content:space-between;align-items:center;padding:8px 20px 0;display:flex}.logo{font:900 24px/1 var(--jp);letter-spacing:-.5px;margin:0}.logo span{color:var(--accent)}.hero{padding:20px 20px 0}.hero__title{font:900 30px/1.25 var(--jp);text-wrap:pretty;margin:0}.hero__lead{font:400 13px/1.7 var(--jp);color:var(--fg-2);margin:10px 0 0}.top__list{flex-direction:column;gap:14px;padding:18px 20px 0;display:flex}.card-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.card-grid--wide{grid-template-columns:1fr}.card{text-align:left;background:var(--surface);border-radius:var(--r-card);color:inherit;font:inherit;cursor:pointer;border:0;padding:0;display:block;overflow:hidden}.card__thumb{background:var(--thumb-stripe) center / cover;height:106px}.card__body{padding:11px 12px 14px}.card__title{font:700 14px var(--jp)}.card__lead{font:400 11px/1.5 var(--jp);color:var(--fg-3);margin-top:4px}.footer{padding:22px 20px calc(26px + env(safe-area-inset-bottom));background:var(--footer);border-top:1px solid #ffffff0f;margin-top:28px}.footer__links{flex-wrap:wrap;gap:8px 18px;display:flex}.footer__links a{font:400 12px var(--jp);color:var(--fg-2);text-decoration:none}.footer__copy{font:400 10px var(--mono);color:#ffffff40;margin:14px 0 0}.view--game{height:100svh;padding:env(safe-area-inset-top) 18px 0;flex-direction:column;display:flex}.hud{flex:none;padding-top:6px}.hud[hidden]{display:none}.hud__row{justify-content:space-between;align-items:center;display:flex}.rec{font:700 10px var(--mono);color:var(--rec);align-items:center;gap:7px;display:inline-flex}.rec__dot{background:var(--rec);border-radius:50%;width:7px;height:7px;animation:1s infinite recblink}.hud__time{font:900 22px var(--mono);color:var(--fg);font-variant-numeric:tabular-nums}.hud--celebration .hud__time{font:700 10px var(--mono);color:var(--fg-3)}#stage-wrap{border-radius:var(--r-panel);flex:1;min-height:0;margin:18px 0;position:relative;overflow:hidden}#stage-wrap[hidden]{display:none}#stage{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;width:100%;height:100%;display:block}.hints{pointer-events:none;flex-direction:column;align-items:center;gap:10px;transition:opacity .4s;display:flex;position:absolute;bottom:56px;left:0;right:0}.hints[hidden]{display:none}.hints--out{opacity:0}.hints__pills{pointer-events:auto;flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.pill{border-radius:var(--r-btn);background:var(--fill-1);font:700 11px var(--jp);align-items:center;gap:7px;padding:8px 13px;display:inline-flex}.pill__mark{font-size:13px}.pill__mark--accent{color:var(--accent)}.pill__mark--rec{color:var(--rec)}.pill--pick{cursor:pointer;color:var(--fg-2);border:0;padding:8px 11px;transition:background .14s,color .14s}.pill--pick.is-on{background:var(--accent);color:#0e1020}.pill--pick.is-on .pill__mark{color:#0e1020}.hints__note{font:400 10px var(--jp);color:var(--fg-4);margin:0}.screen{min-height:0;padding-bottom:calc(22px + env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch;flex:1;overflow-y:auto}.screen[hidden]{display:none}.back{color:var(--fg-2);font:500 12px var(--jp);cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;margin-top:4px;padding:8px 0;display:inline-flex}.back .icon{width:14px;height:14px}.ready__head{text-align:center;padding-top:22px}.ready__title{font:900 26px/1.2 var(--jp);margin:0}.ready__lead{font:400 12px/1.7 var(--jp);color:var(--fg-2);margin:8px 0 0}.ready__best{font:400 13px var(--jp);color:var(--fg-2);min-height:1em;margin:8px 0 0}.howto{background:repeating-linear-gradient(135deg,#242a4b 0 9px,#1b2039 9px 18px);border-radius:18px;height:150px;margin-top:22px}.howto:empty[data-empty=true]{display:none}.rec-notice{font:500 11px var(--jp);color:var(--fg-3);justify-content:center;align-items:center;gap:8px;margin:20px 0 0;display:flex}.btn--start{width:100%;height:58px;font:900 19px var(--jp);margin-top:14px}.result__head{text-align:center;font:700 13px var(--jp);color:var(--fg-2);margin:8px 0 0}.result__score{justify-content:center;align-items:baseline;gap:8px;margin:6px 0 0;display:flex}.result__value{font:900 68px/1 var(--mono);color:var(--accent)}.result__unit{font:700 16px var(--jp);color:var(--fg)}.result__badge{border-radius:var(--r-btn);background:var(--fill-2);width:-moz-fit-content;width:fit-content;font:700 11px var(--jp);color:#ffffffb3;margin:8px auto 0;padding:5px 12px}.result__badge[hidden]{display:none}.preview{border-radius:var(--r-panel);aspect-ratio:3/5;background:#000;width:-moz-fit-content;width:fit-content;max-width:100%;max-height:44svh;margin:20px auto 0;position:relative;overflow:hidden}.preview__video{object-fit:contain;width:100%;height:100%;display:block}.preview__busy{font:700 12px var(--jp);color:var(--fg-2);background:#0e1020b8;place-items:center;display:grid;position:absolute;inset:0}.preview__busy[hidden]{display:none}.actions{flex-direction:column;gap:10px;margin-top:18px;display:flex}.actions__row{gap:10px;display:flex}.btn{border-radius:var(--r-btn);font:inherit;color:var(--fg);background:var(--fill-1);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border:0;transition:transform 90ms}.btn:active{transform:scale(.97)}.btn[hidden]{display:none}.btn:disabled{opacity:.45;pointer-events:none}.btn--primary{background:var(--accent);height:56px;color:var(--accent-ink);font:900 17px var(--jp)}.btn--sub{height:48px;font:700 13px var(--jp);flex:1}.btn--icon{flex:none;place-items:center;width:48px;font-size:20px;display:grid}.btn--outline{border-radius:var(--r-btn-sq);height:52px;font:800 14px var(--jp);background:0 0;border:1.5px solid #ffffff2e;flex:1}.ad{border-radius:var(--r-ad);border:1px dashed var(--line)}.ad--top{height:104px}.ad--game{height:82px;margin-top:20px}.ad--result{height:96px;margin-top:20px}.view--legal{padding:env(safe-area-inset-top) 20px 0;display:block}.legal{padding-bottom:8px}.legal__title{font:900 24px/1.3 var(--jp);margin:12px 0 0}.legal__lead{font:400 13px/1.9 var(--jp);color:var(--fg-2);margin:12px 0 0}.legal__heading{font:800 15px/1.5 var(--jp);margin:28px 0 0}.legal__text{font:400 13px/1.9 var(--jp);color:var(--fg-2);margin:10px 0 0}.legal__list{font:400 13px/1.9 var(--jp);color:var(--fg-2);margin:10px 0 0;padding-left:1.2em}.legal__list li{margin-top:4px}.legal__updated{font:400 11px var(--mono);color:var(--fg-4);margin:32px 0 0}.view--legal .footer{margin-inline:-20px}.legal,.legal *{-webkit-user-select:text;user-select:text}.rotate-guard{background:var(--bg);z-index:10;text-align:center;font:400 20px/1.8 var(--jp);place-items:center;display:none;position:fixed;inset:0}@media (orientation:landscape) and (max-height:520px){.rotate-guard{display:grid}}@keyframes recblink{0%,45%{opacity:1}50%,to{opacity:.15}}@media (prefers-reduced-motion:reduce){.rec__dot{animation:none}.btn,.hints{transition:none}}
