/* ATLAS completion sequence: a brief celebration, truthful totals, a clear next step. */
.reward-summary{--reward-gold:#f1cd83;--reward-mint:#c9eea5;--reward-ink:#17291c;max-width:800px;margin:0 auto 35px;padding:0 0 24px;position:relative;text-align:center;isolation:isolate}
.reward-summary .summary-hero{position:relative;padding:20px 8px 0}
.reward-summary .summary-hero>.eyebrow{color:#ddc18c;font-size:10px;letter-spacing:.18em;margin:14px 0 0}
.reward-summary .summary-hero h1{font:normal 43px/1.12 Georgia,serif;color:#f5ebd5;margin:11px 0 10px;text-wrap:balance}
.reward-summary .summary-hero>p{font-size:13px;line-height:1.6;color:#b9c8d5;margin:0 auto;max-width:460px}
.reward-medallion{width:108px;height:108px;border-radius:50%;position:relative;display:grid;place-items:center;margin:0 auto 5px;border:1px solid #b39960;background:radial-gradient(circle at 38% 25%,#76623d80,#293338 50%,#152330 85%);box-shadow:0 0 0 12px #e6c07506,0 0 0 24px #e6c07503,0 10px 35px #0004}
.reward-medallion>.icon{width:66px;height:66px;color:#f1ce87;stroke-width:1.1;filter:drop-shadow(0 1px 7px #e4b45b22)}
.medal-ring{position:absolute;inset:8px;border:1px solid #b2986133;border-radius:50%;border-top-color:#f5d99466;transform:rotate(-40deg)}
.medal-check{position:absolute;right:-5px;bottom:3px;display:grid;place-items:center;width:27px;height:27px;border:2px solid #19262f;border-radius:50%;background:#c9e9a8;color:#1d432b;font-size:16px;font-weight:800;box-shadow:0 2px 8px #0003}
.victory-stars{position:absolute;left:50%;top:0;width:222px;height:104px;transform:translateX(-50%);pointer-events:none;z-index:2}
.victory-stars>span{position:absolute;display:block;filter:drop-shadow(0 2px 5px #dfa83e33)}
.victory-stars svg{width:100%;height:100%;fill:#f3d38b;stroke:#fff0b8;stroke-width:.55;overflow:visible}
.victory-stars>span:nth-child(1){width:29px;height:29px;left:0;top:58px;transform:rotate(-16deg)}
.victory-stars>span:nth-child(2){width:39px;height:39px;left:91px;top:-6px}
.victory-stars>span:nth-child(3){width:29px;height:29px;right:0;top:58px;transform:rotate(16deg)}
.skip-celebration{position:absolute;right:0;top:0;z-index:12;padding:6px 8px;background:transparent;border:0;color:#aebfce;font-size:10px;border-radius:4px}
.skip-celebration:hover{color:#f1d9a8;background:#283547}
.skip-celebration[hidden],.level-up-banner[hidden]{display:none}
.reward-stats{gap:12px;margin:24px 0 20px}
.reward-stats>.reward-stat{position:relative;padding:13px 10px 15px;border:1px solid #45655a;background:linear-gradient(145deg,#253c36,#1a2d30);border-radius:12px;overflow:hidden}
.reward-stats>.reward-stat-xp{background:linear-gradient(135deg,#49402c,#2c302e);border-color:#95804e;box-shadow:0 4px 24px #c3a0560c}
.reward-stats>.reward-stat-accuracy{border-color:#465d74;background:linear-gradient(145deg,#27394a,#1a2c3b)}
.reward-stats .stat-symbol{display:inline-grid;place-items:center;color:#cce6b7;height:20px;margin-bottom:4px}
.reward-stats .stat-symbol .icon{width:17px;height:17px}
.reward-stat-xp .stat-symbol{color:#f6d38d}
.reward-stat-accuracy .stat-symbol{color:#b7d7ed}
.reward-stats strong{font-size:30px;line-height:1.15;font-weight:730;letter-spacing:-.025em;font-variant-numeric:tabular-nums;color:#d9edc5;min-height:35px}
.reward-stats strong>span:not(.reward-sr){display:inline;font:inherit;color:inherit;margin:0;white-space:nowrap}
.reward-stat-xp strong{color:#ffe2a4;text-shadow:0 0 20px #dfb45c12}
.reward-stat-accuracy strong{color:#d3e6f2}
.reward-stats .stat-label{color:#c4d0d2;font-size:11px;line-height:1.3;margin-top:7px}
.reward-level-wrap{max-width:470px;margin:0 auto 18px}
.reward-save-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;max-width:470px;margin:0 auto 18px;padding:13px 14px;border:1px solid #a689515c;border-radius:12px;background:linear-gradient(125deg,#302a23,#182435 70%);text-align:left}
.reward-save-icon{display:grid;place-items:center;width:33px;height:33px;border:1px solid #d6ac6152;border-radius:9px;background:#dfb46716;color:var(--reward-gold)}
.reward-save-icon .icon{width:17px;height:17px}
.reward-save-copy h2{margin:0;color:#f6e4bc;font-size:14px;line-height:1.3}
.reward-save-copy p{margin:4px 0 0;color:#c6d1dc;font-size:12px;line-height:1.45}
.reward-save-link{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:7px 10px;border:1px solid #bd9b63;border-radius:8px;color:#ffe4ad;font-size:12px;font-weight:700;white-space:nowrap;text-decoration:none}
.reward-save-link:hover{background:#dfb46724;border-color:#f1cd83;color:#fff2d0}
.reward-save-link:focus-visible{outline:2px solid #f4d48f;outline-offset:3px}
@media(max-width:540px){.reward-save-card{grid-template-columns:auto minmax(0,1fr);gap:9px 11px}.reward-save-link{grid-column:2;justify-self:start}}
.reward-level-card{padding:20px 24px 14px;background:linear-gradient(125deg,#202e40,#172434);border:1px solid #526379;box-shadow:0 12px 26px #0002;position:relative;transition:border-color .3s,box-shadow .3s}
.reward-level-card h3{font-size:25px;margin-bottom:15px}
.reward-level-card .eyebrow{font-size:9px;color:#d7bd8c}
.reward-level-card .level-emblem{right:22px;top:20px}
.reward-level-card .level-emblem .icon{position:absolute;inset:8px;width:31px;height:31px;opacity:.12}
.reward-level-card .level-emblem strong{z-index:1;font-variant-numeric:tabular-nums}
.reward-level-card .xp-line{margin:0 0 10px}
.reward-level-card .xp-line strong{font-size:15px;color:#f7d791;font-variant-numeric:tabular-nums}
.reward-level-card .xp-line>span{font-size:10px;color:#bfccd7;font-variant-numeric:tabular-nums}
.reward-xp-track{height:11px;overflow:visible;position:relative;border:1px solid #283c4e;background:#0d1b2b;border-radius:20px}
.reward-xp-track>[data-reward-fill]{height:100%;border-radius:20px;background:linear-gradient(90deg,#a57d3c,#eac47e 70%,#fff0b2);box-shadow:0 0 12px #dcb86a24;position:relative;transition:none}
.reward-xp-track>[data-reward-fill]:after{content:'';position:absolute;right:-1px;top:50%;width:9px;height:9px;background:#fff1c4;border:1px solid #f8db8c;border-radius:50%;transform:translateY(-50%);box-shadow:0 0 12px #f5d88988;opacity:.85}
.reward-xp-track>[data-reward-fill][style*="width:0%"]:after{opacity:0}
.reward-level-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:11px;min-height:24px}
.reward-level-footer>p{font-size:11px;line-height:1.4;margin:0;color:#b6c6d3;font-variant-numeric:tabular-nums}
.session-gain-pill{display:block;white-space:nowrap;padding:3px 7px;border-radius:20px;background:#75603a33;border:1px solid #a3874844;color:#e9c986;font-size:10px}
.level-up-banner{background:#c9eaa514;border:1px solid #8cac6966;padding:8px 10px;border-radius:7px;margin-top:13px;color:#d6efa9;font-size:12px;font-weight:700;text-align:center}
.reward-summary.has-level-up .reward-level-card{border-color:#b3cf8f;box-shadow:0 0 0 3px #c4e49a0b,0 0 28px #b8d18b1a}
.summary-next-block{max-width:470px;margin:0 auto;transition:opacity .35s}
.next-discovery{display:flex;align-items:center;gap:11px;text-align:left;padding:12px 14px;background:#1a2937;border:1px solid #405265;border-radius:10px;margin:0 auto 15px}
.next-discovery-mark{display:grid;place-items:center;flex:0 0 31px;height:31px;border-radius:8px;color:#dcc694;background:#d2b66e12;border:1px solid #9c885633}
.next-discovery-mark .icon{width:17px;height:17px}
.next-discovery>div{min-width:0;flex:1}
.next-discovery small{display:block;font-size:8px;line-height:1.4;letter-spacing:.1em;color:#b8ac90}
.next-discovery strong{display:block;color:#edf0e6;font-size:12px;line-height:1.45;font-weight:600;margin-top:3px}
.next-step-count{font-size:10px;white-space:nowrap;color:#b6c4cf}
.reward-actions{display:flex;flex-direction:column;align-items:center;gap:0;margin:0}
.reward-actions .continue-session{appearance:none;width:100%;min-height:56px;padding:14px 20px;display:flex;align-items:center;justify-content:center;gap:12px;text-align:center;border:1px solid #d6f4c3;background:linear-gradient(105deg,#c9eaa4,#b6e9bf 48%,#d4efac);background-size:180% 100%;background-position:0 50%;color:#173424;border-radius:10px;box-shadow:0 4px 20px #9acda516;font-size:15px;font-weight:750;line-height:1.25;letter-spacing:-.01em;position:relative;isolation:isolate;overflow:hidden;transition:background-position .55s ease,transform .16s,box-shadow .2s,border-color .2s}
.reward-actions .continue-session .continue-label{position:relative;z-index:2}
.reward-actions .continue-session .continue-bolt{width:19px;height:22px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-linejoin:round;stroke-width:1.6;position:relative;z-index:2}
.reward-actions .continue-session .continue-arrow{position:absolute;right:19px;top:50%;transform:translateY(-50%);font-size:21px;color:#294d36;transition:translate .16s;z-index:2}
.reward-actions .continue-session .continue-energy{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;fill:none;stroke:#fcffe2;stroke-width:1.6;opacity:0;filter:drop-shadow(0 0 4px #ffffb5);stroke-dasharray:100 650;stroke-dashoffset:750}
.reward-actions .continue-session:hover,.reward-actions .continue-session:focus-visible{background-position:100% 50%;border-color:#efffdc;transform:translateY(-1px);box-shadow:0 5px 25px #b4e7ad30}
.reward-actions .continue-session:hover .continue-arrow{transform:translateY(-50%);translate:3px 0}
.reward-actions .continue-session:active{transform:translateY(1px);box-shadow:0 2px 9px #9acda51c}
.reward-actions .continue-session:focus-visible,.summary-back:focus-visible,.skip-celebration:focus-visible{outline:2px solid #f4d48f;outline-offset:5px}
.reward-actions .next-session-detail{margin:10px 0 6px;color:#aebfca;font-size:11px;line-height:1.4}
.summary-back{background:transparent;border:0;border-radius:5px;color:#b3c2cd;font-size:11px!important;font-weight:500;padding:7px 12px;min-height:30px}
.summary-back:hover{color:#f2deb4;background:#233344}
.summary-ready-caption{color:#8eab98;font-size:10px;margin-top:5px;min-height:15px}
.queue-complete{font-size:13px;color:#c5d4ce;padding:8px 0}
.reward-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.partial-session{max-width:600px;margin:35px auto}.partial-session .summary-back{display:block;margin-top:12px}
.screen-stars{position:fixed;inset:0;z-index:10;pointer-events:none;overflow:hidden;visibility:hidden}
.particle-origin,.star-shockwave{position:absolute;left:calc(50% + 116px);top:33%}
.particle-origin i{position:absolute;display:block;width:var(--size);height:var(--size);margin:calc(var(--size)*-.5);background:#f4d38c;opacity:0;clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 94%,50% 72%,21% 94%,32% 57%,2% 35%,39% 35%);filter:drop-shadow(0 0 3px #f5d68f55)}
.particle-origin i[style*="--tone:1"]{background:#d2e8ae}
.particle-origin i[style*="--tone:2"]{background:#d5e0ef}
.star-shockwave{width:190px;height:190px;border:1px solid #dfc07755;border-radius:50%;margin:-95px 0 0 -95px;box-shadow:0 0 45px #e2bd5c16,inset 0 0 55px #e2bd5c09;opacity:0}
.is-celebrating[data-phase="burst"] .screen-stars{visibility:visible}
.is-celebrating .particle-origin i{animation:screen-star 1.15s cubic-bezier(.12,.75,.27,1) var(--delay) both}
.is-celebrating .star-shockwave{animation:star-wave 1.15s ease-out both}
.is-celebrating .reward-medallion{animation:medal-arrival .65s cubic-bezier(.15,.8,.3,1.2) both}
.is-celebrating .victory-stars>span{animation:star-arrival .65s cubic-bezier(.15,.8,.3,1.3) both}
.is-celebrating .victory-stars>span:nth-child(1){animation-delay:.12s}
.is-celebrating .victory-stars>span:nth-child(2){animation-delay:.24s}
.is-celebrating .victory-stars>span:nth-child(3){animation-delay:.36s}
.is-celebrating .reward-stat{animation:stat-arrival .45s cubic-bezier(.15,.8,.3,1) both;animation-delay:.65s}
.is-celebrating .reward-stat-xp{animation-delay:.95s}
.is-celebrating .reward-stat-accuracy{animation-delay:1.25s}
.is-celebrating[data-phase="transfer"] .reward-xp-track{box-shadow:0 0 0 4px #c8aa6c08,0 0 22px #d9b57618}
.is-celebrating[data-phase="burst"] .summary-next-block,.is-celebrating[data-phase="results"] .summary-next-block{opacity:.86}
.is-celebrating .session-gain-pill{animation:gain-arrival .45s ease-out 2.25s both}
.continue-session:after{content:'';position:absolute;inset:-50% auto -50% -60%;width:32%;background:linear-gradient(90deg,transparent,#fff9cb70,transparent);transform:skewX(-22deg);opacity:0;pointer-events:none;z-index:1}
.celebration-done:not(.effects-skipped):not(.motion-reduced) .continue-session:after{animation:continue-sheen 1.15s ease-out .1s both}
.celebration-done:not(.effects-skipped):not(.motion-reduced) .continue-session .continue-energy{animation:continue-current 1.25s ease-out .1s both}
.reward-actions .continue-session:hover .continue-energy,.reward-actions .continue-session:focus-visible .continue-energy{animation:continue-current-hover 1.15s ease-out both}
.has-level-up.is-celebrating .level-emblem{animation:level-pulse .7s ease-out both}
@keyframes screen-star{0%{transform:translate(0,0) scale(.3) rotate(0);opacity:0}12%{opacity:.95}60%{opacity:.8}100%{transform:translate(var(--dx),var(--dy)) scale(.5) rotate(var(--spin));opacity:0}}
@keyframes star-wave{0%{transform:scale(.25);opacity:0}20%{opacity:.7}100%{transform:scale(4);opacity:0}}
@keyframes medal-arrival{0%{transform:translateY(12px) scale(.7);opacity:0}65%{transform:translateY(0) scale(1.06);opacity:1}100%{transform:scale(1);opacity:1}}
@keyframes star-arrival{0%{scale:.1;opacity:0}70%{scale:1.2;opacity:1}100%{scale:1;opacity:1}}
@keyframes stat-arrival{from{transform:translateY(12px) scale(.97);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}
@keyframes gain-arrival{from{transform:translateY(-7px);opacity:0}to{transform:translateY(0);opacity:1}}
@keyframes continue-sheen{from{left:-60%;opacity:0}20%{opacity:1}to{left:130%;opacity:0}}
@keyframes continue-current{0%{stroke-dashoffset:750;opacity:0}15%{opacity:.85}80%{opacity:.6}100%{stroke-dashoffset:-120;opacity:0}}
@keyframes continue-current-hover{0%{stroke-dashoffset:750;opacity:0}15%{opacity:.75}80%{opacity:.55}100%{stroke-dashoffset:-120;opacity:0}}
@keyframes level-pulse{0%{transform:scale(.9)}50%{transform:scale(1.17);box-shadow:0 0 25px #d8e9a344}100%{transform:scale(1)}}
@media(max-width:900px){.particle-origin,.star-shockwave{left:50%}}
@media(max-width:600px){.reward-summary{padding-top:1px;margin-top:0}.reward-summary .summary-hero{padding-top:19px}.reward-summary .summary-hero h1{font-size:35px}.reward-summary .summary-hero>p{font-size:12px;max-width:300px}.reward-stats{gap:8px;margin:21px 0 16px}.reward-stats>.reward-stat{padding:12px 6px}.reward-stats strong{font-size:26px;min-height:30px}.reward-stats .stat-label{font-size:10px;min-height:27px;display:grid;place-items:center}.reward-level-card{padding:19px 18px 13px}.reward-level-card .level-emblem{right:18px}.reward-level-card h3{font-size:24px}.next-discovery{padding:11px 12px}.next-discovery small{font-size:7px}.next-discovery strong{font-size:12px}.reward-actions .continue-session{font-size:14px;min-height:56px;padding:14px 36px 14px 18px;gap:9px}.reward-actions .continue-session .continue-arrow{right:14px}.reward-actions .summary-back{width:auto}.skip-celebration{right:0;top:-4px;font-size:9px}.next-step-count{font-size:9px}}
@media(max-width:360px){.reward-summary .summary-hero h1{font-size:31px}.reward-stats strong{font-size:23px}.reward-stats .stat-label{font-size:9px}.next-step-count{display:none}}
@media(prefers-reduced-motion:reduce){.reward-summary *,.reward-summary *:before,.reward-summary *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reward-summary .screen-stars{display:none!important}.reward-summary .continue-session:hover,.reward-summary .continue-session:active,.reward-summary .continue-arrow{transform:none!important}}
.reward-summary.motion-reduced *,.reward-summary.effects-skipped *,.reward-summary.motion-reduced *:after,.reward-summary.effects-skipped *:after{animation:none!important;transition:none!important}

.is-celebrating .reward-stat.is-tallied strong{animation:number-tally .36s cubic-bezier(.2,.8,.3,1) both}
@keyframes number-tally{0%{transform:scale(1)}45%{transform:scale(1.13)}100%{transform:scale(1)}}
