.reaction-tool{padding-bottom:24px}.reaction-tool .intro>p{max-width:700px;line-height:1.7}.reaction-workbench,.reaction-results{border:1px solid var(--line);background:var(--surface);border-radius:16px;padding:24px}.reaction-heading{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.reaction-heading h2,.reaction-results h2{font-size:18px;line-height:1.5}.reaction-heading>span{font:14px var(--font-mono), monospace;color:var(--text-muted)}.reaction-hint,.reaction-notice{color:var(--text-muted);margin-top:12px;font-size:14px;line-height:1.7}.reaction-target{width:100%;min-height:280px;color:var(--text);background:var(--surface-soft);border:2px solid var(--line);touch-action:manipulation;-webkit-user-select:none;user-select:none;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:20px;margin:24px 0 0;padding:24px;display:flex}.reaction-target[aria-disabled=true]{cursor:default}.reaction-target strong{font-size:clamp(24px,4vw,36px);font-family:var(--font-heading), sans-serif;text-align:center;line-height:1.35}.reaction-target>span:not(.reaction-time){font-size:16px}.reaction-waiting{background:var(--tool-soft);border-color:var(--tool-accent)}.reaction-ready{background:var(--tool-accent);color:var(--on-tool);border-color:var(--tool-accent)}.reaction-false-start,.reaction-cancelled{color:var(--error-text);background:var(--error-soft);border-color:var(--error-line)}.reaction-target .reaction-time{font:48px/1.2 var(--font-mono), monospace;color:var(--tool-accent)}.reaction-time small{font-size:20px}.reaction-actions{flex-wrap:wrap;gap:8px;margin-top:20px;display:flex}.reaction-button{border:1px solid var(--line);min-height:44px;color:var(--text);background:var(--surface);border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:14px;display:inline-flex}.reaction-button:hover:not(:disabled){background:var(--surface-soft)}.reaction-button.reaction-primary{color:var(--on-tool);background:var(--tool-accent);border-color:var(--tool-accent)}.reaction-button.reaction-primary:hover:not(:disabled){background:var(--tool-accent-hover)}.reaction-button:disabled{opacity:.5;cursor:default}.reaction-results{margin-top:24px}.reaction-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:20px;display:grid}.reaction-stats>div{background:var(--surface-soft);border:1px solid var(--line);border-radius:12px;min-width:0;padding:20px}.reaction-stats dt{color:var(--text-muted);font-size:14px}.reaction-stats dd{font:32px/1.4 var(--font-mono), monospace;color:var(--tool-accent);overflow-wrap:anywhere;margin-top:8px}.reaction-stats small{font-size:16px}.reaction-history{gap:0;margin-top:20px;padding:0;list-style:none;display:grid}.reaction-history li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:16px;padding:12px 0;font-size:14px;display:flex}.reaction-history strong{font-family:var(--font-mono), monospace}.reaction-export{margin-top:16px}.reaction-export summary{min-height:44px;color:var(--text-muted);cursor:pointer;padding:12px 0;font-size:14px}.reaction-export textarea{resize:vertical;border:1px solid var(--line);width:100%;min-height:120px;color:var(--text);background:var(--surface-soft);font:13px/1.7 var(--font-mono), monospace;border-radius:8px;padding:12px;display:block}.reaction-notice{min-height:24px}.reaction-sr{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.reaction-tool :is(button,textarea,summary):focus-visible{outline:3px solid var(--focus);outline-offset:4px}@media (max-width:500px){.reaction-workbench,.reaction-results{padding:16px}.reaction-stats{grid-template-columns:minmax(0,1fr)}.reaction-target{min-height:260px;padding:20px 16px}.reaction-actions .reaction-button{flex:180px}}
