:root{
  --bg:#0b0b0f;--card:#131318;--card2:#16161c;--line:#222229;--line2:#2a2a33;
  --text:#f2f2f5;--muted:#a1a1ad;--dim:#8a8a96;--accent:#8b5cf6;--accent2:#a78bfa;
  --ok:#4ade80;--warn:#fbbf24;--bad:#f87171;
  --font:"Manrope","Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font:500 15px/1.4 var(--font)}
a{color:#c4b5fd;text-underline-offset:3px}a:hover{color:#ddd6fe}
button{font:inherit;color:inherit}
button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid var(--accent2);outline-offset:2px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.wrap{max-width:1220px;margin:0 auto;padding:18px 16px 64px;display:flex;flex-direction:column;gap:18px}

/* шапка */
.top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:16px;letter-spacing:.2px}
.brand i{width:26px;height:26px;border-radius:8px;background:linear-gradient(135deg,var(--accent),#f0abfc);display:block}
.seller{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:18px;border-radius:22px;background:var(--card);border:1px solid var(--line)}
.who{display:flex;align-items:center;gap:14px;min-width:0}
.ava{width:60px;height:60px;border-radius:50%;flex:0 0 auto;background:linear-gradient(140deg,#3b2f6b,var(--accent));display:flex;align-items:center;justify-content:center;font-weight:800;font-size:24px;color:#fff;overflow:hidden}
.ava img{width:100%;height:100%;object-fit:cover}
.nick{font-weight:800;font-size:21px}
.stats{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:13px;color:var(--muted)}
.stats b{color:var(--warn)}
.stock{display:flex;flex-direction:column;gap:2px}
.stock span{font-size:12px;color:var(--muted);font-weight:600}
.stock strong{font-size:26px;font-weight:800}

/* фильтры */
.bar{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.pill{display:flex;align-items:center;gap:8px;height:42px;padding:0 14px 0 16px;border-radius:999px;font-weight:600;font-size:14px;cursor:pointer;border:1px solid var(--line2);background:var(--card2);color:var(--text)}
.pill[aria-pressed=true]{border-color:#6d4fd6;background:#211a3d}
.pill:disabled{opacity:.45;cursor:not-allowed}
.pill .n{min-width:20px;height:20px;border-radius:999px;background:#2a2a33;font-size:12px;display:inline-flex;align-items:center;justify-content:center;padding:0 6px}
.pill.res{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:700}
.pill.res .n{background:rgba(255,255,255,.22)}
.grow{flex:1 1 0}
.row{display:flex;gap:10px;flex-wrap:wrap}
.field{display:flex;align-items:center;gap:10px;height:46px;padding:0 14px;border-radius:14px;background:var(--card2);border:1px solid #24242c;color:var(--dim)}
.field input,.field select{flex:1 1 0;min-width:0;background:transparent;border:0;outline:none;color:var(--text);font:500 15px var(--font)}
.field select{cursor:pointer;font-weight:600;font-size:14px}
.field select option{background:#16161c}
.f-search{flex:999 1 300px}.f-price{flex:1 1 200px}.f-sort{flex:1 1 190px;padding:0 10px}
.field{min-width:0}.field label{min-width:0}.f-price input{width:100%}
.chips{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.chip{display:flex;align-items:center;gap:7px;height:34px;padding:0 12px;border-radius:999px;border:1px solid #3a2f63;background:#1b1630;color:#ddd6fe;font-size:13px;font-weight:600;cursor:pointer}
.chip i{width:12px;height:12px;border-radius:50%;display:inline-block}
.ghost{height:34px;padding:0 14px;border-radius:999px;border:1px solid var(--line2);background:transparent;color:#c9c9d2;font-weight:600;font-size:13px;cursor:pointer}
.found{display:flex;justify-content:space-between;align-items:baseline;gap:12px;border-top:1px solid #1e1e25;padding-top:14px;font-size:14px;color:var(--muted)}
.found b{color:var(--text)}

/* сетка */
.grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.card{display:flex;flex-direction:column;gap:10px;padding:10px;border-radius:18px;background:var(--card);border:1px solid #1c1c22;cursor:pointer;text-align:left;transition:border-color .15s,transform .15s}
.card:hover{border-color:#3a2f63;transform:translateY(-2px)}
.art{position:relative;aspect-ratio:1/1;width:100%;border-radius:13px;overflow:hidden;background:#1d1d24}
.art img{width:100%;height:100%;object-fit:cover;display:block}
.art .num{position:absolute;left:8px;top:8px;font-size:11px;font-weight:800;padding:3px 7px;border-radius:999px;background:rgba(0,0,0,.45);color:#fff}
.t1{font-weight:800;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.t2{font-size:12.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.price{height:40px;border-radius:11px;background:#1f1f27;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:15px}
.sk{background:linear-gradient(90deg,#16161c 0%,#1f1f27 50%,#16161c 100%);background-size:200% 100%;animation:sk 1.4s ease-in-out infinite;border-radius:10px}
@keyframes sk{0%{background-position:100% 0}100%{background-position:-100% 0}}
.empty{padding:56px 20px;text-align:center;border-radius:20px;border:1px dashed var(--line2);color:var(--muted);display:flex;flex-direction:column;gap:12px;align-items:center}
.empty b{font-size:17px;color:var(--text)}
.btn{height:46px;padding:0 20px;border-radius:14px;border:0;background:var(--text);color:#0b0b0f;font-weight:800;font-size:15px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none}
.btn.acc{background:var(--accent);color:#fff}
.btn.sec{background:#1f1f27;color:var(--text);border:1px solid var(--line2)}
.btn:disabled{opacity:.6;cursor:wait}
.foot{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;border-top:1px solid #1e1e25;padding-top:16px;font-size:13px;color:var(--dim)}
.notice{padding:12px 16px;border-radius:14px;border:1px solid #5b4a1a;background:#1f1a0c;color:#fde68a;font-size:14px}

/* окна */
.ov{position:fixed;inset:0;z-index:30;background:rgba(5,5,8,.78);display:flex;align-items:center;justify-content:center;padding:18px}
.ov[hidden]{display:none}
.dlg{width:100%;max-width:880px;max-height:calc(100% - 20px);overflow:auto;border-radius:24px;background:#121217;border:1px solid #26262e;padding:20px;display:flex;flex-direction:column;gap:16px}
.dlg.narrow{max-width:560px}
.dlg>*{flex-shrink:0}
.dh{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.dh .k{font-size:12px;font-weight:800;letter-spacing:1px;color:var(--muted);text-transform:uppercase}
.dh h2{margin:2px 0 0;font-size:23px;font-weight:800}
.x{width:44px;height:44px;flex:0 0 auto;border-radius:50%;border:1px solid var(--line2);background:#1a1a20;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#c9c9d2}
.gm{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:22px}
.gart{border-radius:18px;overflow:hidden;aspect-ratio:1/1;background:#1d1d24}
.gart img{width:100%;height:100%;object-fit:cover;display:block}
.attrs{display:flex;flex-direction:column;gap:8px}
.attr{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;border-radius:14px;background:var(--card2);border:1px solid #202028}
.attr span{color:var(--muted);font-size:13px}
.attr b{display:flex;align-items:center;gap:8px;text-align:right}
.attr em{font-style:normal;font-size:12px;color:var(--accent2);background:#211a3d;padding:2px 8px;border-radius:999px}
.sw{width:16px;height:16px;border-radius:50%;display:inline-block;border:1px solid rgba(255,255,255,.2)}
.buy{display:flex;flex-direction:column;gap:10px;padding:14px;border-radius:16px;background:#17171d;border:1px solid #24242c}
.buy .p{font-size:28px;font-weight:800}
.buy small{color:var(--muted);font-size:13px}
.steps{display:flex;flex-direction:column;gap:8px;font-size:14px}
.step{display:flex;align-items:center;gap:10px;color:var(--dim)}
.step.on{color:var(--text)}.step.ok{color:var(--ok)}
.dot{width:20px;height:20px;border-radius:50%;border:2px solid currentColor;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}
.step.on .dot{border-top-color:transparent;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.err{padding:12px 14px;border-radius:14px;background:#2a1215;border:1px solid #5b1f25;color:#fecaca;font-size:14px}
.list{display:flex;flex-direction:column;gap:8px}
.li{display:flex;align-items:center;gap:12px;padding:10px;border-radius:14px;background:var(--card2);border:1px solid #202028;cursor:pointer;text-align:left;width:100%}
.li img{width:44px;height:44px;border-radius:10px;object-fit:cover;flex:0 0 auto;background:#1d1d24}
.li .grow{min-width:0}
.li .t2{white-space:normal}
.li[aria-pressed=true]{border-color:#6d4fd6;background:#1d1733}
.check{width:22px;height:22px;border-radius:7px;border:1.5px solid #4a4a55;flex:0 0 auto;display:flex;align-items:center;justify-content:center}
.li[aria-pressed=true] .check{background:var(--accent);border-color:var(--accent)}
.bgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.bg{display:flex;flex-direction:column;gap:6px;padding:8px;border-radius:14px;background:var(--card2);border:1px solid #202028;cursor:pointer;text-align:left}
.bg[aria-pressed=true]{border-color:#a78bfa;box-shadow:0 0 0 1px #a78bfa inset}
.bg i{height:44px;border-radius:10px;display:block}
.bg span{font-size:12.5px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bg small{font-size:11.5px;color:var(--dim)}
.group{font-size:12px;font-weight:800;letter-spacing:.8px;color:var(--muted);text-transform:uppercase;margin-top:6px}
.sticky{position:sticky;bottom:-20px;background:#121217;padding:12px 0 2px;display:flex;gap:10px}
.timer{font-variant-numeric:tabular-nums;font-weight:800}
.badge{font-size:11.5px;font-weight:800;padding:3px 8px;border-radius:999px;background:#1f1f27;color:var(--muted)}
.badge.ok{background:#12291b;color:var(--ok)}.badge.warn{background:#2a220d;color:var(--warn)}

@media (max-width:1000px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}.bgrid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:640px){
  .wrap{padding:12px 12px 56px;gap:14px}
  .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .card{padding:8px;border-radius:16px;gap:8px}
  .t1{font-size:14px}
  .price{height:36px;font-size:14px}
  .bgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gm{grid-template-columns:minmax(0,1fr);gap:14px}
  .gart{max-width:320px;width:100%;margin:0 auto}
  .ov{padding:0;align-items:flex-end}
  .dlg{max-height:92%;border-radius:22px 22px 0 0;padding:16px}
  .seller{padding:14px;border-radius:18px}
  .ava{width:50px;height:50px;font-size:20px}
  .nick{font-size:18px}
  .stock strong{font-size:22px}
  .hide-sm{display:none}
  .pill{height:40px;padding:0 12px 0 14px;font-size:13.5px}
}
