.game{--paper:#fdfdfb;--grid:#e3e7ef;--ink:#20232c;--ink-soft:#5a6070;--ink-faint:#9aa0ad;--mk-yellow:#fff200bf;--mk-orange:#ff9e2cb3;--mk-pink:#ff4fa080;--mk-blue:#4dd8ff8c;--mk-green:#7cff6b99;--mk-red:#ff5a5066;--q1:#e8730a;--q2:#0a958d;--pos:#e0457f;--neg:#2f7fe0;--red:#e0322b;--ok:#1f9d55;--star:#f2a100;--aim:#2f6fd0;--c-e1:var(--q1);--c-e2:var(--q2);--c-net:var(--ink);--c-pos:var(--pos);--c-neg:var(--neg);--bad:var(--red);--muted:var(--ink-soft);--font-ui:"Klee One", "Zen Kaku Gothic New", system-ui, sans-serif;--font-num:"Bungee", system-ui, sans-serif;color:var(--ink);background:var(--paper);color-scheme:light;font-family:var(--font-ui);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;position:fixed;inset:0;overflow:hidden}html.game-mode body{background:#fdfdfb}.game [hidden]{display:none!important}.game button{font:inherit;color:var(--ink);cursor:pointer;touch-action:manipulation}.game-btn{border:2.5px solid var(--ink);background:var(--paper);min-height:48px;box-shadow:3px 3px 0 var(--ink);letter-spacing:.02em;border-radius:12px;padding:8px 20px;font-size:16px;font-weight:600;transition:transform 70ms,box-shadow 70ms,background .12s}.game-btn:hover{background:linear-gradient(transparent 55%, var(--mk-yellow) 55%, var(--mk-yellow) 90%, transparent 90%), var(--paper)}.game-btn:active{box-shadow:0 0 0 var(--ink);transform:translate(3px,3px)}.game-btn.primary{color:var(--ink);background:#fff36b}.game-btn.ghost{box-shadow:none;background:0 0;border-style:dashed}.game-btn.danger{color:var(--red);border-color:var(--red)}.game-btn.small{min-height:40px;padding:4px 14px;font-size:14px}.game-btn.big{min-width:7.5em;min-height:56px;font-size:18px}.game-btn.huge{min-width:11em;min-height:64px;font-family:var(--font-num);letter-spacing:.08em;font-size:26px;font-weight:400}.game-btn:disabled{opacity:.45}.hud-btn{border:2.5px solid var(--ink);background:var(--paper);width:46px;height:46px;box-shadow:2px 2px 0 var(--ink);font-family:var(--font-num);border-radius:12px;font-size:14px}.hud-btn:active{box-shadow:none;transform:translate(2px,2px)}.game :focus-visible{outline:3px solid var(--aim);outline-offset:3px}.game .field-svg:focus-visible{outline:2px dashed var(--aim);outline-offset:-4px}.sheet-bar button{font:inherit;color:#20232c;cursor:pointer;background:#fff36b;border:2.5px solid #20232c;border-radius:12px;min-height:44px;padding:6px 16px;box-shadow:3px 3px #20232c}.board{background:linear-gradient(var(--grid) 1px, transparent 1px) 0 0 / 18px 18px, linear-gradient(90deg, var(--grid) 1px, transparent 1px) 0 0 / 18px 18px, var(--paper);position:absolute;inset:0}.field-canvas{width:100%;height:100%;transition:opacity .32s ease-out;position:absolute;inset:0}.field-canvas.veiled{opacity:0}.field-svg{touch-action:none;cursor:crosshair;width:100%;height:100%;display:block;position:absolute;inset:0}.field-svg.aim-pick{cursor:grab}.field-svg.aim-pick:active{cursor:grabbing}.field-svg.aim-drag{cursor:ns-resize;outline:none}.game[data-scene=title] .field-svg,.game[data-scene=select] .field-svg{pointer-events:none}.board.hitstop .field-svg,.board.hitstop .field-canvas{filter:saturate(2.2)contrast(1.25)}.board.glitch{animation:.45s steps(2,end) both glitch}.axis{stroke:var(--ink);stroke-width:2px}.tick-mark{stroke:var(--ink-soft)}.tick-text{fill:var(--ink-soft);font-family:var(--font-ui);font-size:11px}.exclusion{opacity:.45}.hatch-line{stroke:var(--ink-soft);stroke-width:1.5px}.orb-glow{opacity:1}.charge.pos .orb-glow{fill:var(--mk-pink)}.charge.neg .orb-glow{fill:var(--mk-blue)}.orb-core{fill:var(--paper);stroke:var(--ink);stroke-width:2.5px}.charge.zero .orb-core{fill:#e6e8ee}.charge-sign{fill:var(--ink);font-family:var(--font-num)}.charge-label{fill:var(--ink);font-family:var(--font-ui);paint-order:stroke;stroke:var(--paper);stroke-width:4px;font-weight:600}.weight{stroke:var(--ink);stroke-width:1.2px}.charge.pos .weight{fill:#ff4fa073}.charge.neg .weight{fill:#4dd8ff8c}.charge.pop .orb,.charge.pop .weights{transform-box:fill-box;transform-origin:50%;animation:.38s cubic-bezier(.2,1.6,.4,1) pop}.charge.drop .weight{animation:.38s cubic-bezier(.3,1.6,.5,1) both drop;animation-delay:calc(var(--i) * 45ms + .12s)}.arrow line{stroke-width:5px}.arrow.t1 line{stroke:var(--q1)}.arrow.t1 path,.arrow.t1 text{fill:var(--q1)}.arrow.t2 line{stroke:var(--q2);stroke-dasharray:9 5}.arrow.t2 path,.arrow.t2 text{fill:var(--q2)}.arrow.tn line{stroke:var(--ink);stroke-width:7px}.arrow.tn path,.arrow.tn text{fill:var(--ink)}.arrow-label{font-family:var(--font-ui);paint-order:stroke;stroke:var(--paper);stroke-width:4px;font-size:13px;font-weight:600}.arrow-clip{font-size:14px;font-weight:900}.zero-ring{fill:none;stroke:var(--red);stroke-width:3px}.zero-text{fill:var(--red);font-family:var(--font-ui);paint-order:stroke;stroke:var(--paper);stroke-width:3px;font-size:12px;font-weight:600}.zero-marker.pop .zero-ring{transform-box:fill-box;transform-origin:50%;animation:.42s cubic-bezier(.2,1.8,.4,1) pop}.pin{stroke:var(--ink);stroke-width:1.2px}.pin.left{fill:var(--q1)}.pin.right{fill:var(--q2)}.pin.ok{fill:var(--ok)}.pin-stem{stroke:var(--ink-soft);stroke-width:1.5px}.sensor{display:none!important}.ball-core{fill:#4dd8ff;stroke:var(--ink);stroke-width:2.5px}.ball-glow{fill:var(--mk-blue);opacity:.7}.ball-sign{fill:var(--ink);font-family:var(--font-num);font-size:15px}.ball-lock{fill:none;stroke:#0000}.ball-label{fill:var(--ink);font-family:var(--font-ui);paint-order:stroke;stroke:var(--paper);stroke-width:4px;font-size:14px;font-weight:600}.weight-caption{fill:var(--ink-soft);font-family:var(--font-ui);paint-order:stroke;stroke:var(--paper);stroke-width:3px;font-size:11px;font-weight:600}.ball.ghost .ball-core{fill:var(--paper);stroke-dasharray:4 3}.ball.ghost .ball-glow{opacity:.3}.ball.live .ball-glow{animation:.16s ease-in-out infinite alternate pulse}.ball.captured .ball-core{fill:#7cff6b}.ball.captured .ball-lock{stroke:var(--ok);stroke-width:3px;stroke-dasharray:10 6;transform-box:fill-box;transform-origin:50%;animation:1.4s linear infinite spin}.ball.captured .ball-label{fill:var(--ok);font-family:var(--font-num);font-weight:400}.ball-inner{transform-box:fill-box;transform-origin:50%}.ball-inner.dropping{animation:.28s cubic-bezier(.4,0,.7,1.6) both ball-drop}@keyframes ball-drop{0%{opacity:0;transform:translateY(-90px)scale(.6)}70%{opacity:1;transform:translateY(4px)scale(1.15,.85)}to{transform:translateY(0)scale(1)}}.trail-dot{fill:#4dd8ffcc}.ball-icon{font-size:18px}.ball-icon.full{color:#28aadc}.ball-icon.empty{color:#c9cdd6}.aim-glow{stroke:var(--mk-blue);stroke-width:10px}.aim-line{stroke:var(--aim);stroke-width:1.5px;stroke-dasharray:4 4}.aim-spin{fill:none;stroke:var(--aim);stroke-width:2.5px;stroke-dasharray:8 6;transform-box:fill-box;transform-origin:50%;animation:1.2s linear infinite spin}.aim-dot{fill:var(--aim)}.aim-bracket{fill:none;stroke:var(--aim);stroke-width:2.5px}.aim-text{fill:var(--aim);font-family:var(--font-ui);paint-order:stroke;stroke:var(--paper);stroke-width:4px;font-size:14px;font-weight:600}.error-line{stroke:var(--ink);stroke-width:3px}.error-text{fill:var(--ink);font-family:var(--font-ui);font-size:12px}.hole line{stroke:var(--ink);stroke-width:3px}.shot.perfect .error-line,.shot.perfect .hole line{stroke:var(--pos)}.shot.miss .error-line,.shot.miss .hole line{stroke:var(--red)}.shot.miss .error-text{fill:var(--red)}.ratio-edge,.ratio-bar,.ratio-tick{stroke-linecap:butt;animation:.45s ease-out both ratio-in}.ratio-edge{stroke-width:6px}.ratio-bar{stroke-width:10px;stroke-dasharray:1;stroke-dashoffset:1px;animation:.52s cubic-bezier(.3,.8,.3,1) both ratio-draw}.ratio-tick{stroke-width:2.5px;stroke:var(--ink)!important}.r1{stroke:#ff9e2ccc;fill:var(--q1)}.r2{stroke:#4dd8ffd9;fill:var(--q2)}.ratio-num{stroke:var(--paper);stroke-width:4px;paint-order:stroke;font-family:var(--font-num);font-size:15px;animation:.45s ease-out both ratio-in}@keyframes ratio-draw{to{stroke-dashoffset:0}}@keyframes ratio-in{0%{opacity:0}to{opacity:1}}.density-box{stroke:var(--ink);stroke-width:2px}.density-box.d1{fill:#fff1e0f0}.density-box.d2{fill:#e2f7fbf0}.density-dot.d1{fill:var(--q1)}.density-dot.d2{fill:var(--q2)}.density-label{font-family:var(--font-ui);paint-order:stroke;stroke:var(--paper);stroke-width:5px;font-size:16px;font-weight:600}.density-label.d1{fill:var(--q1)}.density-label.d2{fill:var(--q2)}.density-label.same{fill:var(--ok);font-size:17px}.hud{pointer-events:none;position:absolute;inset:0}.hud>*,.hud-top>*{pointer-events:auto}.hud-top{padding:max(10px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) 0 max(12px, env(safe-area-inset-left));pointer-events:none;align-items:flex-start;gap:10px;display:flex;position:absolute;top:0;left:0;right:0}.stage-chip{background:linear-gradient(transparent 30%, var(--mk-blue) 30%, var(--mk-blue) 88%, transparent 88%), var(--paper);border:2px solid var(--ink);font-family:var(--font-num);letter-spacing:.06em;color:var(--ink);white-space:nowrap;border-radius:999px;align-self:center;padding:6px 14px;font-size:13px}.hud-stats{align-items:center;gap:8px;margin-left:auto;display:flex}.stat{background:var(--paper);border:2px solid var(--ink);box-shadow:2px 2px 0 var(--ink);border-radius:12px;flex-direction:column;align-items:flex-end;padding:4px 12px;line-height:1.05;display:flex}.stat-label{white-space:nowrap;font-family:var(--font-num);letter-spacing:.14em;color:var(--ink-soft);font-size:9px}.stat-value{font-family:var(--font-num);font-variant-numeric:tabular-nums;color:var(--ink);transform-origin:100%;font-size:24px}.combo-stat{align-items:center}.combo-stat.hot .stat-value{background:linear-gradient(transparent 35%, var(--mk-pink) 35%, var(--mk-pink) 90%, transparent 90%)}.hud-mult{font-family:var(--font-num);color:var(--red);font-size:11px}.lives-stat{flex-direction:row;gap:2px;padding:6px 10px;font-size:22px}.stars-stat{color:var(--star);padding:6px 10px;font-size:20px}.heart{display:inline-block}.heart.full{color:var(--red)}.heart.empty{color:#c9cdd6}.heart.breaking{color:var(--bad);animation:.65s ease-in both heart-break}.round-timer{background:#20232c14;height:8px;position:absolute;top:0;left:0;right:0}.round-timer-fill{background:var(--ink);transform-origin:0;height:100%}.board.urgent~.hud .round-timer-fill,.game:has(.board.urgent) .round-timer-fill{background:var(--red);animation:.3s ease-in-out infinite alternate pulse}.dialog{left:50%;bottom:max(12px, env(safe-area-inset-bottom));background:var(--paper);border:2.5px solid var(--ink);width:min(760px,100% - 24px);box-shadow:4px 4px 0 var(--ink);border-radius:16px;padding:20px 18px 12px;position:absolute;transform:translate(-50%)}.dialog-name{background:var(--ink);border:2px solid var(--ink);color:var(--paper);border-radius:8px;margin:0;padding:2px 12px;font-size:13px;font-weight:600;position:absolute;top:-14px;left:14px}.dialog-text{min-height:1.5em;margin:0;font-size:16px;font-weight:600;line-height:1.5}.dialog-sub{min-height:1.3em;font-family:var(--font-ui);color:var(--ink-soft);font-variant-numeric:tabular-nums;margin:4px 0 0;font-size:13px;line-height:1.5}.dialog-actions{justify-content:flex-end;gap:8px;margin-top:6px;display:flex}.dialog-actions:not(:has(button:not([hidden]))){display:none}.dialog-hint{background:var(--paper);border:2px solid var(--ink);min-height:30px;box-shadow:2px 2px 0 var(--ink);white-space:nowrap;border-radius:8px;margin:0;padding:2px 12px;font-size:13px;font-weight:600;position:absolute;top:-16px;right:14px}.dialog-hint:active{box-shadow:none;transform:translate(2px,2px)}.dialog-hint[hidden]{display:none}.aim-pad{justify-content:center;align-items:stretch;gap:8px;margin-top:8px;display:flex}.aim-stepper{border:2px solid var(--ink);background:var(--paper);border-radius:12px;flex:1;align-items:center;gap:4px;min-width:0;max-width:360px;padding:3px;display:flex}.aim-readout{white-space:nowrap;flex-direction:column;flex:1;justify-content:center;align-items:center;min-width:0;line-height:1.15;display:flex;overflow:hidden}.aim-name{color:var(--ink-soft);font-size:11px;font-weight:600}.aim-value{font-variant-numeric:tabular-nums;background:linear-gradient(transparent 55%, var(--mk-yellow) 55%, var(--mk-yellow) 92%, transparent 92%);font-size:17px;font-weight:700}.aim-fire{white-space:nowrap;min-width:6.2em;min-height:44px;padding:4px 14px}.aim-pad.off .aim-stepper,.aim-pad.off .aim-fire{opacity:.45}.aim-fire.nudge,.aim-stepper.nudge{animation:.52s ease-out 2 nudge}@keyframes nudge{0%,to{transform:none}30%{background:#fff200;transform:scale(1.12)rotate(-2deg)}}.lab-pad{border-top:1.5px dashed var(--ink-faint);flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 10px;margin-top:8px;padding-top:8px;display:flex}.lab-pad[hidden]{display:none}.stepper-pad{background:var(--paper);border:2px solid var(--ink);border-radius:12px;align-items:center;gap:3px;padding:3px;display:flex}.pad-label{color:var(--ink-soft);white-space:nowrap;padding:0 4px 0 6px;font-size:13px;font-weight:600}.pad-btn{border:2px solid var(--ink);background:var(--paper);width:40px;height:38px;box-shadow:2px 2px 0 var(--ink);border-radius:9px;flex:none;font-size:20px;line-height:1}.pad-btn:active{box-shadow:none;transform:translate(2px,2px)}.pad-btn:disabled{opacity:.4}.pad-value{text-align:center;white-space:nowrap;font-variant-numeric:tabular-nums;min-width:2.6em;font-size:15px;font-weight:700}.pad-toggle{white-space:nowrap;border:2px solid var(--ink);background:var(--paper);height:44px;box-shadow:2px 2px 0 var(--ink);border-radius:12px;padding:0 12px;font-weight:600}.pad-toggle[aria-pressed=true]{background:#7cff6b}.coach{z-index:6;pointer-events:none;flex-direction:column;align-items:flex-start;gap:2px;display:flex;position:absolute;transform:translate(-12px,-4px)}.coach[hidden]{display:none}.coach-hand{filter:drop-shadow(2px 2px #20232c59);font-size:34px;line-height:1}.coach-y .coach-hand{animation:1.4s ease-in-out infinite coach-y}.coach-x .coach-hand,.coach-arc .coach-hand{animation:1.4s ease-in-out infinite coach-x}.coach.up{flex-direction:column-reverse;transform:translate(-12px,calc(30px - 100%))}.coach-y .coach-text{margin-top:14px}.coach-y.up .coach-text{margin:0 0 14px}.coach-text{border:2px solid var(--ink);width:max-content;max-width:13em;box-shadow:2px 2px 0 var(--ink);white-space:pre-line;word-break:keep-all;overflow-wrap:anywhere;background:#fff36b;border-radius:10px;padding:5px 10px;font-size:13px;font-weight:600;line-height:1.4}@keyframes coach-y{0%,to{transform:translateY(14px)}50%{transform:translateY(-14px)}}@keyframes coach-x{0%,to{transform:translate(-12px)}50%{transform:translate(12px)}}.dialog-sub .c1{color:var(--q1);font-weight:700}.dialog-sub .c2{color:var(--q2);font-weight:700}.dialog-sub b{color:var(--ink);background:linear-gradient(transparent 35%, var(--mk-yellow) 35%, var(--mk-yellow) 92%, transparent 92%)}.dialog-sub .step{animation:.3s cubic-bezier(.2,1.4,.4,1) both step-in;animation-delay:calc(var(--s) * .22s + .25s);font-size:14px;display:inline-block}@keyframes step-in{0%{opacity:0;transform:translateY(8px)scale(.8)}to{opacity:1;transform:none}}@media (width>=900px){.stat-value{font-size:30px}.lives-stat{font-size:26px}.dialog-text{font-size:18px}.dialog-sub{font-size:13px}}@media (height<=620px){.dialog{padding:18px 14px 10px}.dialog-text{font-size:15px}.dialog-sub:not(:has(.step)){display:none}}@media (height<=480px){.dialog{padding:14px 14px 8px}.dialog-sub{display:none}.aim-pad,.lab-pad{margin-top:4px}.lab-pad{flex-wrap:nowrap;padding-top:4px}.pad-btn{height:32px}.aim-fire,.pad-toggle{height:36px;min-height:36px}}@media (width<=480px){.hud-top{gap:6px}.stage-chip{padding:5px 10px;font-size:11px}.stat{padding:3px 8px}.stat-value{font-size:20px}.lives-stat{font-size:18px}.aim-fire{min-width:4.6em;padding:4px 10px}.pad-btn{width:34px}.pad-value{min-width:2.2em}.coach-text{max-width:11.5em;font-size:12px}}@media (width<=360px){.hud-top{gap:4px}.hud-top .hud-btn{width:40px;height:40px}.stage-chip{letter-spacing:0;padding:4px 7px;font-size:10px}.hud-stats{gap:4px}.stat{padding:2px 6px}.stat-label{letter-spacing:0;font-size:7px}.stat-value{font-size:17px}.lives-stat{font-size:14px}.aim-fire{min-width:4.2em;padding:4px 8px;font-size:15px}.pad-btn{width:30px}.pad-label{padding:0 2px 0 4px;font-size:11px}.stepper-pad{gap:2px}}.scene{padding:max(16px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom));text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;display:flex;position:absolute;inset:0}.title-scene{background:radial-gradient(at 50% 45%,#fdfdfb8c,#fdfdfbd9 70%)}.title-brand{letter-spacing:.4em;color:var(--ink-soft);margin:0;font-size:18px;font-weight:600}.title-logo{color:var(--ink);margin:0;font-size:clamp(2.6rem,12vw,5.2rem);font-weight:600;line-height:1.25;animation:3s ease-in-out infinite float}.title-logo span{background:linear-gradient(transparent 52%, var(--mk-yellow) 52%, var(--mk-yellow) 94%, transparent 94%);-webkit-box-decoration-break:clone;box-decoration-break:clone;padding:0 .08em}.title-sub{font-family:var(--font-num);letter-spacing:.3em;color:var(--q1);margin:0 0 18px;font-size:13px}#title-start,#challenge-start{animation:1.4s ease-in-out infinite breathe}.select-scene{backdrop-filter:blur(2px);background:#fdfdfbe6;justify-content:flex-start}.select-head{align-items:center;gap:12px;width:min(560px,100%);display:flex}.select-title{text-align:left;min-width:0;font-family:var(--font-num);white-space:nowrap;color:var(--ink);flex:1;margin:0;font-size:clamp(15px,5vw,22px)}.select-title:before{content:"もくじ ";font-family:var(--font-ui);background:linear-gradient(transparent 50%, var(--mk-blue) 50%, var(--mk-blue) 92%, transparent 92%);font-weight:600}.select-stars{font-family:var(--font-num);color:var(--star);margin:0}.stage-map{flex-direction:column;flex:1;gap:14px;width:min(560px,100%);min-height:0;margin:0;padding:8px 6px 8px 0;list-style:none;display:flex;position:relative;overflow-y:auto}.map-node:nth-child(odd){padding-right:18%}.map-node:nth-child(2n){padding-left:18%}.node-btn{border:2.5px solid var(--ink);background:var(--paper);width:100%;box-shadow:4px 4px 0 var(--ink);text-align:left;border-radius:16px;grid-template-columns:auto 1fr auto;align-items:center;gap:2px 14px;padding:10px 16px 10px 10px;transition:transform 80ms;display:grid}.node-btn:active{box-shadow:none;transform:translate(4px,4px)}.node-num{border:2.5px solid var(--ink);width:52px;height:52px;font-family:var(--font-num);color:var(--ink);background:#fff36b;border-radius:50%;place-items:center;font-size:22px;display:grid}.node-name{white-space:nowrap;min-width:0;font-size:17px;font-weight:600}.node-sub{font-family:var(--font-num);color:var(--star);white-space:nowrap;font-size:13px}.node-btn.cleared .node-num{background:#7cff6b}.node-btn.next{animation:1.2s ease-in-out infinite alternate node-glow}.boss .node-btn{background:linear-gradient(transparent 20%, var(--mk-yellow) 20%, var(--mk-yellow) 80%, transparent 80%), var(--paper)}.boss .node-num{background:#ff4fa099;width:58px;height:58px;font-size:26px}.boss .node-name{font-size:18px}@media (width<=480px){.map-node:nth-child(odd){padding-right:8%}.map-node:nth-child(2n){padding-left:8%}.node-btn{grid-template-columns:auto 1fr;column-gap:12px;padding:8px 12px 8px 8px}.node-num{grid-row:span 2}.node-sub{grid-column:2}}.lab .node-num{background:#4dd8ffb3}.modal{backdrop-filter:blur(2px);z-index:5;background:#fdfdfb9e}.card{background:var(--paper);border:2.5px solid var(--ink);width:min(460px,100%);box-shadow:6px 6px 0 var(--ink);border-radius:18px;flex-direction:column;align-items:center;gap:12px;padding:22px 20px;animation:.28s cubic-bezier(.2,1.4,.4,1) both card-in;display:flex}.modal .card{max-height:calc(100dvh - 32px);overflow-y:auto}.card p{margin:0}.card-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.predict-q{font-size:20px;font-weight:600;line-height:1.5}.result-title{font-family:var(--font-num);color:var(--ink);background:linear-gradient(transparent 30%, var(--mk-green) 30%, var(--mk-green) 90%, transparent 90%);padding:0 .2em;font-size:clamp(1.8rem,7vw,2.6rem);transform:rotate(-2deg)}.result-stars{letter-spacing:6px;color:var(--star);font-size:44px}.result-text{font-size:16px;line-height:1.7}#discovery.failed .result-title{background:linear-gradient(transparent 30%, var(--mk-red) 30%, var(--mk-red) 90%, transparent 90%);color:var(--red)}.challenge-logo{font-family:var(--font-num), var(--font-ui);white-space:nowrap;color:var(--ink);background:linear-gradient(transparent 35%, var(--mk-yellow) 35%, var(--mk-yellow) 92%, transparent 92%);padding:0 .2em;font-size:clamp(1.15rem,6vw,1.7rem)}#challenge-body{flex-direction:column;gap:8px;font-size:15px;line-height:1.7;display:flex}#challenge-body .small{color:var(--ink-soft);font-size:13px}.best-line{font-family:var(--font-num);color:var(--ink)}#challenge-panel.over .challenge-logo{display:none}.report{text-align:left;background:linear-gradient(90deg, transparent 17px, #f06e6e99 17px, #f06e6e99 19px, transparent 19px), linear-gradient(var(--grid) 1px, transparent 1px) 0 0 / 14px 14px, linear-gradient(90deg, var(--grid) 1px, transparent 1px) 0 0 / 14px 14px, var(--paper);border:1.5px solid #c9cdd6;border-radius:6px;gap:10px;width:100%;padding:16px 14px 14px 30px;display:grid;position:relative;transform:rotate(-.8deg)}.report-tape{background:#4dd8ff73;border-left:2px dashed #ffffffb3;border-right:2px dashed #ffffffb3;width:92px;height:22px;position:absolute;top:-11px;left:50%;translate:-50%;rotate:3deg}.report-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:2px 10px;display:flex}.report-kind{font-size:15px;font-weight:600}.report-date{color:var(--ink-soft);font-size:12px}.report-main{grid-template-columns:auto 1fr;align-items:center;gap:14px;display:grid}.grade{opacity:0;place-items:center;width:104px;height:104px;display:grid;position:relative}.grade.slam{animation:.5s cubic-bezier(.2,1.5,.4,1) both rank-slam}.grade svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible;rotate:-4deg}.grade path{fill:none;stroke:var(--red);stroke-width:4px;stroke-linecap:round;stroke-linejoin:round}.grade span{font-family:var(--font-num);color:var(--red);font-size:52px;line-height:1}.grade-C span{font-size:32px;translate:0 14px}.grade-S span{font-size:40px}.report-score{flex-direction:column;align-items:flex-start;gap:2px;min-width:0;display:flex}.report-label{font-family:var(--font-num);letter-spacing:.08em;color:var(--ink-soft);font-size:12px}.report-score b{font-family:var(--font-num);font-variant-numeric:tabular-nums;white-space:nowrap;background:linear-gradient(transparent 45%, var(--mk-yellow) 45%, var(--mk-yellow) 92%, transparent 92%);padding:0 .12em;font-size:clamp(2rem,10vw,2.6rem);font-weight:400;line-height:1.1}.new-best{font-family:var(--font-num);white-space:nowrap;background:var(--mk-pink);padding:0 .3em;font-size:14px;animation:.4s ease-in-out infinite alternate pulse}.report-title{flex-wrap:wrap;align-items:baseline;gap:4px 10px;display:flex}.report-title .report-label{font-family:var(--font-ui);font-size:13px;font-weight:600}.report-title mark{color:var(--ink);white-space:nowrap;background:linear-gradient(transparent 45%, var(--mk-blue) 45%, var(--mk-blue) 92%, transparent 92%);padding:0 .15em;font-size:22px;font-weight:600}.report-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;display:grid}.report-stats div{border:2px solid var(--ink);background:var(--paper);box-shadow:2px 2px 0 var(--ink);border-radius:8px;justify-items:center;padding:4px 2px 2px;display:grid}.report-stats dt{font-family:var(--font-num);white-space:nowrap;color:var(--ink-soft);font-size:10px}.report-stats dd{font-family:var(--font-num);margin:0;font-size:22px;line-height:1.2}.report-comment{color:var(--red);transform-origin:0;font-size:17px;font-weight:600;transform:rotate(-1.5deg)}.share-row{justify-content:center;gap:10px;display:flex}.share-note{min-height:1.2em;color:var(--ink-soft);font-size:13px}.share-note:empty{display:none}@media (height<=640px){#challenge-panel.over .card{gap:8px;padding:16px 14px}#challenge-panel.over .game-btn.huge{min-height:50px;font-size:20px}.report{gap:6px;padding-top:12px;padding-bottom:10px}.grade{width:80px;height:80px}.grade span{font-size:40px}.grade-C span{font-size:28px}.report-title mark{font-size:19px}.report-stats dd{font-size:18px}.report-comment{font-size:15px}}.pause-card{gap:10px}.pause-card .game-btn{width:100%}.pause-title{font-family:var(--font-num);letter-spacing:.2em;color:var(--ink);font-size:2rem}.toggles{flex-direction:column;gap:6px;width:100%;margin:4px 0;display:flex}.toggle{border:2px dashed var(--ink-soft);background:var(--paper);border-radius:12px;justify-content:space-between;align-items:center;min-height:46px;padding:0 14px;font-weight:600;display:flex}.toggle b{font-family:var(--font-num);border:2px solid var(--ink);min-width:3.2em;color:var(--ink-soft);background:#e9ebf0;border-radius:8px;padding:2px 8px;font-weight:400}.toggle b:after{content:"OFF"}.toggle[aria-pressed=true] b{color:var(--ink);background:#7cff6b}.toggle[aria-pressed=true] b:after{content:"ON"}.notice{max-width:28em;color:var(--ink-soft);font-size:14px}.title-links{color:var(--ink-soft);margin:8px 0 0;font-size:12px}.title-links a{color:var(--ink-soft)}.quiz-card{gap:10px}.quiz-title{font-family:var(--font-num);color:var(--ink);background:linear-gradient(transparent 30%, var(--mk-blue) 30%, var(--mk-blue) 90%, transparent 90%);padding:0 .2em;font-size:1.6rem}.quiz-options{flex-direction:column;gap:8px;width:100%;display:flex}.quiz-btn{width:100%;min-height:52px;font-family:var(--font-ui);font-size:18px}.quiz-btn.ok{opacity:1;background:#7cff6bbf}.quiz-btn.ng{border-color:var(--red);color:var(--red);background:var(--mk-red);opacity:1}.quiz-card .c1{color:var(--q1);font-weight:700}.quiz-card .c2{color:var(--q2);font-weight:700}.quiz-card b{color:var(--ink);background:linear-gradient(transparent 35%, var(--mk-yellow) 35%, var(--mk-yellow) 92%, transparent 92%)}.quiz-steps{gap:6px;display:flex}.quiz-steps span{background:#dfe2e9;border-radius:3px;width:22px;height:6px}.quiz-steps span.done{background:var(--ok)}.quiz-steps span.now{background:var(--ink)}.quiz-q{font-size:17px;line-height:1.5}.quiz-figure{justify-content:center;width:100%;display:flex}.quiz-fig{width:100%;max-width:340px;height:auto}.quiz-fig.small{max-width:180px}.quiz-opt-fig{width:100%;max-width:220px;height:34px}.quiz-options.answered .quiz-btn{min-height:40px;font-size:15px}.quiz-options.answered .quiz-btn:not(.ok):not(.ng){display:none}.quiz-why{flex-direction:column;align-items:center;gap:6px;animation:.26s cubic-bezier(.2,1.4,.4,1) both card-in;display:flex}.quiz-verdict{color:var(--ok);font-size:22px;font-weight:600}.quiz-why.ng .quiz-verdict{color:var(--red)}.quiz-up{font-family:var(--font-num);color:var(--ink);background:var(--mk-pink);padding:0 .2em}.quiz-why-text{font-size:15px;line-height:1.6}.clear-banner{font-family:var(--font-num);white-space:nowrap;pointer-events:none;color:var(--ink);background:var(--mk-yellow);clip-path:polygon(1% 12%,99% 0%,100% 86%,0% 100%);margin:0;padding:.05em .35em;font-size:clamp(2rem,8vw,3.6rem);position:absolute;top:22%;left:50%;transform:translate(-50%)}.clear-banner.slam{animation:.42s cubic-bezier(.2,1.4,.4,1) both slam}.clear-banner.perfect{background:var(--mk-pink)}.clear-banner.great{background:var(--mk-blue)}.clear-banner.good{background:var(--mk-yellow)}.clear-banner.miss{color:var(--red);background:var(--mk-red)}.clear-banner.level{background:var(--mk-green)}.combo-banner{font-family:var(--font-num);white-space:nowrap;color:var(--ink);clip-path:polygon(0% 10%,100% 0%,99% 92%,1% 100%);pointer-events:none;background-image:linear-gradient(90deg,#ff4fa08c,#fff200bf,#7cff6b99,#4dd8ff99,#ff4fa08c);background-size:200% 100%;margin:0;padding:.05em .4em;font-size:clamp(1.3rem,5vw,2.2rem);position:absolute;top:34%;left:50%;transform:translate(-50%)}.combo-banner.show{animation:1.2s cubic-bezier(.2,1.3,.4,1) both combo-in,.8s linear infinite rainbow}.countdown{font-family:var(--font-num);color:var(--ink);pointer-events:none;place-items:center;margin:0;font-size:clamp(5rem,22vw,10rem);display:grid;position:absolute;inset:0}.countdown.tick{animation:.46s cubic-bezier(.2,1.4,.4,1) both count-pop}.countdown.go{color:var(--red);animation:.52s cubic-bezier(.2,1.6,.4,1) both count-pop}.fx-canvas,.screen-flash,.vignette{pointer-events:none;position:fixed;inset:0}.fx-canvas{z-index:40;width:100vw;height:100vh}.screen-flash{z-index:41;opacity:0;mix-blend-mode:multiply}.vignette{z-index:39;opacity:0;background:radial-gradient(#0000 45%,#ff3c3c73)}.vignette.danger{animation:.5s ease-in-out infinite alternate danger}.score-fly{z-index:45;color:#20232c;pointer-events:none;white-space:nowrap;background:#ff4fa080;padding:0 .25em;font-family:Bungee,system-ui,sans-serif;font-size:26px;position:fixed}.score-fly.great{background:#4dd8ff8c}.score-fly.good{background:#fff200bf}.game.fever:after{content:"";pointer-events:none;animation:1s linear infinite fever-glow;position:absolute;inset:0}.game.fever .combo-stat .stat-value{background:linear-gradient(90deg,#ff4fa099,#fff200cc,#4dd8ff99)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pop{0%{transform:scale(.2)}to{transform:scale(1)}}@keyframes drop{0%{opacity:0;transform:translateY(-46px)}60%{opacity:1}to{transform:translateY(0)}}@keyframes pulse{0%{opacity:.6}to{opacity:1}}@keyframes slam{0%{opacity:0;transform:translate(-50%)scale(3.2)rotate(-10deg)}55%{opacity:1;transform:translate(-50%)scale(.88)rotate(2deg)}to{opacity:1;transform:translate(-50%)scale(1)rotate(0)}}@keyframes combo-in{0%{opacity:0;transform:translate(-50%)translateY(30px)scale(.5)}20%{opacity:1;transform:translate(-50%)translateY(0)scale(1.15)}80%{opacity:1;transform:translate(-50%)scale(1)}to{opacity:0;transform:translate(-50%)translateY(-20px)scale(1)}}@keyframes rainbow{to{background-position:200% 0}}@keyframes count-pop{0%{opacity:0;transform:scale(2.4)}45%{opacity:1;transform:scale(.9)}to{opacity:.9;transform:scale(1)}}@keyframes danger{0%{opacity:.25}to{opacity:.9}}@keyframes glitch{0%{filter:none;transform:translate(0)}20%{filter:hue-rotate(90deg)saturate(3);transform:translate(-6px,2px)skew(6deg)}40%{filter:hue-rotate(-60deg)contrast(2);transform:translate(5px,-3px)skew(-4deg)}60%{filter:grayscale()contrast(1.6);transform:translate(-3px,1px)}80%{filter:hue-rotate(30deg);transform:translate(2px)skew(2deg)}to{filter:none;transform:translate(0)}}@keyframes fever-glow{0%{box-shadow:inset 0 0 0 8px #ff4fa08c}25%{box-shadow:inset 0 0 0 8px #fff200cc}50%{box-shadow:inset 0 0 0 8px #7cff6ba6}75%{box-shadow:inset 0 0 0 8px #4dd8ff99}to{box-shadow:inset 0 0 0 8px #ff4fa08c}}@keyframes heart-break{0%{transform:scale(1)}25%{filter:saturate(2);transform:scale(1.8)rotate(-12deg)}55%{transform:scale(1.2)rotate(18deg)translateY(4px)}to{color:#c9cdd6;opacity:.6;transform:scale(.9)translateY(10px)}}@keyframes breathe{50%{filter:saturate(1.4);transform:scale(1.06)}}@keyframes float{50%{transform:translateY(-8px)}}@keyframes node-glow{0%{box-shadow:4px 4px 0 var(--ink), 0 0 0 3px #ff4fa026}to{box-shadow:4px 4px 0 var(--ink), 0 0 0 7px #ff4fa08c}}@keyframes card-in{0%{opacity:0;transform:scale(.7)translateY(20px)}to{opacity:1;transform:none}}@keyframes rank-slam{0%{opacity:0;transform:scale(4)rotate(-20deg)}60%{opacity:1;transform:scale(.85)rotate(4deg)}to{opacity:1;transform:scale(1)rotate(0)}}.reduce-motion .game *,.reduce-motion .game,.reduce-motion .game:after{transition:none!important;animation:none!important}.reduce-motion .grade{opacity:1}
