/* ================================================================
   AIM TRAINER — dedicated page stylesheet (V66)
   Extracted unchanged from page-specific.css V63.
   Depends on shared tokens and shell rules from /css/style.css.
================================================================ */

/* =========================================================
   AIM TRAINER — V30 arena overlay layout
   Isolated page styles; no database or leaderboard components.
========================================================= */
.aim-screen[hidden],.aim-live-bar[hidden],.aim-config-bar[hidden],.aim-prestart-panel[hidden],.aim-start-btn[hidden],.aim-result-panel[hidden],.aim-workspace[hidden]{display:none!important}

.aim-trainer-body{background-color:var(--bg,#101314)}
.aim-trainer-site{min-height:420px}
.aim-page-head{min-width:0}
.aim-page-badges{display:flex;gap:8px;flex-shrink:0}
.aim-page-badges span{display:inline-flex;align-items:center;gap:5px;padding:8px 10px;border:1px solid #303a37;border-radius:9px;background:#171d1c;color:#929f98;font-size:11px;white-space:nowrap}
.aim-page-badges strong{color:#e4eee8;font-size:13px}
.aim-config-heading{display:flex;align-items:center;gap:8px}
.aim-config-heading svg{width:15px;height:15px;fill:none;stroke:#91cdb0;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.aim-live-bar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px 16px;border-bottom:1px solid #2a3432;background:linear-gradient(145deg,#1c2322,#171d1d)}
.aim-live-title{display:flex;align-items:center;gap:9px;color:#9bd8b7;font-size:11px;font-weight:700;white-space:nowrap}
.aim-live-dot{width:7px;height:7px;border-radius:50%;background:#4cc58d;box-shadow:0 0 0 4px rgba(76,197,141,.12)}
.aim-live-title strong{margin-left:5px;color:#d7e1da;font-size:11px;font-weight:600}
.aim-hud{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}
.aim-hud>div{display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 3px;border-left:1px solid rgba(255,255,255,.06)}
.aim-hud>div:first-child{border-left:0}
.aim-hud strong{color:#e8efeb;font-size:18px;font-weight:750;font-variant-numeric:tabular-nums;line-height:1.1}
.aim-hud>div:first-child strong{color:#a4e0c1}
.aim-hud span{color:#829089;font-size:9px}
.aim-abort-btn,.aim-secondary-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:39px;padding:0 13px;border:1px solid #35403d;border-radius:9px;background:#1b2220;color:#c5d0c9;font:inherit;font-size:12px;font-weight:650;cursor:pointer;transition:background .17s ease,border-color .17s ease,color .17s ease}
.aim-abort-btn{border-color:rgba(194,112,105,.27);background:rgba(117,40,40,.13);color:#e0aaa5}
.aim-abort-btn:hover{border-color:rgba(215,125,116,.48);background:rgba(150,48,48,.2)}
.aim-secondary-btn:hover{border-color:#5c7e6a;background:#202a25;color:#edf6f0}
.aim-timebar{grid-column:1/-1;height:4px;overflow:hidden;background:#27312d}
.aim-timebar span{display:block;width:100%;height:100%;border-radius:4px;background:linear-gradient(90deg,#247c59,#8ddab7);transition:width .08s linear,background .15s ease}
.aim-arena-wrap{padding:12px;background:#101515}
.aim-arena{position:relative;min-height:clamp(580px,68vh,720px);overflow:hidden;border:1px solid #2b3834;border-radius:12px;background:#101616;cursor:crosshair;touch-action:manipulation;user-select:none;isolation:isolate}
.aim-arena.is-prestart:after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:rgba(5,9,8,.2);backdrop-filter:blur(5px) saturate(.72);-webkit-backdrop-filter:blur(5px) saturate(.72)}
.aim-arena-backdrop{position:absolute;inset:-12px;z-index:0;pointer-events:none;background:radial-gradient(ellipse at 24% 28%,rgba(67,130,96,.28),transparent 42%),radial-gradient(ellipse at 78% 58%,rgba(91,94,168,.22),transparent 44%),linear-gradient(135deg,#111a17,#1b2421 52%,#121817);filter:blur(10px);transform:scale(1.035)}
.aim-config-bar{position:absolute;z-index:5;top:14px;left:14px;right:14px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:12px;padding:0;border:0;background:transparent;pointer-events:none}
.aim-config-group{min-width:0;padding:12px;border:1px solid rgba(166,190,176,.17);border-radius:12px;background:rgba(12,18,16,.76);box-shadow:0 10px 26px rgba(0,0,0,.16);backdrop-filter:blur(14px) saturate(.8);-webkit-backdrop-filter:blur(14px) saturate(.8);pointer-events:auto}
.aim-config-group:last-child{text-align:right}.aim-config-group:last-child .aim-control-list{justify-content:flex-end}
.aim-config-heading{display:flex;align-items:center;gap:8px;margin:0 0 9px;color:#aebbb4;font-size:10px;font-weight:750;letter-spacing:.12em;text-transform:uppercase}
.aim-config-group:last-child .aim-config-heading{justify-content:flex-end}
.aim-control-list{display:flex;flex-wrap:wrap;gap:7px}
.aim-control-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:0 11px;border:1px solid #3a4941;border-radius:9px;background:rgba(17,25,21,.92);color:#d0dbd3;font:inherit;font-size:12px;font-weight:600;cursor:pointer}
.aim-control-btn.is-selected{border-color:rgba(108,195,151,.72);background:rgba(35,116,82,.34);color:#d9f5e4;box-shadow:inset 0 0 0 1px rgba(108,195,151,.08)}
.aim-arena:before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.32;background-image:linear-gradient(rgba(135,172,153,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(135,172,153,.07) 1px,transparent 1px);background-size:52px 52px;filter:blur(1px);mask-image:radial-gradient(ellipse at center,#000,transparent 84%)}
.aim-arena-center{position:absolute;left:50%;top:48%;z-index:1;width:150px;height:150px;transform:translate(-50%,-50%);border:1px solid rgba(145,188,159,.16);border-radius:50%;filter:blur(2px);pointer-events:none}
.aim-arena-center span,.aim-arena-center i{position:absolute;left:50%;top:50%;border:1px solid rgba(110,156,135,.13);border-radius:50%;transform:translate(-50%,-50%)}
.aim-arena-center span{width:92px;height:92px}.aim-arena-center i{width:34px;height:34px}
.aim-target{position:absolute;display:grid;place-items:center;padding:0;border:0;border-radius:50%;transform:translate(-50%,-50%);cursor:crosshair;box-shadow:0 0 0 5px rgba(255,255,255,.045),0 3px 13px rgba(0,0,0,.3);touch-action:manipulation}
.aim-target:before,.aim-target:after{content:"";position:absolute;border:2px solid rgba(255,255,255,.48);border-radius:50%}
.aim-target:before{inset:17%}.aim-target:after{inset:40%;border-color:rgba(255,255,255,.78);background:rgba(255,255,255,.18)}
.aim-arena.is-miss{animation:aimMissFlash .12s ease}
.aim-hit-ring{position:absolute;border:2px solid #8de2b7;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;animation:aimRing .42s ease-out forwards}
@keyframes aimRing{from{width:8px;height:8px;opacity:1}to{width:58px;height:58px;opacity:0}}
@keyframes aimMissFlash{50%{box-shadow:inset 0 0 0 999px rgba(168,65,65,.07)}}
.aim-prestart-panel{position:absolute;z-index:6;left:50%;top:54%;bottom:auto;transform:translate(-50%,-50%);width:min(720px,calc(100% - 36px));max-height:calc(100% - 168px);overflow:auto;padding:22px 26px 23px;border:1px solid rgba(173,199,181,.28);border-radius:16px;background:rgba(10,16,13,.78);box-shadow:0 22px 58px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.055);backdrop-filter:blur(20px) saturate(.86);-webkit-backdrop-filter:blur(20px) saturate(.86);text-align:center}
.aim-mode-description{display:flex;flex-direction:column;align-items:center;max-width:660px;margin:0 auto;padding:0;text-align:center}
.aim-description-kicker{display:inline-flex;align-items:center;gap:7px;margin-bottom:7px;color:#8cba9d;font-size:9px;font-weight:750;letter-spacing:.13em}
.aim-description-kicker:before{content:"";width:6px;height:6px;border-radius:50%;background:#6eae86}
.aim-mode-description h2{margin:0;color:#f0f6f2;font-size:21px;font-weight:740;letter-spacing:-.02em}
.aim-mode-description p{margin:7px 0 0;color:#d1dbd4;font-size:14px;line-height:1.6}
.aim-difficulty-hint{display:inline-flex;margin-top:8px;padding:5px 9px;border:1px solid #303b35;border-radius:7px;background:#171e1a;color:#a2b3a8;font-size:11px;font-weight:600}
.aim-start-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:min(320px,100%);min-height:54px;margin:14px auto 0;padding:0 18px;border:1px solid rgba(159,228,190,.36);border-radius:11px;background:linear-gradient(135deg,#287e5d,#176a4e 62%,#12583f);box-shadow:0 8px 22px rgba(5,91,66,.24),inset 0 1px 0 rgba(255,255,255,.1);color:#f4fff8;font:inherit;font-size:15px;font-weight:750;cursor:pointer;transition:filter .18s ease,transform .18s ease,box-shadow .18s ease}
.aim-start-btn:hover{filter:brightness(1.08);transform:translateY(-1px);box-shadow:0 10px 25px rgba(5,91,66,.3)}
.aim-start-btn svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6}
.aim-start-btn span{margin-left:auto;font-size:20px}
.aim-result-panel{margin-top:14px;padding:22px;border:1px solid #303b36;border-radius:16px;background:linear-gradient(145deg,#1c2321,#151b1a 72%,#171d1c)}
.aim-result-heading{display:flex;align-items:center;gap:12px}
.aim-result-icon{display:grid;place-items:center;width:44px;height:44px;border:1px solid rgba(199,174,112,.22);border-radius:12px;background:rgba(155,126,59,.1);color:#d6bb7d}
.aim-result-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linejoin:round}
.aim-result-kicker{color:#8f9c93;font-size:9px;font-weight:750;letter-spacing:.13em}
.aim-result-heading h2{margin:3px 0 0;color:#eaf1ec;font-size:20px}
.aim-result-score{display:flex;align-items:baseline;gap:10px;margin:18px 0 14px}
.aim-result-score strong{color:#a3e0c2;font-size:clamp(48px,6vw,68px);font-weight:800;letter-spacing:-.055em;line-height:1}
.aim-result-score span{color:#91a099;font-size:14px}
.aim-result-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.aim-result-stats>div{display:flex;flex-direction:column;gap:4px;padding:12px;border:1px solid #303a36;border-radius:10px;background:#171d1b}
.aim-result-stats strong{color:#e4eee8;font-size:21px;font-weight:750;font-variant-numeric:tabular-nums}
.aim-result-stats span{color:#89968e;font-size:11px}
.aim-result-mode{margin:12px 0 15px;color:#91c7ac;font-size:12px}
.aim-result-actions{display:flex;flex-wrap:wrap;gap:9px}
.aim-result-actions .aim-start-btn{width:auto;min-width:220px;margin:0;flex:1}
.aim-build-suggestions{margin-top:17px;padding:14px;border:1px solid #2b3436;border-radius:14px;background:#171c1e}
.aim-build-suggestions-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.aim-build-suggestions-head h3{margin:0;color:#e7eeea;font-size:14px}
.aim-build-suggestions-head>span{color:#819087;font-size:10px}
.aim-build-suggestions-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.aim-build-mini{display:grid;grid-template-columns:58px minmax(0,1fr);gap:9px;align-items:center;padding:8px;border:1px solid #303a3b;border-radius:10px;background:#14191a;text-decoration:none}
.aim-build-mini img{grid-row:span 2;width:58px;height:58px;object-fit:cover;border-radius:7px}
.aim-build-mini span{min-width:0}.aim-build-mini strong,.aim-build-mini small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.aim-build-mini strong{color:#dce5e0;font-size:11px}.aim-build-mini small{margin-top:4px;color:#84918b;font-size:10px}
.aim-build-mini b{grid-column:2;color:#a0dabb;font-size:10px;font-weight:650}.aim-build-mini:hover{border-color:#527b68}
.aim-guide-panel{margin-top:18px;padding:19px;border:1px solid #2b3532;border-radius:15px;background:linear-gradient(145deg,#1a211f,#151b1a 75%,#171d1c)}
.aim-guide-heading{display:flex;align-items:center;gap:12px;margin:0 0 12px}
.aim-guide-heading-icon{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border:1px solid rgba(91,195,154,.2);border-radius:12px;background:rgba(22,139,104,.1);color:#9ad7b8}
.aim-guide-heading-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}
.aim-guide-heading h2{margin:0;color:#e7efea;font-size:18px;font-weight:720}
.aim-guide-heading p{margin:4px 0 0;color:#9aa79f;font-size:13px;line-height:1.5}
.aim-guide-list{display:flex;flex-direction:column;gap:9px}
.aim-guide-item{overflow:hidden;border:1px solid #303b36;border-radius:11px;background:#151b19}
.aim-guide-item summary{display:flex;align-items:center;gap:12px;min-height:67px;padding:11px 14px;list-style:none;cursor:pointer}
.aim-guide-item summary::-webkit-details-marker{display:none}
.aim-guide-item-icon{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;border:1px solid #35453b;border-radius:10px;background:#1c2821;color:#a1d4b4}
.aim-guide-item-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.aim-guide-item summary>span:nth-child(2){display:flex;flex:1;flex-direction:column;gap:4px;min-width:0}
.aim-guide-item summary strong{color:#e0eae3;font-size:15px;font-weight:680;line-height:1.3}
.aim-guide-item summary small{color:#98a59d;font-size:12px;line-height:1.4}
.aim-guide-item summary>b{display:grid;place-items:center;width:29px;height:29px;border:1px solid #35423a;border-radius:8px;color:#a6d5b8;font-size:20px;font-weight:400;transition:transform .18s ease}
.aim-guide-item[open] summary{border-bottom:1px solid #303b36;background:#1a221f}
.aim-guide-item[open] summary>b{transform:rotate(45deg)}
.aim-guide-copy{padding:14px 18px 17px 64px;color:#b6c2ba;font-size:15px;line-height:1.75}
.aim-guide-copy p{margin:0 0 9px;color:#b6c2ba;font-size:15px;line-height:1.75}
.aim-guide-copy ol{margin:0;padding-left:20px}.aim-guide-copy li{padding:2px 0 4px;color:#b6c2ba;font-size:15px;line-height:1.7}
.aim-is-playing .topbar,.aim-is-playing .site-footer{display:none!important}
.aim-is-playing .aim-trainer-site{width:min(1500px,calc(100% - 24px));margin:12px auto 24px}
.aim-is-playing .aim-page-head,.aim-is-playing .aim-guide-panel{display:none}
.aim-is-playing .aim-workspace{border-color:#27332e}
.aim-is-playing .aim-arena-wrap{padding:8px}
.aim-is-playing .aim-arena{min-height:clamp(440px,72vh,820px)}
@media(max-width:1000px){.aim-build-suggestions-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.aim-page-head{align-items:flex-start;flex-direction:column}.aim-page-badges{width:100%}.aim-control-list{gap:6px}.aim-control-btn{min-height:36px;padding:0 9px;font-size:11px}.aim-live-bar{grid-template-columns:1fr auto;gap:8px;padding:9px}.aim-live-title{grid-column:1/-1}.aim-hud{grid-column:1;grid-row:2}.aim-abort-btn{grid-column:2;grid-row:2}.aim-hud strong{font-size:16px}.aim-hud span{font-size:8px}.aim-arena-wrap{padding:7px}.aim-arena{min-height:clamp(610px,74vh,760px)}.aim-config-bar{top:8px;left:8px;right:8px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px}.aim-config-group{padding:8px 7px;border-radius:10px}.aim-config-heading{gap:5px;margin-bottom:7px;font-size:8px;letter-spacing:.08em}.aim-control-list{gap:4px}.aim-control-btn{flex:1 1 calc(50% - 4px);min-width:0;min-height:34px;padding:0 5px;font-size:10px}.aim-prestart-panel{top:56%;bottom:auto;width:calc(100% - 18px);max-height:calc(100% - 150px);padding:14px 13px 15px;border-radius:12px}.aim-mode-description h2{font-size:18px}.aim-mode-description p{margin-top:5px;font-size:12px;line-height:1.5}.aim-start-btn{width:min(280px,100%);min-height:49px;margin-top:10px;font-size:14px}.aim-guide-panel{padding:13px}.aim-guide-heading h2{font-size:16px}.aim-guide-heading p{font-size:12px}.aim-guide-item summary{gap:9px;padding:10px;min-height:63px}.aim-guide-item summary strong{font-size:14px}.aim-guide-item summary small{font-size:11px}.aim-guide-copy{padding:12px 13px;font-size:14px}.aim-guide-copy p,.aim-guide-copy li{font-size:14px}.aim-result-panel{padding:15px}.aim-result-stats{gap:6px}.aim-result-stats>div{padding:9px}.aim-result-stats strong{font-size:18px}.aim-build-suggestions-grid{grid-template-columns:1fr}.aim-build-mini{grid-template-columns:64px minmax(0,1fr)}.aim-build-mini img{width:64px;height:64px}}
@media(max-width:420px){.aim-control-btn{flex:1 1 calc(50% - 6px)}.aim-hud{gap:1px}.aim-hud>div{padding:3px 1px}.aim-hud strong{font-size:15px}.aim-hud span{font-size:7px}.aim-live-title{font-size:10px}.aim-abort-btn{min-height:35px;padding:0 8px;font-size:10px}.aim-page-badges span{font-size:10px}.aim-guide-item summary strong{font-size:13px}.aim-guide-item summary small{font-size:10px}.aim-result-actions{flex-direction:column}.aim-result-actions .aim-start-btn{width:100%;min-width:0}}
@media(prefers-reduced-motion:reduce){.aim-trainer-body *, .aim-trainer-body *:before,.aim-trainer-body *:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}


/* =========================================================
   AIM TRAINER — V67 personal results, comparison and modal
========================================================= */
.aim-prestart-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 14px;
}
.aim-prestart-actions .aim-start-btn {
    width: min(320px, 100%);
    margin: 0;
}
.aim-view-result-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 54px;
    padding: 0 17px;
    border: 1px solid rgba(126, 139, 255, .48);
    border-radius: 11px;
    background: linear-gradient(135deg, rgba(78, 88, 190, .96), rgba(65, 73, 157, .96) 62%, rgba(48, 56, 126, .98));
    box-shadow: 0 8px 22px rgba(45, 53, 143, .24), inset 0 1px 0 rgba(255,255,255,.11);
    color: #f3f4ff;
    font: inherit;
    font-size: 13px;
    font-weight: 740;
    cursor: pointer;
    transition: filter .18s ease, transform .18s ease, box-shadow .18s ease;
}
.aim-view-result-btn:hover {
    filter: brightness(1.1);
    transform: translateY(-1px);
    box-shadow: 0 10px 25px rgba(45,53,143,.32);
}
.aim-view-result-btn svg { width: 18px; height: 18px; flex: 0 0 18px; }
.aim-view-result-btn[hidden] { display: none !important; }
.aim-view-result-btn:focus-visible,
.aim-modal-done:focus-visible { outline: 2px solid #aeb5ff; outline-offset: 3px; }

.aim-progress-block,
.aim-history-block {
    margin-top: 18px;
    padding: 16px;
    border: 1px solid #303a36;
    border-radius: 13px;
    background: linear-gradient(145deg, rgba(29,37,33,.82), rgba(20,26,24,.94));
}
.aim-progress-heading,
.aim-history-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}
.aim-progress-kicker {
    color: #8fb9a0;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .13em;
}
.aim-progress-heading h3,
.aim-history-heading h3 {
    margin: 3px 0 0;
    color: #e8f0eb;
    font-size: 14px;
    font-weight: 720;
}
.aim-progress-context,
.aim-history-heading > span {
    color: #87958c;
    font-size: 10px;
    text-align: right;
}
.aim-comparison-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: 8px;
}
.aim-compare-card {
    min-width: 0;
    padding: 11px;
    border: 1px solid #303b36;
    border-radius: 10px;
    background: rgba(12,17,15,.48);
}
.aim-compare-card > span {
    display: block;
    color: #8e9c93;
    font-size: 10px;
}
.aim-compare-value {
    display: flex;
    align-items: baseline;
    gap: 6px;
    margin-top: 5px;
    color: #e7eee9;
    font-size: 19px;
    font-weight: 780;
    font-variant-numeric: tabular-nums;
}
.aim-compare-delta {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    margin-top: 5px;
    font-size: 10px;
    font-weight: 750;
}
.aim-compare-delta.is-better { color: #82e0a8; background: rgba(27,112,70,.16); border: 1px solid rgba(74,176,119,.22); padding: 3px 6px; border-radius: 6px; }
.aim-compare-delta.is-worse { color: #f0a0a6; background: rgba(116,30,47,.24); border: 1px solid rgba(168,54,70,.3); padding: 3px 6px; border-radius: 6px; }
.aim-compare-delta.is-same,
.aim-compare-delta.is-first { color: #9aa69e; }
.aim-history-list { display: grid; gap: 7px; }
.aim-history-empty {
    padding: 14px;
    border: 1px dashed #354139;
    border-radius: 9px;
    color: #87958c;
    font-size: 11px;
    text-align: center;
}
.aim-history-row {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto auto;
    align-items: center;
    gap: 12px;
    padding: 10px 11px;
    border: 1px solid #2b3530;
    border-radius: 9px;
    background: rgba(12,17,15,.4);
}
.aim-history-main { display: grid; gap: 3px; min-width: 0; }
.aim-history-main strong { color: #dfe8e2; font-size: 11px; }
.aim-history-main small { color: #829087; font-size: 9px; }
.aim-history-score { color: #b9e6ca; font-size: 13px; font-weight: 800; white-space: nowrap; }
.aim-history-accuracy { color: #a5b2aa; font-size: 10px; white-space: nowrap; }
.aim-history-row.is-current { border-color: rgba(107,116,245,.38); background: rgba(78,86,177,.09); }

.aim-result-modal {
    width: min(760px, calc(100% - 28px));
    max-width: none;
    max-height: min(90vh, 860px);
    max-height: min(90dvh, 860px);
    margin: auto;
    padding: 0;
    overflow: hidden;
    border: 1px solid #364149;
    border-radius: 17px;
    background: #14181b;
    color: #e7edf0;
    box-shadow: 0 28px 100px rgba(0,0,0,.62), inset 0 1px 0 rgba(255,255,255,.025);
}
.aim-result-modal::backdrop {
    background: rgba(3,6,9,.78);
    -webkit-backdrop-filter: blur(7px) saturate(.78);
    backdrop-filter: blur(7px) saturate(.78);
}
.aim-modal-header-icon {
    border-color: rgba(119,128,255,.25);
    background: linear-gradient(145deg, rgba(85,95,207,.22), rgba(44,52,118,.24));
    color: #aeb5ff;
}
.aim-modal-body { padding: 17px; }
.aim-modal-hero {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    align-items: center;
    gap: 14px;
    padding: 20px;
    border: 1px solid rgba(121,135,255,.24);
    border-radius: 14px;
    background:
      radial-gradient(ellipse at 85% 10%, rgba(106,116,245,.20), transparent 48%),
      linear-gradient(125deg, #202638, #171d29 65%, #171b22);
}
.aim-modal-hero:after {
    content: "";
    position: absolute;
    width: 190px;
    height: 190px;
    right: 4%;
    top: -115px;
    border: 1px solid rgba(161,170,255,.12);
    border-radius: 50%;
    box-shadow: 0 0 0 18px rgba(161,170,255,.025), 0 0 0 38px rgba(161,170,255,.018);
    pointer-events: none;
}
.aim-modal-hero-copy { position: relative; z-index: 1; }
.aim-modal-hero-kicker { color: #aab1ff; font-size: 9px; font-weight: 800; letter-spacing: .13em; }
.aim-modal-hero h3 { margin: 6px 0 3px; color: #f2f3ff; font-size: 18px; }
.aim-modal-hero p { margin: 0; color: #a7b0c2; font-size: 11px; line-height: 1.5; }
.aim-modal-score { position: relative; z-index: 1; color: #f2f3ff; font-size: clamp(42px,7vw,62px); font-weight: 850; letter-spacing: -.06em; line-height: 1; text-align: right; font-variant-numeric: tabular-nums; }
.aim-modal-score small { display: block; margin-top: 5px; color: #a7b0c2; font-size: 10px; font-weight: 600; letter-spacing: 0; }
.aim-modal-stats {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 8px;
    margin-top: 11px;
}
.aim-modal-stat {
    padding: 12px;
    border: 1px solid #303a42;
    border-radius: 10px;
    background: linear-gradient(145deg,#1c2329,#171d22);
}
.aim-modal-stat span { display: block; color: #8f9da6; font-size: 9px; }
.aim-modal-stat strong { display: block; margin-top: 5px; color: #e8edf2; font-size: 20px; font-weight: 800; font-variant-numeric: tabular-nums; }
.aim-modal-section-title { display:flex; align-items:center; justify-content:space-between; gap:10px; margin:17px 0 9px; color:#e4ebef; font-size:12px; font-weight:750; }
.aim-modal-section-title small { color:#8997a0; font-size:9px; font-weight:500; }
.aim-modal-done {
    min-height: 34px;
    padding: 0 13px;
    border: 1px solid #4652b4;
    border-radius: 8px;
    background: linear-gradient(135deg,#535fcb,#3d479f);
    color: #f4f5ff;
    font: inherit;
    font-size: 11px;
    font-weight: 700;
    cursor: pointer;
}
body.aim-modal-open { overflow: hidden; }

@media(max-width:700px) {
    .aim-prestart-actions { flex-direction: column; }
    .aim-prestart-actions .aim-start-btn,
    .aim-prestart-actions .aim-view-result-btn { width: min(320px,100%); }
    .aim-comparison-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .aim-history-row { grid-template-columns: minmax(0,1fr) auto; gap: 6px 10px; }
    .aim-history-accuracy { grid-column: 2; }
    .aim-modal-stats { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .aim-modal-hero { padding: 15px; }
}
@media(max-width:420px) {
    .aim-progress-block,.aim-history-block { padding: 12px; }
    .aim-progress-heading,.aim-history-heading { align-items:flex-start; flex-direction:column; gap:5px; }
    .aim-progress-context,.aim-history-heading > span { text-align:left; }
    .aim-compare-card { padding:9px; }
    .aim-compare-value { font-size:17px; }
    .aim-modal-body { padding:12px; }
    .aim-modal-hero { grid-template-columns:minmax(0,1fr); }
    .aim-modal-score { text-align:left; font-size:48px; }
}

.aim-result-modal .aim-modal-footer {
    display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap;
    margin-top:15px; padding-top:14px; border-top:1px solid #2a3339; color:#8998a0; font-size:10px;
}
@media(max-width:520px) {
    .aim-result-modal .aim-modal-footer { align-items:stretch; flex-direction:column; }
    .aim-result-modal .aim-modal-footer .aim-modal-done { width:100%; }
}


/* =========================================================
   AIM TRAINER V67 FIX — self-contained result dialog
   The standalone trainer does not load home.css, so all modal
   layout and icon sizing must live in this stylesheet.
========================================================= */
dialog.aim-result-modal {
    box-sizing: border-box;
    width: min(760px, calc(100vw - 28px));
    max-width: 760px;
    max-height: min(90vh, 860px);
    max-height: min(90dvh, 860px);
    margin: auto;
    padding: 0;
    overflow: hidden;
    color-scheme: dark;
}
dialog.aim-result-modal[open] {
    display: block;
}
.aim-result-modal .aim-modal-shell {
    display: flex;
    flex-direction: column;
    min-width: 0;
    max-height: min(90vh, 860px);
    max-height: min(90dvh, 860px);
    overflow: hidden;
}
.aim-result-modal .aim-modal-header {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 13px;
    min-width: 0;
    padding: 17px 19px;
    border-bottom: 1px solid #2b343b;
    background: linear-gradient(145deg, #1b2229, #171d23 72%, #191e27);
}
.aim-result-modal .aim-modal-header-icon {
    display: grid;
    place-items: center;
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    box-sizing: border-box;
    border: 1px solid rgba(119,128,255,.25);
    border-radius: 12px;
    background: linear-gradient(145deg, rgba(85,95,207,.22), rgba(44,52,118,.24));
    color: #aeb5ff;
}
.aim-result-modal .aim-modal-header-icon svg {
    display: block;
    width: 21px !important;
    height: 21px !important;
    min-width: 21px;
    max-width: 21px;
    min-height: 21px;
    max-height: 21px;
    fill: none;
    stroke: currentColor;
}
.aim-result-modal .aim-modal-title-copy {
    flex: 1 1 auto;
    min-width: 0;
}
.aim-result-modal .aim-modal-eyebrow {
    display: block;
    margin: 0 0 4px;
    color: #9ca5ff;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .13em;
    line-height: 1.4;
}
.aim-result-modal .aim-modal-title-copy h2 {
    margin: 0;
    color: #edf1f6;
    font-size: 19px;
    font-weight: 780;
    line-height: 1.25;
    letter-spacing: -.02em;
}
.aim-result-modal .aim-modal-title-copy p {
    margin: 4px 0 0;
    color: #9ba7b1;
    font-size: 11px;
    line-height: 1.45;
}
.aim-result-modal .aim-modal-close {
    display: grid;
    place-items: center;
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    margin-left: auto;
    padding: 0;
    border: 1px solid #37424c;
    border-radius: 9px;
    background: rgba(255,255,255,.035);
    color: #aeb8c2;
    cursor: pointer;
}
.aim-result-modal .aim-modal-close:hover {
    border-color: rgba(139,148,255,.55);
    background: rgba(107,116,245,.12);
    color: #eef0ff;
}
.aim-result-modal .aim-modal-close svg {
    display: block;
    width: 17px !important;
    height: 17px !important;
    max-width: 17px;
    max-height: 17px;
}
.aim-result-modal .aim-modal-body {
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
    overscroll-behavior: contain;
    padding: 17px;
}
.aim-result-modal #aim-modal-content {
    display: block;
    min-width: 0;
}
.aim-result-modal .aim-modal-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 15px;
    padding-top: 14px;
    border-top: 1px solid #2a3339;
    color: #8998a0;
    font-size: 10px;
    line-height: 1.5;
}
.aim-result-modal .aim-modal-footer .aim-modal-done {
    flex: 0 0 auto;
}
@media (max-width: 520px) {
    .aim-result-modal .aim-modal-header { gap: 10px; padding: 13px; }
    .aim-result-modal .aim-modal-header-icon { flex-basis: 39px; width: 39px; height: 39px; }
    .aim-result-modal .aim-modal-title-copy h2 { font-size: 17px; }
    .aim-result-modal .aim-modal-body { padding: 12px; }
    .aim-result-modal .aim-modal-footer { align-items: stretch; flex-direction: column; }
    .aim-result-modal .aim-modal-footer .aim-modal-done { width: 100%; }
}
