/* Simul8or kit v0.3: receipt and achievement notification layer. */
:root{--s8-gold:#F5B14A;--s8-gold-hi:#FFD27A;--s8-gold-lo:#C98220;--s8-gold-tint:rgba(245,177,74,.16);--s8-gold-line:rgba(245,177,74,.42);--s8-reward-grad:linear-gradient(180deg,#FFD27A,#F5B14A);--s8-reward-glow:0 20px 55px -18px rgba(245,177,74,.55)}
.s8-fill-stack{position:fixed;z-index:1200;top:calc(var(--s8-toolbar) + var(--s8-3));left:50%;transform:translateX(-50%);width:min(340px,calc(100vw - 24px));display:grid;gap:var(--s8-2);pointer-events:none}
.s8-fill-stack .s8-receipt{pointer-events:auto;animation:s8-receipt-in var(--s8-t-slow) var(--s8-ease) both}
.s8-receipt{position:relative;width:100%;border:1px solid var(--s8-line);border-radius:var(--s8-r-lg);background:var(--s8-panel);box-shadow:var(--s8-pop);overflow:hidden}
.s8-receipt__head{display:flex;align-items:center;gap:var(--s8-2);padding:9px var(--s8-3);background:var(--s8-up-tint);border-bottom:1px solid var(--s8-up-line);font-size:var(--s8-fs-micro);font-weight:600;letter-spacing:var(--s8-ls-caps);text-transform:uppercase;color:var(--s8-up)}
.s8-receipt--sell .s8-receipt__head{background:var(--s8-down-tint);border-bottom-color:var(--s8-down-line);color:var(--s8-down)}
.s8-receipt__head svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.s8-receipt__head time{margin-left:auto;color:var(--s8-fg-3);font-weight:400}
.s8-receipt__dismiss{display:flex;align-items:center;justify-content:center;width:var(--s8-h-xs);height:var(--s8-h-xs);margin:-5px -7px -5px 0;border:0;border-radius:var(--s8-r-sm);background:transparent;color:var(--s8-fg-4);cursor:pointer}
.s8-receipt__dismiss:hover{background:var(--s8-hover);color:var(--s8-fg)}
.s8-receipt__dismiss svg{width:13px;height:13px;stroke-width:1.8}
.s8-receipt__rows{display:grid;gap:1px;margin:0;background:var(--s8-line);border-bottom:1px solid var(--s8-line)}
.s8-receipt__row{display:flex;align-items:center;justify-content:space-between;gap:var(--s8-4);padding:8px var(--s8-3);background:var(--s8-panel);font-size:var(--s8-fs-sm)}
.s8-receipt__row dt{color:var(--s8-fg-3);letter-spacing:var(--s8-ls-caps);text-transform:uppercase;font-size:var(--s8-fs-micro)}
.s8-receipt__row dd{margin:0;color:#fff;font-weight:600;font-variant-numeric:tabular-nums}
.s8-receipt__foot{display:flex;align-items:center;justify-content:space-between;padding:8px var(--s8-3);background:var(--s8-panel-2)}
.s8-receipt__timer{position:absolute;left:0;right:0;bottom:0;height:2px;background:currentColor;opacity:.45;transform-origin:left;animation:s8-receipt-timer 3s linear forwards}
@keyframes s8-receipt-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@keyframes s8-receipt-out{to{opacity:0;transform:translateY(-6px)}}
@keyframes s8-receipt-timer{from{transform:scaleX(1)}to{transform:scaleX(0)}}
@media (max-width:860px){.s8-fill-stack{top:var(--s8-3)}}
@media (prefers-reduced-motion:reduce){.s8-fill-stack .s8-receipt,.s8-receipt__timer{animation:none}}

.s8-achievement-layer{position:fixed;z-index:1300;top:calc(var(--s8-toolbar) + var(--s8-3));left:50%;transform:translateX(-50%);width:min(340px,calc(100vw - 24px));display:block;padding:0;background:none}
.s8-achievement-layer[hidden]{display:none}
.s8-achievement-layer .s8-reward{max-width:340px}
.s8-action-toast{width:100%;padding:12px var(--s8-4);border:1px solid var(--s8-line-2);border-radius:var(--s8-r-lg);background:var(--s8-panel);box-shadow:var(--s8-pop);color:var(--s8-fg);font-size:var(--s8-fs-sm);text-align:center;pointer-events:auto;animation:s8-receipt-in var(--s8-t-slow) var(--s8-ease) both}
.s8-achievement-content{display:grid;gap:var(--s8-4);padding:var(--s8-6) var(--s8-5) var(--s8-5);justify-items:center;text-align:center}
.s8-achievement-copy{display:grid;justify-items:center;gap:var(--s8-2)}
.s8-achievement-kicker{font-size:var(--s8-fs-micro);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--s8-gold)}
.s8-achievement-name{font-size:var(--s8-fs-2xl);font-weight:600;line-height:1.15;letter-spacing:var(--s8-ls-tight);color:#fff}
.s8-achievement-desc{font-size:var(--s8-fs-md);line-height:1.4;color:var(--s8-fg-2)}
.s8-achievement-cta{margin-top:-2px;font-size:var(--s8-fs-sm);font-weight:600;color:var(--s8-gold)}
.s8-achievement-actions{width:100%;display:grid;gap:var(--s8-2)}
#s8AchievementClose[hidden]{display:none}
.s8-award{position:relative;display:flex;align-items:center;justify-content:center;width:76px;height:76px;flex:none;background:transparent;box-shadow:none}
.s8-award svg{width:40px;height:40px;fill:#5A3A05;stroke:none}.s8-award img{position:relative;z-index:1;width:66px;height:66px;object-fit:contain;filter:drop-shadow(0 6px 14px rgba(217,119,6,.55))}.s8-award__ring{display:none}
.s8-pop-in{animation:s8-pop-in 420ms cubic-bezier(.2,1.5,.4,1) both}
.s8-achievement-layer:not([hidden]) .s8-award img{animation:s8-achieve-icon-in 700ms cubic-bezier(.4,1.5,.5,1) 120ms both}
.s8-meter{display:flex;align-items:center;gap:var(--s8-3);width:100%;font-size:var(--s8-fs-micro);letter-spacing:var(--s8-ls-caps);text-transform:uppercase;font-variant-numeric:tabular-nums}.s8-meter__label{color:var(--s8-gold);font-weight:600;white-space:nowrap}.s8-meter__track{display:block;flex:1;height:6px;border-radius:var(--s8-r-pill);background:var(--s8-inset);border:1px solid var(--s8-line);overflow:hidden}.s8-meter__fill{display:block;height:100%;border-radius:inherit;background:var(--s8-reward-grad);transition:width var(--s8-t-slow) var(--s8-ease)}.s8-meter__value{color:var(--s8-fg-2);font-weight:600;white-space:nowrap}
.s8-btn--reward{background:var(--s8-reward-grad);color:#3A2503;font-weight:700;border:0}.s8-btn--reward:hover{background:linear-gradient(180deg,#FFD98A,var(--s8-gold))}.s8-reward{position:relative;width:100%;border:1px solid var(--s8-gold-line);border-radius:var(--s8-r-lg);background:var(--s8-panel);box-shadow:var(--s8-reward-glow);overflow:hidden}.s8-reward::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(120% 70% at 50% 0%,rgba(245,177,74,.14),transparent 60%)}.s8-reward__inner{position:relative;z-index:3}.s8-rays{position:absolute;left:50%;top:-30px;width:340px;height:340px;transform:translateX(-50%);pointer-events:none;opacity:.16;background:repeating-conic-gradient(from 0deg,var(--s8-gold) 0deg 6deg,transparent 6deg 18deg);mask-image:radial-gradient(circle,#000 0%,transparent 62%);-webkit-mask-image:radial-gradient(circle,#000 0%,transparent 62%);animation:s8-spin 34s linear infinite}.s8-confetti{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:2}.s8-confetti i{position:absolute;top:-14px;width:6px;height:10px;border-radius:1px;animation:s8-fall linear forwards}
@keyframes s8-ring{0%{transform:scale(.94);opacity:.7}70%{transform:scale(1.12);opacity:0}100%{opacity:0}}@keyframes s8-pop-in{from{transform:scale(.5) rotate(-8deg);opacity:0}to{transform:none;opacity:1}}@keyframes s8-achieve-icon-in{0%{transform:scale(.3) rotate(-90deg);opacity:0}60%{transform:scale(1.18) rotate(8deg);opacity:1}100%{transform:scale(1) rotate(0);opacity:1}}@keyframes s8-spin{to{transform:translateX(-50%) rotate(360deg)}}@keyframes s8-fall{0%{transform:translate3d(0,0,0) rotate(0);opacity:1}100%{transform:translate3d(var(--dx,0),var(--dy,420px),0) rotate(var(--rot,540deg));opacity:0}}
@media (prefers-reduced-motion:reduce){.s8-confetti,.s8-rays,.s8-award__ring{display:none}.s8-pop-in{animation:none}}
@media (max-width:860px){.s8-achievement-layer{top:var(--s8-3)}}
