:root{box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);
--bg:#e6e9ec;--bg2:#d3d8dd;--card:#fff;--ink:#1b1e23;--mut:#58606b;--ln:#1b1e23;--grid:rgba(27,30,35,.07);--lime:#b6ff3b;--yel:#ffe14d;--dk:#1b1e23}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#1d2025;--bg2:#2c3037;--card:#2a2e35;--ink:#f1f4ee;--mut:#a9b0ba;--ln:#0c0e10;--grid:rgba(255,255,255,.05)}}
:root[data-theme="dark"]{--bg:#1d2025;--bg2:#2c3037;--card:#2a2e35;--ink:#f1f4ee;--mut:#a9b0ba;--ln:#0c0e10;--grid:rgba(255,255,255,.05)}
html{scroll-padding-top:env(safe-area-inset-top,0px)}
*{box-sizing:inherit;margin:0}
html{height:100%}
body{min-height:100vh;display:flex;flex-direction:column;background:var(--bg) linear-gradient(var(--grid) 1px,transparent 1px) 0 0/44px 44px;background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:44px 44px;color:var(--ink);font:600 16px/1.55 Nunito,system-ui,sans-serif;overflow-x:hidden}
h1,h2,h3,.logo,.btn,.bd,.pr{font-family:Unbounded,"Trebuchet MS",system-ui,sans-serif;font-weight:800}
a{color:inherit}
.bg{position:fixed;inset:0;z-index:-1;pointer-events:none}
.blk{position:absolute;width:var(--s);height:var(--s);border:3px solid var(--ln);border-radius:22%;opacity:.4;box-shadow:4px 4px 0 var(--ln);animation:fl 7s ease-in-out var(--d) infinite}
@keyframes fl{50%{transform:translateY(-34px) rotate(28deg)}}
.hd{position:sticky;top:env(safe-area-inset-top,0px);z-index:9;display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 18px;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(10px);border-bottom:3px solid var(--ln)}
.logo{text-decoration:none;font-size:1.15rem;display:flex;align-items:center;gap:8px}
.logo i{width:30px;height:30px;background:var(--lime);border:3px solid var(--ln);border-radius:9px;box-shadow:3px 3px 0 var(--ln);animation:wob 3s ease-in-out infinite}
.logo span{background:var(--yel);color:var(--dk);padding:0 6px;border-radius:8px;margin-left:2px}
nav{margin-left:auto;display:flex;gap:6px;flex-wrap:wrap}
nav a{text-decoration:none;padding:7px 14px;border:3px solid transparent;border-radius:14px;font-weight:800;transition:.2s}
nav a:hover{border-color:var(--ln);transform:rotate(-2deg)}
nav a.on{background:var(--lime);color:var(--dk);border-color:var(--ln);box-shadow:3px 3px 0 var(--ln)}
#th{border:3px solid var(--ln);background:var(--card);border-radius:14px;width:42px;height:42px;font-size:1.1rem;cursor:pointer}
main{flex:1;width:100%;max-width:1120px;margin:0 auto;padding:0 18px 60px;box-sizing:border-box}
.pg{animation:pg .5s ease}
@keyframes pg{from{opacity:0;transform:translateY(16px)}}
@keyframes wob{50%{transform:rotate(-4deg) scale(1.05)}}
.hero{padding:64px 0 34px;position:relative}
h1{font-size:clamp(2.4rem,9vw,5.6rem);line-height:1.05}
h1 em{font-style:normal;display:inline-block;background:var(--lime);color:var(--dk);padding:0 .18em;border:3px solid var(--ln);border-radius:18px;box-shadow:6px 6px 0 var(--ln);transform:rotate(-3deg);animation:wob 4s ease-in-out infinite}
.hero p{max-width:520px;margin:20px 0 26px;font-size:1.15rem;color:var(--mut)}
.stk{position:absolute;right:2%;top:30px;width:128px;height:128px;border-radius:50%;background:var(--yel);color:var(--dk);border:3px solid var(--ln);box-shadow:5px 5px 0 var(--ln);display:grid;place-items:center;text-align:center;font:800 .8rem/1.2 Unbounded,sans-serif;animation:spin 14s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.row{display:flex;gap:14px;flex-wrap:wrap}
.btn{display:inline-block;font-size:.82rem;padding:14px 22px;background:var(--lime);color:var(--dk);border:3px solid var(--ln);border-radius:16px;box-shadow:0 5px 0 var(--ln);cursor:pointer;text-decoration:none;transition:transform .15s,box-shadow .15s}
.btn:hover{transform:translateY(-3px) rotate(-1.5deg);box-shadow:0 8px 0 var(--ln)}
.btn:active{transform:translateY(4px);box-shadow:0 1px 0 var(--ln)}
.btn.y{background:var(--yel)}.btn.g{background:var(--card);color:var(--ink)}.btn.w{width:100%;margin-top:16px}
.btn:disabled{opacity:.7;cursor:wait}
:focus-visible{outline:4px solid var(--yel);outline-offset:3px}
.mq{margin:34px -4% 50px;overflow:hidden;background:var(--yel);color:var(--dk);border:3px solid var(--ln);transform:rotate(-1.2deg)}
.mt{display:flex;width:max-content;gap:40px;padding:12px 20px;font:800 .8rem Unbounded,sans-serif;white-space:nowrap;animation:mq 22s linear infinite}
@keyframes mq{to{transform:translateX(-50%)}}
h2{font-size:clamp(1.4rem,4vw,2.3rem);margin:44px 0 22px}
.gr{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px}
.card{background:var(--card);border:3px solid var(--ln);border-radius:24px;box-shadow:6px 6px 0 var(--ln);padding:22px;transition:transform .25s,box-shadow .25s}
.sv,.tr{position:relative;display:flex;flex-direction:column;gap:10px}
.sv:hover,.tr:hover{transform:translate(-4px,-4px) rotate(-.6deg);box-shadow:11px 11px 0 var(--ln)}
.ic{width:74px;height:74px;display:grid;place-items:center;font-size:2.3rem;background:var(--c);border:3px solid var(--ln);border-radius:22px;box-shadow:4px 4px 0 var(--ln);animation:bob 3s ease-in-out infinite}
.sv:nth-child(2) .ic{animation-delay:.4s}.sv:nth-child(3) .ic{animation-delay:.8s}.sv:nth-child(4) .ic{animation-delay:1.2s}
@keyframes bob{50%{transform:translateY(-8px) rotate(-5deg)}}
.sv p{color:var(--mut);flex:1}
.fr{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.bd,.pr{background:var(--yel);color:var(--dk);border:3px solid var(--ln);border-radius:12px;padding:4px 10px;font-size:.78rem}
.tr .pr{font-size:1.5rem;align-self:flex-start;transform:rotate(-2deg)}
.tr ul{list-style:none;padding:0;flex:1;display:grid;gap:6px}
.tr li::before{content:"✔";color:var(--dk);background:var(--lime);border:2px solid var(--ln);border-radius:7px;font-size:.7rem;padding:0 4px;margin-right:8px}
.hit::after{content:"Хит";position:absolute;right:-10px;top:-14px;background:var(--lime);color:var(--dk);border:3px solid var(--ln);border-radius:12px;padding:2px 12px;font:800 .8rem Unbounded,sans-serif;transform:rotate(8deg);animation:wob 2.5s infinite}
.st b{display:grid;place-items:center;width:46px;height:46px;background:var(--lime);color:var(--dk);border:3px solid var(--ln);border-radius:14px;font:800 1.2rem Unbounded,sans-serif;margin-bottom:8px}
.st p,.card p{color:var(--mut)}
.rv{opacity:0;transform:translateY(26px);transition:opacity .6s,transform .6s}.rv.in{opacity:1;transform:none}
.gr>:nth-child(2){transition-delay:.1s}.gr>:nth-child(3){transition-delay:.2s}.gr>:nth-child(4){transition-delay:.3s}
details{margin-bottom:14px;background:var(--card);border:3px solid var(--ln);border-radius:18px;box-shadow:5px 5px 0 var(--ln);overflow:hidden}
summary{cursor:pointer;padding:16px 20px;font-weight:800;list-style:none;display:flex;gap:12px;align-items:center}
summary::before{content:"+";display:grid;place-items:center;flex:none;width:30px;height:30px;background:var(--lime);color:var(--dk);border:3px solid var(--ln);border-radius:10px;transition:transform .3s}
details[open] summary::before{transform:rotate(135deg);background:var(--yel)}
details p{padding:0 20px 18px 62px;color:var(--mut)}
.ct{text-decoration:none;display:block}.ct:hover{transform:translate(-4px,-4px) rotate(1deg);box-shadow:11px 11px 0 var(--ln)}
.ct .ic{margin-bottom:12px;font-size:2rem;width:60px;height:60px}
footer{margin-top:auto;text-align:center;color:var(--mut);padding:30px 18px;border-top:3px solid var(--ln);font-size:.9rem}
dialog{border:3px solid var(--ln);border-radius:26px;padding:0;width:calc(100% - 24px);max-width:520px;max-height:calc(100% - 24px);overflow:auto;background:var(--card);color:var(--ink);box-shadow:9px 9px 0 var(--ln);animation:pop .4s cubic-bezier(.2,1.5,.4,1)}
dialog::backdrop{background:rgba(10,12,14,.65);backdrop-filter:blur(5px)}
@keyframes pop{from{opacity:0;transform:scale(.7) rotate(-4deg)}}
.dh{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:3px solid var(--ln);color:var(--dk);font:800 1.1rem Unbounded,sans-serif}
.x{width:38px;height:38px;border:3px solid var(--ln);border-radius:12px;background:var(--card);color:var(--ink);cursor:pointer;font-size:1rem;transition:.2s}.x:hover{transform:rotate(90deg)}
.fb{padding:20px;display:grid;gap:14px}
label{display:grid;gap:6px;font-weight:800}
input:not([type=radio]){font:600 1rem Nunito,sans-serif;padding:12px 14px;border:3px solid var(--ln);border-radius:14px;background:var(--bg);color:var(--ink)}
input:focus{outline:none;box-shadow:0 0 0 4px var(--lime)}
fieldset{border:0;padding:0}legend{font-weight:800;margin-bottom:8px}
#pks{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}
.pk{position:relative;padding:12px;border:3px solid var(--ln);border-radius:16px;background:var(--bg);cursor:pointer;transition:.2s;gap:2px}
.pk input{position:absolute;opacity:0;inset:0;cursor:pointer}
.pk span{color:var(--mut)}
.pk:has(input:checked){background:var(--yel);color:var(--dk);transform:translateY(-3px) rotate(-1.5deg);box-shadow:4px 4px 0 var(--ln)}
.pk:has(input:checked) span{color:var(--dk)}
.pk:has(input:focus-visible){outline:4px solid var(--lime)}
.tot{display:flex;justify-content:space-between;align-items:center;font-weight:800}.tot b{font:800 1.5rem Unbounded,sans-serif}
.fb small{color:var(--mut);text-align:center}
#ok{text-align:center}#ok .big{font-size:4rem;animation:bob 1.6s ease-in-out infinite}
html:has(dialog[open]){overflow:hidden}
/* Категории: горизонтальный скролл (ПК — колёсико/drag, телефон — свайп) */
.chips{
  display:flex;flex-wrap:nowrap;gap:8px;align-items:center;
  overflow-x:auto;overflow-y:hidden;
  padding:12px 0 14px;
  scrollbar-width:thin;scrollbar-color:var(--lime) transparent;
  -webkit-overflow-scrolling:touch;
  cursor:grab;
}
.chips:active{cursor:grabbing}
.chips::-webkit-scrollbar{display:block;height:6px}
.chips::-webkit-scrollbar-thumb{background:var(--lime);border-radius:6px}
.chips::-webkit-scrollbar-track{background:transparent}
#chips{flex:none;padding:12px 18px 14px;border-bottom:3px solid var(--ln)}
.tab{flex:none;min-height:44px;padding:8px 16px;font:800 .9rem Nunito,sans-serif;white-space:nowrap;border:3px solid var(--ln);border-radius:14px;background:var(--card);color:var(--ink);cursor:pointer;transition:.2s}
.tab.on{background:var(--lime);color:var(--dk);box-shadow:3px 3px 0 var(--ln);transform:rotate(-1.5deg)}
.tr p{flex:1}
dialog{margin:auto;height:min(680px,calc(100dvh - 24px));overflow:hidden}
dialog[open]{display:flex;flex-direction:column}
.dh{flex:none}
.stp{display:flex;flex-direction:column;flex:1;min-height:0}.stp[hidden]{display:none}
.bdy{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:14px 18px;display:grid;gap:10px;align-content:start}
.it{display:grid;grid-template-columns:1fr auto 34px;align-items:center;gap:10px;width:100%;min-height:62px;padding:10px 12px;text-align:left;font:inherit;border:3px solid var(--ln);border-radius:16px;background:var(--bg);color:var(--ink);cursor:pointer;transition:.2s}
.it small{display:block;color:var(--mut);font-weight:600;line-height:1.3}
.it .pc{font:800 .85rem Unbounded,sans-serif;white-space:nowrap}
.it i{font-style:normal;display:grid;place-items:center;width:34px;height:34px;border:3px solid var(--ln);border-radius:11px;background:var(--lime);color:var(--dk);font-weight:800}
.it.on{background:var(--yel);color:var(--dk);box-shadow:4px 4px 0 var(--ln);transform:translateY(-2px)}
.it.on small{color:var(--dk)}.it.on i{background:var(--card);color:var(--ink)}
.ft{flex:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px calc(12px + env(safe-area-inset-bottom,0px));border-top:3px solid var(--ln);background:var(--card)}
.ft small{color:var(--mut)}.tt{display:block;font:800 1.25rem Unbounded,sans-serif}
.ft .btn{margin:0;flex:none}
#sm div{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:2px dashed var(--mut)}
#ok{align-items:center;justify-content:center;gap:12px;text-align:center;overflow:auto}
@keyframes up{from{transform:translateY(100%)}}
@media(max-width:700px){
.hd{padding:8px 14px}#th{order:2;margin-left:auto}
nav{order:3;width:100%;margin:0;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}nav a{white-space:nowrap;padding:7px 12px}
.stk{display:none}.hero{padding-top:36px}.row .btn{flex:1;text-align:center}
main{padding:0 14px 40px}.card{padding:18px}.gr{gap:18px}.hit::after{right:8px}
dialog{margin:auto 0 0;width:100%;max-width:none;height:92dvh;border-radius:26px 26px 0 0;border-bottom:0;box-shadow:none;animation:up .35s ease-out}
}
@media(prefers-reduced-motion:reduce){*,::before,::after{animation:none!important;transition:none!important}.rv{opacity:1;transform:none}}
footer a{font-weight:800;color:var(--ink)}
/* логотип */
.logo img{display:block;height:46px;width:auto;filter:drop-shadow(0 2px 0 var(--ln))}
.hero{display:grid;grid-template-columns:1fr minmax(240px,380px);align-items:center;gap:24px}
.hero h1{font-size:clamp(2.2rem,6.2vw,4.6rem)}
.hero-art{position:relative;justify-self:center}
.hero-logo{display:block;width:100%;max-width:340px;height:auto;filter:drop-shadow(0 0 26px rgba(182,255,59,.5));animation:lg 6s ease-in-out infinite}
@keyframes lg{50%{transform:translateY(-14px) rotate(-2deg)}}
.hero-art .stk{right:-8px;top:auto;bottom:30px;width:104px;height:104px;font-size:.7rem}
@media(max-width:700px){.logo img{height:38px}.hero{grid-template-columns:1fr;gap:6px}.hero-art{order:-1}.hero-logo{max-width:160px}}
/* cookies, документы, согласие */
.ck{position:fixed;z-index:20;left:50%;bottom:calc(14px + env(safe-area-inset-bottom,0px));width:min(760px,calc(100% - 24px));display:flex;align-items:center;gap:14px;padding:14px 16px;background:var(--card);border:3px solid var(--ln);border-radius:22px;box-shadow:6px 6px 0 var(--ln);transform:translate(-50%,150%);transition:transform .5s cubic-bezier(.2,1.3,.4,1)}
.ck.in{transform:translate(-50%,0)}.ck[hidden]{display:none}
.ck-i{font-size:2.2rem;animation:bob 3s ease-in-out infinite}
.ck-t{flex:1;min-width:0}.ck-t p{color:var(--mut);font-size:.9rem;line-height:1.4}.ck-t a{color:var(--ink);font-weight:800}
.ck-b{display:flex;gap:10px;flex:none}.ck-b .btn{padding:11px 16px}
.fl{display:flex;justify-content:center;gap:8px 22px;flex-wrap:wrap;margin-bottom:12px}
.lk{background:none;border:0;padding:0;font:inherit;font-weight:800;color:var(--ink);text-decoration:underline;cursor:pointer}
a.tab{display:inline-flex;align-items:center;text-decoration:none}
.doc{scroll-margin-top:130px}.doc h2{margin:0 0 4px}.doc h3{margin:22px 0 8px;font-size:1rem}
.doc ul{padding-left:22px;display:grid;gap:4px;color:var(--mut)}.upd{font-size:.85rem}
mark.ph{background:var(--yel);color:var(--dk);border-radius:6px;padding:0 5px}
.ag{display:flex;gap:10px;align-items:flex-start;font-weight:600;font-size:.9rem}
.ag input{width:22px;height:22px;flex:none;padding:0;border:0;border-radius:6px;accent-color:#b6ff3b;margin-top:1px}
.ag a{font-weight:800;color:var(--ink)}
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
@media(max-width:700px){.ck{flex-wrap:wrap}.ck-i{display:none}.ck-b{width:100%}.ck-b .btn{flex:1;text-align:center}}
/* язык */
.lang{display:flex;gap:4px;padding:3px;border:3px solid var(--ln);border-radius:14px;background:var(--card)}
.lang a{text-decoration:none;font:800 .8rem Unbounded,sans-serif;padding:7px 10px;border-radius:9px}
.lang a.on{background:var(--lime);color:var(--dk)}.lang a:not(.on):hover{background:var(--bg2)}
.lg{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:16px;background:rgba(10,12,14,.72);backdrop-filter:blur(6px)}
.lg-c{text-align:center;max-width:420px;width:100%;animation:pop .4s cubic-bezier(.2,1.5,.4,1)}
.lg-c img{height:90px;width:auto}.lg-c h2{margin:10px 0 18px;font-size:1.3rem}
.lg-c small{font:600 .9rem Nunito,sans-serif;color:var(--mut)}
.lg-b{display:grid;gap:12px}.lg-b .btn{padding:16px;text-align:center}
@media(max-width:700px){.lang{order:2;margin-left:auto}#th{margin-left:0}}
.fe{background:var(--yel);color:var(--dk);border:3px solid var(--ln);border-radius:12px;padding:8px 12px;font-weight:800}.fe[hidden]{display:none}
.toast{position:fixed;z-index:40;left:50%;top:calc(80px + env(safe-area-inset-top,0px));transform:translateX(-50%);width:min(520px,calc(100% - 24px));padding:14px 18px;border:3px solid var(--ln);border-radius:18px;box-shadow:5px 5px 0 var(--ln);font-weight:800;color:var(--dk);animation:pop .4s cubic-bezier(.2,1.5,.4,1)}
.toast.ok{background:var(--lime)}.toast.bad{background:var(--yel)}
/* страница оплаты */
.pay-sum{display:grid;gap:4px;margin-bottom:8px}.pay-sum p{color:var(--ink)}
.cur{display:grid;gap:8px;max-width:420px;margin:20px 0 0;font-weight:800}
select{font:600 1rem Nunito,sans-serif;padding:12px 14px;border:3px solid var(--ln);border-radius:14px;background:var(--bg);color:var(--ink)}
.pm{--c:var(--lime);display:block;width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer}

/* pay: кнопки видны сразу, inactive до загрузки ссылок */
.pm.is-disabled{opacity:.45;pointer-events:none;cursor:wait}
.pay-status{font-size:.9rem;color:var(--mut);margin:8px 0 14px}

/* —— Описание доната: карточки и модалка —— */
.tr-desc{text-align:left;cursor:pointer;width:100%;font:inherit;color:inherit}
.tr-desc:hover{transform:translateY(-2px)}
.tr-desc .tr-hint{margin-top:8px;font-size:.85rem;color:var(--mut);font-weight:600}

#descDlg{
  border:3px solid var(--ln);
  border-radius:22px;
  padding:0;
  width:min(420px,calc(100% - 24px));
  height:fit-content;
  max-height:min(85dvh,640px);
  overflow:hidden;
  background:var(--card);
  color:var(--ink);
  box-shadow:8px 8px 0 var(--ln);
  margin:auto;
}
/* display:flex только когда открыт — иначе dialog остаётся внизу страницы */
#descDlg[open]{
  display:flex;
  flex-direction:column;
}
#descDlg::backdrop{background:rgba(0,0,0,.55)}
#descDlg .desc-hd{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:14px 16px;
  border-bottom:3px solid var(--ln);
  background:var(--lime);color:var(--dk);
  flex:none;
}
#descDlg .desc-hd h3{margin:0;font:900 1.2rem/1.2 Nunito,sans-serif}
#descDlg #descClose{
  border:3px solid var(--ln);border-radius:12px;
  background:var(--card);color:var(--ink);
  width:40px;height:40px;font-size:1.15rem;line-height:1;
  cursor:pointer;flex:none;display:grid;place-items:center;
}
#descDlg #descClose:hover{background:var(--yel)}
#descDlg .desc-sub{
  padding:10px 16px 0;
  font-size:.8rem;font-weight:800;color:var(--mut);
  flex:none;
}
#descDlg .desc-body{
  padding:10px 16px 18px;
  overflow-y:auto;
  overscroll-behavior:contain;
  font-weight:600;
  line-height:1.45;
  font-size:.95rem;
}
#descDlg .desc-body p{margin:0 0 8px}
#descDlg .desc-body .desc-label{
  margin:12px 0 6px;font-weight:800;font-size:.88rem;color:var(--mut);
}
#descDlg .desc-body .desc-label:first-child{margin-top:0}
#descDlg .desc-body .desc-list{
  list-style:none;margin:0 0 10px;padding:0;
  display:grid;gap:6px;
}
#descDlg .desc-body .desc-list li{
  position:relative;
  padding:8px 10px 8px 12px;
  background:color-mix(in srgb,var(--lime) 14%,transparent);
  border:2px solid var(--ln);
  border-radius:12px;
  font-weight:700;
  font-size:.92rem;
}
#descDlg .desc-body .desc-list li code{
  font:800 .9em ui-monospace,Menlo,Consolas,monospace;
  background:color-mix(in srgb,var(--yel) 35%,transparent);
  border-radius:6px;padding:1px 5px;
}
#descDlg .desc-body .desc-meta{
  margin:6px 0 0;font-size:.9rem;font-weight:800;
}
#descDlg .desc-body .desc-note{
  margin:8px 0 0;padding:8px 10px;
  border-radius:12px;border:2px dashed var(--ln);
  font-size:.9rem;font-weight:700;
  background:color-mix(in srgb,var(--yel) 18%,transparent);
}

