:root{--ground: #e8d5d0;--ink-0: #2a2226;--cobalt: #2346d5;--green: #2f8a5f;--red: #e0503a;--card: #fbf8f5;--paper: var(--ground);--ink: var(--ink-0);--mute: #7a6266;--right: var(--green);--accent: var(--red);--dot: var(--cobalt);--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%, #fffdf9 0%, #f4ede4 46%, #e2d5c8 100%);--token-side: #c9b2a6;--token-side-dark: #a88f84;--token-drop: rgba(60, 34, 34, .3)}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden}body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-feature-settings:"tnum" 1,"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}body[data-phase=teach] .stage,body[data-phase=trace] .stage{touch-action:none}.stage canvas{display:block}body[data-phase=trace] .stage,body[data-phase=teach] .stage{cursor:none}body[data-phase=trace] .play-answer,body[data-phase=teach] .play-answer{pointer-events:none}.play-brand{font-weight:700;letter-spacing:-.01em}.play-title{font-weight:700;letter-spacing:-.025em;font-size:clamp(23px,6vw,36px)}:lang(zh) .play-title{letter-spacing:.01em}.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}.live{font-size:17px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--cobalt)}.verdict--right{color:var(--green)}.verdict--wrong{color:var(--red)}.verdict--plain{color:var(--ink)}.facts{font-size:16px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--mute)}.readout:has(.quit){flex-direction:row;flex-wrap:wrap;justify-content:center;gap:6px 12px}.readout.is-late .live{color:var(--red)}.quit{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:4px 12px;border:0;border-radius:999px;background:var(--card);color:var(--ink);font:inherit;font-size:13px;font-weight:600;box-shadow:0 0 0 1px #3c22222e,0 2px 5px #3c22221a;cursor:pointer;pointer-events:auto}.quit[hidden]{display:none}.quit:active{transform:translateY(1px)}.play-line.is-off{color:var(--red);font-weight:500}.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;color:var(--ink)}.cmp__you b{color:var(--cobalt)}.rankline{font-size:14px;color:var(--ink)}.rankline b{color:var(--cobalt)}.pad-hint{grid-column:1 / -1;display:flex;justify-content:center;gap:10px;margin:10px 0 0;transition:opacity .4s}.chip{display:inline-block;padding:6px 14px;border-radius:999px;font-size:15px;font-weight:700;letter-spacing:.01em;background:var(--card);color:var(--ink);box-shadow:0 0 0 1px #3c222224}.chip--pen{background:var(--cobalt);color:#fff;box-shadow:none}.pad-hint--lr .chip--hand{animation:nudge-r 1.6s ease-in-out infinite}.pad-hint--lr .chip--pen{animation:nudge-l 1.6s ease-in-out infinite}.pad-hint--ud .chip--hand{animation:nudge-u 1.6s ease-in-out infinite}.pad-hint--ud .chip--pen{animation:nudge-d 1.6s ease-in-out infinite}@keyframes nudge-r{50%{transform:translate(6px)}}@keyframes nudge-l{50%{transform:translate(-6px)}}@keyframes nudge-u{50%{transform:translateY(-5px)}}@keyframes nudge-d{50%{transform:translateY(5px)}}@media(prefers-reduced-motion:reduce){.chip{animation:none!important}}.pad-note{grid-column:1 / -1;margin:10px 0 0;text-align:center;font-size:13px;line-height:1.4;color:var(--mute);transition:opacity .4s}.play-answer[data-moved] .pad-hint{opacity:0}.play-answer[data-moved] .pad-note{opacity:.6}.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 #3c222224,0 2px 6px #3c222214;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 #3c22224d,0 20px 40px -20px #3c222259;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(--cobalt)}.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(--cobalt)}.sheet__big span:not(.you) b{color:var(--ink)}.sheet__rank{margin-top:10px!important;font-size:15px;font-weight:600}.sheet__rank b{color:var(--cobalt)}.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(--cobalt) 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(--cobalt)}.stat span{font-size:11px;color:var(--mute)}.src b.ok{color:var(--green)}.src b.no{color:var(--cobalt)}.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-dots{display:none}.stat.good b{color:var(--cobalt)}.laps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px 14px}.lap{margin:0;text-align:center}.lap svg{display:block;width:100%;height:auto;border-radius:50%;background:radial-gradient(circle at 42% 38%,#faf8f4,#f1eeea 75%,#e4e5e1);box-shadow:0 0 0 3px #efe6dc,0 4px 10px -4px #3c222259}.lap .edge,.lap .chan{fill:none;stroke-linejoin:round}.lap .edge{stroke:#3a3236}.lap .chan{stroke:#fdfcfa}.lap .ink{fill:none;stroke:var(--cobalt);stroke-width:.03;stroke-linejoin:round;stroke-linecap:round}.lap .ink.out{stroke:var(--red)}.lap figcaption{margin-top:6px;font-size:11px;line-height:1.35;color:var(--mute)}.lap figcaption b{color:var(--ink)}.lap figcaption span:last-child{display:block}.lap .mode{color:var(--cobalt)}svg.curve{display:block;width:100%;height:auto;margin-top:4px;font-family:var(--sans);font-variant-numeric:tabular-nums}.curve .grid{stroke:color-mix(in srgb,var(--ink) 12%,transparent)}.curve .lab{font-size:10px;fill:var(--mute)}.curve .labline{fill:none;stroke:color-mix(in srgb,var(--ink) 40%,transparent);stroke-width:1.5;stroke-dasharray:4 3}.curve .labpt{fill:color-mix(in srgb,var(--ink) 40%,transparent)}.curve .youline{fill:none;stroke:var(--cobalt);stroke-width:2.4;stroke-linejoin:round}.curve .youpt{fill:var(--cobalt)}.curve .flippt{fill:var(--card);stroke:var(--cobalt);stroke-width:2}.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(--cobalt)}.key i.flip{border:2px solid var(--cobalt)}.key i.lab{background:color-mix(in srgb,var(--ink) 40%,transparent)}.anchors{margin:10px 0 0;padding:0 0 0 1.1em;font-size:14px;line-height:1.55}.anchors li+li{margin-top:8px}.anchors b{font-weight:700}.sources{margin:0;padding:0 0 0 1.3em;font-size:11.5px;line-height:1.5;color:var(--mute)}.sources li+li{margin-top:6px}.sources a,.fine a{color:inherit;word-break:break-all}.sheet__big i{font-style:normal;font-size:28px;color:var(--mute);align-self:center}.sheet__big small{margin-left:2px;font-size:.4em;font-weight:700;letter-spacing:0}
