:root{--ground: #efe8da;--ink-0: #1e1f22;--red: #e2372a;--green: #2f9a68;--card: #fbf8f2;--paper: var(--ground);--ink: var(--ink-0);--mute: #7a6f5f;--right: var(--green);--accent: var(--red);--dot: var(--red);--coral: var(--red);--sans: "Inter", "Noto Sans SC", -apple-system, BlinkMacSystemFont, "PingFang SC", "Helvetica Neue", sans-serif;--button-font: var(--sans);--token-face: radial-gradient(circle at 34% 28%, #fffdf8 0%, #f6f0e4 46%, #e6dccb 100%);--token-side: #cbbfa9;--token-side-dark: #ab9e86;--token-drop: rgba(46, 36, 22, .3)}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden}body{background:radial-gradient(120% 80% at 50% 30%,#f6f1e7 0%,var(--paper) 62%,#e7dfcf 100%) fixed var(--paper);color:var(--ink);font-family:var(--sans);font-feature-settings:"cv11" 1;-webkit-font-smoothing:antialiased;text-autospace:normal;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none}.stage{position:fixed;top:0;right:0;bottom:0;left:0;touch-action:manipulation}.stage canvas{display:block}.pad{position:fixed;left:50%;z-index:3;display:grid;grid-template-columns:repeat(3,var(--key, 64px));gap:var(--gap, 12px) calc(var(--gap, 12px) * 1.6);transform:translate(-50%);touch-action:manipulation;transition:opacity .25s ease}body[data-phase=summary] .pad,body.no-webgl .pad{display:none}.pad__key{display:grid;place-items:center;width:var(--key, 64px);height:var(--key, 64px);padding:0;border:0;border-radius:50%;background:var(--token-face);box-shadow:inset 0 1px 1px #ffffffe6,0 4px 0 0 var(--token-side),0 6px 0 0 var(--token-side-dark),0 12px 14px -8px var(--token-drop);font:650 calc(var(--key, 64px) * .4) / 1 var(--sans);font-variant-numeric:tabular-nums;color:var(--ink);cursor:pointer;transition:transform .08s ease,box-shadow .08s ease,opacity .25s ease;-webkit-tap-highlight-color:transparent}.pad__key:disabled{cursor:default;opacity:.4}.pad__key:not(:disabled):active{transform:translateY(4px);box-shadow:inset 0 1px 1px #ffffffe6,0 1px 0 0 var(--token-side),0 2px 0 0 var(--token-side-dark),0 4px 6px -4px var(--token-drop)}.pad__key.is-hit{animation:pad-hit .2s ease}@keyframes pad-hit{0%,40%{transform:translateY(4px);box-shadow:inset 0 1px 1px #ffffffe6,0 1px 0 0 var(--token-side),0 2px 0 0 var(--token-side-dark),0 4px 6px -4px var(--token-drop)}}.pad__key:focus-visible{outline:2px solid var(--red);outline-offset:3px}.pad__key svg{width:42%;height:42%;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.pad__key--back{color:var(--mute)}.pad.is-live .pad__key--ok:disabled{opacity:.55;color:var(--mute)}.pad__key--ok.is-ready{background:radial-gradient(circle at 34% 28%,#ff6a5c 0%,var(--red) 60%,#c42a1f 100%);color:#fff;box-shadow:inset 0 1px 1px #ffffff59,0 4px #a8261c,0 6px #861d15,0 12px 14px -8px var(--token-drop)}@media(prefers-reduced-motion:reduce){.pad__key.is-hit{animation:none}}.play-brand{font-weight:700;letter-spacing:-.01em}.play-title{font-weight:700;letter-spacing:-.025em;font-size:clamp(25px,6.4vw,40px)}:lang(zh) .play-title{letter-spacing:.01em}.play-title .num{color:var(--coral);font-variant-numeric:tabular-nums;white-space:nowrap}.play-line{margin-top:8px;font-size:15px;color:var(--mute)}.readout:empty{display:none}.readout{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:8px}.verdict--right{color:var(--green)}.verdict--wrong{color:var(--coral)}.cmp{display:inline-flex;gap:14px;font-size:16px;font-weight:500;color:var(--mute)}.cmp b{font-weight:700;font-variant-numeric:tabular-nums}.cmp__you b{color:var(--coral)}.cmp__truth b{color:var(--ink)}.trap{display:inline-block;padding:3px 10px;border:1px solid color-mix(in srgb,var(--coral) 55%,transparent);border-radius:999px;font-size:12.5px;color:var(--coral)}.rankline{font-size:14px;color:var(--ink)}.rankline b{color:var(--coral)}.next.is-waiting{opacity:.35;pointer-events:none}.next.is-waiting .next__disc{animation:none}.next__disc svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.next__label{font-weight:600;letter-spacing:.02em}.sound-toggle{position:absolute;top:calc(14px + env(safe-area-inset-top));right:62px;display:grid;place-items:center;width:38px;height:38px;padding:0;border:0;border-radius:50%;background:var(--card);color:var(--ink);box-shadow:0 0 0 1px #2e241624,0 2px 6px #2e241614;cursor:pointer;pointer-events:auto}.sound-toggle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.sound-toggle .cross,.sound-toggle.is-off .wave{display:none}.sound-toggle.is-off .cross{display:inline}.sound-toggle.is-off{color:var(--mute)}.wa-lang{--wa-lang-paper: var(--card);--wa-lang-ink: var(--ink)}body.no-webgl .play-head{top:30vh}.sheet-scroll{position:fixed;top:0;right:0;bottom:0;left:0;z-index:61;overflow-y:auto;overscroll-behavior-y:auto;-webkit-overflow-scrolling:touch;pointer-events:none;scrollbar-width:none}.sheet-scroll::-webkit-scrollbar{display:none}.sheet-scroll[hidden]{display:none}.sheet{position:relative;width:min(100% - 20px,460px);margin:0 auto 24px;padding:6px 20px calc(28px + env(safe-area-inset-bottom));border-radius:16px 16px 18px 18px;background:var(--card);color:var(--ink);box-shadow:0 -10px 30px -12px #2e24164d,0 20px 40px -20px #2e241659;pointer-events:auto;user-select:text;-webkit-user-select:text;overflow:hidden}.sheet__tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;width:100%;margin:0;padding:12px 0 6px;border:0;background:none;color:var(--mute);font:inherit;font-size:13px;letter-spacing:.06em;cursor:pointer}.sheet__tab:before{content:"";display:block;width:36px;height:4px;margin:0 auto 8px;border-radius:2px;background:color-mix(in srgb,var(--ink) 22%,transparent)}.sheet__top{display:flex;justify-content:space-between;padding:10px 0 8px;border-bottom:1.5px solid var(--ink);font-size:12.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.sheet__top span:last-child{font-weight:400;letter-spacing:.02em;color:var(--mute)}.sheet__head{padding:18px 0 6px;text-align:center}.sheet__head p{margin:0}.sheet__kind{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--coral)}.sheet__title{margin-top:4px!important;font-size:22px;font-weight:700;letter-spacing:-.015em}.sheet__big{display:flex;justify-content:center;align-items:baseline;gap:18px;margin-top:10px!important}.sheet__big span{display:flex;flex-direction:column;font-size:12px;color:var(--mute)}.sheet__big b{font-size:clamp(44px,13vw,58px);font-weight:800;letter-spacing:-.04em;line-height:1.05}.sheet__big .you b{color:var(--coral)}.sheet__rank{margin-top:10px!important;font-size:15px;font-weight:600}.sheet__rank b{color:var(--coral)}.sheet__sub{margin-top:6px!important;font-size:13px;color:var(--mute)}.sheet__vs{margin-top:10px!important;display:inline-block;padding:5px 12px;border-radius:999px;background:color-mix(in srgb,var(--coral) 10%,#fff);font-size:13px}.sheet section{padding:14px 0 10px;border-top:1px solid color-mix(in srgb,var(--ink) 14%,transparent);margin-top:10px}.sheet h2{margin:0 0 10px;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}.sheet p{font-size:14px;line-height:1.55}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:12px;text-align:center}.stat b{display:block;font-size:24px;font-weight:800;line-height:1.1;letter-spacing:-.02em}.stat.hot b{color:var(--coral)}.stat span{font-size:11px;color:var(--mute)}svg.rows,svg.crowd,svg.hist,svg.ladder,svg.daily{display:block;width:100%;height:auto;font-family:var(--sans);font-variant-numeric:tabular-nums}.rows .rail{stroke:color-mix(in srgb,var(--ink) 22%,transparent);stroke-width:1}.rows .band{fill:color-mix(in srgb,var(--green) 22%,transparent)}.rows .truth{stroke:var(--ink);stroke-width:1.6}.rows .gap{stroke:var(--coral);stroke-width:2;opacity:.5}.rows .you{fill:var(--coral)}.rows .you.hit{fill:var(--green)}.rows .name{font-size:11.5px;font-weight:600;fill:var(--ink)}.rows .val{font-size:11px;fill:var(--mute)}.rows .val.miss{fill:var(--coral)}.key{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;margin:8px 0 0;font-size:11px;color:var(--mute)}.key i{display:inline-block;width:9px;height:9px;margin-right:4px;border-radius:50%;vertical-align:-1px}.key i.you{background:var(--coral)}.key i.hit{background:var(--green)}.key i.truth{width:2px;height:11px;border-radius:0;background:var(--ink)}.key i.band{width:14px;border-radius:2px;background:color-mix(in srgb,var(--green) 22%,transparent)}.hist .bar{fill:color-mix(in srgb,var(--ink) 16%,transparent)}.hist .bar.mine{fill:var(--coral)}.hist .axis{stroke:color-mix(in srgb,var(--ink) 35%,transparent)}.hist .lab{font-size:10px;fill:var(--mute)}.hist .mk{stroke:var(--coral);stroke-width:2}.hist .mk.truth{stroke:var(--ink);stroke-width:1.4;stroke-dasharray:2 2}.hist .mk.rival{stroke:var(--ink);stroke-width:2}.hist .mkl{font-size:10.5px;font-weight:700;fill:var(--coral)}.hist .mkl.truth,.hist .mkl.rival{fill:var(--ink)}.kinds{display:grid;gap:6px;margin:12px 0 4px}.kinds .k{display:grid;grid-template-columns:6.5em 1fr 3em;align-items:center;gap:8px;font-size:13px}.kinds .k i{display:block;height:10px;border-radius:5px;background:color-mix(in srgb,var(--ink) 16%,transparent)}.kinds .k.mine{font-weight:700}.kinds .k.mine i{background:var(--coral)}.kinds .k b{text-align:right;font-weight:600}.kinds--edu .k{grid-template-columns:9.5em 1fr 3em}.kinds .k.all{font-weight:700}.kinds .k.all i{background:var(--ink)}.src b.ok{color:var(--green)}.src b.no{color:var(--coral)}.src{margin:8px 0 0!important;font-size:11.5px!important;line-height:1.5!important;color:var(--mute)}.src a{color:inherit}.finds{margin:0;padding:0 0 0 1.1em;font-size:14px;line-height:1.55}.finds li+li{margin-top:6px}.why b{font-weight:700}.dare{text-align:center}.dare p{margin:0 0 12px;font-size:16px}.dare__acts{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:18px}.fine{margin-top:14px;padding-top:10px;border-top:1px solid color-mix(in srgb,var(--ink) 12%,transparent)}.fine p{margin:0 0 6px;font-size:11.5px;line-height:1.5;color:var(--mute)}body[data-phase=summary] .play-progress{display:none}.reason{display:inline-flex;align-items:center;gap:10px;font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}:lang(zh) .reason{letter-spacing:.2em}.reason:before,.reason:after{content:"";width:22px;height:1px;background:currentColor;opacity:.6}.cmp__you b{color:var(--red);font-size:22px}.cmp__b b{color:var(--ink);font-size:22px}.rankline b{color:var(--red)}.sheet__big span:not(.you) b{color:var(--ink)}.ladder .grid{stroke:color-mix(in srgb,var(--ink) 10%,transparent);stroke-width:1}.ladder .lab{font-size:10px;fill:var(--mute)}.ladder .trail{fill:none;stroke:color-mix(in srgb,var(--ink) 35%,transparent);stroke-width:1.5}.ladder .ok{fill:var(--green)}.ladder .no{fill:var(--red)}.src.lad{margin-top:10px!important;font-weight:600;color:var(--ink)}.key i.ok{background:var(--green)}.key i.no{background:var(--red)}.missed{display:grid;gap:8px;margin-top:8px}.mrow{display:grid;grid-template-columns:2.6em 1fr;column-gap:8px;row-gap:3px;align-items:center;padding:8px 10px;border-radius:10px;background:color-mix(in srgb,var(--ink) 4%,transparent)}.mdir{grid-row:span 2;font-size:12px;font-weight:700;color:var(--mute)}.mline{display:flex;align-items:center;flex-wrap:wrap;gap:3px}.mline em{width:4.6em;font-style:normal;font-size:11px;color:var(--mute)}.mline i{display:inline-grid;place-items:center;width:19px;height:25px;border-radius:3px;background:#2e2f33;color:#f5efe3;font-style:normal;font-size:14px;font-weight:700;font-variant-numeric:tabular-nums}.mline.you i{color:#ff6a57}.mline.you i.m-ok{box-shadow:inset 0 -3px 0 var(--green)}.mline.you i.m-no{box-shadow:inset 0 -3px 0 var(--red)}.mslip{grid-column:2;font-size:11.5px;color:var(--red)}.hist .mk.mean{stroke:var(--ink);stroke-width:1.2;stroke-dasharray:2 2}.hist .mkl.mean{fill:var(--ink);font-weight:600}.refs{margin:4px 0 0;padding:0 0 0 1.1em;font-size:13px;line-height:1.5}.refs li+li{margin-top:3px}.daily .name{font-size:12px;font-weight:600;fill:var(--ink)}.daily .verdict{font-size:11px;fill:var(--mute)}.daily .verdict.ok{fill:var(--green);font-weight:700}.daily .c{fill:color-mix(in srgb,var(--ink) 16%,transparent)}.daily .c.in{fill:var(--red)}.fine a{color:inherit}.play-title,.readout,.stat b,.sheet__big b,.sheet__rank,.mline{font-variant-numeric:tabular-nums}.hist .mkl.you.in{fill:#fff}
