.test-page{width:min(100% - 32px,var(--maxw));margin:0 auto;padding:var(--space-8) 0 var(--space-12)}.test-page-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding-bottom:var(--space-6)}.test-back-link{display:inline-flex;align-items:center;gap:7px;color:var(--fg-muted);font:var(--text-small)}.test-count,.test-chip,.reaction-label,.stage-note{font:var(--text-caption);letter-spacing:var(--eyebrow-tracking);text-transform:uppercase}.test-count,.stage-note,.reaction-label{color:var(--fg-subtle)}.test-stage{min-height:340px;border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface-2);display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;text-align:center;user-select:none}.test-stage:before{content:"";position:absolute;inset:0;opacity:.48;background-image:radial-gradient(var(--surface-4) 1px,transparent 1px);background-size:22px 22px}.test-stage.go{background:var(--accent);border-color:var(--accent)}.test-stage.go:before,.test-stage.holding:before{opacity:0}.test-stage.holding{background:var(--surface-3);border-color:var(--accent-border)}.test-stage.done{min-height:260px}.test-stage-click.is-active{min-height:500px}.test-stage-search.is-active{min-height:560px}.test-stage-precision.is-active{min-height:440px;cursor:none}.test-stage-memory.is-active{min-height:520px}.test-stage-precision.is-active .stage-content,.test-stage-precision.is-active .precision-surface,.test-stage-precision.is-active .precision-svg{cursor:none}.test-stage-precision.is-active .stage-content{display:grid;justify-items:center;align-content:center}.stage-content{width:100%;position:relative;z-index:1;padding:var(--space-6)}.stage-content h2{margin:0;color:var(--fg);font:var(--text-h1)}.test-stage-memory .stage-content h2{font:var(--text-h2)}.test-stage.go h2,.test-stage.go .stage-copy,.test-stage.go .stage-note{color:var(--on-accent)}.stage-copy{max-width:380px;margin:var(--space-3) auto 0;color:var(--fg-muted)}.start-icon{width:56px;height:56px;margin:0 auto var(--space-4);border:1px solid var(--accent-border);border-radius:var(--radius-lg);background:var(--accent-soft);color:var(--accent-hover);display:grid;place-items:center;position:relative}.start-icon:before,.start-icon:after{content:"";position:absolute;box-sizing:border-box}.icon-zap:before{width:18px;height:30px;background:currentColor;clip-path:polygon(52% 0,8% 53%,42% 53%,28% 100%,92% 38%,56% 38%)}.icon-list:before{left:17px;top:16px;width:4px;height:4px;border-radius:50%;background:currentColor;box-shadow:0 10px 0 currentColor,0 20px 0 currentColor}.icon-list:after{left:26px;top:17px;width:14px;height:2px;border-radius:var(--radius-pill);background:currentColor;box-shadow:0 10px 0 currentColor,0 20px 0 currentColor}.icon-grid:before{width:28px;height:28px;border:2px solid currentColor;border-radius:var(--radius-sm);background:linear-gradient(currentColor,currentColor) 33.333% 0 / 2px 100% no-repeat,linear-gradient(currentColor,currentColor) 66.666% 0 / 2px 100% no-repeat,linear-gradient(currentColor,currentColor) 0 33.333% / 100% 2px no-repeat,linear-gradient(currentColor,currentColor) 0 66.666% / 100% 2px no-repeat}.icon-grid-dom:before{display:none}.memory-grid-start-icon{width:28px;height:28px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.icon-scan:before{width:25px;height:25px;border:2px solid currentColor;border-radius:50%}.icon-scan:after{width:13px;height:2px;right:14px;bottom:16px;border-radius:var(--radius-pill);background:currentColor;transform:rotate(45deg);transform-origin:right center}.icon-pointer:before{width:23px;height:31px;background:currentColor;clip-path:polygon(16% 4%,82% 58%,55% 63%,69% 94%,56% 100%,42% 68%,16% 88%)}.stage-actions{justify-content:center;margin-top:var(--space-5)}.stage-actions:empty{display:none;margin:0}.reaction-label{min-height:18px;margin:0 0 var(--space-4)}.reaction-label span{display:inline-block;width:9px;height:9px;margin-right:9px;border-radius:50%;background:var(--fg-faint)}.test-stage.holding .reaction-label{color:var(--accent-hover)}.reaction-click-target{min-width:min(100%,420px);min-height:96px;border:0;background:transparent;color:var(--on-accent);font:var(--text-display)}.reaction-click-target:hover{background:transparent}.ysb-reaction-app,.ysb-reaction-stage{width:100%}.ysb-reaction-start-icon{width:56px;height:56px;margin:0 auto;border:1px solid var(--accent-border);border-radius:var(--radius-lg);background:var(--accent-soft);color:var(--accent-hover);display:grid;place-items:center}.ysb-reaction-title{margin-top:var(--space-4);color:var(--fg);font:var(--text-h2)}.ysb-reaction-copy{max-width:360px;margin:var(--space-2) auto 0;color:var(--fg-muted);font:var(--text-body)}.ysb-reaction-actions{margin-top:18px}.ysb-reaction-waiting,.ysb-reaction-false-start{display:flex;flex-direction:column;align-items:center}.test-stage-reaction [data-test=reaction-progress]{display:none}.ysb-reaction-waiting{gap:var(--space-4);position:relative}.ysb-reaction-holding{display:inline-flex;align-items:center;gap:9px;color:var(--fg-subtle);font:var(--text-caption);letter-spacing:var(--eyebrow-tracking);text-transform:uppercase}.ysb-reaction-holding span{width:9px;height:9px;border-radius:50%;background:var(--fg-faint)}.ysb-reaction-wait-title{color:var(--fg-muted);font:var(--text-h1)}.ysb-reaction-wait-hitbox{position:absolute;inset:0;border:0;background:transparent;color:transparent;cursor:pointer}.ysb-reaction-click{appearance:none;width:100%;height:100%;min-width:0;min-height:0;border:0;background:transparent;color:var(--on-accent);cursor:pointer;display:flex;align-items:center;justify-content:center;font:var(--text-display)}.ysb-reaction-click:hover{background:transparent}.ysb-reaction-stage[data-state=go]>div:not([aria-hidden]){position:absolute!important;inset:0;padding:0!important;display:flex;align-items:stretch;justify-content:stretch}.ysb-reaction-false-start{gap:14px}.ysb-reaction-false-start>span{color:var(--bad);font:var(--text-caption);letter-spacing:var(--eyebrow-tracking);text-transform:uppercase}.ysb-reaction-false-start>div{color:var(--fg);font:var(--text-h1);white-space:nowrap}.ysb-reaction-false-start p{max-width:340px;margin:0;color:var(--fg-muted);font:var(--text-body);text-align:center}.ysb-reaction-result-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:18px}.ysb-reaction-summary{margin-top:20px}.single-native-metric span{color:var(--fg-subtle);font-size:.4em}.chip-row,.search-toolbar{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;margin-bottom:var(--space-5)}.test-chip{display:inline-flex;align-items:center;gap:6px;border-radius:var(--radius-pill);padding:5px 11px;color:var(--fg-muted);background:var(--surface-2);border:1px solid var(--border)}.test-chip.accent{color:var(--accent-hover);background:var(--accent-soft);border-color:var(--accent-border)}.test-chip.good{color:var(--good);background:var(--good-soft);border-color:transparent}.click-board,.memory-board,.visual-board{display:grid;justify-content:center;margin:0 auto}.click-board{grid-template-columns:repeat(5,78px);gap:9px;position:relative}.click-cell{width:78px;height:78px;border-radius:var(--radius-md);font-family:var(--font-mono);font-size:24px;font-weight:500;font-variant-numeric:tabular-nums;position:relative}.click-cell.is-done{border-color:var(--accent-border);background:var(--accent-soft);color:var(--fg-faint)}.click-cell.is-pulse{animation:clickPulse .42s var(--ease-out)}.memory-board{gap:9px}.test-stage-memory.is-active .stage-content{padding:var(--space-6)}.test-stage-memory .stage-note{width:max-content;min-width:150px;max-width:100%;margin:var(--space-4) auto 0;text-align:center}.memory-cell{width:46px;height:46px;border-radius:var(--radius-sm)}.memory-cell.is-target{border-color:var(--accent);background:var(--accent)}.memory-cell[aria-pressed=true]{border-color:var(--accent-border);background:var(--accent-soft)}.memory-cell.is-hit{border-color:var(--good);background:var(--good-soft)}.memory-cell.is-miss{border-color:var(--bad);background:var(--bad-soft)}.visual-board{width:min(100%,720px);grid-template-columns:repeat(8,minmax(0,1fr));gap:14px;position:relative}.visual-cell{min-height:58px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--fg-muted);cursor:pointer;font-family:var(--font-mono);font-size:var(--vs-size, 18px);font-weight:600;font-variant-numeric:tabular-nums;opacity:var(--vs-op, .6);transform:rotate(var(--vs-rot, 0deg));transition:opacity .18s var(--ease-out),transform .18s var(--ease-out)}.visual-cell:hover,.visual-cell:focus-visible{color:var(--fg);opacity:1;transform:rotate(var(--vs-rot, 0deg)) scale(1.18)}.visual-cell[data-motion=pulse]{animation:vsPulse 3.2s ease-in-out var(--vs-delay, 0s) infinite}.visual-cell[data-motion=flicker]{animation:vsFlicker 2.8s ease-in-out var(--vs-delay, 0s) infinite}.visual-cell[data-motion=wobble]{animation:vsWobble 3.8s ease-in-out var(--vs-delay, 0s) infinite}.target-number,.summary-score{font-family:var(--font-mono);font-variant-numeric:tabular-nums slashed-zero;color:var(--accent-metric)}.target-number{font-size:22px;font-weight:700;letter-spacing:0}.progress-dots{display:inline-flex;gap:6px;align-items:center}.progress-dots span{width:8px;height:8px;border-radius:50%;background:var(--surface-4)}.progress-dots .done{background:var(--good)}.precision-surface{width:min(100%,720px);margin:0 auto;line-height:0;pointer-events:none}.precision-compat-start{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.precision-svg{display:block;position:static;width:100%;height:auto;margin:0 auto}[data-precision-base]{fill:none;stroke:var(--fg-faint);stroke-width:1.1;opacity:.5}[data-precision-halo],[data-precision-fill]{fill:var(--accent-soft);opacity:0}[data-precision-ring]{fill:none;stroke:var(--accent);opacity:0}[data-precision-error]{stroke:var(--fg-subtle);stroke-width:1;opacity:0}[data-precision-cursor] path{stroke:var(--fg);stroke-width:1.7;stroke-linecap:round}[data-precision-cursor] circle{fill:var(--fg)}.test-result-panel{margin-top:20px}.result-summary-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-2);box-shadow:var(--shadow-1);padding:var(--space-6)}.result-summary-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}.summary-score{margin-top:var(--space-3);font-size:40px;font-weight:600}.single-native-metric{margin-top:var(--space-2);color:var(--accent-metric);font-family:var(--font-mono);font-size:64px;font-weight:600;font-variant-numeric:tabular-nums slashed-zero;line-height:.95}.single-result-label{color:var(--fg-subtle);font:var(--text-caption);letter-spacing:var(--eyebrow-tracking);text-transform:uppercase}.ysb-click-order-summary .ysb-ui-score-rows{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.ysb-click-order-summary .ysb-ui-score-row{display:block!important;border-top:1px solid var(--border);border-bottom:0!important;padding:10px 0 0!important}.ysb-click-order-summary .ysb-ui-score-row>span:first-child{display:block;color:var(--fg-subtle)!important;font:var(--text-caption)!important}.ysb-click-order-summary .ysb-ui-score-row .ysb-ui-metric{display:block;margin-top:4px}.ysb-memory-grid-summary .ysb-ui-score-rows{display:flex;flex-wrap:wrap;gap:24px}.ysb-memory-grid-summary .ysb-ui-score-row{display:inline-flex!important;gap:6px;border-bottom:0!important;padding:0!important}.ysb-memory-grid-summary .ysb-ui-score-row>span:first-child{color:var(--fg-subtle)!important;font:var(--text-small)!important}.ysb-visual-search-summary .ysb-ui-score-rows{display:flex;flex-wrap:wrap;gap:24px}.ysb-visual-search-summary .ysb-ui-score-row{display:inline-flex!important;gap:6px;border-bottom:0!important;padding:0!important}.ysb-visual-search-summary .ysb-ui-score-row>span:first-child{color:var(--fg-subtle)!important;font:var(--text-small)!important}.ysb-mouse-precision-summary .ysb-ui-score-rows{display:flex;flex-wrap:wrap;gap:24px}.ysb-mouse-precision-summary .ysb-ui-score-row{display:inline-flex!important;gap:6px;border-bottom:0!important;padding:0!important}.ysb-mouse-precision-summary .ysb-ui-score-row>span:first-child{color:var(--fg-subtle)!important;font:var(--text-small)!important}.single-sparkline,.single-sparkline-empty{width:100%;height:104px;margin-top:var(--space-4)}.single-sparkline-empty{display:grid;place-items:center;color:var(--fg-subtle);font:var(--text-small)}.single-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:var(--space-5)}.single-summary-grid div{border-top:1px solid var(--border);padding-top:10px}.single-summary-grid span{display:block;color:var(--fg-subtle);font:var(--text-caption);text-transform:uppercase}.single-summary-grid strong{display:block;margin-top:4px;color:var(--fg);font-family:var(--font-mono);font-variant-numeric:tabular-nums slashed-zero}.test-attempts,.result-actions{margin-top:var(--space-4)}[data-single-test-frame] [data-test=start-test]:focus,[data-single-test-frame] [data-test=retry-test]:focus,[data-single-test-frame] [data-test=back-to-tests]:focus{outline:2px solid var(--accent);outline-offset:3px}@keyframes clickPulse{0%{box-shadow:0 0 0 0 var(--accent-border)}to{box-shadow:0 0 0 18px transparent}}@keyframes vsPulse{0%,to{transform:rotate(var(--vs-rot, 0deg)) scale(1)}50%{transform:rotate(var(--vs-rot, 0deg)) scale(1.35)}}@keyframes vsFlicker{0%,to{opacity:.7}45%{opacity:.12}55%{opacity:.85}}@keyframes vsWobble{0%,to{transform:rotate(calc(var(--vs-rot, 0deg) - 12deg))}50%{transform:rotate(calc(var(--vs-rot, 0deg) + 12deg))}}@media(max-width:780px){.test-stage{min-height:340px}.test-stage-click.is-active,.test-stage-search.is-active,.test-stage-precision.is-active{min-height:0}.click-board{grid-template-columns:repeat(5,minmax(44px,58px));gap:7px}.click-cell{width:100%;height:58px;font-size:18px}.memory-board{grid-template-columns:repeat(7,minmax(0,38px))!important;gap:6px}.memory-cell{width:38px;height:38px}.visual-cell{min-height:44px}.summary-score{font-size:32px}.single-native-metric{font-size:56px}.single-summary-grid,.ysb-click-order-summary .ysb-ui-score-rows{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.visual-cell,.click-cell.is-pulse{animation:none!important}}
