/* =========================================================
   RUSH CASE — Obsidian · Royal Violet · Champagne Gold
   ========================================================= */
:root{
  --bevel:inset 0 2px 0 rgba(255,255,255,.26),inset 0 -6px 14px rgba(0,0,0,.32),inset 0 0 0 1px rgba(255,255,255,.06);
  --bg0:#060607; --bg1:#0a0a0b; --bg2:#0f0f11;
  --card:#0f0f11; --card2:#151517; --card3:#1d1c1e;
  --stroke:rgba(255,255,255,.06); --stroke2:rgba(255,255,255,.1); --stroke3:rgba(232,180,80,.45);
  --line-gold:rgba(214,166,72,.32);
  --txt:#f7f3ea; --txt2:#b4ab9c; --txt3:#706a60;
  --gold:#f3c14f; --gold-2:#e0a22d; --gold-3:#b37419; --gold-hi:#ffe9ab;
  --g-gold:linear-gradient(180deg,#ffeaa6 0%,#f6c650 40%,#dc961f 100%);
  --g-gold-txt:linear-gradient(180deg,#fff3cf 0%,#f6c650 50%,#d18a18 100%);
  --violet:#b8862f; --violet-2:#94671f; --violet-hi:#f2d28a;
  --g-violet:linear-gradient(180deg,#2a241a,#17140f);
  --ink:#1a1204;
  --ok:#34d399; --red:#ff5d73;
  --r-common:#b0c3d9; --r-uncommon:#5e98d9; --r-milspec:#4b69ff; --r-restricted:#8847ff; --r-classified:#d32ce6; --r-covert:#eb4b4b; --r-rare:#f2b632;
  --ff-h:'Unbounded','Manrope',sans-serif;
  --ff:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;
  --shadow:0 30px 80px -30px rgba(0,0,0,.9);
  --hd:78px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;min-height:100vh;color:var(--txt);font:500 15px/1.55 var(--ff);
  background:var(--bg0);
  background-image:
    radial-gradient(900px 520px at 72% 0%,rgba(214,160,60,.16),transparent 62%),
    radial-gradient(900px 700px at 0% 100%,rgba(88,40,160,.22),transparent 62%),
    radial-gradient(700px 500px at 100% 70%,rgba(214,160,60,.05),transparent 60%);
  background-attachment:fixed;
  overflow-x:hidden;
}
body::before{ /* тонкая точечная сетка */
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background-image:radial-gradient(rgba(255,255,255,.035) 1px,transparent 1.3px);
  background-size:28px 28px;
  -webkit-mask-image:linear-gradient(180deg,#000 0%,rgba(0,0,0,.35) 45%,transparent 80%);mask-image:linear-gradient(180deg,#000 0%,rgba(0,0,0,.35) 45%,transparent 80%);
}
body.no-scroll{overflow:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,select{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:0;padding:0}
h1,h2,h3,h4{margin:0;font-weight:700;font-family:var(--ff-h);letter-spacing:-.005em}
p{margin:0}
::selection{background:var(--gold);color:var(--ink)}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:var(--bg1)}
::-webkit-scrollbar-thumb{background:#2b2925;border-radius:10px;border:2px solid var(--bg1)}
::-webkit-scrollbar-thumb:hover{background:#45403a}
.container{width:100%;max-width:1320px;margin:0 auto;padding:0 20px}
.hidden{display:none!important}
:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.gold-txt{background:var(--g-gold-txt);-webkit-background-clip:text;background-clip:text;color:transparent}

/* rarity colors (заливка карточек) */
.r-common{--rc:var(--r-common);--rc-a:#7e8a9b;--rc-b:#22262f}.r-uncommon{--rc:var(--r-uncommon);--rc-a:#5a86b4;--rc-b:#1a2433}.r-milspec{--rc:var(--r-milspec);--rc-a:#4a5fc9;--rc-b:#181c45}.r-restricted{--rc:var(--r-restricted);--rc-a:#7a4ccc;--rc-b:#231842}
.r-classified{--rc:var(--r-classified);--rc-a:#b043be;--rc-b:#35173f}.r-covert{--rc:var(--r-covert);--rc-a:#c04a62;--rc-b:#3c1626}.r-rare{--rc:var(--r-rare);--rc-a:#c4934f;--rc-b:#3b2b24}

/* ---------- logo (SVG) ---------- */
.brand-logo{display:block;height:auto;max-width:none;user-select:none;-webkit-user-drag:none}
.wordmark{display:inline-flex;align-items:center;gap:.32em;font:800 24px/1 var(--ff-h);letter-spacing:.04em;white-space:nowrap;user-select:none}
.wordmark .wm-mark{width:1.35em;height:1.35em;flex:none;filter:drop-shadow(0 0 10px rgba(245,199,107,.45))}
.wordmark .wm-a{color:#fff}
.wordmark .wm-b{background:var(--g-gold-txt);-webkit-background-clip:text;background-clip:text;color:transparent;margin-left:-.12em}

/* ---------- background fx ---------- */
.fx{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.orb{position:absolute;border-radius:50%;filter:blur(90px);opacity:.38;animation:orb 26s ease-in-out infinite alternate}
.orb.o1{width:560px;height:560px;left:-200px;bottom:-120px;top:auto;background:#4a2390;opacity:.28}
.orb.o2{width:480px;height:480px;right:-140px;top:-160px;background:#b8801f;animation-duration:32s;opacity:.16}
.orb.o3{width:420px;height:420px;right:12%;bottom:-200px;background:#c98a2a;opacity:.16;animation-duration:38s}
@keyframes orb{0%{transform:translate(0,0) scale(1)}50%{transform:translate(80px,60px) scale(1.12)}100%{transform:translate(-40px,120px) scale(.95)}}
.fly{position:absolute;width:3px;height:3px;border-radius:50%;background:#ffe9b0;box-shadow:0 0 8px 2px rgba(245,199,107,.55);opacity:0;transform:scale(var(--s,1));animation:twinkle var(--d) ease-in-out var(--dl) infinite}
@keyframes twinkle{0%,100%{opacity:0}50%{opacity:.85}}

/* ---------- preloader ---------- */
#preloader{position:fixed;inset:0;z-index:999;display:flex;align-items:center;justify-content:center;overflow:hidden;color:#fff}
#preloader.gone{visibility:hidden;pointer-events:none}
/* шторки — сам фон экрана; при выходе раскрываются вверх и вниз */
.pl-curtain{position:absolute;left:0;right:0;height:50.5%;background:radial-gradient(120% 90% at 50% 100%,#1d150a 0%,#0b0907 45%,#050505 80%);transition:transform 1s cubic-bezier(.77,0,.18,1)}
.pl-top{top:0}
.pl-bot{bottom:0;background:radial-gradient(120% 90% at 50% 0%,#1d150a 0%,#0b0907 45%,#050505 80%)}
.pl-top::after,.pl-bot::after{content:"";position:absolute;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,#f6c650 30%,#fff3cf 50%,#f6c650 70%,transparent);box-shadow:0 0 18px 2px rgba(246,198,80,.7);opacity:0;transition:opacity .3s}
.pl-top::after{bottom:0}.pl-bot::after{top:0}
#preloader.out .pl-top{transform:translateY(-101%)}
#preloader.out .pl-bot{transform:translateY(101%)}
#preloader.out .pl-top::after,#preloader.out .pl-bot::after{opacity:1}
/* атмосфера */
.pl-fx{position:absolute;inset:0;pointer-events:none;transition:opacity .5s}
#preloader.out .pl-fx{opacity:0}
.pl-glow{position:absolute;left:50%;top:46%;width:min(1100px,140vw);aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(246,198,80,.26) 0%,rgba(214,145,44,.12) 26%,transparent 60%);animation:plGlow 4.5s ease-in-out infinite}
@keyframes plGlow{50%{transform:translate(-50%,-50%) scale(1.08);opacity:.8}}
.pl-beam{position:absolute;left:50%;top:-30%;width:26vw;min-width:180px;height:150%;transform-origin:50% 0;background:linear-gradient(180deg,rgba(255,233,171,.16),rgba(255,233,171,.04) 55%,transparent 80%);filter:blur(18px);mix-blend-mode:screen}
.pl-b1{animation:plBeam 9s ease-in-out infinite;--a:-28deg;--b:-14deg}
.pl-b2{animation:plBeam 11s ease-in-out -3s infinite;--a:10deg;--b:24deg;opacity:.8}
.pl-b3{animation:plBeam 13s ease-in-out -6s infinite;--a:30deg;--b:16deg;opacity:.6;width:14vw}
@keyframes plBeam{0%,100%{transform:translateX(-50%) rotate(var(--a))}50%{transform:translateX(-50%) rotate(var(--b))}}
.pl-dust{position:absolute;inset:0}
.pl-dust i{position:absolute;bottom:-12px;border-radius:50%;opacity:0;transform:scale(var(--s));animation:plRise var(--d) linear var(--dl) infinite}
.pl-dust i.d{width:3px;height:3px;background:rgba(255,236,200,.7);filter:blur(.6px)}
.pl-dust i.e{width:4px;height:4px;background:#ffcf6b;box-shadow:0 0 8px 2px rgba(255,170,40,.85)}
@keyframes plRise{0%{opacity:0;transform:translate(0,0) scale(var(--s))}12%{opacity:1}80%{opacity:.8}100%{opacity:0;transform:translate(var(--x),-105vh) scale(var(--s))}}
.pl-grain{position:absolute;inset:-50%;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:plGrain .6s steps(4) infinite}
@keyframes plGrain{25%{transform:translate(-3%,2%)}50%{transform:translate(2%,-3%)}75%{transform:translate(-2%,-2%)}}
.pl-vig{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 50%,transparent 45%,rgba(0,0,0,.75) 100%)}
/* центр */
.pl-stage{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;transition:transform .9s cubic-bezier(.6,0,.2,1),opacity .6s,filter .6s}
#preloader.out .pl-stage{transform:scale(1.18);opacity:0;filter:blur(8px)}
.pl-core{position:relative;width:clamp(260px,38vw,420px);aspect-ratio:1;display:flex;align-items:center;justify-content:center;animation:plIn 1s cubic-bezier(.2,1.2,.3,1) both}
@keyframes plIn{0%{opacity:0;transform:scale(.7) rotate(-12deg)}100%{opacity:1;transform:none}}
.pl-ring{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.pl-r-ticks{transform-origin:100px 100px;animation:plSpin 30s linear infinite}
.pl-r-arcs{transform-origin:100px 100px;animation:plSpin 12s linear infinite reverse}
@keyframes plSpin{to{transform:rotate(360deg)}}
.pl-head{filter:drop-shadow(0 0 4px #fff) drop-shadow(0 0 10px #f6c650)}
.pl-logo{position:relative;width:76%;aspect-ratio:1419/887;filter:drop-shadow(0 18px 30px rgba(0,0,0,.7)) drop-shadow(0 0 34px rgba(246,198,80,.28));animation:plFloat 3.4s ease-in-out infinite}
.pl-logo img{display:block;width:100%;height:100%;object-fit:contain}
.pl-shine{position:absolute;inset:0;-webkit-mask:url(../assets/logo.webp) center/contain no-repeat;mask:url(../assets/logo.webp) center/contain no-repeat;background:linear-gradient(105deg,transparent 38%,rgba(255,255,255,.95) 48%,rgba(255,244,200,.6) 52%,transparent 62%) no-repeat;background-size:260% 100%;background-position:120% 0;mix-blend-mode:screen;animation:plShine 2.6s cubic-bezier(.5,0,.3,1) .6s infinite}
@keyframes plShine{0%{background-position:120% 0}55%,100%{background-position:-60% 0}}
@keyframes plFloat{50%{transform:translateY(-6px)}}
#preloader.done .pl-logo{animation:plFlash .55s ease-out both}
@keyframes plFlash{0%{filter:drop-shadow(0 18px 30px rgba(0,0,0,.7)) drop-shadow(0 0 34px rgba(246,198,80,.28)) brightness(1)}40%{filter:drop-shadow(0 0 60px rgba(255,233,171,.95)) brightness(1.45);transform:scale(1.06)}100%{filter:drop-shadow(0 18px 30px rgba(0,0,0,.7)) drop-shadow(0 0 40px rgba(246,198,80,.5)) brightness(1.1);transform:scale(1.04)}}
.pl-pct{margin-top:clamp(14px,2.4vh,26px);display:flex;align-items:baseline;gap:3px;font-family:var(--ff-h);font-weight:800;line-height:1;font-variant-numeric:tabular-nums;animation:plUp .8s .25s both}
.pl-pct b{font-size:clamp(30px,3.6vw,44px);min-width:2.4ch;text-align:right;background:var(--g-gold-txt);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 16px rgba(246,198,80,.4))}
.pl-pct span{font-size:clamp(14px,1.4vw,18px);color:rgba(255,233,171,.7)}
.pl-tag{margin-top:12px;font:700 clamp(10px,1vw,12.5px) var(--ff-h);letter-spacing:.38em;color:rgba(255,236,200,.82);white-space:nowrap}
.pl-tag span{display:inline-block;opacity:0;transform:translateY(8px);filter:blur(4px);animation:plLetter .5s ease-out calc(.5s + var(--i) * .035s) forwards}
@keyframes plLetter{to{opacity:1;transform:none;filter:none}}
@keyframes plUp{0%{opacity:0;transform:translateY(12px)}100%{opacity:1;transform:none}}
@media (max-width:560px){.pl-tag{letter-spacing:.22em}}
@media (prefers-reduced-motion:reduce){#preloader *{animation:none!important}.pl-tag span{opacity:1;transform:none;filter:none}.pl-curtain{transition:none}}


/* ---------- buttons ---------- */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:9px;height:44px;padding:0 22px;border-radius:12px;font:800 12.5px/1 var(--ff);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;overflow:hidden;isolation:isolate;transition:transform .15s,filter .2s,box-shadow .25s,background .2s,border-color .2s,color .2s;user-select:none}
.btn svg{width:18px;height:18px;flex:none}
.btn:active{transform:translateY(1px) scale(.99)}
.btn[disabled]{opacity:.4;pointer-events:none}
.btn-primary{background:var(--g-gold);color:var(--ink);box-shadow:inset 0 1px 0 rgba(255,255,255,.75),inset 0 -2px 0 rgba(120,70,0,.25),0 12px 34px -12px rgba(245,199,107,.75)}
.btn-primary::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.65) 50%,transparent 70%);transform:translateX(-130%);transition:transform .8s cubic-bezier(.2,.8,.3,1)}
.btn-primary:hover{filter:brightness(1.05);box-shadow:inset 0 1px 0 rgba(255,255,255,.75),inset 0 -2px 0 rgba(120,70,0,.25),0 16px 44px -10px rgba(245,199,107,.9)}
.btn-primary:hover::after{transform:translateX(130%)}
.btn-accent{background:var(--g-violet);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 12px 32px -12px rgba(214,160,60,.85)}
.btn-accent:hover{filter:brightness(1.12)}
.btn-dark{background:rgba(255,255,255,.045);color:var(--txt);border:1px solid var(--stroke2);backdrop-filter:blur(8px)}
.btn-dark:hover{background:rgba(255,255,255,.08);border-color:rgba(245,199,107,.35);color:var(--gold-hi)}
.btn-light{background:#fff;color:#141416}
.btn-light:hover{background:var(--gold-hi)}
.btn-steam{background:linear-gradient(180deg,#1b2235,#121725);border:1px solid rgba(147,197,253,.22);color:#e6eeff}
.btn-steam:hover{border-color:rgba(147,197,253,.5);filter:brightness(1.15)}
.btn-ghost{color:var(--txt2);height:36px;padding:0 12px;text-transform:none;letter-spacing:0;font-weight:700;overflow:visible}
.btn-ghost:hover{color:var(--gold)}
.btn-sm{height:34px;padding:0 14px;font-size:10.5px;border-radius:10px}
.btn-lg{height:52px;padding:0 30px;font-size:13px;border-radius:14px}
.btn-xl{height:58px;padding:0 36px;font-size:13.5px;border-radius:16px}
.btn-block{width:100%}
.icon-btn{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:rgba(255,255,255,.04);border:1px solid var(--stroke2);color:var(--txt2);transition:.2s}
.icon-btn:hover{color:var(--gold);border-color:var(--stroke3)}
.icon-btn svg{width:20px;height:20px}
.link{color:var(--gold);font-weight:700}
.link:hover{text-decoration:unde