.control-bar[data-v-8a97932d]{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}.control-left[data-v-8a97932d]{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.control-label[data-v-8a97932d]{font-size:13px;color:var(--text-secondary)}.control-right[data-v-8a97932d]{display:flex;gap:8px}.stat-panel[data-v-2818d693]{width:100%}.stat-grid[data-v-2818d693]{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.stat-cell[data-v-2818d693]{background:#f6f7fa;border:1px solid var(--border-light);border-radius:8px;padding:14px 12px;text-align:center}.stat-label[data-v-2818d693]{font-size:12px;color:var(--text-tertiary);margin-bottom:6px}.stat-value[data-v-2818d693]{font-size:22px;font-weight:600;color:var(--text-main);line-height:1}.stat-value .unit[data-v-2818d693]{font-size:12px;font-weight:400;color:var(--text-tertiary);margin-left:2px}.stat-value.success[data-v-2818d693]{color:var(--success)}.stat-detail[data-v-2818d693]{margin-top:14px;border-top:1px solid var(--border-light);padding-top:10px}.detail-row[data-v-2818d693]{display:flex;justify-content:space-between;align-items:center;padding:6px 0;font-size:13px}.detail-label[data-v-2818d693]{color:var(--text-secondary)}.detail-value[data-v-2818d693]{color:var(--text-main)}.detail-value.warn[data-v-2818d693]{color:var(--warning)}.detail-value.small[data-v-2818d693]{font-size:12px;color:var(--text-secondary);max-width:60%;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.best-bar[data-v-2818d693]{margin-top:10px;display:flex;align-items:center}.grade-row[data-v-2818d693]{margin-top:14px;padding-top:12px;border-top:1px dashed var(--border-light);display:flex;align-items:center;gap:10px;flex-wrap:wrap}.grade-label[data-v-2818d693]{font-size:13px;color:var(--text-secondary)}.grade-value[data-v-2818d693]{font-size:15px;font-weight:600}.grade-hint[data-v-2818d693]{font-size:12px;color:var(--text-tertiary)}@media (max-width: 640px){.stat-grid[data-v-2818d693]{grid-template-columns:repeat(2,1fr);gap:8px}.stat-value[data-v-2818d693]{font-size:18px}}.test-view[data-v-2a7845d5]{display:flex;flex-direction:column;gap:16px}.stage-wrap[data-v-2a7845d5]{display:flex;flex-direction:column;gap:12px}.stimulus[data-v-2a7845d5]{height:clamp(240px,44vh,380px);border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;cursor:pointer;transition:background-color .15s ease;border:1px solid transparent;text-align:center;padding:20px}.stimulus.is-idle[data-v-2a7845d5],.stimulus.is-result[data-v-2a7845d5]{background:#f6f7fa;border-color:var(--border-light)}.stimulus.is-neutral[data-v-2a7845d5]{background:#f0f3ff}.stimulus.is-red[data-v-2a7845d5]{background:#e34d59;color:#fff}.stimulus.is-green[data-v-2a7845d5]{background:#00a870;color:#fff}.stimulus.is-result[data-v-2a7845d5]{background:#eef5ff}.stimulus-icon[data-v-2a7845d5]{color:var(--brand)}.stimulus-title[data-v-2a7845d5]{font-size:22px;font-weight:600}.stimulus-sub[data-v-2a7845d5]{font-size:14px;opacity:.85}.is-red .stimulus-sub[data-v-2a7845d5],.is-green .stimulus-sub[data-v-2a7845d5]{opacity:.95}.status-row[data-v-2a7845d5]{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:13px;color:var(--text-secondary)}.status-item[data-v-2a7845d5]{display:flex;align-items:center;gap:6px}.dot[data-v-2a7845d5]{width:8px;height:8px;border-radius:50%;background:#c2c2c2}.dot-red[data-v-2a7845d5]{background:var(--danger)}.dot-green[data-v-2a7845d5]{background:var(--success)}.error-text[data-v-2a7845d5]{color:var(--danger)}.test-view[data-v-c2677d7d]{display:flex;flex-direction:column;gap:16px}.stage-wrap[data-v-c2677d7d]{display:flex;flex-direction:column;gap:12px}.stimulus[data-v-c2677d7d]{height:clamp(240px,44vh,380px);border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;cursor:pointer;transition:background-color .15s ease;border:1px solid transparent;text-align:center;padding:20px}.stimulus.is-idle[data-v-c2677d7d],.stimulus.is-result[data-v-c2677d7d]{background:#f6f7fa;border-color:var(--border-light)}.stimulus.is-waiting[data-v-c2677d7d]{background:#fff7e6}.stimulus.is-go[data-v-c2677d7d]{background:#00a870;color:#fff}.stimulus.is-result[data-v-c2677d7d]{background:#eef5ff}.stimulus-icon[data-v-c2677d7d]{color:var(--brand)}.stimulus-title[data-v-c2677d7d]{font-size:22px;font-weight:600}.stimulus-sub[data-v-c2677d7d]{font-size:14px;opacity:.85}.status-row[data-v-c2677d7d]{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:13px;color:var(--text-secondary)}.status-item[data-v-c2677d7d]{display:flex;align-items:center;gap:6px}.dot[data-v-c2677d7d]{width:8px;height:8px;border-radius:50%;background:#c2c2c2}.dot-green[data-v-c2677d7d]{background:var(--success)}.dot-amber[data-v-c2677d7d]{background:var(--warning)}.error-text[data-v-c2677d7d]{color:var(--danger)}.test-view[data-v-224c41a3]{display:flex;flex-direction:column;gap:16px}.sensor-hint[data-v-224c41a3]{display:flex;align-items:flex-start;gap:8px;font-size:13px;line-height:1.6;color:var(--text-secondary);background:#f6f7fa;border:1px solid var(--border-light);border-radius:8px;padding:10px 12px}.sensor-hint b[data-v-224c41a3]{color:var(--text-main);font-weight:600}.sensor-hint.warn[data-v-224c41a3]{color:var(--danger);background:#fff0f1}.sensor-hint .t-icon[data-v-224c41a3]{margin-top:2px;flex-shrink:0}.stage-wrap[data-v-224c41a3]{display:flex;flex-direction:column;gap:12px}.stimulus[data-v-224c41a3]{position:relative;height:clamp(260px,46vh,400px);border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;cursor:pointer;transition:background-color .15s ease;border:1px solid transparent;text-align:center;padding:20px;overflow:hidden}.stimulus.is-idle[data-v-224c41a3],.stimulus.is-result[data-v-224c41a3]{background:#f6f7fa;border-color:var(--border-light)}.stimulus.is-countdown[data-v-224c41a3]{background:#1d2129;color:#fff}.stimulus.is-aim[data-v-224c41a3]{background:#fff7e6}.stimulus.is-go[data-v-224c41a3]{background:#e34d59;color:#fff;animation:goPulse-224c41a3 .5s ease-in-out 2}.stimulus.is-result[data-v-224c41a3]{background:#eef5ff}@keyframes goPulse-224c41a3{0%,to{background:#e34d59}50%{background:#ff7d84}}.stimulus-icon[data-v-224c41a3]{color:var(--brand)}.stimulus-title[data-v-224c41a3]{font-size:20px;font-weight:600}.stimulus-sub[data-v-224c41a3]{font-size:14px;opacity:.85}.count-num[data-v-224c41a3]{font-size:clamp(96px,22vw,160px);font-weight:700;line-height:1;font-variant-numeric:tabular-nums;color:#fff;text-shadow:0 0 40px rgba(0,82,217,.8)}.count-sub[data-v-224c41a3]{color:#ffffffbf}.aim-icon[data-v-224c41a3],.gun-icon[data-v-224c41a3]{color:var(--brand)}.is-go .gun-icon[data-v-224c41a3]{color:#fff}.gun-title[data-v-224c41a3]{font-size:24px;font-weight:700}.status-row[data-v-224c41a3]{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:13px;color:var(--text-secondary)}.status-item[data-v-224c41a3]{display:flex;align-items:center;gap:6px}.dot[data-v-224c41a3]{width:8px;height:8px;border-radius:50%;background:#c2c2c2}.dot-green[data-v-224c41a3]{background:var(--success)}.dot-red[data-v-224c41a3]{background:var(--danger)}.error-text[data-v-224c41a3]{color:var(--danger)}.count-pop-enter-active[data-v-224c41a3],.count-pop-leave-active[data-v-224c41a3]{transition:opacity .12s ease,transform .12s ease}.count-pop-enter-from[data-v-224c41a3]{opacity:0;transform:scale(1.6)}.count-pop-leave-to[data-v-224c41a3]{opacity:0;transform:scale(.6)}.test-view[data-v-fdfd7e8d]{display:flex;flex-direction:column;gap:16px}.stage-wrap[data-v-fdfd7e8d]{display:flex;flex-direction:column;gap:12px}.stimulus[data-v-fdfd7e8d]{height:clamp(280px,48vh,380px);border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;cursor:pointer;transition:background-color .15s ease;border:1px solid transparent;text-align:center;padding:20px}.stimulus.is-idle[data-v-fdfd7e8d],.stimulus.is-result[data-v-fdfd7e8d]{background:#f6f7fa;border-color:var(--border-light)}.stimulus.is-hold[data-v-fdfd7e8d]{background:#1d2129;color:#fff}.stimulus.is-go[data-v-fdfd7e8d]{background:#00a870;color:#fff}.stimulus.is-result[data-v-fdfd7e8d]{background:#eef5ff}.stimulus-icon[data-v-fdfd7e8d]{color:var(--brand)}.stimulus-title[data-v-fdfd7e8d]{font-size:20px;font-weight:600}.stimulus-sub[data-v-fdfd7e8d]{font-size:14px;opacity:.85}.tree[data-v-fdfd7e8d]{display:flex;flex-direction:column;gap:10px;align-items:center;background:#ffffff0f;border-radius:10px;padding:14px 18px}.lamp[data-v-fdfd7e8d]{width:26px;height:26px;border-radius:50%;background:#3a3f4b;box-shadow:inset 0 0 6px #00000080;transition:background-color .12s ease,box-shadow .12s ease}.lamp.on[data-v-fdfd7e8d]{background:#ff4d4f;box-shadow:0 0 14px #ff4d4fe6,inset 0 0 4px #fff6}.status-row[data-v-fdfd7e8d]{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:13px;color:var(--text-secondary)}.status-item[data-v-fdfd7e8d]{display:flex;align-items:center;gap:6px}.dot[data-v-fdfd7e8d]{width:8px;height:8px;border-radius:50%;background:#c2c2c2}.dot-red[data-v-fdfd7e8d]{background:var(--danger)}.dot-green[data-v-fdfd7e8d]{background:var(--success)}.error-text[data-v-fdfd7e8d]{color:var(--danger)}.test-view[data-v-779acc30]{display:flex;flex-direction:column;gap:16px}.target-row[data-v-779acc30]{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.control-label[data-v-779acc30]{font-size:13px;color:var(--text-secondary)}.stage-wrap[data-v-779acc30]{display:flex;flex-direction:column;gap:12px}.stimulus[data-v-779acc30]{height:clamp(260px,46vh,360px);border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;cursor:pointer;transition:background-color .15s ease;border:1px solid transparent;text-align:center;padding:20px}.stimulus.is-idle[data-v-779acc30],.stimulus.is-result[data-v-779acc30]{background:#f6f7fa;border-color:var(--border-light)}.stimulus.is-running[data-v-779acc30]{background:#eef5ff}.stimulus.is-target[data-v-779acc30]{background:#00a870;color:#fff}.stimulus.is-result[data-v-779acc30]{background:#eef5ff}.stimulus-icon[data-v-779acc30]{color:var(--brand)}.stimulus-title[data-v-779acc30]{font-size:18px;font-weight:600}.stimulus-sub[data-v-779acc30]{font-size:14px;opacity:.85}.digit[data-v-779acc30]{font-size:clamp(64px,24vw,96px);font-weight:700;line-height:1;font-variant-numeric:tabular-nums;color:#1d2129;transition:color .12s ease;min-height:1em;display:flex;align-items:center;justify-content:center}.digit-target[data-v-779acc30]{color:#fff}.status-row[data-v-779acc30]{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:13px;color:var(--text-secondary)}.status-item[data-v-779acc30]{display:flex;align-items:center;gap:6px}.dot[data-v-779acc30]{width:8px;height:8px;border-radius:50%;background:#c2c2c2}.dot-green[data-v-779acc30]{background:var(--success)}.dot-blue[data-v-779acc30]{background:var(--brand)}.error-text[data-v-779acc30]{color:var(--danger)}.app-root[data-v-a7293951]{min-height:100vh;display:flex;flex-direction:column}.app-header[data-v-a7293951]{position:sticky;top:0;z-index:100;background:#ffffffdb;backdrop-filter:saturate(180%) blur(16px);-webkit-backdrop-filter:saturate(180%) blur(16px);border-bottom:1px solid var(--border-light)}.header-inner[data-v-a7293951]{max-width:1120px;margin:0 auto;padding:calc(14px + var(--safe-top)) 20px 14px;display:flex;align-items:center;justify-content:space-between}@media (min-width: 900px){.header-inner[data-v-a7293951]{padding:16px 32px}}.brand[data-v-a7293951]{display:flex;align-items:center;gap:10px}.brand-mark[data-v-a7293951]{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,#0052d9,#366ef4);color:#fff;display:flex;align-items:center;justify-content:center}.brand-text[data-v-a7293951]{line-height:1.2}.brand-name[data-v-a7293951]{font-size:16px;font-weight:600;color:var(--text-main)}.brand-sub[data-v-a7293951]{font-size:11px;color:var(--text-tertiary);letter-spacing:.08em;text-transform:uppercase}.meta-badge[data-v-a7293951]{font-size:12px;color:var(--text-secondary);border:1px solid var(--border);border-radius:100px;padding:4px 10px}.hero[data-v-a7293951]{padding:12px 0 8px}.hero-title[data-v-a7293951]{font-size:24px;font-weight:600;margin:0 0 8px;color:var(--text-main)}@media (min-width: 900px){.hero-title[data-v-a7293951]{font-size:30px}}.hero-desc[data-v-a7293951]{margin:0;font-size:14px;line-height:1.7;color:var(--text-secondary);max-width:720px}.test-tabs[data-v-a7293951]{margin-top:8px}.test-tabs[data-v-a7293951] .t-tabs__nav-wrap{background:#fff;border-radius:8px;border:1px solid var(--border-light)}.tab-label[data-v-a7293951]{display:inline-flex;align-items:center;gap:6px}.tab-icon[data-v-a7293951]{display:inline-flex;opacity:.85}.notes[data-v-a7293951]{margin-top:28px}.notes-title[data-v-a7293951]{font-size:15px;font-weight:600;margin-bottom:12px;color:var(--text-main)}.notes-grid[data-v-a7293951]{display:grid;grid-template-columns:1fr;gap:12px}@media (min-width: 900px){.notes-grid[data-v-a7293951]{grid-template-columns:repeat(2,1fr)}}.note-item[data-v-a7293951]{background:#fff;border:1px solid var(--border-light);border-radius:8px;padding:14px 16px}.note-head[data-v-a7293951]{font-size:14px;font-weight:600;color:var(--text-main);margin-bottom:6px}.note-body[data-v-a7293951]{font-size:13px;line-height:1.65;color:var(--text-secondary)}.app-footer[data-v-a7293951]{margin-top:auto;padding:20px;text-align:center;font-size:12px;color:var(--text-tertiary)}:root{--brand: #0052d9;--brand-light: #d9e1ff;--bg: #f6f7fa;--card: #ffffff;--text-main: rgba(0, 0, 0, .9);--text-secondary: rgba(0, 0, 0, .6);--text-tertiary: rgba(0, 0, 0, .4);--border: #e7e7e7;--border-light: #f0f0f0;--danger: #e34d59;--success: #00a870;--warning: #ed7b2f;--radius: 8px;--shadow: 0 1px 2px rgba(0, 0, 0, .04), 0 4px 16px rgba(0, 0, 0, .04);--font-stack: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}html,body{margin:0;padding:0}html{height:100%}body{font-family:var(--font-stack);color:var(--text-main);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100%;min-height:100dvh;overscroll-behavior-y:none}#app{min-height:100dvh}button,.stimulus-area{-webkit-user-select:none;user-select:none;touch-action:manipulation}.page-shell{max-width:1120px;margin:0 auto;padding:20px 16px calc(56px + var(--safe-bottom))}@media (min-width: 900px){.page-shell{padding:40px 32px 80px}}.card{background:var(--card);border:1px solid var(--border-light);border-radius:var(--radius);box-shadow:var(--shadow)}.mono{font-variant-numeric:tabular-nums;letter-spacing:.02em}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .24s ease-out both}@media (max-width: 640px){.t-button{min-height:44px}.t-radio-button{min-height:36px;display:inline-flex;align-items:center}.t-tabs__nav-item{min-height:44px}}