/* —— Лента последних покупок —— */
.buyers-title{margin-top:28px}
.buyers{
  margin:12px -4% 8px;
  overflow:hidden;
  border:3px solid var(--ln);
  border-radius:18px;
  background:var(--card);
  box-shadow:5px 5px 0 var(--ln);
  mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);
}
.buyers-track{
  display:flex;
  gap:14px;
  width:max-content;
  padding:14px 18px;
  animation:buyers-scroll 40s linear infinite;
}
.buyers:hover .buyers-track{animation-play-state:paused}
.buyer{
  display:flex;
  align-items:center;
  gap:12px;
  flex:none;
  min-width:220px;
  padding:10px 14px;
  border:3px solid var(--ln);
  border-radius:16px;
  background:color-mix(in srgb,var(--lime) 12%,var(--card));
  box-shadow:3px 3px 0 var(--ln);
}
.buyer-face{
  width:48px;height:48px;
  border-radius:10px;
  border:3px solid var(--ln);
  image-rendering:pixelated;
  background:var(--bg2);
  flex:none;
}
.buyer-meta{display:grid;gap:2px;min-width:0}
.buyer-nick{font:900 .95rem Nunito,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.buyer-group{font:800 .8rem Nunito,sans-serif;color:var(--dk);background:var(--lime);border-radius:8px;padding:1px 8px;justify-self:start}
.buyer-srv,.buyer-when{font:700 .78rem Nunito,sans-serif;color:var(--mut);white-space:nowrap}
.buyers-empty{padding:18px;text-align:center;color:var(--mut);font-weight:700}
@keyframes buyers-scroll{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}
@media (prefers-reduced-motion:reduce){
  .buyers-track{animation:none;flex-wrap:wrap;width:auto;justify-content:center}
}

/* Страница «Правила»: списки правил внутри раскрывающихся категорий */
#p-rules .rl{padding:0 20px 20px 62px;color:var(--mut);line-height:1.55}
#p-rules .rl p{padding:0 0 10px}
#p-rules .rl h4{margin:20px 0 10px;color:var(--ink);font-size:1rem;text-transform:uppercase;letter-spacing:.02em}
#p-rules .rl ol{padding-left:24px;margin:0 0 10px}
#p-rules .rl li{padding:0 0 8px 4px}
#p-rules .rl hr{border:0;border-top:2px dashed var(--ln);opacity:.3;margin:18px 0}
@media(max-width:700px){#p-rules .rl{padding:0 16px 18px}}

/* Контакты: кнопка «Написать» и выбор мессенджера */
.wr{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:18px}
.wr-menu{display:flex;flex-wrap:wrap;gap:12px}
.wr-menu[hidden]{display:none}
@media(prefers-reduced-motion:no-preference){.wr-menu:not([hidden]){animation:wrIn .2s ease-out}}
@keyframes wrIn{from{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:none}}

/* Модалка «Написать» на странице контактов */
.wr-dlg{border:none;padding:0;background:transparent;max-width:min(420px,92vw)}
.wr-dlg::backdrop{background:rgba(0,0,0,.55)}
.wr-dlg[open]{display:flex;align-items:center;justify-content:center}
.wr-dlg-box{position:relative;padding:28px 24px 24px;min-width:min(320px,86vw);text-align:center}
.wr-dlg-x{position:absolute;top:10px;right:12px}
.wr-dlg-hint{margin:8px 0 18px;color:var(--mut);font-weight:700}
.wr-dlg-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}


/* —— Авторизация и кабинет —— */
.nav-auth{
  font:800 .85rem Nunito,sans-serif;
  padding:8px 14px;
  border:3px solid var(--ln);
  border-radius:14px;
  background:var(--lime);
  color:var(--dk);
  box-shadow:3px 3px 0 var(--ln);
  text-decoration:none;
  white-space:nowrap;
}
.nav-auth:hover{transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--ln)}
.nav-auth.on{background:var(--yel)}
.auth-pg{max-width:960px;margin:0 auto;min-height:60vh;display:flex;align-items:center;justify-content:center}
.auth-shell{
  display:grid;
  grid-template-columns:1fr 1.1fr;
  gap:28px;
  align-items:center;
  margin-top:12px;
}
@media(max-width:760px){
  .auth-shell{grid-template-columns:1fr}
  .auth-art{display:none}
}
.auth-art{text-align:center;padding:20px}
.auth-art img{
  width:min(220px,50vw);
  height:auto;
  filter:drop-shadow(6px 6px 0 var(--ln));
}
.auth-tag{margin-top:14px;font:800 1.05rem Unbounded,sans-serif;letter-spacing:.02em}
.auth-card{padding:22px 22px 26px;position:relative}
.auth-tabs{display:flex;gap:10px;margin-bottom:18px}
.auth-tab{
  flex:1;
  font:800 .95rem Nunito,sans-serif;
  padding:12px 10px;
  border:3px solid var(--ln);
  border-radius:14px;
  background:var(--bg2);
  color:var(--ink);
  cursor:pointer;
  box-shadow:3px 3px 0 var(--ln);
}
.auth-tab.on{background:var(--lime);color:var(--dk)}
.auth-form{display:grid;gap:14px}
.auth-form[hidden]{display:none!important}
.auth-form label{
  display:grid;gap:6px;
  font:800 .85rem Nunito,sans-serif;
  color:var(--mut);
}
.auth-form input{
  font:700 1rem Nunito,sans-serif;
  padding:12px 14px;
  border:3px solid var(--ln);
  border-radius:14px;
  background:var(--bg);
  color:var(--ink);
  outline:none;
}
.auth-form input:focus{
  border-color:var(--lime);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--lime) 35%,transparent);
}
.auth-submit{width:100%;margin-top:4px;justify-content:center}
.auth-hint,.auth-switch{font:700 .85rem Nunito,sans-serif;color:var(--mut);margin:0;text-align:center}
.auth-switch .lk{background:none;border:none;padding:0;font:inherit;color:var(--lime);cursor:pointer;text-decoration:underline}
.auth-err{
  margin:0 0 14px;
  padding:12px 14px;
  border:3px solid var(--ln);
  border-radius:14px;
  background:color-mix(in srgb,#ff5a5a 18%,var(--card));
  font:800 .9rem Nunito,sans-serif;
}
.cabinet-lead{color:var(--mut);font-weight:700;margin:-6px 0 18px}
.cabinet-grid{
  display:grid;
  grid-template-columns:1.4fr .9fr;
  gap:20px;
  align-items:start;
}
@media(max-width:760px){.cabinet-grid{grid-template-columns:1fr}}
.cabinet-profile{padding:22px}
.cabinet-head{display:flex;gap:18px;align-items:center;margin-bottom:18px}
.cabinet-face{
  width:96px;height:96px;
  border-radius:18px;
  border:3px solid var(--ln);
  box-shadow:4px 4px 0 var(--ln);
  image-rendering:pixelated;
  background:var(--bg2);
}
.cabinet-nick{font:800 1.35rem Unbounded,sans-serif;margin:0 0 4px}
.cabinet-mail{margin:0;color:var(--mut);font-weight:700;word-break:break-all}
.cabinet-dl{display:grid;gap:14px;margin:0}
.cabinet-dl div{
  display:grid;gap:4px;
  padding:12px 14px;
  border:3px solid var(--ln);
  border-radius:14px;
  background:color-mix(in srgb,var(--lime) 10%,var(--card));
}
.cabinet-dl dt{font:800 .75rem Nunito,sans-serif;color:var(--mut);text-transform:uppercase;letter-spacing:.04em}
.cabinet-dl dd{margin:0;font:800 1.05rem Nunito,sans-serif}
.cabinet-badge{
  display:inline-block;
  background:var(--lime);
  color:var(--dk);
  border-radius:10px;
  padding:4px 12px;
  border:2px solid var(--ln);
}
.cabinet-note{margin:16px 0 0;font:700 .82rem Nunito,sans-serif;color:var(--mut)}
.cabinet-side{padding:22px}
.cabinet-side h3{margin:0 0 14px}
.cabinet-actions{display:grid;gap:10px}
.cabinet-actions .btn{justify-content:center;text-align:center}


/* Поле пароля с глазиком */
.pw-wrap{position:relative;display:block}
.pw-wrap input{width:100%;padding-right:48px;box-sizing:border-box}
.pw-toggle{
  position:absolute;right:8px;top:50%;transform:translateY(-50%);
  border:none;background:transparent;cursor:pointer;
  font-size:1.15rem;line-height:1;padding:6px;opacity:.85;
}
.pw-toggle:hover,.pw-toggle.on{opacity:1}
.auth-ok{
  margin:0 0 14px;padding:12px 14px;
  border:3px solid var(--ln);border-radius:14px;
  background:color-mix(in srgb,var(--lime) 22%,var(--card));
  font:800 .9rem Nunito,sans-serif;
}
.auth-verify-title{margin:0 0 14px;font:800 1.15rem Unbounded,sans-serif}
.auth-resend{text-align:center;margin-top:12px}
.auth-resend .lk{background:none;border:none;font:700 .9rem Nunito,sans-serif;color:var(--mut);cursor:pointer;text-decoration:underline}


/* Модалка входа / регистрации — сброс глобальных dialog, без двойной рамки/тени */
.auth-dlg{
  border:none!important;
  padding:0!important;
  margin:auto!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
  width:auto!important;
  max-width:none!important;
  max-height:none!important;
  height:auto!important;
  border-radius:0!important;
  animation:none!important;
}
.auth-dlg::backdrop{background:rgba(0,0,0,.62)}
.auth-dlg[open]{display:flex!important;align-items:center;justify-content:center}
.auth-dlg-box{
  position:relative;
  width:min(400px,92vw);
  padding:20px 22px 22px;
  text-align:left;
  /* одна рамка и одна тень — только у внутренней карточки */
  box-shadow:6px 6px 0 var(--ln);
}
.auth-dlg-x{
  position:absolute;top:12px;right:12px;z-index:3;
  width:36px;height:36px;display:grid;place-items:center;
  border-radius:12px;border:3px solid var(--ln);
  background:var(--bg2);color:var(--ink);font:800 1.2rem/1 Nunito,sans-serif;
  cursor:pointer;box-shadow:2px 2px 0 var(--ln);
}
.auth-dlg-x:hover{background:var(--lime);color:var(--dk)}
.auth-dlg-box .auth-tabs{padding-right:44px;margin-right:0}
.nav-auth{
  cursor:pointer;
  font:inherit;
  appearance:none;
}
button.nav-auth{font:800 .85rem Nunito,sans-serif}

/* На мобиле глобальный dialog тянется снизу — модалку входа оставляем по центру */
@media(max-width:640px){
  .auth-dlg[open]{
    width:auto!important;
    max-width:none!important;
    height:auto!important;
    max-height:none!important;
    margin:auto!important;
    border-radius:0!important;
    border:none!important;
    box-shadow:none!important;
  }
}


/* Сложность пароля + генератор */
.pw-wrap-gen input{padding-right:84px}
.pw-gen{
  position:absolute;right:42px;top:50%;transform:translateY(-50%);
  border:none;background:transparent;cursor:pointer;
  font-size:1.1rem;line-height:1;padding:6px;opacity:.85;
}
.pw-gen:hover{opacity:1}
.pw-meter{margin:-4px 0 6px}
.pw-meter-bar{
  height:8px;border-radius:99px;background:var(--bg2);
  border:2px solid var(--ln);overflow:hidden;
}
.pw-meter-bar i,.pw-meter-fill{
  display:block;height:100%;width:0;
  background:#e74c3c;transition:width .2s,background .2s;
  border-radius:99px;
}
.pw-meter-fill.medium{background:var(--yel)}
.pw-meter-fill.strong{background:var(--lime)}
.pw-meter-label{margin:6px 0 0;font:800 .8rem Nunito,sans-serif;color:var(--mut)}
.pw-meter-label.weak{color:#e74c3c}
.pw-meter-label.medium{color:var(--yel)}
.pw-meter-label.strong{color:var(--lime)}
.pw-rules{
  list-style:none;margin:8px 0 0;padding:0;
  display:grid;gap:3px;
  font:700 .78rem Nunito,sans-serif;color:var(--mut);
}
.pw-rules li::before{content:"○ ";font-weight:900}
.pw-rules li.ok{color:var(--lime)}
.pw-rules li.ok::before{content:"✓ "}
.pw-rules li.bad{color:var(--mut)}
.pw-match.ok{color:var(--lime)!important}
.pw-match.mid{color:var(--yel)!important}
.pw-match.bad{color:#e74c3c!important}
.auth-form input.pw-ok{border-color:var(--lime)}
.auth-form input.pw-bad{border-color:#e74c3c}


/* Honeypot — невидимое поле против ботов */
.auth-form label.hp{
  position:absolute!important;
  left:-10000px!important;
  top:auto!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}




/* Cloudflare Turnstile */
.captcha-wrap{
  display:flex;justify-content:center;
  margin:6px 0 8px;
  min-height:65px;
}
.captcha-wrap .cf-turnstile{transform-origin:center top}
