body > .tool-page.tool-page--aim-trainer { width: 100%; max-width: none; margin: 0; padding: 0; overflow-x: hidden; }
.aim-workspace { width: min(100% - 32px, 1050px); margin: 0 auto; padding: 24px 0 42px; }
.aim-header { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-bottom: 18px; border-bottom: 2px solid var(--eyy-border, #101010); }
.aim-header h1 { margin: 0; font-size: 1.4rem; }
.aim-header p { margin: 8px 0 0; color: #bdbbc8; }
.aim-header > button { flex-shrink: 0; }
.aim-stats { box-sizing: border-box; width: min(100%, 600px); margin: 0 auto; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; padding: 18px 0; }
.aim-workspace[data-size="large"] .aim-stats { width: 100%; }
.aim-stats > div { display: grid; gap: 7px; min-width: 0; }
.aim-stats span { color: #bdbbc8; }
.aim-stats strong { color: #f5f5f8; font-size: 1.45rem; font-variant-numeric: tabular-nums; line-height: 1.1; }
.aim-stats > div:first-child strong { color: #80e9d8; }
.aim-arena { position: relative; box-sizing: border-box; width: min(100%, 600px); height: clamp(280px, 55vh, 420px); margin: 0 auto; overflow: hidden; border-block: 2px solid #242428; background: #000; user-select: none; }
.aim-arena[data-size="large"] { width: 100%; height: clamp(300px, 65vh, 600px); }
.aim-arena[data-state="running"] { cursor: crosshair; touch-action: none; }
.aim-overlay { position: absolute; z-index: 2; inset: 0; display: grid; place-items: center; background: #000; text-align: center; opacity: 1; visibility: visible; transition: opacity 180ms ease, visibility 180ms; }
.aim-arena[data-state="running"] .aim-overlay { opacity: 0; visibility: hidden; pointer-events: none; }
.aim-arena[data-state="paused"] .aim-overlay { background: #000c; }
.aim-arena[data-state="setup"] .aim-overlay-content,
.aim-arena:not([data-state="setup"]) .aim-setup { display: none; }
.aim-overlay-content { display: grid; justify-items: center; gap: 12px; padding: 20px; }
.aim-overlay-content strong { font-size: 1.5rem; }
.aim-overlay-content span { color: #bdbbc8; }
.aim-setup { width: min(100% - 32px, 420px); display: grid; gap: 20px; }
.aim-step[hidden], .aim-actions [hidden] { display: none; }
.aim-step h2 { margin: 8px 0 18px; font-size: 1.3rem; }
.aim-step p { margin: 14px 0 0; color: #bdbbc8; }
.aim-step-count { color: #92929c; font-variant-numeric: tabular-nums; }
.aim-choices, .aim-actions { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px; }
.tool-page.tool-page--aim-trainer .aim-choices button[aria-checked="true"]:not(.default),
.tool-page.tool-page--aim-trainer .aim-choices button[aria-checked="true"]:not(.default):hover { border-color: #65e8d0; color: #65e8d0; }
.aim-setup--enter { animation: aim-step-enter 180ms ease both; }
@keyframes aim-step-enter { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: translateY(0); } }
.tool-page.tool-page--aim-trainer .aim-overlay button:not(.default),
.tool-page.tool-page--aim-trainer .aim-header button:not(.default) { min-height: 34px; padding: 6px 14px; font-size: .8rem; }
.tool-page.tool-page--aim-trainer :is(.aim-target, .aim-target-ghost):not(.default) { position: absolute; display: block; min-width: 0; min-height: 0; padding: 0; border: 2px solid #65e8d0; border-radius: 50%; background: #09211d; box-shadow: 0 0 12px #27ceb94d; transform: translate(-50%, -50%); cursor: crosshair; touch-action: none; transition: none; }
.tool-page.tool-page--aim-trainer :is(.aim-target, .aim-target-ghost):not(.default)::before { content: ''; position: absolute; inset: 22%; border: 2px solid #65e8d0; border-radius: 50%; background: #65e8d0; box-shadow: 0 0 10px #65e8d080; }
.tool-page.tool-page--aim-trainer .aim-target:not(.default) { animation: aim-enter 160ms ease-out both; }
.tool-page.tool-page--aim-trainer .aim-target-ghost:not(.default) { pointer-events: none; animation: aim-hit 200ms ease-out both; }
.tool-page.tool-page--aim-trainer .aim-target-ghost--expired:not(.default) { animation-name: aim-fade; }
.tool-page.tool-page--aim-trainer .aim-target:not(.default)::after { content: ''; position: absolute; inset: -5px; border: 2px solid #65e8d0; border-radius: 50%; opacity: .45; animation: aim-expire var(--aim-lifetime) linear forwards; pointer-events: none; }
.tool-page.tool-page--aim-trainer .aim-arena[data-state="paused"] .aim-target:not(.default)::after { animation-play-state: paused; }
.tool-page.tool-page--aim-trainer .aim-target--untimed:not(.default)::after { display: none; }
.tool-page.tool-page--aim-trainer .aim-target:focus-visible { outline: 2px solid #fff; outline-offset: 4px; }
@keyframes aim-enter { from { opacity: 0; transform: translate(-50%, -50%) scale(.75); } to { opacity: 1; transform: translate(-50%, -50%) scale(1); } }
@keyframes aim-hit { from { opacity: 1; transform: translate(-50%, -50%) scale(1); } to { opacity: 0; transform: translate(-50%, -50%) scale(1.2); } }
@keyframes aim-fade { to { opacity: 0; transform: translate(-50%, -50%) scale(.8); } }
@keyframes aim-expire { to { transform: scale(.55); opacity: 0; } }
@media (max-width: 600px) {
    .aim-workspace { width: auto; margin: 0; padding: 16px 16px 32px 10px; }
    .aim-stats { gap: 8px 6px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .aim-stats span { font-size: .7rem; }
    .aim-stats strong { font-size: 1.1rem; }
    .aim-arena { height: clamp(280px, 52vh, 420px); }
    .aim-arena[data-size="large"] { height: clamp(300px, 65vh, 600px); }
}
@media (prefers-reduced-motion: reduce) {
    .aim-overlay { transition: none; }
    .aim-setup--enter { animation: none; }
    .tool-page.tool-page--aim-trainer .aim-target:not(.default),
    .tool-page.tool-page--aim-trainer .aim-target:not(.default)::after { animation: none; }
}
