/* Upgrader: your skin, the wheel, the target. Green = win chance, red = loss. */
.cs2-upgrade-tile{background:radial-gradient(circle at 75% 20%,#2fa25a55,transparent 45%),radial-gradient(circle at 20% 85%,#8e2a3555,transparent 45%),linear-gradient(140deg,#1d2a20,#171b1a)}
#upgrader.game-page{max-width:1200px}
.upg-stage{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:24px;align-items:center;padding:28px}
.upg-slot{text-align:center;min-width:0}.upg-slot .eyebrow{margin-bottom:12px}
.upg-slot-skin{display:flex;flex-direction:column;align-items:center;gap:4px;padding:16px;border:1px solid #ffffff14;border-bottom:3px solid var(--rarity);border-radius:12px;background:var(--surface-sunken)}
.upg-slot-skin .skin-photo{height:110px}.upg-slot-skin strong{font-size:16px}.upg-slot-skin small{font-size:12px;color:var(--text-muted)}.upg-slot-skin b{font-size:18px;color:var(--gold-bright)}
.upg-empty{display:grid;place-items:center;min-height:200px;border:1px dashed #dec78944;border-radius:12px;color:var(--text-muted);font-size:13px;padding:16px}
.upg-stage{perspective:1100px}
/* The wheel tilts back like the roulette table, with a raised gold rim, and lifts toward you while it spins. */
.upg-wheel-wrap{position:relative;width:340px;height:340px;transform:rotateX(16deg);transform-style:preserve-3d;transition:transform .75s cubic-bezier(.2,.7,.2,1)}
.upg-wheel-wrap:hover{transform:rotateX(8deg) translateZ(20px) scale(1.03)}
.upg-wheel-wrap.upg-in-play,.upg-wheel-wrap.upg-in-play:hover{transform:rotateX(5deg) translateZ(55px) scale(1.1)}
.upg-wheel-base{position:absolute;inset:3.6%;border-radius:50%;background:#2a2116;box-shadow:0 10px 0 #3a2a14,0 14px 0 #a17d42,0 26px 30px #000c}
.upg-wheel{position:relative;width:100%;height:100%;display:block;transform:rotate(0)}
.upg-pointer{position:absolute;z-index:2;top:-6px;left:50%;width:0;height:0;transform:translateX(-50%);border-left:13px solid transparent;border-right:13px solid transparent;border-top:24px solid var(--gold);filter:drop-shadow(0 3px 4px #000c)}
.upg-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}
.upg-center strong{font:700 40px Georgia,serif;color:var(--text);text-shadow:0 2px 8px #000a}.upg-center small{font-size:12px;color:var(--gold-bright);letter-spacing:.06em}
.upg-actions{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;gap:10px}.upg-actions .primary{width:min(420px,100%)}
.upg-result{min-height:1.4em;margin:0;text-align:center;font:18px Georgia,serif}.upg-result-won{color:#89e8a1}.upg-result-lost{color:#ff8a8a}
.upg-pickers{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}.upg-pickers h3,.upg-recent-card h3{font-size:24px;margin:0 0 14px}
.upg-target-head .case-tools{margin-bottom:14px}
.upg-chance{position:absolute;top:6px;left:6px;padding:2px 7px;border-radius:20px;background:#2fa25a;color:#08160c;font-size:10px;font-weight:800;font-style:normal}
.flip-item:disabled{cursor:default;opacity:.55;transform:none}
.upg-recent-card{margin-top:20px}.upg-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:14px;align-items:center;padding:10px 0;border-bottom:1px solid #ffffff10;font-size:13px}.upg-row:last-child{border:0}.upg-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upg-row small{color:var(--text-muted)}.upg-won b{color:#89e8a1}.upg-lost b{color:#ff8a8a}
@media(max-width:860px){.upg-stage{grid-template-columns:1fr 1fr;padding:18px}.upg-wheel-wrap{grid-column:1/-1;grid-row:1;justify-self:center;width:min(300px,78vw);height:min(300px,78vw)}.upg-center strong{font-size:32px}.upg-pickers{grid-template-columns:1fr}.upg-slot-skin .skin-photo{height:80px}.upg-empty{min-height:150px}}

@media(prefers-reduced-motion:reduce){.upg-wheel-wrap,.upg-wheel-wrap:hover,.upg-wheel-wrap.upg-in-play{transition:none;transform:rotateX(12deg)}}

/* Win pop-up: green glow, rotating rays, and the won skin bursting in. */
.upg-win.payout-dialog{width:min(480px,94vw);text-align:center;overflow:hidden;border-color:#2fa25a99;background:radial-gradient(ellipse at 50% 30%,#2fa25a40,transparent 62%),var(--surface);box-shadow:0 0 60px #2fa25a44,0 20px 60px #000c}
.upg-win .eyebrow{color:#7fe0a0;margin:4px 0 6px}.upg-win h2{font-size:34px;margin:0 0 6px}
.upg-win-close{position:absolute;top:14px;right:14px;z-index:3}
.upg-win-stage{position:relative;display:grid;place-items:center;padding:26px 0 18px}
.upg-win-rays{position:absolute;width:420px;height:420px;left:50%;top:50%;margin:-210px 0 0 -210px;border-radius:50%;background:repeating-conic-gradient(#2fa25a66 0deg 8deg,transparent 8deg 22deg);-webkit-mask:radial-gradient(circle,#000 18%,transparent 62%);mask:radial-gradient(circle,#000 18%,transparent 62%);animation:upg-rays 14s linear infinite}
.upg-win-card{position:relative;z-index:1;width:min(260px,80%)}
.upg-win-card .upg-slot-skin{box-shadow:0 0 0 1px var(--rarity),0 0 34px color-mix(in srgb,var(--rarity) 55%,transparent),0 14px 30px #000b}
.upg-win-card .skin-photo{height:130px}.upg-win-card strong{font-size:17px}.upg-win-card b{font-size:24px}.upg-win-rarity{font-weight:800;letter-spacing:.08em;text-transform:uppercase;font-size:10px!important}
.upg-win-path{display:flex;justify-content:center;align-items:center;gap:10px;flex-wrap:wrap;font-size:13px;color:var(--text-muted)}.upg-win-path b{color:#7fe0a0}.upg-win-path span:last-child{color:var(--gold-bright);font-weight:800}
.upg-win .slot-controls{margin-top:16px}
.upg-win-play[open]{animation:upg-win-in .45s cubic-bezier(.2,.9,.3,1.2) both}
.upg-win-play .upg-win-card{animation:upg-card-in .9s cubic-bezier(.2,.9,.25,1.15) .15s both}
.upg-win-play .upg-win-rays{animation:upg-rays-in .9s ease-out both,upg-rays 14s linear .9s infinite}
@keyframes upg-win-in{from{opacity:0;transform:scale(.85) translateY(14px)}to{opacity:1;transform:none}}
@keyframes upg-card-in{0%{opacity:0;transform:scale(.3) rotate(-10deg)}60%{opacity:1;transform:scale(1.08) rotate(2deg)}100%{transform:none}}
@keyframes upg-rays-in{from{opacity:0;transform:scale(.4) rotate(-40deg)}to{opacity:1;transform:none}}
@keyframes upg-rays{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.upg-win-play[open],.upg-win-play .upg-win-card,.upg-win-rays,.upg-win-play .upg-win-rays{animation:none}}

/* Multi-skin upgrades: counters, stacked slots, chance badges and a grid of won skins. */
.upg-count{margin-left:6px;padding:1px 7px;border-radius:20px;background:#ffffff12;color:var(--text-muted);font-size:9px;letter-spacing:.05em}
.upg-slot-multi{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px;border:1px solid #ffffff14;border-radius:12px;background:var(--surface-sunken)}
.upg-slot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(54px,1fr));gap:5px;width:100%}
.upg-slot-grid span{display:grid;place-items:center;aspect-ratio:1.35;border-radius:6px;background:#0c120e;border-bottom:2px solid var(--rarity)}.upg-slot-grid img{width:90%;height:90%;object-fit:contain}
.upg-slot-multi strong{font-size:15px}.upg-slot-multi b{font-size:18px;color:var(--gold-bright)}
.upg-hint{margin:0;min-height:1.2em}
.upg-picker-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.upg-picker-head h3{margin:0!important}.upg-picker-head .control-button{min-width:0;padding:7px 12px;font-size:12px}
.upg-chance-off{background:#5a2a30!important;color:#ffb3b3!important}
.upg-win-many.payout-dialog{width:min(720px,94vw)}
.upg-win-many .upg-win-card{width:100%;display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}
.upg-win-many .upg-win-card .skin-photo{height:70px}.upg-win-many .upg-win-card strong{font-size:13px}.upg-win-many .upg-win-card b{font-size:16px}
.upg-win-many.upg-win-play .upg-win-card{animation:none}.upg-win-many.upg-win-play .upg-win-card .upg-slot-skin{animation:upg-card-in .8s cubic-bezier(.2,.9,.25,1.15) calc(.15s + var(--delay,0s)) both}
@media(prefers-reduced-motion:reduce){.upg-win-many.upg-win-play .upg-win-card .upg-slot-skin{animation:none}}
