/* Палитра GDD 7.1: чёрный и персиковый — основа; мандарин — главные действия; кобальт — второстепенные.
   Мандарин и кобальт текстом на персиковом не используем (низкий контраст) — только заливки, иконки, декор. */
:root{
  color-scheme: dark;
  --black:#000000; --peach:#F3D2C6; --tang:#EC562E; --cobalt:#3478F7;
  --tang-dark:#B23A1B; --tang-glow:rgba(236,86,46,.45);
  --s1:#100d0c; --s2:#1b1716; --line:#2d2624; --muted:#a3928b;
  --ink:#000; --ink-60:rgba(0,0,0,.6); --ink-15:rgba(0,0,0,.15);
  --r-common:#A7A09C; --r-rare:#7DB0FF; --r-epic:#A970FF; --r-legendary:#F2C53D; --r-etalon:#4FE3D6;
  --display:"Unbounded","Arial Black",system-ui,sans-serif;
  --body:"Manrope",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"JetBrains Mono",ui-monospace,"SFMono-Regular",monospace;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--black);color:var(--peach)}
body{font-family:var(--body);font-size:15px;line-height:1.45;padding:12px 16px calc(84px + env(safe-area-inset-bottom,0px));touch-action:manipulation;-webkit-tap-highlight-color:transparent}
button{font:inherit;color:inherit;cursor:pointer}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--cobalt);outline-offset:2px}
button:disabled{opacity:.45;cursor:default}
.app{max-width:480px;margin:0 auto;display:flex;flex-direction:column;gap:14px}
.tab{display:flex;flex-direction:column;gap:14px}
.tab[hidden]{display:none}
.ic{width:20px;height:20px;flex:none;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
h1,h2,h3{font-family:var(--display);margin:0;letter-spacing:.01em}
.mono,.num{font-family:var(--mono);font-variant-numeric:tabular-nums}
.muted{color:var(--muted)}
.cur{display:inline-grid;place-items:center;width:1.05em;height:1.05em;margin-left:.25em;border-radius:50%;background:var(--peach);color:var(--black);font:800 .62em/1 var(--body);font-style:normal;vertical-align:.08em}
.on-peach .cur,.ad .cur{background:var(--black);color:var(--peach)}

/* ---------- шапка ---------- */
.top{display:flex;flex-direction:column;gap:10px;position:sticky;top:0;z-index:5;background:var(--black);padding-bottom:4px}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:10px}
.iconbtn{position:relative;width:42px;height:42px;border-radius:14px;border:1px solid var(--line);background:var(--s1);display:grid;place-items:center}
.dot{position:absolute;top:6px;right:6px;width:9px;height:9px;border-radius:50%;background:var(--tang);box-shadow:0 0 0 2px var(--black)}
.balance{text-align:center;line-height:1.1}
.balance small{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.balance b{font:700 20px/1.2 var(--mono);font-variant-numeric:tabular-nums}
.modes{display:grid;grid-template-columns:repeat(3,1fr);background:var(--s1);border:1px solid var(--line);border-radius:14px;padding:3px}
.modes button{border:0;background:none;padding:9px 4px;border-radius:11px;font-weight:700;font-size:14px;color:var(--muted)}
.modes button.on{background:var(--cobalt);color:#fff}

/* ---------- нижнее меню ---------- */
.bottom{position:fixed;left:0;right:0;bottom:0;z-index:6;display:grid;grid-template-columns:repeat(5,1fr);background:var(--black);border-top:1px solid var(--line);padding:6px 6px calc(6px + env(safe-area-inset-bottom,0px))}
.bottom button{position:relative;border:0;background:none;display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 0;color:var(--muted);font-size:11px;font-weight:600}
.bottom button.on{color:var(--peach)}
.bottom button.on .ic{color:var(--tang)}
.bottom .dot{top:2px;right:calc(50% - 18px)}

/* ---------- кнопки ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:14px;padding:13px 16px;font-weight:800;font-size:15px}
.btn-main{width:100%;background:var(--tang);color:var(--black);box-shadow:0 8px 24px -6px var(--tang-glow)}
.btn-main.big{padding:17px 18px;font-size:17px;font-family:var(--body);letter-spacing:.02em}
.btn-main .pill{margin-left:auto;background:var(--tang-dark);color:var(--black);border-radius:10px;padding:5px 10px;font:700 14px var(--mono)}
.btn-main .pill .cur{background:var(--black);color:var(--tang)}
.btn-blue{background:var(--cobalt);color:#fff;font-weight:800}
.btn-ghost{background:var(--s2);color:var(--peach);border:1px solid var(--line)}
.btn-dark{background:var(--black);color:var(--peach)}
.row{display:flex;gap:10px;align-items:center}
.row>.btn{flex:1}
.stack{display:flex;flex-direction:column;gap:10px}
.chips{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.chips::-webkit-scrollbar{display:none}
.chip{flex:none;border:1px solid var(--line);background:var(--s1);border-radius:999px;padding:7px 12px;font-size:13px;font-weight:700;color:var(--muted)}
.chip.on{background:var(--peach);color:var(--black);border-color:var(--peach)}
.seg{display:flex;background:var(--s1);border:1px solid var(--line);border-radius:12px;padding:3px}
.seg button{flex:1;border:0;background:none;padding:8px 6px;border-radius:9px;font-weight:700;font-size:13px;color:var(--muted)}
.seg button.on{background:var(--s2);color:var(--peach);box-shadow:inset 0 0 0 1px var(--line)}

/* ---------- карточка объявления (GDD 3.1, 7.1) ---------- */
.ad{background:var(--peach);color:var(--ink);border-radius:22px;padding:14px;display:flex;flex-direction:column;gap:12px;position:relative;overflow:hidden}
.ad-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.ad-head h2{font-size:19px;line-height:1.2}
.ad-head .q{width:34px;height:34px;flex:none;border-radius:50%;border:0;background:var(--black);color:var(--peach);font:800 16px var(--body)}
.photo{position:relative;aspect-ratio:2/1;background:var(--black);border-radius:16px;overflow:hidden;display:grid;place-items:center}
.photo img{width:100%;height:100%;object-fit:contain}
.photo .qmark{font:800 64px/1 var(--body);color:var(--peach);text-shadow:0 0 24px rgba(243,210,198,.75),0 0 60px rgba(236,86,46,.45);animation:breathe 2.4s ease-in-out infinite}
.photo .noimg{display:grid;place-items:center;gap:6px;color:var(--peach);text-align:center;padding:12px;font-weight:700}
.photo .noimg .ic{width:46px;height:46px;opacity:.85}
.photo .sil{position:absolute;inset:0;display:grid;place-items:center;opacity:.9}
.photo .sil img{filter:brightness(0) invert(.86) sepia(.4)}
.photo .chip-r{position:absolute;left:10px;top:10px;padding:4px 9px;border-radius:999px;font:800 11px var(--body);text-transform:uppercase;letter-spacing:.06em;color:var(--black)}
@keyframes breathe{50%{opacity:.6;transform:scale(.94)}}
.badges{display:flex;flex-wrap:wrap;gap:6px}
.badge{display:inline-flex;align-items:center;gap:4px;padding:4px 9px;border-radius:8px;font-size:12px;font-weight:800}
.badge.good{background:var(--cobalt);color:#fff}
.badge.high{background:var(--tang);color:var(--black)}
.badge.dark{background:var(--black);color:var(--peach)}
.badge.line{background:transparent;box-shadow:inset 0 0 0 1.5px var(--ink-15)}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px;margin:0}
.fields div{min-width:0}
.fields dt{font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-60);font-weight:700}
.fields dd{margin:1px 0 0;font-weight:800;font-size:14.5px;line-height:1.25;overflow-wrap:anywhere}
.fields dd.swatch::before{content:"";display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--sw);margin-right:6px;box-shadow:0 0 0 1px var(--ink-15)}
.fields button.tap{all:unset;cursor:pointer;border-bottom:1.5px dashed var(--ink-60)}
.fields dd.roll{font-family:var(--mono)}
.seller{display:flex;flex-direction:column;gap:4px;font-size:13.5px}
.seller q{font-style:italic;quotes:"«" "»"}
.dash{border:0;border-top:2px dashed var(--ink-15);margin:0}
.prices{display:flex;flex-direction:column;gap:6px}
.prices .pr{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.prices .pr span{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-60);font-weight:700}
.prices .pr b{font:700 16px var(--mono);font-variant-numeric:tabular-nums}
.prices .pr.main b{font-size:24px}
.prices s{color:var(--ink-60);font:600 14px var(--mono);margin-right:6px}
.pick-status{min-height:20px;text-align:center;color:var(--muted);font-size:13px;margin:-4px 0 0}
.ad.flashy{animation:adflash .7s ease-out}
@keyframes adflash{0%{box-shadow:0 0 0 0 var(--fc),0 0 0 0 var(--fc)}40%{box-shadow:0 0 0 6px var(--fc),0 0 60px 20px var(--fc)}100%{box-shadow:0 0 0 0 transparent,0 0 0 0 transparent}}
.ad.flip{animation:flip .5s ease-out}
@keyframes flip{0%{transform:perspective(900px) rotateY(80deg);opacity:.2}100%{transform:none;opacity:1}}

/* ---------- торг: апгрейдер ---------- */
.hag{display:flex;flex-direction:column;gap:14px;align-items:stretch}
.dial{position:relative;width:220px;height:220px;margin:4px auto;border-radius:50%;background:conic-gradient(#2fbf71 0 var(--deg), var(--s2) var(--deg) 360deg);display:grid;place-items:center}
.dial::before{content:"";position:absolute;inset:20px;border-radius:50%;background:var(--s1)}
.dial .in{position:relative;text-align:center;line-height:1.1}
.dial .in b{display:block;font:800 40px var(--body)}
.dial .in small{color:var(--muted);font-size:12px}
.needle{position:absolute;left:50%;top:50%;width:4px;height:104px;margin-left:-2px;margin-top:-104px;transform-origin:50% 100%;border-radius:3px;background:var(--peach);box-shadow:0 0 10px rgba(243,210,198,.8);transform:rotate(var(--a,0deg))}
.needle::after{content:"";position:absolute;bottom:-7px;left:-5px;width:14px;height:14px;border-radius:50%;background:var(--peach)}
input[type=range]{width:100%;accent-color:var(--cobalt);height:28px}
.hag .line2{display:flex;justify-content:space-between;font-size:13px;color:var(--muted)}
.hag .offer{font:800 28px var(--mono);text-align:center}
.result{text-align:center;font:800 18px var(--body);padding:6px 0}
.result.ok{color:#2fbf71}.result.bad{color:var(--tang)}

/* ---------- кейсы ---------- */
.freecase{display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,#1d1311,#2b1610);border:1px solid #4a2418;border-radius:18px;padding:14px}
.freecase .ic{width:34px;height:34px;color:var(--tang)}
.freecase div{flex:1}
.freecase b{display:block;font-family:var(--display);font-size:14px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.casecard{background:var(--peach);color:var(--ink);border:0;border-radius:18px;padding:14px 12px;display:flex;flex-direction:column;align-items:flex-start;gap:8px;text-align:left;min-height:128px}
.casecard .ico{width:46px;height:46px;border-radius:14px;background:var(--black);color:var(--peach);display:grid;place-items:center}
.casecard .ico .ic{width:24px;height:24px}
.casecard b{font-family:var(--display);font-size:13px;line-height:1.2}
.casecard .num{margin-top:auto;font-weight:700}
.contents{display:flex;flex-direction:column;gap:6px;max-height:42vh;overflow:auto}
.citem{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:12px;background:var(--s2);border-left:4px solid var(--rc)}
.citem span{flex:1;font-size:13.5px;font-weight:600}
.citem .num{font-size:12.5px;color:var(--muted);min-width:58px;text-align:right}
.caseico{width:64px;height:64px;flex:none;border-radius:18px;background:var(--peach);color:var(--black);display:grid;place-items:center}
.caseico .ic{width:30px;height:30px}
.reel{position:relative;overflow:hidden;border-radius:16px;background:var(--s1);border:1px solid var(--line);height:132px}
.reel::after{content:"";position:absolute;left:50%;top:0;bottom:0;width:3px;margin-left:-1.5px;background:var(--tang);box-shadow:0 0 12px var(--tang)}
.track{display:flex;gap:8px;padding:12px 0;will-change:transform}
.ritem{flex:none;width:104px;height:108px;border-radius:12px;background:var(--s2);border-bottom:4px solid var(--rc);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:6px;text-align:center}
.ritem img{width:92px;height:52px;object-fit:contain}
.ritem .ic{width:34px;height:34px;color:var(--rc)}
.ritem small{font-size:10.5px;line-height:1.15;font-weight:700;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.drop{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding:16px 8px;border-radius:20px;background:radial-gradient(circle at 50% 35%,color-mix(in srgb,var(--rc) 45%,transparent),transparent 70%)}
.drop .big{width:100%;max-width:300px;aspect-ratio:2/1;display:grid;place-items:center}
.drop .big img{width:100%;height:100%;object-fit:contain}
.drop .big .ic{width:84px;height:84px;color:var(--rc)}
.drop h3{font-size:15px;line-height:1.35}
.rlabel{font:800 11px var(--body);text-transform:uppercase;letter-spacing:.12em;color:var(--rc)}

/* ---------- гараж ---------- */
.carcard{display:flex;gap:12px;align-items:stretch;border:1px solid var(--line);background:var(--s1);border-radius:18px;padding:10px;text-align:left;width:100%}
.carcard .thumb{width:118px;flex:none;aspect-ratio:2/1;align-self:center;background:var(--black);border-radius:12px;overflow:hidden;display:grid;place-items:center}
.carcard .thumb img{width:100%;height:100%;object-fit:contain}
.carcard .thumb .ic{width:30px;height:30px;color:var(--muted)}
.carcard .info{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.carcard b{font-size:14px;line-height:1.25}
.carcard q{font-size:12px;color:var(--muted);quotes:"«" "»";display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.carcard .num{font-weight:700;margin-top:auto}
.tagline{display:flex;gap:5px;flex-wrap:wrap}
.tg{font-size:10.5px;font-weight:800;padding:2px 7px;border-radius:6px;background:var(--s2);color:var(--peach);text-transform:uppercase;letter-spacing:.04em}
.tg.warn{background:var(--tang);color:var(--black)}
.tg.blue{background:var(--cobalt);color:#fff}
.slots{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.slot{display:flex;gap:8px;align-items:center;border:1px solid var(--line);border-left:4px solid var(--rc,var(--line));background:var(--s1);border-radius:12px;padding:8px;text-align:left;min-height:58px}
.slot .ic{color:var(--muted)}
.slot div{min-width:0}
.slot small{display:block;font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700}
.slot span{display:block;font-size:12.5px;font-weight:700;line-height:1.2;overflow-wrap:anywhere}
.slot.empty span{color:var(--muted);font-weight:600}
.statline{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.stat{background:var(--s1);border:1px solid var(--line);border-radius:12px;padding:8px;text-align:center}
.stat small{display:block;font-size:10.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.stat b{font:700 14px var(--mono)}
.bonus{font-size:12.5px;color:var(--muted)}
.bonus b{color:var(--peach)}
.partrow{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-left:4px solid var(--rc);background:var(--s1);border-radius:12px;padding:8px 10px;width:100%;text-align:left}
.partrow .pimg{width:56px;height:28px;flex:none;display:grid;place-items:center}
.partrow .pimg img{width:100%;height:100%;object-fit:contain}
.partrow .pimg .ic{color:var(--rc)}
.partrow span{flex:1;min-width:0;font-size:13.5px;font-weight:700;line-height:1.25}
.partrow span small{display:block;font-weight:600;color:var(--muted);font-size:11.5px}
.partrow .num{font-size:13px;font-weight:700}
.partrow.sel{background:#1a2333;border-color:var(--cobalt)}
.partrow input{width:18px;height:18px;accent-color:var(--cobalt)}
.craft{text-align:center;display:flex;flex-direction:column;gap:10px;align-items:center}
.craft h2{font-size:24px;color:var(--tang)}

/* ---------- Колхозвито ---------- */
.search{display:flex;gap:8px}
.search input{flex:1;min-width:0;border:1px solid var(--line);background:var(--s1);color:var(--peach);border-radius:12px;padding:10px 12px;font:inherit}
.mkcard{display:flex;gap:10px;background:var(--peach);color:var(--ink);border:0;border-radius:16px;padding:9px;text-align:left;width:100%}
.mkcard.promo{box-shadow:0 0 0 2px var(--cobalt)}
.mkcard .thumb{width:112px;flex:none;aspect-ratio:2/1;align-self:center;background:var(--black);border-radius:10px;overflow:hidden;display:grid;place-items:center}
.mkcard .thumb img{width:100%;height:100%;object-fit:contain}
.mkcard .thumb .ic{width:28px;height:28px;color:var(--peach)}
.mkcard .info{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.mkcard b{font-size:13.5px;line-height:1.25}
.mkcard .num{font-weight:800;font-size:15px}
.mkcard small{font-size:11.5px;color:var(--ink-60);font-weight:600}
.mkcard .heart{flex:none;align-self:flex-start;color:var(--ink)}
.field{display:flex;flex-direction:column;gap:5px;min-width:0}
.field label{font-size:12px;color:var(--muted);font-weight:700}
.field input,.field textarea,.field select{border:1px solid var(--line);background:var(--s1);color:var(--peach);border-radius:12px;padding:11px 12px;font:inherit;min-width:0;width:100%;box-sizing:border-box}
.field textarea{min-height:72px;resize:vertical}
.hint{font-size:12.5px;color:var(--muted)}
.offer-row{display:flex;flex-direction:column;gap:8px;border:1px solid var(--line);background:var(--s1);border-radius:14px;padding:10px}
.offer-row .row .btn{padding:9px 10px;font-size:13px}
.empty{text-align:center;color:var(--muted);padding:26px 10px;border:1px dashed var(--line);border-radius:16px}

/* ---------- топ ---------- */
.toplist{display:flex;flex-direction:column;gap:6px}
.trow{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;background:var(--s1);border:1px solid var(--line)}
.trow.me{background:var(--peach);color:var(--ink);border-color:var(--peach)}
.trow .pl{width:28px;font:800 14px var(--body);text-align:center}
.trow .nm{flex:1;min-width:0;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.trow .nm small{display:block;font-weight:600;font-size:11.5px;opacity:.65;overflow:hidden;text-overflow:ellipsis}
.trow .num{font-weight:700}
.trow:nth-child(1) .pl{color:var(--r-legendary)}.trow:nth-child(2) .pl{color:#d9d9d9}.trow:nth-child(3) .pl{color:#d08a4e}

/* ---------- профиль ---------- */
.card{background:var(--s1);border:1px solid var(--line);border-radius:18px;padding:14px;display:flex;flex-direction:column;gap:10px}
.card h3{font-size:14px}
.quest{display:flex;align-items:center;gap:10px}
.quest span{flex:1;font-size:13.5px;font-weight:600}
.quest .bar{height:5px;border-radius:3px;background:var(--s2);overflow:hidden;margin-top:4px}
.quest .bar i{display:block;height:100%;background:var(--cobalt)}
.quest .btn{padding:8px 12px;font-size:13px}
.rules p,.rules li{font-size:14px}
.rules h3{font-size:14px;margin-top:6px}
.tbl{width:100%;border-collapse:collapse;font-size:13px}
.tbl td,.tbl th{padding:5px 6px;border-bottom:1px solid var(--line);text-align:left}
.tbl td:last-child,.tbl th:last-child{text-align:right;font-family:var(--mono)}

/* ---------- лист (модальное окно) ---------- */
.sheet-wrap{position:fixed;inset:0;z-index:20;background:rgba(0,0,0,.72);display:flex;align-items:flex-end;justify-content:center}
.sheet-wrap[hidden]{display:none}
.sheet{width:100%;max-width:480px;max-height:92vh;overflow:auto;background:var(--black);border:1px solid var(--line);border-bottom:0;border-radius:22px 22px 0 0;padding:16px 16px calc(18px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:14px;animation:up .22s ease-out}
@keyframes up{from{transform:translateY(40px);opacity:0}}
.sheet-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.sheet-head h2{font-size:17px;line-height:1.25}
.sheet-head .iconbtn{width:36px;height:36px;border-radius:12px;flex:none}
.toast{position:fixed;left:50%;bottom:calc(92px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:30;max-width:min(440px,calc(100% - 32px));background:var(--peach);color:var(--ink);font-weight:700;padding:11px 16px;border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.5);font-size:14px;text-align:center}
.toast.err{background:var(--tang)}
.flash{position:fixed;inset:0;pointer-events:none;z-index:40;opacity:0;background:radial-gradient(circle at 50% 40%,var(--fc,#fff),transparent 70%)}
.flash.go{animation:fl .8s ease-out}
@keyframes fl{0%{opacity:0}20%{opacity:.85}100%{opacity:0}}

@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* ---------- профиль и магазин ---------- */
.profile-head{display:flex;gap:14px;align-items:center}
.profile-head h2{font-size:18px;line-height:1.2}
.profile-head>div{display:flex;flex-direction:column;gap:4px;min-width:0}
.avatar{width:68px;height:68px;flex:none;border-radius:50%;background:var(--peach);color:var(--black);display:grid;place-items:center;font:800 28px var(--body);overflow:hidden}
.avatar img{width:100%;height:100%;object-fit:cover}
.avatar.prem{box-shadow:0 0 0 3px var(--black),0 0 0 5px var(--r-legendary)}
.prem-badge{align-self:flex-start;display:inline-flex;align-items:center;gap:4px;background:var(--r-legendary);color:var(--black)}
.prem-badge .ic{width:12px;height:12px}
.hava{position:absolute;inset:0;width:100%;height:100%;border-radius:13px;object-fit:cover}
.hist{display:flex;flex-direction:column}
.hist div{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid var(--line);font-size:13.5px}
.hist div:last-child{border-bottom:0}
.hist small{display:block;color:var(--muted);font-size:11.5px}
.hist .plus{color:#2fbf71}
.shoprow{display:flex;align-items:center;gap:12px;justify-content:space-between;width:100%;text-align:left;background:var(--peach);color:var(--ink);border:0;border-radius:14px;padding:12px 14px}
.shoprow b{display:block;font-size:14.5px}
.shoprow small{display:block;font-size:12px;color:var(--ink-60);font-weight:600}
.shoprow .stars{flex:none;display:inline-flex;align-items:center;gap:5px;background:var(--black);color:var(--r-legendary);border-radius:10px;padding:7px 10px;font:700 14px var(--mono)}
.shoprow .stars .ic{width:15px;height:15px}
.carcard small{font-size:11px}

/* ---------- шапка: уровень ---------- */
.lvlbar{display:flex;align-items:center;gap:10px;border:0;background:none;padding:0 2px;width:100%}
.lvlbar b{font:800 12px var(--body);color:var(--peach);flex:none}
.lvlbar i{flex:1;height:6px;border-radius:4px;background:var(--s2);overflow:hidden}
.lvlbar i span{display:block;height:100%;background:linear-gradient(90deg,var(--tang),var(--r-legendary));border-radius:4px;transition:width .5s}
.lvlbar small{flex:none;font:600 11px var(--mono);color:var(--muted)}
.lvlbig{height:10px;border-radius:6px;background:var(--s2);overflow:hidden}
.lvlbig i{display:block;height:100%;background:linear-gradient(90deg,var(--tang),var(--r-legendary))}

/* ---------- меню-плитки (как в Sneaker-drop) ---------- */
.mprof{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;width:100%;border:1px solid var(--line);background:var(--s1);border-radius:16px;padding:12px;text-align:left}
.mprof .mp{display:flex;flex-direction:column;min-width:0}
.mprof .mp b{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mprof small{color:var(--muted);font-size:11px}
.mprof .mb{display:flex;flex-direction:column;align-items:flex-end}
.mprof .mb b{font:700 14px var(--mono);color:var(--r-legendary)}
.avatar.sm{width:44px;height:44px;font-size:18px}
.apps h3{margin:2px 0 10px;font:700 11px var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.appgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px 6px}
.mapp{display:flex;flex-direction:column;align-items:center;gap:6px;border:0;background:none;padding:0;min-width:0}
.aic{position:relative;width:56px;height:56px;border-radius:17px;display:grid;place-items:center;color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 6px 16px -8px rgba(0,0,0,.8)}
.aic.dk{color:var(--black)}
.aic .ic{width:26px;height:26px;stroke-width:2.1}
.mapp:active .aic{transform:scale(.92)}
.al{font-size:11px;font-weight:700;line-height:1.15;text-align:center;color:var(--peach);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.abadge{position:absolute;top:-5px;right:-5px;min-width:19px;height:19px;padding:0 5px;border-radius:99px;background:var(--tang);color:var(--black);font:800 11px/19px var(--body);font-style:normal;box-shadow:0 0 0 2px var(--black)}

/* ---------- заголовки страниц ---------- */
.pagehead{display:flex;align-items:center;justify-content:space-between;gap:10px}
.pagehead h2{font-size:18px}
.pagetitle{font-size:20px;display:flex;align-items:center;gap:10px}
.pagetitle .ic{width:24px;height:24px;color:var(--tang)}
.back{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--line);background:var(--s1);border-radius:12px;padding:8px 12px 8px 8px;font-weight:700;font-size:14px}
.seg .ic{width:16px;height:16px;margin-right:2px;vertical-align:-3px}
.chip .ic{width:14px;height:14px;vertical-align:-2px}

/* ---------- склад: категории ---------- */
.catlist{display:flex;flex-direction:column;gap:8px}
.catrow{display:flex;align-items:center;gap:12px;width:100%;text-align:left;border:1px solid var(--line);border-left:4px solid var(--rc,var(--line));background:var(--s1);border-radius:16px;padding:12px}
.catrow .cico{width:44px;height:44px;flex:none;border-radius:13px;background:var(--peach);color:var(--black);display:grid;place-items:center}
.catrow .cico .ic{width:22px;height:22px}
.catrow .ct{flex:1;min-width:0;display:flex;flex-direction:column}
.catrow .ct b{font-size:15px}
.catrow .ct small{color:var(--muted);font:600 12.5px var(--mono)}
.catrow>.ic{color:var(--muted)}
.catrow.none{opacity:.55}
.catrow.none .cico{background:var(--s2);color:var(--muted)}

/* ---------- бонус дня ---------- */
.days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}
.days span{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 2px;border-radius:12px;background:var(--s1);border:1px solid var(--line)}
.days small{font-size:9.5px;color:var(--muted)}
.days b{font:700 13px var(--mono)}
.days .got{opacity:.5}
.days .now{background:var(--peach);color:var(--black);border-color:var(--peach)}
.days .now small{color:var(--ink-60)}
.quest small.muted{font-size:11.5px}

/* ---------- колесо дня ---------- */
.wheel{position:relative;width:min(280px,80vw);margin:0 auto}
.wsvg{width:100%;display:block;transform-origin:50% 50%}
.wptr{position:absolute;left:50%;top:-6px;margin-left:-12px;width:0;height:0;border-left:12px solid transparent;border-right:12px solid transparent;border-top:22px solid var(--peach);z-index:2;filter:drop-shadow(0 2px 4px #000)}
.sw{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}

/* ---------- достижения и коллекция ---------- */
.ach{display:flex;align-items:center;gap:10px;border:1px solid var(--line);background:var(--s1);border-radius:14px;padding:10px}
.ach .aico{width:40px;height:40px;flex:none;border-radius:12px;background:var(--s2);color:var(--muted);display:grid;place-items:center}
.ach.ready .aico{background:var(--r-legendary);color:var(--black)}
.ach.claimed .aico{background:#1f3a2a;color:#2fbf71}
.ach .at{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.ach .at b{font-size:14px}
.ach .at small{font-size:11.5px;color:var(--muted)}
.ach .btn{padding:8px 10px;font-size:13px;flex:none}
.bar{display:block;height:5px;border-radius:3px;background:var(--s2);overflow:hidden}
.bar i{display:block;height:100%;background:var(--cobalt)}
.albgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.alb{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;background:var(--black);border-radius:10px;padding:6px 4px;opacity:.35}
.alb.has{opacity:1;box-shadow:inset 0 0 0 1px var(--line)}
.alb img{width:100%;aspect-ratio:2/1;object-fit:contain;filter:grayscale(1)}
.alb.has img{filter:none}
.alb small{font-size:10px;font-weight:700;text-align:center;line-height:1.1}
.alb>i{position:absolute;top:4px;right:4px;color:var(--muted)}
.alb>i .ic{width:12px;height:12px}
.alb .noimg small{display:none}

/* ---------- дрэг ---------- */
.vs{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px}
.racer{display:flex;flex-direction:column;align-items:center;gap:3px;text-align:center;background:var(--s1);border:1px solid var(--line);border-radius:14px;padding:8px}
.racer img{width:100%;aspect-ratio:2/1;object-fit:contain}
.racer b{font-size:12.5px;line-height:1.2}
.racer small{font-size:11px;color:var(--muted)}
.vsx{font:800 16px var(--body);color:var(--tang)}
.track402{position:relative;display:flex;flex-direction:column;gap:6px;background:repeating-linear-gradient(90deg,#141110 0 22px,#1b1716 22px 44px);border-radius:14px;padding:8px;overflow:hidden}
.lane{position:relative;height:34px;border-bottom:1px dashed var(--line)}
.lane:last-child{border-bottom:0}
.rc{position:absolute;left:0;top:1px;width:64px;height:32px;font-style:normal}
.rc img{width:100%;height:100%;object-fit:contain;transform:scaleX(-1)}
.rc.me{filter:drop-shadow(0 0 6px var(--tang))}
.fin{position:absolute;right:10px;top:0;bottom:0;width:6px;background:repeating-linear-gradient(0deg,#fff 0 6px,#000 6px 12px)}
.chip.on{background:var(--peach);color:var(--black)}

/* ---------- настройки ---------- */
.toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;text-align:left;border:1px solid var(--line);background:var(--s1);border-radius:14px;padding:12px}
.toggle b{display:block;font-size:14.5px}
.toggle small{display:block;color:var(--muted);font-size:12px}
.toggle>i{flex:none;width:44px;height:26px;border-radius:13px;background:var(--s2);position:relative;transition:background .2s}
.toggle>i>i{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:var(--muted);transition:transform .2s,background .2s}
.toggle.on>i{background:var(--cobalt)}
.toggle.on>i>i{transform:translateX(18px);background:#fff}

/* ---------- общий лоск ---------- */
.carcard,.partrow,.catrow,.mkcard,.casecard,.shoprow,.mapp,.toggle{transition:transform .12s}
.carcard:active,.partrow:active,.catrow:active,.mkcard:active,.casecard:active,.shoprow:active,.toggle:active{transform:scale(.985)}
.sheet{scrollbar-width:thin}

.partrow .num{flex:none;text-align:right;min-width:64px}
.alb{opacity:.6}
.alb img{filter:grayscale(1) brightness(.75)}

.carcard.sel{background:#1a2333;border-color:var(--cobalt)}
.carcard.off{opacity:.45}
.carcard>input{width:18px;height:18px;flex:none;align-self:center;accent-color:var(--cobalt)}

/* ряды кнопок: одинаковая ширина и высота, подпись в одну строку */
.row>.btn{flex:1 1 0;min-width:0;white-space:nowrap;padding-left:10px;padding-right:10px}
.row>.btn .ic{flex:none}
.btn .cur{flex:none}
/* кнопка награды в достижениях — по содержимому, не на всю ширину */
.ach .btn,.ach .btn-main{width:auto;flex:none;white-space:nowrap;box-shadow:none}
.ach .at{min-width:0}

/* =====================================================================
   Моушн-дизайн v2: фон, появление, блики, свечение редкостей, оверлеи
   ===================================================================== */
/* живой фон: мягкие пятна мандарина и кобальта медленно плавают за интерфейсом */
.bg{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;background:var(--black)}
.bg i{position:absolute;width:70vmax;height:70vmax;border-radius:50%;filter:blur(90px);opacity:.16;animation:blob 26s ease-in-out infinite alternate}
.bg i:nth-child(1){background:var(--tang);left:-30vmax;top:-30vmax}
.bg i:nth-child(2){background:var(--cobalt);right:-35vmax;top:20vh;animation-duration:32s;animation-delay:-8s}
.bg i:nth-child(3){background:#F3D2C6;left:10vw;bottom:-45vmax;opacity:.07;animation-duration:38s}
@keyframes blob{50%{transform:translate(12vw,8vh) scale(1.15)}100%{transform:translate(-6vw,14vh) scale(.92)}}
html{background:var(--black)}
body{background:transparent}
.top{background:rgba(0,0,0,.72);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);margin:0 -16px;padding:4px 16px 8px}
.bottom{background:rgba(0,0,0,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}

/* частицы */
.fxcanvas{position:fixed;inset:0;width:100vw;height:100vh;pointer-events:none;z-index:45}

/* смена вкладки и поочерёдное появление карточек */
.tab.enter{animation:tabIn .32s cubic-bezier(.2,.8,.2,1)}
@keyframes tabIn{from{opacity:0;transform:translateY(10px)}}
.stagger{animation:rise .42s cubic-bezier(.2,.8,.2,1) both;animation-delay:var(--d,0ms)}
@keyframes rise{from{opacity:0;transform:translateY(14px) scale(.985)}}

/* баланс: вспыхивает зелёным при росте и мандарином при списании */
#bal.up{animation:balUp .9s ease-out}
#bal.down{animation:balDown .9s ease-out}
@keyframes balUp{0%{color:#2fbf71;text-shadow:0 0 18px rgba(47,191,113,.7)}100%{text-shadow:none}}
@keyframes balDown{0%{color:var(--tang);text-shadow:0 0 18px var(--tang-glow)}100%{text-shadow:none}}

/* главная кнопка: бегущий блик и мягкое нажатие */
.btn{transition:transform .12s cubic-bezier(.2,.8,.2,1),filter .2s,box-shadow .2s;position:relative;overflow:hidden}
.btn:active:not(:disabled){transform:scale(.965)}
.btn-main::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.38) 50%,transparent 65%);transform:translateX(-120%);animation:shine 3.6s ease-in-out infinite;pointer-events:none}
.btn-main:disabled::after{display:none}
@keyframes shine{0%,62%{transform:translateX(-120%)}100%{transform:translateX(120%)}}
.btn-main.big{box-shadow:0 10px 30px -8px var(--tang-glow),0 0 0 1px rgba(255,255,255,.06) inset}
.btn-blue{box-shadow:0 8px 22px -10px rgba(52,120,247,.7)}

/* объявление: подсветка по редкости */
.ad{transition:box-shadow .3s}
.ad.rare-rare{box-shadow:0 0 0 2px color-mix(in srgb,var(--fc) 70%,transparent),0 18px 40px -18px var(--fc)}
.ad.rare-epic,.ad.rare-legendary{box-shadow:0 0 0 2px var(--fc),0 0 40px -6px var(--fc);animation:glowPulse 2.4s ease-in-out infinite}
@property --ang{syntax:"<angle>";inherits:false;initial-value:0deg}
.ad.rare-legendary::before{content:"";position:absolute;inset:0;border-radius:22px;padding:3px;background:conic-gradient(from var(--ang),#F2C53D,#EC562E,#F3D2C6,#3478F7,#F2C53D);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:spinAng 4s linear infinite;pointer-events:none;z-index:2}
@keyframes spinAng{to{--ang:360deg}}
@keyframes glowPulse{50%{box-shadow:0 0 0 2px var(--fc),0 0 70px -4px var(--fc)}}
.ad .photo img{animation:carIn .6s cubic-bezier(.2,.9,.25,1.2)}
@keyframes carIn{from{opacity:0;transform:translateX(-30px) scale(.94)}}
/* окно фото во время поиска — свет сканера */
.photo.scanning::after{content:"";position:absolute;top:0;bottom:0;width:35%;left:-40%;background:linear-gradient(90deg,transparent,rgba(243,210,198,.22),transparent);animation:scan 1.1s linear infinite}
@keyframes scan{to{left:110%}}

/* кейсы: карточки с бликом и «дышащей» иконкой */
.casecard{position:relative;overflow:hidden;transition:transform .15s,box-shadow .25s}
.casecard::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%);transform:translateX(-130%);transition:transform .7s;pointer-events:none}
.casecard:hover::after{transform:translateX(130%)}
.casecard:hover{box-shadow:0 14px 30px -14px rgba(236,86,46,.7)}
.casecard .ico{animation:bob 3.2s ease-in-out infinite}
.casecard:nth-child(2n) .ico{animation-delay:-1.6s}
@keyframes bob{50%{transform:translateY(-4px) rotate(-3deg)}}
.freecase{position:relative;overflow:hidden}
.freecase::before{content:"";position:absolute;inset:-40%;background:radial-gradient(circle,rgba(236,86,46,.25),transparent 60%);animation:breathe 3s ease-in-out infinite;pointer-events:none}
.freecase>*{position:relative}
/* лента кейса: размытие в движении, маркер светится */
.track.spinning{filter:blur(1.6px)}
.reel::after{animation:marker 1s ease-in-out infinite}
@keyframes marker{50%{box-shadow:0 0 22px var(--tang)}}

/* дроп: лучи, плавающая деталь, пульс редкости */
.drop{position:relative;overflow:hidden}
.drop>*{position:relative}
.drop>.rays{position:absolute;inset:-60%;background:repeating-conic-gradient(from 0deg,color-mix(in srgb,var(--rc) 35%,transparent) 0 8deg,transparent 8deg 22deg);animation:rot 14s linear infinite;opacity:.55;-webkit-mask:radial-gradient(circle,#000 20%,transparent 62%);mask:radial-gradient(circle,#000 20%,transparent 62%)}
.drop.dr-legendary>.rays{opacity:.9;animation-duration:8s}
@keyframes rot{to{transform:rotate(360deg)}}
.drop .big{animation:dropIn .7s cubic-bezier(.2,.9,.25,1.35),float 3s ease-in-out .7s infinite}
@keyframes dropIn{from{opacity:0;transform:scale(.4) rotate(-12deg)}}
@keyframes float{50%{transform:translateY(-6px)}}
.drop .rlabel{animation:labelIn .5s .15s both cubic-bezier(.2,.9,.25,1.4)}
@keyframes labelIn{from{opacity:0;letter-spacing:.6em}}
.drop.dr-epic .rlabel,.drop.dr-legendary .rlabel{text-shadow:0 0 16px var(--rc)}

/* лист: пружинное появление и размытие фона */
.sheet-wrap{backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:fadeIn .2s ease-out}
@keyframes fadeIn{from{opacity:0}}
.sheet{animation:sheetUp .42s cubic-bezier(.2,1.2,.3,1)}
@keyframes sheetUp{from{transform:translateY(60px);opacity:0}}

/* нижнее меню: активная вкладка подпрыгивает и подсвечивается */
.bottom button.on .ic{animation:navPop .4s cubic-bezier(.2,.9,.25,1.5);filter:drop-shadow(0 0 8px var(--tang-glow))}
.bottom button.on::after{content:"";position:absolute;bottom:-2px;left:50%;width:18px;height:3px;margin-left:-9px;border-radius:3px;background:var(--tang);box-shadow:0 0 10px var(--tang)}
@keyframes navPop{40%{transform:translateY(-4px) scale(1.15)}}
.modes button{transition:background .25s,color .25s}

/* меню-плитки и значки */
.mapp .aic{transition:transform .15s}
.mapp:hover .aic{transform:translateY(-2px)}
.abadge{animation:badgePulse 1.8s ease-in-out infinite}
@keyframes badgePulse{50%{transform:scale(1.15)}}

/* полоска уровня — бегущий блик */
.lvlbar i span{position:relative;overflow:hidden}
.lvlbar i span::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);transform:translateX(-100%);animation:shine 4s ease-in-out infinite}

/* праздничный оверлей (новый уровень) */
.celebrate{position:fixed;inset:0;z-index:50;display:grid;place-items:center;background:rgba(0,0,0,.6);backdrop-filter:blur(4px);animation:fadeIn .25s;overflow:hidden}
.celebrate.out{opacity:0;transition:opacity .3s}
.celebrate .rays{position:absolute;width:160vmax;height:160vmax;background:repeating-conic-gradient(color-mix(in srgb,var(--cc) 30%,transparent) 0 6deg,transparent 6deg 18deg);animation:rot 10s linear infinite;-webkit-mask:radial-gradient(circle,#000 10%,transparent 45%);mask:radial-gradient(circle,#000 10%,transparent 45%)}
.celebrate .cbox{position:relative;text-align:center;display:flex;flex-direction:column;gap:6px;animation:dropIn .6s cubic-bezier(.2,.9,.25,1.5)}
.celebrate b{font:800 44px var(--display);color:var(--cc);text-shadow:0 0 30px var(--cc)}
.celebrate span{font-weight:800;font-size:17px;color:var(--peach)}

/* дрэг: отсчёт, дорога в движении, тряска при проигрыше */
.countdown{position:absolute;inset:0;display:grid;place-items:center;font:800 40px var(--body);color:var(--peach);z-index:3;text-shadow:0 0 20px var(--tang);background:rgba(0,0,0,.45)}
.countdown.pop{animation:pop .4s cubic-bezier(.2,.9,.25,1.6)}
@keyframes pop{from{transform:scale(2.2);opacity:0}}
.track402.racing{animation:road .25s linear infinite}
@keyframes road{to{background-position:-44px 0}}
.shake{animation:shake .4s}
@keyframes shake{20%,60%{transform:translateX(-6px)}40%,80%{transform:translateX(6px)}}

/* карточки: чуть приподнимаются под пальцем/курсором */
.carcard:hover,.catrow:hover{border-color:#4a3c38;box-shadow:0 10px 26px -18px rgba(236,86,46,.6)}
.toast{animation:toastIn .35s cubic-bezier(.2,1.2,.3,1)}
@keyframes toastIn{from{transform:translate(-50%,20px);opacity:0}}

@media (prefers-reduced-motion: reduce){.bg i,.btn-main::after,.casecard .ico,.lvlbar i span::after,.ad.rare-legendary::before,.stagger,.tab.enter{animation:none!important}}

/* =====================================================================
   Дизайн v3: док снизу, уведомления-карточки, поиск-кольцо, стекло, постеры, Колхозвито, альбом
   ===================================================================== */
:root{--lime:#C9F26B;--mint:#8EF0D8;--glass:linear-gradient(160deg,rgba(255,255,255,.07),rgba(255,255,255,.015) 40%,rgba(0,0,0,.25));--ok:#3DBE5A;--err:#E2453C}
body{padding-bottom:calc(112px + env(safe-area-inset-bottom,0px))}

/* ---------- нижний док: плавающая панель с «горбом» и светящейся кнопкой Подбора ---------- */
.dock{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:6;width:min(448px,calc(100% - 24px));height:66px;
  display:grid;grid-template-columns:repeat(5,1fr);align-items:center;background:#151212;border-radius:33px;border:1px solid #2a2321;
  box-shadow:0 18px 40px -12px rgba(0,0,0,.9),inset 0 1px 0 rgba(255,255,255,.06);padding:0 6px}
.dock-bump{position:absolute;left:50%;top:-16px;width:96px;height:46px;margin-left:-48px;background:#151212;border-radius:48px 48px 0 0;border:1px solid #2a2321;border-bottom:0;z-index:0}
.dock-bump::after{content:"";position:absolute;left:-1px;right:-1px;bottom:-2px;height:16px;background:#151212}
.dock button{position:relative;z-index:1;border:0;background:none;height:100%;display:grid;place-items:center;color:#8c817c;transition:color .2s}
.dock button .ic{width:24px;height:24px}
.dock button.on{color:var(--peach)}
.dock button.on:not(.center)::after{content:"";position:absolute;bottom:9px;left:50%;width:6px;height:6px;margin-left:-3px;border-radius:50%;background:var(--tang);box-shadow:0 0 10px var(--tang)}
.dock button.on:not(.center) .ic{animation:navPop .4s cubic-bezier(.2,.9,.25,1.5)}
.dock .center{margin-top:-30px}
.dock .orb{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;color:#fff;background:radial-gradient(circle at 35% 30%,#ff8a5c,var(--tang) 55%,#a63412);
  box-shadow:0 0 0 4px #151212,0 0 0 6px rgba(236,86,46,.35),0 10px 30px -4px var(--tang-glow);position:relative;transition:transform .2s}
.dock .orb .ic{width:26px;height:26px}
.dock .orb::before{content:"";position:absolute;inset:-14px;border-radius:50%;border:2px dotted rgba(236,86,46,.45);animation:rot 18s linear infinite}
.dock .center.on .orb{transform:scale(1.04)}
.dock .center:not(.on) .orb{background:transparent;color:var(--tang);box-shadow:0 0 0 4px #151212,inset 0 0 0 2.5px var(--tang),0 0 22px -2px var(--tang-glow)}
.dock .dot{top:14px;right:calc(50% - 16px)}
.bottom{display:none}
/* четыре точки Колхозвито — иконка в доке и логотип */
.kvdots{display:inline-grid;grid-template-columns:repeat(2,9px);gap:3px;vertical-align:middle}
.kvdots b{width:9px;height:9px;border-radius:50%}
.kvdots b:nth-child(1){background:#EC562E}.kvdots b:nth-child(2){background:#3478F7}.kvdots b:nth-child(3){background:#F2C53D}.kvdots b:nth-child(4){background:#3DBE5A}
.dock button:not(.on) .kvdots{filter:saturate(.55) brightness(.85)}
.dock button.on .kvdots{animation:navPop .4s cubic-bezier(.2,.9,.25,1.5)}

/* ---------- уведомления: стопка карточек сверху ---------- */
.toasts{position:fixed;top:calc(10px + env(safe-area-inset-top,0px));left:50%;transform:translateX(-50%);z-index:60;width:min(440px,calc(100% - 24px));display:flex;flex-direction:column;gap:8px;pointer-events:none}
.ntf{pointer-events:auto;display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:20px;color:#fff;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,.08);box-shadow:0 14px 34px -10px rgba(0,0,0,.8);animation:ntfIn .45s cubic-bezier(.2,1.2,.3,1)}
.ntf.ok{background:linear-gradient(90deg,rgba(40,95,40,.95),rgba(20,20,20,.92) 75%)}
.ntf.err{background:linear-gradient(90deg,rgba(120,30,26,.95),rgba(20,20,20,.92) 75%)}
.ntf.info{background:linear-gradient(90deg,rgba(28,58,120,.95),rgba(20,20,20,.92) 75%)}
.ntf .ni{width:42px;height:42px;flex:none;border-radius:13px;display:grid;place-items:center;box-shadow:inset 0 1px 0 rgba(255,255,255,.25)}
.ntf.ok .ni{background:var(--ok)}.ntf.err .ni{background:var(--err)}.ntf.info .ni{background:var(--cobalt)}
.ntf .ni .ic{width:22px;height:22px;stroke-width:2.6}
.ntf .nt{flex:1;min-width:0;display:flex;flex-direction:column}
.ntf .nt b{font-weight:800;font-size:14.5px;line-height:1.25}
.ntf .nt small{font-size:11.5px;color:rgba(255,255,255,.55)}
.ntf .nx{flex:none;border:0;background:none;color:rgba(255,255,255,.55);padding:4px}
.ntf .nx .ic{width:18px;height:18px}
.ntf+.ntf{transform:scale(.97);opacity:.9}
.ntf.out{animation:ntfOut .26s ease-in forwards}
@keyframes ntfIn{from{opacity:0;transform:translateY(-18px) rotate(-2deg) scale(.96)}}
@keyframes ntfOut{to{opacity:0;transform:translateY(-14px) scale(.95)}}
.toast{display:none!important}

/* ---------- поисковая строка: пилюля со светящимся кольцом ---------- */
.sbar{position:relative;display:flex;align-items:center;gap:8px;height:54px;padding:0 8px 0 20px;border-radius:27px;background:linear-gradient(180deg,#1b1a26,#121119);
  box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.08),0 0 0 6px #0d0c12,0 0 0 7px rgba(255,255,255,.04);isolation:isolate}
.sbar .sring{position:absolute;inset:-7px;border-radius:34px;z-index:-1;background:conic-gradient(from 200deg,#3478F7,transparent 22%,transparent 70%,#3478F7);filter:blur(1px);opacity:.75}
.sbar:focus-within .sring{opacity:1;animation:spinAng 4s linear infinite;background:conic-gradient(from var(--ang),#3478F7,transparent 25%,transparent 60%,#EC562E 80%,#3478F7)}
.sbar input{flex:1;min-width:0;border:0;background:none;color:var(--peach);font:600 15.5px var(--body);outline:none}
.sbar input::placeholder{color:#8b8597}
.sbar .sgo{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:var(--peach);background:rgba(255,255,255,.05)}
.field input,.field textarea,.field select{border-radius:16px;background:linear-gradient(180deg,#1a1717,#121010);box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
.field input:focus,.field textarea:focus{border-color:var(--cobalt);box-shadow:0 0 0 3px rgba(52,120,247,.25)}

/* ---------- стеклянные карточки и светящиеся полосы прогресса ---------- */
.card,.stat,.carcard,.ach,.catrow,.partrow,.offer-row,.toggle,.mprof{background:var(--glass),#141111;border-color:#2a2321;box-shadow:0 14px 30px -18px rgba(0,0,0,.9),inset 0 1px 0 rgba(255,255,255,.05)}
.card{border-radius:26px;padding:16px}
.card.glass h3{font-family:var(--body);font-weight:800;font-size:16px}
.stat{border-radius:18px}
.stat b{font-size:15px}
.glassbar,.bar,.lvlbig{position:relative;height:12px;border-radius:12px;background:rgba(255,255,255,.07);overflow:visible}
.glassbar i,.bar i,.lvlbig i{display:block;height:100%;border-radius:12px;background:linear-gradient(90deg,var(--lime),var(--mint));box-shadow:0 0 18px rgba(142,240,216,.45),0 0 4px rgba(201,242,107,.6)}
.quest .bar{height:8px}
.lvlbar i{height:8px;background:rgba(255,255,255,.08)}
.lvlbar i span{background:linear-gradient(90deg,var(--lime),var(--mint));box-shadow:0 0 12px rgba(142,240,216,.5)}
.tg{border-radius:999px;padding:3px 10px;background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1)}
.btn-ghost{background:linear-gradient(180deg,#1d1918,#141111);border:1px solid #332a28;border-radius:16px}
.iconbtn{background:linear-gradient(180deg,#1b1817,#110f0e);border-color:#2d2624;border-radius:16px}

/* ---------- пустая карточка Подбора — тёмное стекло ---------- */
.ad:not(.poster){background:var(--glass),#151111;color:var(--peach);border:1px solid #2c2523;border-radius:28px;box-shadow:0 20px 40px -20px #000,inset 0 1px 0 rgba(255,255,255,.06)}
.ad:not(.poster) .fields dt,.ad:not(.poster) .prices .pr span{color:#9b8f8a}
.ad:not(.poster) .ad-head .q{background:var(--peach);color:#000}
.ad:not(.poster) .dash{border-top-color:rgba(255,255,255,.1)}
.ad:not(.poster) .photo{background:radial-gradient(circle at 50% 60%,#2a1c18,#050404)}

/* ---------- постер «Porsche»: тёмные косые панели сверху, машина на светлом ---------- */
.poster{padding:0;gap:0;border-radius:26px;overflow:hidden}
.poster .photo{display:none}
.poster.prem{background:#f1f1ef;color:#111}
.pp-top{position:relative;height:200px;background:#0b0b0c;overflow:hidden}
.pp-top .sl{position:absolute;top:-20px;bottom:-20px;width:44%;background:var(--img) no-repeat;background-size:330%;filter:grayscale(1) brightness(.55) contrast(1.2);border-left:3px solid #fff;transform:skewX(-14deg)}
.pp-top .s1{left:-14%;background-position:8% 55%;border-left:0}
.pp-top .s2{left:24%;background-position:52% 45%;filter:grayscale(.6) brightness(.75) contrast(1.15)}
.pp-top .s3{left:66%;background-position:95% 50%}
.pp-top .sl::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(0,0,0,.6))}
.pp-top .chip-r{left:14px;top:14px;z-index:2}
.pp-top .q{position:absolute;right:12px;top:12px;z-index:2;width:34px;height:34px;border-radius:12px;border:0;background:#fff;color:#000;font:800 16px var(--body)}
.pp-car{position:relative;margin:-92px 6px 0;height:170px;z-index:1;filter:drop-shadow(0 24px 18px rgba(0,0,0,.35))}
.pp-car img{width:100%;height:100%;object-fit:contain;animation:carIn .7s cubic-bezier(.2,.9,.25,1.2)}
.pp-body{padding:4px 16px 16px;display:flex;flex-direction:column;gap:10px;background:linear-gradient(180deg,#f1f1ef,#fafafa)}
.pp-brand{font:800 23px/1.1 var(--display);letter-spacing:.08em;text-transform:uppercase;text-align:center;color:#111}
.pp-brand em{display:block;font-style:italic;font-weight:600;letter-spacing:.02em;font-size:17px;text-transform:none;margin-top:3px}
.pp-desc{margin:0;text-align:center;font-size:12.5px;color:#555;line-height:1.45}
.pp-spec{display:flex;justify-content:center;flex-wrap:wrap;gap:6px 12px;font-size:11.5px;color:#333;letter-spacing:.04em}
.pp-spec i{width:1px;background:#bbb}
.pp-spec b{color:#000}
.poster.prem .fields dt{color:#888}
.poster.prem .fields dd{color:#111}
.poster.prem .dash{border-top-color:#ddd}
.poster.prem .prices .pr span{color:#888}
.poster.prem .seller{color:#333;font-size:12.5px;text-align:center}
.poster .tap{border-bottom:1.5px dashed currentColor;cursor:pointer}
.poster .badge.line{box-shadow:inset 0 0 0 1.5px rgba(0,0,0,.15);color:#222}

/* ---------- постер «Raptor»: песочный фон, вертикальная надпись марки, превью справа ---------- */
.poster.std{background:radial-gradient(120% 80% at 55% 40%,#f0e8db,#d6cab6 60%,#b9ab94);color:#2b2620;padding-bottom:14px}
.poster .ps-head{display:flex;align-items:center;gap:10px;padding:14px 14px 0}
.poster .ps-head b{font:800 13px var(--display);letter-spacing:.06em;text-transform:uppercase;color:#2b2620;max-width:60%}
.poster .ps-head .hatch{flex:1;height:8px;background:repeating-linear-gradient(-55deg,#7b6f5d 0 3px,transparent 3px 7px);opacity:.6}
.ps-head .chip-r{position:static}
.poster .ps-head .q{width:30px;height:30px;border-radius:10px;border:0;background:#2b2620;color:#f0e8db;font:800 14px var(--body)}
.ps-stage{position:relative;height:300px;overflow:hidden}
.ps-vert{position:absolute;left:4px;top:8px;bottom:8px;display:flex;flex-direction:column;justify-content:flex-start;writing-mode:vertical-rl;transform:rotate(180deg);gap:0}
.ps-vert b{font:800 62px/0.92 var(--display);color:#fbf7f0;letter-spacing:.02em;text-transform:uppercase;text-shadow:0 2px 10px rgba(0,0,0,.08);white-space:nowrap}
.ps-vert s{text-decoration:none;font:800 46px/0.92 var(--body);color:transparent;-webkit-text-stroke:1.3px rgba(255,255,255,.9);white-space:nowrap}
.ps-thumbs{position:absolute;right:12px;top:12px;display:flex;flex-direction:column;gap:8px;width:30%}
.ps-thumbs i{display:block;height:58px;border-radius:10px;background:var(--img) no-repeat,linear-gradient(160deg,#3a342c,#14110e);background-size:260%,cover;box-shadow:0 6px 14px -6px rgba(0,0,0,.45),inset 0 0 0 1px rgba(255,255,255,.12)}
.ps-thumbs .t1{background-position:85% 40%,0 0}.ps-thumbs .t2{background-position:45% 30%,0 0;background-size:340%,cover}.ps-thumbs .t3{background-position:10% 60%,0 0}
.ps-car{position:absolute;left:4%;right:20%;bottom:44px;height:62%;filter:drop-shadow(0 22px 16px rgba(60,45,25,.45))}
.ps-car img{width:100%;height:100%;object-fit:contain;animation:carIn .7s cubic-bezier(.2,.9,.25,1.2)}
.ps-car::after{content:"";position:absolute;left:10%;right:10%;bottom:-6px;height:16px;border-radius:50%;background:radial-gradient(rgba(60,45,25,.35),transparent 70%)}
.ps-blurb{position:absolute;right:12px;bottom:6px;width:44%;margin:0;font-size:10.5px;line-height:1.35;color:#4a4136}
.ps-blurb b{display:block;font:800 12px var(--body);color:#2b2620;text-transform:uppercase;letter-spacing:.04em}
.ps-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:12px;padding:6px 14px 0}
.ps-grid h4{margin:0 0 6px;font:800 11px var(--display);letter-spacing:.12em;color:#2b2620}
.poster .ps-row{display:grid;grid-template-columns:16px auto 1fr;gap:6px;align-items:center;font-size:11px;padding:3px 0;border-bottom:1px solid rgba(43,38,32,.12)}
.poster .ps-row .ic{width:14px;height:14px;color:#6b5f4e}
.poster .ps-row span{color:#6b5f4e;text-transform:uppercase;letter-spacing:.04em;font-size:10px}
.poster .ps-row b{text-align:right;font-weight:800;color:#2b2620;overflow-wrap:anywhere}
.ps-grid p{margin:0 0 4px;font-size:11px;color:#3d352b;line-height:1.35}
.ps-grid .sw{display:inline-block;width:9px;height:9px;border-radius:50%;vertical-align:-1px;box-shadow:0 0 0 1px rgba(0,0,0,.2)}
.poster.std .badges{padding:10px 14px 0}
.poster.std .dash{margin:12px 14px 0;border-top-color:rgba(43,38,32,.2)}
.poster.std .prices{padding:10px 14px 0}
.poster.std .prices .pr span{color:#6b5f4e}
.poster.std .badge.line{box-shadow:inset 0 0 0 1.5px rgba(43,38,32,.25);color:#2b2620}
.poster .chip-r{position:absolute}
.ps-head .chip-r{position:static}
.poster.rare-epic,.poster.rare-legendary{box-shadow:0 0 0 2px var(--fc),0 0 40px -6px var(--fc)}

/* ---------- альбом тачек ---------- */
.brandchips{flex-wrap:nowrap}
.algrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.alcard{display:flex;flex-direction:column;gap:3px;text-align:left;padding:8px 8px 10px;border-radius:20px;border:1px solid #2a2321;background:var(--glass),#131010;color:var(--peach);position:relative;overflow:hidden}
.alcard::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--rc);opacity:.8}
.alph{position:relative;aspect-ratio:16/10;border-radius:14px;background:radial-gradient(circle at 50% 70%,#2a211d,#0b0909);display:grid;place-items:center;overflow:hidden}
.alph img{width:100%;height:100%;object-fit:contain;transition:transform .35s}
.alcard:hover .alph img{transform:scale(1.06)}
.alcard:not(.has) .alph img{filter:grayscale(1) brightness(.55)}
.alph .lk{position:absolute;right:8px;top:8px;width:24px;height:24px;border-radius:8px;display:grid;place-items:center;background:rgba(0,0,0,.6);color:#bdb3ae}
.alph .lk .ic{width:13px;height:13px}
.alcard b{font-size:12.5px;line-height:1.2;margin-top:4px}
.alcard small{font:600 11px var(--mono);color:#8f8580}
.alcard.has{border-color:color-mix(in srgb,var(--rc) 45%,#2a2321)}
#mposter{margin-top:2px}

/* ---------- Колхозвито: светлый мир «как Авито» ---------- */
body.kvmode{background:#fff}
body.kvmode .bg{opacity:0;transition:opacity .3s}
.kv{background:#fff;color:#111;margin:0 -16px;padding:4px 16px 20px;min-height:70vh;display:flex;flex-direction:column;gap:14px}
.kv-top{display:flex;align-items:center;justify-content:space-between}
.kv-logo{display:inline-flex;align-items:center;gap:10px;font:800 22px var(--body);letter-spacing:-.02em;color:#111}
.kv-logo .kvdots{grid-template-columns:repeat(2,11px);gap:3px}
.kv-logo .kvdots b{width:11px;height:11px}
.kv-logo.sm{font-size:17px}
.kv-add{display:inline-flex;align-items:center;gap:4px;border:0;background:#f2f3f5;color:#111;border-radius:12px;padding:9px 12px;font-weight:700;font-size:13.5px}
.kv-add .ic{width:16px;height:16px}
.kv-search{display:flex;align-items:center;height:48px;border:2px solid #3478F7;border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 6px 20px -12px rgba(52,120,247,.6)}
.kv-sicon{padding:0 4px 0 12px;color:#999}
.kv-sicon .ic{width:18px;height:18px}
.kv-search input{flex:1;min-width:0;border:0;outline:none;font:500 15px var(--body);color:#111;padding:0 8px;background:none}
.kv-search button{border:0;height:100%;padding:0 18px;background:#3478F7;color:#fff;font:700 15px var(--body)}
.kv-tabs{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}
.kv-tabs button{flex:none;border:0;background:#f2f3f5;color:#333;border-radius:999px;padding:8px 14px;font-weight:700;font-size:13.5px}
.kv-tabs button.on{background:#111;color:#fff}
.kv-tabs i{font-style:normal;background:#EC562E;color:#fff;border-radius:99px;padding:0 6px;margin-left:2px;font-size:11px}
.kv-cats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.kv-cat{position:relative;height:78px;border:0;border-radius:16px;background:#f2f3f5;text-align:left;padding:8px 9px;overflow:hidden;color:#111}
.kv-cat span{position:relative;z-index:1;font-weight:700;font-size:12.5px}
.kv-cat img{position:absolute;right:-8px;bottom:-4px;width:78%;height:60%;object-fit:contain;transition:transform .25s}
.kv-cat:hover img{transform:scale(1.08) rotate(-3deg)}
.kv-cat.on{background:#e8f0ff;box-shadow:inset 0 0 0 2px #3478F7}
.kv-bar{display:flex;align-items:center;gap:8px}
.kv-bar .chips{flex:1}
.kv .chip{background:#f2f3f5;border-color:#f2f3f5;color:#333}
.kv .chip.on{background:#111;color:#fff;border-color:#111}
.kv-filter{flex:none;width:38px;height:38px;border:0;border-radius:12px;background:#f2f3f5;color:#111;display:grid;place-items:center}
.kv-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 10px}
.kv-card{display:flex;flex-direction:column;gap:4px;text-align:left;border:0;background:none;padding:0;color:#111}
.kv-ph{position:relative;aspect-ratio:1/1;border-radius:14px;background:linear-gradient(160deg,#f4f5f7,#e6e8ec);overflow:hidden;display:grid;place-items:center}
.kv-ph img{width:94%;height:94%;object-fit:contain;transition:transform .3s}
.kv-card:hover .kv-ph img{transform:scale(1.05)}
.kv-ph .rline{position:absolute;left:0;right:0;bottom:0;height:3px}
.kv-promo{position:absolute;left:8px;top:8px;background:#3478F7;color:#fff;font-size:10.5px;font-weight:800;border-radius:6px;padding:2px 6px}
.kv-st{position:absolute;inset:0;display:grid;place-items:center;background:rgba(255,255,255,.7);font-weight:800;color:#555}
.kv-tt{display:flex;gap:6px;align-items:flex-start}
.kv-t{flex:1;font-size:13.5px;line-height:1.25;font-weight:600;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.kv-heart{flex:none;color:#bbb;padding:2px}
.kv-heart .ic{width:20px;height:20px}
.kv-heart.on{color:#E2453C}
.kv-heart.on .ic{fill:#E2453C}
.kv-p{font:800 16px var(--body);color:#111}
.kv-p .cur,.kv-pricebox .cur,.kv-net .cur,.kv-note .cur,.kv-offer .cur{background:#111;color:#fff}
.kv-good,.kv-high{align-self:flex-start;font-size:11px;font-weight:800;border-radius:6px;padding:2px 6px}
.kv-good{background:#e3f7e7;color:#1f8a35}
.kv-high{background:#fdeee9;color:#c4431f}
.kv-meta{font-size:11.5px;color:#888}
.kv-muted{color:#888;font-size:13px;margin:0}
.kv-empty{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;gap:10px;padding:30px 10px;color:#888;text-align:center;background:#f6f7f8;border-radius:16px}
.kv-h{font:800 15px var(--body);color:#111;margin:4px 0 0}
.kv .offer-row,.kv-offer{background:#f6f7f8;border:0;box-shadow:none;color:#111}
/* светлый лист Колхозвито */
.sheet.light{background:#fff;color:#111;border-color:#eee}
.sheet.light .iconbtn{background:#f2f3f5;border-color:#f2f3f5;color:#111}
.sheet.light .sheet-head h2{color:#111}
.sheet.light .field label{color:#777}
.sheet.light .field input,.sheet.light .field textarea,.sheet.light .field select{background:#f6f7f8;border-color:#e6e7ea;color:#111;box-shadow:none}
.sheet.light .chip{background:#f2f3f5;border-color:#f2f3f5;color:#333}
.sheet.light .chip.on{background:#111;color:#fff;border-color:#111}
.sheet.light .carcard,.sheet.light .partrow{background:#f6f7f8;border-color:#eceef1;color:#111;box-shadow:none}
.sheet.light .carcard q,.sheet.light .partrow small{color:#777}
.sheet.light .tg{background:#e9ebee;color:#333;box-shadow:none}
.kv-photo{aspect-ratio:16/10;border-radius:18px;background:linear-gradient(160deg,#f4f5f7,#e3e6ea);display:grid;place-items:center;position:relative;overflow:hidden}
.kv-photo img{width:94%;height:94%;object-fit:contain}
.kv-photo.sm{aspect-ratio:2/1}
.kv-photo .noimg{color:#888}
.kv-rar{position:absolute;left:10px;top:10px;font-size:11px;font-weight:800;border-radius:8px;padding:3px 8px;color:#000}
.kv-title{font:700 19px/1.25 var(--body);color:#111;margin:0;letter-spacing:-.01em}
.kv-pricebox{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.kv-pricebox b{font:800 26px var(--body);color:#111}
.kv-pricebox small{width:100%;color:#888;font-size:12.5px}
.kv-btn{background:#3478F7;color:#fff;border-radius:14px;font-weight:800;box-shadow:0 10px 24px -12px rgba(52,120,247,.8)}
.kv-btn.big{padding:15px}
.kv-btn2{background:#eef3ff;color:#1f5ed6;border-radius:14px;font-weight:800}
.kv-btn2.faved{background:#fdecea;color:#E2453C}
.kv-btn .ic,.kv-btn2 .ic{width:18px;height:18px}
.kv-note{background:#fff7e6;color:#5c4400;border-radius:14px;padding:12px;font-size:13.5px;display:flex;flex-direction:column;gap:8px}
.kv-props{margin:0;display:flex;flex-direction:column;gap:8px}
.kv-props div{display:flex;align-items:baseline;gap:6px;font-size:14px}
.kv-props dt{color:#888;flex:none}
.kv-props div::after{content:"";order:1;flex:1;border-bottom:1px dotted #ccc;transform:translateY(-3px)}
.kv-props dd{order:2;margin:0;font-weight:600;text-align:right;color:#111;max-width:60%}
.kv-descr{margin:0;font-size:14px;color:#333;line-height:1.5}
.kv-seller{display:flex;align-items:center;gap:12px;background:#f6f7f8;border-radius:16px;padding:12px}
.kv-seller b{display:block;font-size:15px}
.kv-seller small{color:#888;font-size:12.5px}
.kv-ava{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font:800 18px var(--body);color:#fff;background:linear-gradient(135deg,#3478F7,#3DBE5A)}
.kv-net{font-size:13.5px;color:#333}

.poster .chip-r{padding:4px 10px;border-radius:999px;font:800 11px var(--body);text-transform:uppercase;letter-spacing:.06em;color:#000;box-shadow:0 4px 12px -4px rgba(0,0,0,.4)}
.poster button.tap{all:unset;cursor:pointer;border-bottom:1.5px dashed currentColor}
.ps-vert b{font-size:var(--vb,62px)}
.ps-vert s{font-size:var(--vs,46px)}
.pp-spec{align-items:center}

.quest .bar i{background:linear-gradient(90deg,var(--lime),var(--mint))}

/* ---------- шапка прибита к самому верху: без щели над ней и без «резинового» оттяга ---------- */
html,body{overscroll-behavior:none}
body{padding-top:0}
.top{background:var(--black);padding-top:calc(10px + env(safe-area-inset-top,0px))}
/* при оттяге/рывке выше края — за шапкой продолжается её же сплошной фон, а не пятна .bg */
.top::before{content:'';position:absolute;left:0;right:0;bottom:100%;height:100vh;background:inherit;pointer-events:none}
/* Колхозвито светлый, но шапка с балансом — всегда в фирменном тёмном стиле (как нижнее меню); над ней при оттяге — белый, как страница */
body.kvmode .top::before{background:#fff}

/* ---------- заглушка: техобслуживание или блокировка ---------- */
.closed{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:24px;background:var(--black)}
.closed-in{max-width:360px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px;animation:up .3s ease-out}
.closed-ic{font-size:56px;line-height:1}
.closed h2{margin:0;font-family:var(--display);font-size:22px}
.closed p{margin:0;color:var(--muted, #A7A09C)}
body.is-closed .dock,body.is-closed .top{visibility:hidden}

/* ---------- баннеры над «Подбором» ---------- */
.bnr{position:relative;height:74px;margin-bottom:12px}
.bn{position:absolute;inset:0;display:flex;align-items:center;gap:12px;padding:0 14px;border-radius:18px;border:1px solid rgba(255,255,255,.08);color:#fff;text-align:left;
  opacity:0;transform:translateY(6px) scale(.98);pointer-events:none;transition:opacity .45s ease,transform .45s ease;overflow:hidden}
.bn.on{opacity:1;transform:none;pointer-events:auto}
.bn.photo{padding:0;background:#111}
.bn.photo img{width:100%;height:100%;object-fit:cover;display:block}
.bn.tone-tang{background:linear-gradient(120deg,#EC562E,#B8321A)}
.bn.tone-blue{background:linear-gradient(120deg,#3478F7,#1C47A8)}
.bn.tone-gold{background:linear-gradient(120deg,#F2C53D,#C98F12);color:#111}
.bn.tone-purple{background:linear-gradient(120deg,#A970FF,#6A36C9)}
.bn-ic{flex:none;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;font-size:24px;background:rgba(0,0,0,.18);object-fit:cover}
.bn-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.bn-t b{font-size:15px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bn-t small{font-size:12.5px;opacity:.85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bn .ic{flex:none;width:18px;height:18px;opacity:.8}
.bn-dots{position:absolute;left:0;right:0;bottom:6px;display:flex;justify-content:center;gap:5px;pointer-events:none}
.bn-dots i{width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.45);transition:width .3s,background .3s}
.bn-dots i.on{width:14px;border-radius:3px;background:#fff}
@media (prefers-reduced-motion: reduce){.bn{transition:none}}

/* =====================================================================
   Дрэг 402 м: игрок против игрока
   ===================================================================== */
.drg{display:flex;flex-direction:column;gap:12px}
.drg-hero{position:relative;overflow:hidden;margin:-16px -16px 0;padding:18px 16px 16px;border-radius:22px 22px 0 0;
  background:radial-gradient(120% 90% at 100% 0%,rgba(236,86,46,.45),transparent 60%),radial-gradient(90% 80% at 0% 100%,rgba(52,120,247,.35),transparent 60%),#07070a}
.drg-check{position:absolute;inset:0 0 auto 0;height:10px;opacity:.55;background:repeating-conic-gradient(#fff 0 25%,#000 0 50%) 0 0/10px 10px}
.drg-ttl{display:flex;align-items:center;justify-content:space-between;margin-top:6px}
.drg-ttl h2{margin:0;font-family:var(--display);font-size:26px;letter-spacing:.02em;display:flex;align-items:baseline;gap:6px}
.drg-ttl h2 b{color:var(--tang);text-shadow:0 0 18px rgba(236,86,46,.8),0 0 2px #fff;font-size:34px}
.drg-ttl h2 small{font-size:14px;color:var(--muted)}
.drg-acts{display:flex;gap:8px}
.drg-ref .ic{width:18px;height:18px}
.drg-ref.spin .ic{animation:kvSpin .7s linear infinite}
.drg-hero p{margin:6px 0 12px;color:#cfc3be;font-size:13.5px}
.drg-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.drg-stats span{display:flex;flex-direction:column;align-items:center;padding:8px 4px;border-radius:14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);font-size:11.5px;color:var(--muted)}
.drg-stats b{font-size:18px;color:#fff}
.drg-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:4px;border-radius:16px;background:var(--s1);border:1px solid var(--line)}
.drg-tabs button{padding:9px 4px;border-radius:12px;font-weight:800;font-size:13px;color:var(--muted);transition:background .2s,color .2s}
.drg-tabs button.on{background:var(--tang);color:#000;box-shadow:0 6px 18px var(--tang-glow)}
.drg-tabs i{font-style:normal;display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#fff;color:#000;font-size:11px;margin-left:2px}
.drg-h{margin:6px 0 0;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.dcard{display:flex;flex-direction:column;gap:10px;padding:12px;border-radius:18px;background:var(--glass),var(--s1);border:1px solid var(--line);position:relative;overflow:hidden}
.dcard.tome{border-color:var(--tang);box-shadow:0 0 0 1px var(--tang),0 10px 30px rgba(236,86,46,.18)}
.dcard.mine{border-style:dashed}
.dc-top{display:flex;align-items:center;gap:10px}
.dc-who{flex:1;display:flex;flex-direction:column;min-width:0}
.dc-who b{font-size:14.5px}.dc-who small{color:var(--muted);font-size:12px}
.dc-badge{font-style:normal;font-size:11px;font-weight:800;padding:4px 8px;border-radius:8px;background:var(--tang);color:#000}
.dc-car{display:flex;align-items:center;gap:12px}
.dc-car b{display:block;font-size:14px;line-height:1.25}.dc-car small{color:var(--tang);font-weight:800;font-size:13px}
.dc-img{flex:none;width:96px;height:58px;display:grid;place-items:center;border-radius:12px;background:radial-gradient(70% 60% at 50% 70%,rgba(255,255,255,.12),transparent)}
.dc-img img,.dc-img .noimg{max-width:100%;max-height:100%;object-fit:contain}
.dc-bot{display:flex;align-items:center;justify-content:space-between;gap:10px}
.dc-bot .btn{width:auto;padding:11px 18px}
.dc-stake{display:flex;flex-direction:column}.dc-stake small{color:var(--muted);font-size:11.5px}.dc-stake b{font-size:18px}
.avatar.xs{width:34px;height:34px;font-size:14px;flex:none}
.drg-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:24px 12px;border-radius:18px;border:1px dashed var(--line);color:var(--muted)}
.drg-empty .ic{width:30px;height:30px;color:var(--tang)}.drg-empty b{color:#fff}.drg-empty .btn{width:auto;margin-top:6px}
.dpick{display:flex;align-items:center;gap:10px;padding:10px;border-radius:16px;background:var(--s1);border:1px solid var(--line);text-align:left;width:100%}
.dp-t{flex:1;display:flex;flex-direction:column;min-width:0}.dp-t b{font-size:14px}.dp-t small{color:var(--muted)}
.dp-ch{display:flex;flex-direction:column;align-items:center;padding:6px 10px;border-radius:12px;font-size:11px}
.dp-ch b{font-size:17px}.dp-ch.good{background:rgba(47,191,113,.15);color:#5fe39b}.dp-ch.bad{background:rgba(226,69,60,.15);color:#ff7d74}
.drg-cars{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 6px;scroll-snap-type:x mandatory;scrollbar-width:none}
.drg-cars::-webkit-scrollbar{display:none}
.dcar{flex:none;width:132px;scroll-snap-align:start;display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 8px;border-radius:16px;background:var(--s1);border:1px solid var(--line);text-align:center;transition:border-color .2s,transform .2s}
.dcar b{font-size:12.5px;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.dcar small{color:var(--tang);font-weight:800}
.dcar.on{border-color:var(--tang);box-shadow:0 0 0 1px var(--tang),0 8px 22px var(--tang-glow);transform:translateY(-2px)}
.dcar .dc-img{width:110px}
.drg-go{box-shadow:0 10px 30px var(--tang-glow)}
.vs2{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:6px}
.vside{display:flex;flex-direction:column;align-items:center;text-align:center;gap:3px;padding:10px 6px;border-radius:18px;background:var(--s1);border:1px solid var(--line)}
.vside.me{border-color:rgba(52,120,247,.6);box-shadow:inset 0 -30px 40px -30px rgba(52,120,247,.6)}
.vside.op{border-color:rgba(236,86,46,.6);box-shadow:inset 0 -30px 40px -30px rgba(236,86,46,.6)}
.vimg{width:100%;height:70px;display:grid;place-items:center}.vimg img{max-width:100%;max-height:100%;object-fit:contain}
.vside b{font-size:12.5px;line-height:1.2}.vside small{color:var(--muted);font-weight:800}.vside em{font-style:normal;font-size:11px;color:var(--muted)}
.vbolt{font-family:var(--body);font-size:22px;color:#fff;text-shadow:0 0 14px rgba(236,86,46,.9);animation:vsPulse 1.4s ease-in-out infinite}
@keyframes vsPulse{50%{transform:scale(1.15)}}
.chbar{position:relative;height:34px;border-radius:12px;background:rgba(236,86,46,.25);overflow:hidden;display:flex;align-items:center;justify-content:space-between;padding:0 12px;font-size:13px}
.chbar i{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,#1c47a8,#3478F7);border-radius:12px 0 0 12px}
.chbar span{position:relative}
.dhist{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;background:var(--s1);border:1px solid var(--line);text-align:left;width:100%}
.dh-res{flex:none;width:30px;height:30px;border-radius:10px;display:grid;place-items:center;font-family:var(--body);font-size:14px}
.dhist.w .dh-res{background:#2fbf71;color:#000}.dhist.l .dh-res{background:#3a1d1a;color:#ff7d74}
.dh-t{flex:1;display:flex;flex-direction:column;min-width:0}.dh-t b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dh-t i{color:var(--muted);font-style:normal}
.dh-t small{color:var(--muted);font-size:12px}
.dh-m{font-weight:800}.dhist.w .dh-m{color:#5fe39b}.dhist.l .dh-m{color:#ff7d74}
.dhist .ic{width:16px;height:16px;color:var(--muted)}

/* ---------- заезд на весь экран ---------- */
.race{position:fixed;inset:0;z-index:80;display:flex;flex-direction:column;gap:14px;padding:calc(18px + env(safe-area-inset-top,0px)) 0 calc(18px + env(safe-area-inset-bottom,0px));
  background:radial-gradient(90% 50% at 50% 0%,rgba(52,120,247,.25),transparent 70%),radial-gradient(80% 40% at 50% 100%,rgba(236,86,46,.22),transparent 70%),#030305;
  opacity:0;transition:opacity .25s;color:#fff;overflow:hidden}
.race.in{opacity:1}.race.out{opacity:0}
.race-top{display:flex;align-items:center;justify-content:space-between;padding:0 18px}
.rlbl{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}
.rtime{font-family:var(--mono);font-size:44px;letter-spacing:-.02em;text-shadow:0 0 22px rgba(255,255,255,.35)}
.tree{align-self:center;display:flex;gap:12px;padding:10px 16px;border-radius:999px;background:#0d0d10;border:1px solid #222}
.tree i{width:22px;height:22px;border-radius:50%;background:#2a2316;box-shadow:inset 0 0 6px #000;transition:background .08s,box-shadow .08s}
.tree i.on{background:#ffb21e;box-shadow:0 0 18px #ffb21e,0 0 40px rgba(255,178,30,.6)}
.tree i.g{background:#12301e}.tree i.g.on{background:#3dff8a;box-shadow:0 0 18px #3dff8a,0 0 46px rgba(61,255,138,.7)}
.strip{--bgx:0px;position:relative;flex:1;display:flex;flex-direction:column;justify-content:center;gap:14px;padding:0 8px;
  background:repeating-linear-gradient(90deg,transparent 0 60px,rgba(255,255,255,.035) 60px 62px);background-position:var(--bgx) 0}
.sline{position:absolute;top:10%;bottom:10%;width:6px;z-index:1}
.sline.start{right:calc(8px + 118px);background:#fff;opacity:.8}
.sline.finish{left:8px;background:repeating-linear-gradient(0deg,#fff 0 8px,#000 8px 16px);box-shadow:0 0 18px rgba(255,255,255,.4)}
.lane{position:relative;height:clamp(110px,22vh,170px);border-radius:16px;overflow:hidden;
  background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,.06)),linear-gradient(90deg,transparent 0 46px,rgba(255,255,255,.18) 46px 74px) var(--bgx) 50%/74px 3px repeat-x,#0b0b0e;
  border:1px solid #1e1e24}
.lane.me{border-color:rgba(52,120,247,.55);box-shadow:inset 0 0 40px rgba(52,120,247,.12)}
.lane.fin.first{animation:laneWin .7s ease-out;border-color:#3dff8a}
@keyframes laneWin{0%{box-shadow:inset 0 0 0 rgba(61,255,138,0)}30%{box-shadow:inset 0 0 80px rgba(61,255,138,.45)}100%{box-shadow:inset 0 0 30px rgba(61,255,138,.15)}}
.rcar{position:absolute;right:8px;bottom:10px;width:118px;height:72%;display:flex;align-items:flex-end;z-index:2;will-change:transform;transform-origin:70% 100%}
.rcar img,.rcar .noimg{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 8px 10px rgba(0,0,0,.8))}
.smoke{position:absolute;right:-30px;bottom:0;width:70px;height:40px;opacity:0;pointer-events:none;
  background:radial-gradient(circle at 30% 60%,rgba(220,220,230,.75),transparent 55%),radial-gradient(circle at 65% 40%,rgba(200,200,210,.6),transparent 50%),radial-gradient(circle at 80% 70%,rgba(180,180,190,.5),transparent 50%)}
.rcar.launch .smoke{animation:smoke .9s ease-out forwards}
@keyframes smoke{0%{opacity:.9;transform:scale(.5)}100%{opacity:0;transform:translateX(50px) scale(2.2)}}
.ltag{position:absolute;left:12px;top:8px;display:flex;flex-direction:column;z-index:3;max-width:55%}
.ltag b{font-size:13px}.ltag small{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lspd{position:absolute;right:12px;top:8px;display:flex;align-items:baseline;gap:4px;z-index:3}
.lspd b{font-family:var(--mono);font-size:22px}.lspd small{font-size:11px;color:var(--muted)}
.ltime{position:absolute;left:12px;bottom:8px;z-index:3;font-family:var(--mono);font-size:15px;font-weight:700;opacity:0;transform:translateY(6px);transition:all .25s}
.lane.fin .ltime{opacity:1;transform:none}.lane.first .ltime{color:#3dff8a}
.race-res{padding:0 16px;min-height:0}
.rr-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px;border-radius:22px;background:rgba(18,18,22,.92);border:1px solid #26262c;animation:up .35s ease-out}
.rr-big{font-family:var(--display);font-size:30px;letter-spacing:.04em}
.race.won .rr-big{color:#3dff8a;text-shadow:0 0 24px rgba(61,255,138,.7)}
.race.lost .rr-big{color:#ff6b5e;text-shadow:0 0 24px rgba(255,107,94,.5)}
.rr-money{font-size:22px}
.rr-tbl{width:100%;border-collapse:collapse;font-size:13px}
.rr-tbl th{font-size:11px;color:var(--muted);font-weight:600;text-align:right;padding:2px 4px}
.rr-tbl td{padding:5px 4px;text-align:right;border-top:1px solid #222}.rr-tbl td:first-child{text-align:left;color:var(--muted)}
.rr-tbl td.best{color:#3dff8a;font-weight:800}
.rr-card .row{width:100%}
.race.shake .strip{animation:shake .45s}
.race.go .tree{animation:treeOut .5s .6s forwards}
@keyframes treeOut{to{opacity:.25;transform:scale(.9)}}
@media (prefers-reduced-motion: reduce){.vbolt,.rcar.launch .smoke{animation:none}}

/* =====================================================================
   TRUE-BANK: жёлтый банк
   ===================================================================== */
.sheet.tbs{background:#f6f7f8;color:#111}
.tb{display:flex;flex-direction:column;gap:14px;--tby:#FFDD2D;--tbk:#111}
.tb .iconbtn{background:#fff;border-color:#e8e9ec;color:#111}
.tb-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.tb-head h2{flex:1;margin:0;font-size:17px;text-align:center}
.tb-logo{display:inline-flex;align-items:center;gap:8px;font-family:var(--display);font-size:17px;letter-spacing:.01em}
.tb-logo i{width:32px;height:32px;border-radius:10px;background:var(--tby);color:#111;display:grid;place-items:center;font-style:normal;font-size:18px;box-shadow:inset 0 -3px 0 rgba(0,0,0,.12)}
.tb-card{position:relative;height:196px;border-radius:24px;padding:18px;overflow:hidden;color:#111;
  background:radial-gradient(120% 120% at 100% 0%,#fff59a 0%,transparent 45%),linear-gradient(135deg,#FFE44D 0%,#FFDD2D 45%,#F5C400 100%);
  box-shadow:0 18px 40px rgba(245,196,0,.35),inset 0 1px 0 rgba(255,255,255,.6);display:flex;flex-direction:column;animation:tbIn .5s cubic-bezier(.2,.9,.3,1.2)}
@keyframes tbIn{from{transform:translateY(16px) rotateX(18deg);opacity:0}}
.tb-card::after{content:'';position:absolute;inset:-40% -20% auto auto;width:220px;height:220px;border-radius:50%;background:rgba(255,255,255,.18)}
.tb-card-k{font-size:13px;opacity:.7}
.tb-bal{font-size:32px;line-height:1.15;margin-top:2px;font-weight:800}
.tb-bal .cur{background:#111;color:var(--tby)}
.tb-chip{position:absolute;left:18px;bottom:62px;width:40px;height:30px;border-radius:7px;background:linear-gradient(135deg,#d9b44a,#f7e08a 50%,#c99a2e);box-shadow:inset 0 0 0 1px rgba(0,0,0,.15)}
.tb-card-n{position:absolute;left:18px;bottom:34px;font-size:15px;letter-spacing:.08em}
.tb-card-o{position:absolute;left:18px;bottom:14px;font-size:11.5px;letter-spacing:.08em;opacity:.75}
.tb-card-brand{position:absolute;right:18px;bottom:14px;font-family:var(--display);font-size:20px;font-style:italic;opacity:.9}
.tb-acts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.tb-act{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 4px;border-radius:18px;background:#fff;color:#111;font-size:12.5px;font-weight:700;box-shadow:0 1px 0 #e8e9ec;transition:transform .15s}
.tb-act:active{transform:scale(.96)}
.tb-act span{width:44px;height:44px;border-radius:50%;background:var(--tby);display:grid;place-items:center}
.tb-act .ic{width:20px;height:20px;color:#111}
.tb-note{display:flex;gap:10px;align-items:flex-start;padding:12px;border-radius:16px;background:#fff7cc;color:#5a4a00;font-size:13px}
.tb-note .ic{flex:none;width:18px;height:18px}
.tb-month{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.tb-month div{padding:12px;border-radius:18px;background:#fff;display:flex;flex-direction:column;gap:2px}
.tb-month small{color:#8a8d93;font-size:12px}.tb-month b{font-size:17px}.tb-month b.in{color:#1a9a50}
.tb-limit{padding:12px;border-radius:18px;background:#fff;display:grid;grid-template-columns:1fr auto;gap:8px;font-size:13px;color:#555}
.tb-limit b{color:#111}
.tb-limit i{grid-column:1/-1;height:6px;border-radius:3px;background:#eef0f2;overflow:hidden}
.tb-limit em{display:block;height:100%;background:var(--tby);border-radius:3px}
.tb-h{margin:4px 0 -4px;font-size:18px}
.tb-hist{display:flex;flex-direction:column;background:#fff;border-radius:20px;padding:4px 12px}
.tb-day{margin:10px 0 2px;font-size:12px;color:#8a8d93;font-weight:600}
.tb-op{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid #f0f1f3}
.tb-op:last-child{border-bottom:0}
.tb-ava{flex:none;width:40px;height:40px;border-radius:50%;background:var(--tby);color:#111;display:grid;place-items:center;font-weight:800;overflow:hidden}
.tb-ava img{width:100%;height:100%;object-fit:cover}
.tb-op-t{flex:1;min-width:0;display:flex;flex-direction:column}
.tb-op-t b{font-size:14.5px}.tb-op-t small{font-size:12.5px;color:#8a8d93;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tb-op-m{display:flex;flex-direction:column;align-items:flex-end}.tb-op-m b{font-size:15px}.tb-op-m.in b{color:#1a9a50}.tb-op-m small{font-size:11px;color:#8a8d93}
.tb-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:20px 8px;color:#8a8d93;font-size:13.5px}
.tb-empty .ic{width:28px;height:28px}
.tb-field{display:flex;flex-direction:column;gap:6px}
.tb-field label{font-size:12.5px;color:#8a8d93}
.tb-in{display:flex;align-items:center;gap:6px;padding:0 14px;border-radius:16px;background:#fff;border:1.5px solid #e8e9ec;transition:border-color .2s,box-shadow .2s}
.tb-in:focus-within{border-color:#111;box-shadow:0 0 0 3px rgba(255,221,45,.6)}
.tb-in span{color:#8a8d93;font-weight:700}
.tb-in input{flex:1;min-width:0;border:0;background:none;outline:none;padding:14px 0;font:inherit;font-size:16px;color:#111}
.tb-in.big input{font-size:28px;font-weight:800;padding:10px 0}
.tb-rcpt{min-height:58px;display:flex;align-items:center}
.tb-r-hint{font-size:13px;color:#8a8d93}.tb-r-hint.bad{color:#d33}
.tb-r-card{width:100%;display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:16px;background:#fff;animation:up .25s ease-out}
.tb-r-card span:not(.tb-ava){flex:1;display:flex;flex-direction:column}.tb-r-card small{color:#8a8d93}
.tb-r-card .ic{width:20px;height:20px;color:#1a9a50}
.tb .chip{background:#fff;color:#111;border-color:#e8e9ec}
.tb-sum{display:grid;grid-template-columns:1fr auto;gap:4px 10px;padding:12px 14px;border-radius:16px;background:#fff;font-size:13.5px;color:#555}
.tb-sum b{color:#111;text-align:right}.tb-sum b.bad{color:#d33}
.tb-sum em{grid-column:1/-1;font-style:normal;color:#d33;font-size:12.5px}
.btn.tb-btn{background:var(--tby);color:#111;border:0;font-weight:800;box-shadow:0 10px 24px rgba(245,196,0,.35)}
.btn.tb-btn:disabled{background:#eceef1;color:#9a9da3;box-shadow:none}
.btn.tb-btn.busy{opacity:.7}
.btn.tb-btn2{background:#fff;color:#111;border:1px solid #e8e9ec}
.tb-done{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:18px 0 4px}
.tb-done h2{margin:6px 0 0;font-size:22px}
.tb-done-sum{font-size:34px;font-weight:800}
.tb-done-fee{margin:0;color:#8a8d93;font-size:13px}
.tb-done .btn{width:100%}
.tb-check{width:110px;height:110px}
.tb-check circle{fill:var(--tby);stroke:none;transform-origin:center;animation:tbPop .45s cubic-bezier(.2,.9,.3,1.4)}
.tb-check path{fill:none;stroke:#111;stroke-width:9;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:80;stroke-dashoffset:80;animation:tbDraw .45s .3s ease-out forwards}
@keyframes tbPop{from{transform:scale(0)}}
@keyframes tbDraw{to{stroke-dashoffset:0}}
.balance{cursor:pointer}
@media (prefers-reduced-motion: reduce){.tb-card,.tb-check circle{animation:none}.tb-check path{animation:none;stroke-dashoffset:0}}

/* ---------- Колхозвито: кнопка «Обновить» ---------- */
.kv-top-r{display:flex;align-items:center;gap:8px}
.kv-refresh{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:#f2f3f5;color:#111}
.kv-refresh .ic{width:18px;height:18px}
.kv-refresh.spin .ic{animation:kvSpin .7s linear infinite}
@keyframes kvSpin{to{transform:rotate(360deg)}}
.drg-tabs button{background:none;border:0;color:var(--muted)}
.drg-tabs button.on{background:var(--tang);color:#000}
/* дрэг: дым — облако, а не плашка; итог — поверх трассы, трасса остаётся видна */
.smoke{border-radius:50%;filter:blur(7px);right:-24px;bottom:4px;width:64px;height:34px}
.sline.start{width:3px;opacity:.45}
.race-res{position:absolute;left:0;right:0;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:5}
.race.won .lane.first,.race.lost .lane.first{opacity:1}
.race.won .strip,.race.lost .strip{opacity:.55;transition:opacity .4s}
.tb-act{border:0}
.tb .cur{background:#111;color:#FFDD2D}
.tb-r-card{text-align:left}
.tb-chips{flex-wrap:nowrap}
.tb-chips .chip{flex:1;padding-left:0;padding-right:0;text-align:center}
.kv-refresh{border:0}
body{min-height:100vh;min-height:100dvh}
html:has(body.kvmode){background:#fff}

/* ---------- дрэг: заявка соперника — окно снизу у создателя вызова ---------- */
.dreq{position:fixed;left:50%;bottom:calc(88px + env(safe-area-inset-bottom,0px));z-index:70;width:min(448px,calc(100% - 20px));
  display:flex;flex-direction:column;gap:10px;padding:14px;border-radius:24px;color:#fff;
  background:radial-gradient(120% 80% at 100% 0%,rgba(236,86,46,.35),transparent 60%),rgba(14,13,16,.97);border:1px solid rgba(236,86,46,.55);
  box-shadow:0 20px 60px rgba(0,0,0,.7),0 0 0 1px rgba(255,255,255,.04),0 0 40px rgba(236,86,46,.25);
  transform:translate(-50%,130%);transition:transform .45s cubic-bezier(.2,.9,.3,1.15)}
.dreq.in{transform:translate(-50%,0)}
.dreq::before{content:'';position:absolute;inset:0 0 auto 0;height:6px;border-radius:24px 24px 0 0;opacity:.6;background:repeating-conic-gradient(#fff 0 25%,#000 0 50%) 0 0/6px 6px}
.dq-head{display:flex;align-items:center;gap:10px}
.dq-who{flex:1;display:flex;flex-direction:column;min-width:0}.dq-who b{font-size:15px}.dq-who small{color:var(--muted);font-size:12px}
.dq-timer{position:relative;width:46px;height:46px;display:grid;place-items:center;flex:none}
.dq-timer svg{position:absolute;inset:0;transform:rotate(-90deg)}
.dq-timer circle{fill:none;stroke:#2a2a30;stroke-width:3}
.dq-timer circle+circle{stroke:var(--tang);stroke-linecap:round;transition:stroke-dashoffset .5s linear}
.dq-timer b{font-family:var(--mono);font-size:11.5px}
.dq-vs{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:6px}
.dq-car{display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px;padding:8px 4px;border-radius:16px;background:rgba(255,255,255,.04);border:1px solid rgba(236,86,46,.45)}
.dq-car.me{border-color:rgba(52,120,247,.6)}
.dq-car .dc-img{width:100%;height:54px}
.dq-car b{font-size:12px;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.dq-car small{font-weight:800;color:var(--muted)}
.dq-stake{margin:0;text-align:center;font-size:13px;color:#cfc3be}
.dreq .row .btn{flex:1}
/* соперник ждёт ответа */
.dwait{text-align:center}
.dw-vs{display:flex;align-items:center;justify-content:center;gap:10px;padding:10px 0}
.dw-car{width:120px;height:74px;display:grid;place-items:center}.dw-car img{max-width:100%;max-height:100%;object-fit:contain}
.dw-car.me{animation:dwRev 1.2s ease-in-out infinite}
@keyframes dwRev{50%{transform:translateX(-3px) rotate(-1deg)}}
.dw-dots{display:inline-flex;gap:5px}
.dw-dots i{width:8px;height:8px;border-radius:50%;background:var(--tang);animation:dwDot 1.2s ease-in-out infinite}
.dw-dots i:nth-child(2){animation-delay:.2s}.dw-dots i:nth-child(3){animation-delay:.4s}
@keyframes dwDot{0%,100%{opacity:.25;transform:scale(.8)}50%{opacity:1;transform:scale(1.15)}}
.dw-t{margin:0;font-size:17px}.dw-s{margin:0}
.dw-bar{height:6px;border-radius:3px;background:var(--s2);overflow:hidden}
.dw-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--tang),#ffb21e);transition:width .5s linear}
.dw-left{margin:0}
.dmyreq{display:flex;align-items:center;gap:10px;width:100%;padding:12px 14px;border-radius:16px;border:1px solid var(--tang);background:rgba(236,86,46,.12);color:#fff;text-align:left}
.dmyreq b{flex:1;font-size:14px}.dmyreq .ic{width:18px;height:18px}
@media (prefers-reduced-motion: reduce){.dreq{transition:none}.dw-car.me,.dw-dots i{animation:none}}

/* ---------- альбом: переключатель, фильтр, активные фильтры ---------- */
.al-tools{display:flex;align-items:center;gap:8px}
.al-seg{flex:1;display:grid;grid-template-columns:repeat(3,1fr);gap:3px;padding:3px;border-radius:14px;background:var(--s1);border:1px solid var(--line)}
.al-seg button{padding:8px 4px;border-radius:11px;font-weight:800;font-size:13px;color:var(--muted);background:none;border:0;transition:background .2s,color .2s}
.al-seg button.on{background:var(--peach);color:#000}
.al-fbtn{display:inline-flex;align-items:center;gap:6px;padding:10px 14px;border-radius:14px;background:var(--s1);border:1px solid var(--line);color:var(--peach);font-weight:800;font-size:13px;position:relative}
.al-fbtn .ic{width:16px;height:16px}
.al-fbtn i{font-style:normal;display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--tang);color:#000;font-size:11px}
.al-active{display:flex;flex-wrap:wrap;gap:6px}
.al-active:empty{display:none}
.al-chip{display:inline-flex;align-items:center;gap:4px;padding:6px 8px 6px 11px;border-radius:999px;background:rgba(236,86,46,.15);border:1px solid rgba(236,86,46,.45);color:var(--peach);font-size:12.5px;font-weight:700}
.al-chip .ic{width:13px;height:13px;opacity:.8}
.al-chip.clear{background:none;border-color:var(--line);color:var(--muted);padding-right:11px}
.al-found{margin:0;font-size:12.5px;color:var(--muted)}
.alf-h{margin:6px 0 0;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.alf-hrow{display:flex;align-items:center;justify-content:space-between}
.alf-link{background:none;border:1px solid var(--line);color:var(--muted);font-size:12px;font-weight:700;padding:5px 10px;border-radius:999px}
.alf-link.on{border-color:var(--peach);color:var(--peach)}
.alf-r.on{background:var(--rc);border-color:var(--rc);color:#000}
.alf-brands{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.alf-brand{display:flex;align-items:center;gap:6px;min-width:0;padding:10px 12px;border-radius:14px;background:var(--s1);border:1px solid var(--line);color:var(--peach);text-align:left;transition:border-color .15s,background .15s}
.alf-brand b{flex:1;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.alf-brand small{font:600 11px var(--mono);color:var(--muted)}
.alf-brand .ic{width:16px;height:16px;color:var(--tang);opacity:0;transform:scale(.6);transition:all .15s}
.alf-brand.on{border-color:var(--tang);background:rgba(236,86,46,.12)}
.alf-brand.on .ic{opacity:1;transform:none}
.alf-foot{position:sticky;bottom:calc(-18px - env(safe-area-inset-bottom,0px));display:flex;gap:8px;margin:4px -16px calc(-18px - env(safe-area-inset-bottom,0px));padding:12px 16px calc(14px + env(safe-area-inset-bottom,0px));background:linear-gradient(180deg,transparent,var(--black) 30%)}
.alf-foot .btn:first-child{flex:none;width:auto;padding-left:16px;padding-right:16px}
.alf-foot .btn:last-child{flex:1}
/* содержимое длинного окна не сжимается по высоте (иначе ряды чипов схлопываются до 16 px) — окно прокручивается */
.sheet>*{flex-shrink:0}
.chips.alf-wrap{flex-wrap:wrap;overflow:visible}
.al-fbtn i[hidden]{display:none}
.algrid>.empty{grid-column:1/-1}

/* ---------- кейсы: карточка — картинка сверху, внизу «Открыть» ---------- */
.ccgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ccase{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:6px;padding:8px 8px 10px;border-radius:22px;cursor:pointer;
  background:radial-gradient(90% 70% at 50% 30%,rgba(236,86,46,.22),transparent 70%),var(--glass),#131010;border:1px solid #2d2422;overflow:hidden;
  transition:transform .15s,border-color .2s}
.ccase:active{transform:scale(.97)}
.ccase:hover{border-color:rgba(236,86,46,.5)}
.cc-img{position:relative;display:grid;place-items:center;aspect-ratio:1/1;border-radius:16px;overflow:hidden}
.cc-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 10px 14px rgba(0,0,0,.6));transition:transform .35s cubic-bezier(.2,.9,.3,1.2)}
.ccase:hover .cc-img img{transform:scale(1.06) rotate(-2deg)}
.cc-fb{width:56px;height:56px;border-radius:18px;background:var(--peach);color:var(--black);display:grid;place-items:center}
.cc-fb .ic{width:28px;height:28px}
.cc-name{font-family:var(--display);font-size:13px;line-height:1.2;text-align:center;padding:0 2px}
.cc-open{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:10px 8px;border:0;border-radius:14px;background:var(--tang);color:#000;font-weight:800;font-size:13.5px;
  box-shadow:0 6px 16px var(--tang-glow)}
.cc-open span{display:inline-flex;align-items:center;gap:3px;padding:2px 7px;border-radius:8px;background:rgba(0,0,0,.18);font-family:var(--mono);font-size:12px}
.cc-open:disabled{background:#2a2321;color:var(--muted);box-shadow:none}
.cc-open .ic{width:15px;height:15px}
.ccase.free{flex-direction:row;align-items:center;gap:12px;padding:10px;margin-bottom:12px;background:radial-gradient(80% 90% at 15% 50%,rgba(242,197,61,.28),transparent 70%),var(--glass),#151109;border-color:#4a3a18}
.ccase.free .cc-img{width:108px;flex:none}
.ccase.free .cc-body{flex:1;display:flex;flex-direction:column;gap:6px;min-width:0}
.ccase.free .cc-name{text-align:left;font-size:15px}
.ccase.free .cc-open{background:#F2C53D;box-shadow:0 6px 16px rgba(242,197,61,.35)}
.ccase.free .cc-open:disabled{background:#2a2321;color:var(--muted);box-shadow:none}
.ccase.free.ready .cc-img img{animation:ccBob 2.4s ease-in-out infinite}
@keyframes ccBob{50%{transform:translateY(-4px) rotate(2deg)}}
.caseico.big{width:96px;height:96px;background:none}
.caseico.big .cc-img{width:100%}
@media (prefers-reduced-motion: reduce){.ccase.free.ready .cc-img img{animation:none}}

/* ---------- постер легендарной машины ---------- */
.poster.legend{padding:0;overflow:hidden;background:#f4f2ef;color:#111;border:0;border-radius:24px;box-shadow:0 0 0 1px rgba(255,255,255,.08),0 20px 50px rgba(0,0,0,.55),0 0 40px color-mix(in srgb,var(--acc) 35%,transparent)}
.lg-cover{position:relative;overflow:hidden;padding:14px 16px 16px;display:flex;flex-direction:column;align-items:center;min-height:560px;
  background:radial-gradient(120% 60% at 50% 40%,#fff,#ece9e5)}
.lg-stripe{position:absolute;left:50%;top:0;bottom:0;width:30%;transform:translateX(-50%);background:var(--acc);transform-origin:top;animation:lgStripe .8s cubic-bezier(.2,.8,.2,1) both}
@keyframes lgStripe{from{transform:translateX(-50%) scaleY(0)}}
.lg-sk{position:absolute;top:8%;width:62%;height:44%;background:var(--img) no-repeat center/contain;filter:grayscale(1) contrast(1.6) brightness(1.15);opacity:.16;mix-blend-mode:multiply}
.lg-sk.l{left:-30%;transform:scale(1.5)}
.lg-sk.r{right:-30%;transform:scale(1.5) scaleX(-1)}
.lg-corner{position:relative;z-index:2;width:100%;display:flex;justify-content:space-between;align-items:center;font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:#333}
.lg-corner .q{width:26px;height:26px;font-size:13px;background:#fff;color:#111;border:1px solid #ddd}
.lg-badge{position:relative;z-index:2;margin-top:6px;width:44px;height:52px;display:grid;place-items:center;font-family:var(--body);font-size:24px;color:#111;
  background:linear-gradient(180deg,#ffe14d,#f2c200);clip-path:polygon(0 0,100% 0,100% 70%,50% 100%,0 70%);box-shadow:inset 0 0 0 2px rgba(0,0,0,.25);animation:lgPop .5s .5s both}
@keyframes lgPop{from{transform:scale(0) rotate(-20deg)}}
.lg-brand{position:relative;z-index:2;margin:18px 0 0;font-family:var(--display);font-weight:800;font-size:var(--fs);letter-spacing:.06em;line-height:1;color:#0d0d0d;text-align:center;
  animation:lgIn .7s .25s cubic-bezier(.2,.8,.2,1) both}
@keyframes lgIn{from{opacity:0;letter-spacing:.4em;filter:blur(6px)}}
.lg-model{position:relative;z-index:2;margin-top:6px;font-family:var(--display);font-style:italic;font-size:18px;font-weight:800;color:#fff;text-shadow:0 1px 0 rgba(0,0,0,.25);
  background:#111;padding:2px 10px;transform:skewX(-8deg);animation:lgIn .6s .45s both}
.lg-slogan{position:relative;z-index:2;margin:22px 0 0;text-align:center;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:#fff;line-height:1.7;animation:lgFade .6s .7s both}
@keyframes lgFade{from{opacity:0;transform:translateY(8px)}}
.lg-car{position:relative;z-index:3;width:112%;margin:14px -6% -8px;height:170px;display:grid;place-items:center;animation:lgDrive .9s .35s cubic-bezier(.15,.85,.25,1) both}
.lg-car img,.lg-car .noimg{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 18px 12px rgba(0,0,0,.35))}
@keyframes lgDrive{from{transform:translateX(60%);opacity:0}}
.lg-floor{position:relative;z-index:2;width:calc(100% + 32px);margin:0 -16px -16px;padding:18px 14px 14px;color:#fff;text-align:center;
  background:linear-gradient(180deg,color-mix(in srgb,var(--acc) 92%,#000) 0%,color-mix(in srgb,var(--acc) 70%,#000) 100%);clip-path:polygon(18% 0,82% 0,100% 18%,100% 100%,0 100%,0 18%)}
.lg-nums{display:grid;grid-template-columns:repeat(3,1fr);margin-top:6px}
.lg-nums div{display:flex;flex-direction:column;gap:2px;padding:0 4px}
.lg-nums div+div{border-left:1px solid rgba(255,255,255,.35)}
.lg-nums small{font-size:9px;letter-spacing:.12em;opacity:.85}
.lg-nums b{font-weight:300;font-size:28px;line-height:1;font-family:var(--body)}
.lg-nums b i{font-style:normal;font-size:10px;margin-left:2px;opacity:.85}
.lg-nums .tap{font:inherit;color:inherit;background:none;border:0;padding:0;text-decoration:underline dotted rgba(255,255,255,.5)}
.lg-tag{margin:12px 0 6px;padding-top:10px;border-top:1px solid rgba(255,255,255,.25);font-size:10px;letter-spacing:.24em}
.lg-flag{display:block;width:120px;height:4px;margin:0 auto 12px;background:linear-gradient(90deg,#1a8f3a 33%,#fff 33% 66%,#d21f1f 66%)}
.lg-feats{display:grid;grid-template-columns:repeat(4,1fr)}
.lg-feats div{display:flex;flex-direction:column;align-items:center;gap:5px;padding:0 3px}
.lg-feats div+div{border-left:1px solid rgba(255,255,255,.25)}
.lg-feats .ic{width:24px;height:24px;stroke-width:1.5}
.lg-feats span{font-size:8.5px;letter-spacing:.04em;text-transform:uppercase;line-height:1.25;opacity:.9;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.lg-foot{margin:12px 0 0;font-size:10px;letter-spacing:.3em;line-height:1.6;opacity:.9}
.lg-info{padding:14px 16px 16px;background:#fff;color:#111}
.poster.legend .fields dt{color:#888}
.poster.legend .fields dd{color:#111}
.poster.legend .seller{color:#333}
.poster.legend .prices .pr span{color:#777}
.poster.legend .prices .pr b{color:#111}
@media (prefers-reduced-motion: reduce){.lg-stripe,.lg-badge,.lg-brand,.lg-model,.lg-slogan,.lg-car{animation:none}}
.lg-flag.f-de{background:linear-gradient(90deg,#111 33%,#dd1c1c 33% 66%,#f2c200 66%)}
.lg-flag.f-jp{background:radial-gradient(circle at 50% 50%,#c3002f 2.6px,#fff 3px)}
.lg-flag.f-gb{background:linear-gradient(90deg,#1f3a7a 33%,#fff 33% 66%,#c8102e 66%)}
.lg-flag.f-us{background:linear-gradient(90deg,#1f3a7a 30%,#c8102e 30% 45%,#fff 45% 55%,#c8102e 55% 70%,#fff 70% 85%,#c8102e 85%)}
.lg-flag.f-fr{background:linear-gradient(90deg,#1f4fa0 33%,#fff 33% 66%,#d21f1f 66%)}
.lg-flag.f-ru,.lg-flag.f-cz{background:linear-gradient(90deg,#fff 33%,#1f4fa0 33% 66%,#d21f1f 66%)}
.lg-flag.f-cn{background:linear-gradient(90deg,#de2910 40%,#ffde00 40% 48%,#de2910 48%)}
.lg-flag.f-kr{background:radial-gradient(circle at 50% 50%,#c60c30 2.6px,#fff 3px)}
.lg-flag.f-se{background:linear-gradient(90deg,#006aa7 34%,#fecc00 34% 46%,#006aa7 46%)}
.lg-flag.f-at{background:linear-gradient(90deg,#c8102e 33%,#fff 33% 66%,#c8102e 66%)}

/* ---------- «эдит» при выпадении легендарной / эпической машины ---------- */
.ed{position:fixed;inset:0;z-index:95;background:#000;overflow:hidden;opacity:0;transition:opacity .15s;--acc:#EC562E;cursor:pointer}
.ed.in{opacity:1}.ed.out{opacity:0;transition:opacity .3s}
.ed-bar{position:absolute;left:0;right:0;height:12vh;background:#000;z-index:5;transition:transform .4s cubic-bezier(.2,.8,.2,1)}
.ed-bar.t{top:0;transform:translateY(-100%)}.ed-bar.b{bottom:0;transform:translateY(100%)}
.ed.in .ed-bar{transform:none}
.ed-shot{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;visibility:hidden}
.ed-shot.on{opacity:1;visibility:visible}
.ed-tag{font-family:var(--body);font-size:13px;letter-spacing:.6em;padding-left:.6em;animation:edFlick .5s steps(2) infinite}
@keyframes edFlick{50%{opacity:.35}}
/* наезды камеры: машина в кадре крупно, перед — слева (на фото машины смотрят влево), корма — справа */
.ed-zoom{width:100vw;height:100vh;display:grid;place-items:center}
.ed-zoom img,.ed-zoom .noimg{width:100vw;max-width:none;height:auto;object-fit:contain}
.s-front.on .ed-zoom img{transform-origin:18% 55%;animation:edPushF .7s linear forwards}
.s-rear.on .ed-zoom img{transform-origin:85% 50%;animation:edPushR .7s linear forwards;filter:contrast(1.3) saturate(1.4)}
@keyframes edPushF{from{transform:scale(3.4)}to{transform:scale(3.9) translateX(-2%)}}
@keyframes edPushR{from{transform:scale(3.1) rotate(-3deg)}to{transform:scale(3.6) rotate(-1deg)}}
.ed-tint{position:absolute;inset:0;background:var(--acc);mix-blend-mode:color;opacity:.55}
/* надпись марки — удар с расслоением цвета и глитчем */
.ed-txt{position:relative;font-family:var(--display);font-weight:800;font-size:clamp(44px,15vw,92px);letter-spacing:.04em;color:#fff;line-height:1;
  text-shadow:-4px 0 #ff2a55,4px 0 #22e6ff;animation:edSlam .45s cubic-bezier(.2,.9,.2,1.2) both}
.ed-txt::before,.ed-txt::after{content:attr(data-t);position:absolute;inset:0;color:#fff}
.ed-txt::before{clip-path:inset(0 0 62% 0);transform:translateX(-6px);animation:edGlitch .35s steps(3) .45s 2}
.ed-txt::after{clip-path:inset(58% 0 0 0);transform:translateX(6px);animation:edGlitch .35s steps(3) .5s 2 reverse}
@keyframes edSlam{from{transform:scale(3);filter:blur(10px);opacity:0}60%{transform:scale(.94);filter:blur(0);opacity:1}to{transform:scale(1)}}
@keyframes edGlitch{0%{transform:translateX(-8px)}33%{transform:translateX(6px)}66%{transform:translateX(-3px)}to{transform:none}}
.ed-sub{margin-top:14px;font-family:var(--body);font-style:italic;font-size:clamp(16px,5vw,24px);color:#111;background:var(--acc);padding:3px 14px;transform:skewX(-10deg) scaleX(0);transform-origin:left}
.ed-sub.go{transition:transform .35s cubic-bezier(.2,.8,.2,1);transform:skewX(-10deg) scaleX(1)}
/* пролёт: спидлайны и машина со смазом */
.ed-lines{position:absolute;inset:0;background:repeating-linear-gradient(180deg,transparent 0 22px,rgba(255,255,255,.14) 22px 23px,transparent 23px 61px),
  radial-gradient(60% 40% at 50% 55%,color-mix(in srgb,var(--acc) 45%,transparent),transparent 70%);animation:edLines .25s linear infinite}
@keyframes edLines{to{background-position:-180px 0,0 0}}
.s-fly .ed-lines{background-size:180px 100%,100% 100%}
.ed-car{position:relative;width:92vw;max-width:520px}
.ed-car img,.ed-car .noimg{width:100%;height:auto;object-fit:contain;filter:drop-shadow(0 20px 18px rgba(0,0,0,.7))}
.s-fly.on .ed-car{animation:edFly .62s cubic-bezier(.12,.85,.2,1) both}
@keyframes edFly{from{transform:translateX(130%) skewX(-14deg);filter:blur(10px)}70%{filter:blur(0)}to{transform:none}}
/* цифры */
.ed-num{font-family:var(--body);font-size:clamp(64px,24vw,140px);line-height:1;color:var(--acc);text-shadow:0 0 30px color-mix(in srgb,var(--acc) 70%,transparent),-3px 0 #ff2a55,3px 0 #22e6ff;
  animation:edSlam .4s cubic-bezier(.2,.9,.2,1.2) both}
.ed-num small{font-size:.28em;margin-left:6px;color:#fff;text-shadow:none}
.ed-acc{margin-top:10px;font-size:12px;letter-spacing:.3em;color:#fff;opacity:.85;animation:edFade .4s .25s both}
@keyframes edFade{from{opacity:0;transform:translateY(8px)}}
/* вспышка, тряска, зерно */
.ed-flash{position:absolute;inset:0;background:#fff;opacity:0;pointer-events:none;z-index:4}
.ed-flash.go{animation:edFlash .28s ease-out}
@keyframes edFlash{from{opacity:.95}to{opacity:0}}
.ed.shake .ed-shot.on{animation:edShake .26s}
@keyframes edShake{20%{transform:translate(-7px,4px) rotate(-.6deg)}40%{transform:translate(6px,-5px)}60%{transform:translate(-4px,3px) rotate(.4deg)}80%{transform:translate(3px,-2px)}}
.ed-grain{position:absolute;inset:-50%;z-index:3;pointer-events:none;opacity:.09;
  background:repeating-radial-gradient(circle at 17% 32%,#fff 0 1px,transparent 1px 3px),repeating-radial-gradient(circle at 71% 64%,#fff 0 1px,transparent 1px 4px);animation:edGrain .4s steps(4) infinite}
@keyframes edGrain{25%{transform:translate(-3%,2%)}50%{transform:translate(2%,-3%)}75%{transform:translate(-2%,-1%)}}
.ed-skip{position:absolute;right:14px;bottom:calc(12vh + 12px);z-index:6;background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:7px 14px;font-size:12px;font-weight:700}

/* окно прокрутки кейса — крутилка по центру экрана */
.sheet.spinsheet{min-height:64vh;justify-content:flex-start}
.spin-stage{flex:1;display:flex;flex-direction:column;justify-content:center;gap:12px;padding-bottom:10vh}
/* название марки на легендарном постере — всегда в ширину карточки */
.lg-brand{font-size:min(58px,calc((min(100vw,480px) - 76px) / var(--n) * 1.12));letter-spacing:.03em;white-space:nowrap;max-width:100%}

/* ---------- шапка — отдельная висящая карточка ---------- */
.top{position:sticky;top:calc(8px + env(safe-area-inset-top,0px));margin:calc(8px + env(safe-area-inset-top,0px)) 0 10px;padding:10px 12px 10px;gap:8px;
  border-radius:24px;border:1px solid rgba(255,255,255,.07);background:rgba(18,15,14,.86);backdrop-filter:blur(18px) saturate(1.3);-webkit-backdrop-filter:blur(18px) saturate(1.3);
  box-shadow:0 14px 34px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.05)}
.top::before{display:none}
.top .iconbtn{width:40px;height:40px;border-radius:13px;background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.07)}
.top .balance small{font-size:10px}
.top .balance b{font-size:19px}
.top .lvlbar b{font-size:11px}
.top .lvlbar i{height:5px}
.top .lvlbar small{font-size:11px}
/* ---------- слайдер под шапкой ---------- */
.ticker{position:relative;margin:0 0 12px;border-radius:18px;overflow:hidden;border:1px solid rgba(255,255,255,.07);background:#141110;height:58px}
.ticker[hidden]{display:none}
.tk-track{display:flex;height:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.tk-track::-webkit-scrollbar{display:none}
.tk{flex:0 0 100%;scroll-snap-align:start;display:flex;align-items:center;gap:11px;padding:0 14px;border:0;background:none;color:var(--peach);text-align:left;--tc:var(--tang)}
.tk>.ic{flex:none;width:16px;height:16px;opacity:.6;margin-left:auto}
.tk-t{display:flex;flex-direction:column;gap:2px;min-width:0}
.tk-t b{font-size:13.5px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tk-t small{font-size:11.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tk-ic{flex:none;width:36px;height:36px;border-radius:12px;display:grid;place-items:center;font-size:19px;overflow:hidden;background:color-mix(in srgb,var(--tc) 22%,#1d1918)}
.tk-ic .ic{width:19px;height:19px;color:var(--tc)}
.tk-ic img{width:100%;height:100%;object-fit:cover}
.tk-tang{--tc:var(--tang);background:linear-gradient(100deg,rgba(236,86,46,.2),transparent 75%)}
.tk-gold{--tc:#F2C53D;background:linear-gradient(100deg,rgba(242,197,61,.22),transparent 75%)}
.tk-gold .tk-t b{color:#F2C53D}
.tk-blue{--tc:#5B9BFF;background:linear-gradient(100deg,rgba(52,120,247,.2),transparent 75%)}
.tk-purple{--tc:#A970FF;background:linear-gradient(100deg,rgba(169,112,255,.2),transparent 75%)}
.tk-dim{--tc:var(--muted)}
.tk-photo{padding:0}
.tk-photo img{width:100%;height:100%;object-fit:cover;display:block}
.tk-dots{position:absolute;right:12px;bottom:6px;display:flex;gap:3px;pointer-events:none}
.tk-dots i{width:4px;height:4px;border-radius:50%;background:rgba(243,210,198,.3);transition:width .25s,background .25s}
.tk-dots i.on{width:11px;border-radius:2px;background:var(--peach)}

/* кейсы — компактно и минималистично: 3 в ряд, без подсветки */
.ccgrid{grid-template-columns:repeat(3,1fr);gap:8px}
.ccase{gap:3px;padding:6px 6px 8px;border-radius:16px;background:#141110;border:1px solid rgba(255,255,255,.06)}
.ccase:hover{border-color:rgba(255,255,255,.14)}
.cc-img{border-radius:12px}
.cc-img img{filter:drop-shadow(0 6px 8px rgba(0,0,0,.5))}
.cc-fb{width:40px;height:40px;border-radius:13px}
.cc-fb .ic{width:20px;height:20px}
.cc-name{font-size:11.5px;font-family:var(--body);font-weight:800;margin-top:2px}
.cc-price{text-align:center;font:600 11px var(--mono);color:var(--muted)}
.cc-price .cur{transform:scale(.85)}
.cc-open{padding:7px 4px;border-radius:10px;font-size:12px;box-shadow:none;margin-top:4px}
.ccase.free{padding:8px;gap:10px;margin-bottom:10px;background:#16130d;border-color:rgba(242,197,61,.25)}
.ccase.free .cc-img{width:72px}
.ccase.free .cc-name{font-size:14px;font-family:var(--display);font-weight:800}
.ccase.free .cc-open{padding:8px;margin-top:2px}
/* знак бабок — картинка автора (web/assets/babki.png) как маска: цвет берётся из текста вокруг */
.cur{width:.82em;height:.82em;margin-left:.18em;border-radius:0;font-size:0;vertical-align:-.04em;background:currentColor;
  -webkit-mask:url(/assets/babki.png?v=1) center/contain no-repeat;mask:url(/assets/babki.png?v=1) center/contain no-repeat}
.on-peach .cur,.ad .cur,.btn-main .pill .cur,.kv-p .cur,.kv-pricebox .cur,.kv-net .cur,.kv-note .cur,.kv-offer .cur,.tb .cur,.tb-bal .cur{background:currentColor}
.cur{font:inherit;font-style:normal;overflow:hidden;text-indent:300%;white-space:nowrap;display:inline-block}
.cur,.on-peach .cur,.ad .cur,.btn-main .pill .cur,.kv-p .cur,.kv-pricebox .cur,.kv-net .cur,.kv-note .cur,.kv-offer .cur,.tb .cur,.tb-bal .cur{color:inherit;background:currentColor}

/* =====================================================================
   Магазин: тарифные карточки
   ===================================================================== */
.sheet.shs{background:#f2f2f4;color:#111;padding-left:0;padding-right:0}
.sh{display:flex;flex-direction:column;gap:14px}
.sh-head{display:flex;align-items:flex-start;justify-content:space-between;padding:0 16px}
.sh-head h2{margin:0;font-family:var(--display);font-size:24px;color:#111}
.sh-head p{margin:2px 0 0;font-size:13px;color:#8a8c92}
.sh .iconbtn{background:#fff;border-color:#e6e7ea;color:#111}
.sh-sale{position:relative;overflow:hidden;margin:0 16px;display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:16px;background:#111;color:#fff;font-size:13px}
.sh-sale b{flex:none;font-family:var(--body);font-size:15px;padding:3px 9px;border-radius:9px;background:var(--tang);color:#000;animation:shPulse 1.6s ease-in-out infinite}
.sh-sale i{position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.18) 50%,transparent 70%);transform:translateX(-100%);animation:shSweep 3s ease-in-out infinite}
@keyframes shPulse{50%{transform:scale(1.08) rotate(-3deg)}}
@keyframes shSweep{60%,100%{transform:translateX(100%)}}
.sh-tabs{position:relative;margin:0 16px;display:grid;grid-template-columns:repeat(3,1fr);padding:4px;border-radius:16px;background:#e6e7ea}
.sh-tabs button{position:relative;z-index:1;padding:10px 4px;border:0;background:none;font-weight:800;font-size:13.5px;color:#6b6e75;transition:color .25s}
.sh-tabs button.on{color:#111}
.sh-tab-ind{position:absolute;left:4px;top:4px;bottom:4px;border-radius:12px;background:#fff;box-shadow:0 4px 12px rgba(0,0,0,.08);transition:transform .35s cubic-bezier(.2,.9,.25,1.15),width .35s}
.sh-body{min-height:520px}
/* лента карточек */
.sh-rail{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding:10px 16px 18px;scrollbar-width:none;perspective:1000px}
.sh-rail::-webkit-scrollbar{display:none}
.sh-card{--rx:0deg;--ry:0deg;--gx:50%;--gy:0%;position:relative;flex:0 0 80%;scroll-snap-align:center;display:flex;flex-direction:column;gap:10px;padding:18px 18px 20px;border-radius:24px;
  background:#fff;color:#111;box-shadow:0 1px 0 #e6e7ea,0 10px 30px rgba(0,0,0,.06);overflow:hidden;transform-style:preserve-3d;
  transform:rotateX(var(--rx)) rotateY(var(--ry)) scale(.94);transition:transform .25s ease-out,box-shadow .3s;
  animation:shIn .7s var(--d) cubic-bezier(.2,.9,.25,1.1) both}
.sh-card.center{transform:rotateX(var(--rx)) rotateY(var(--ry)) scale(1);box-shadow:0 1px 0 #e6e7ea,0 18px 44px rgba(0,0,0,.12)}
@keyframes shIn{from{opacity:0;transform:translateY(40px) rotateX(24deg) scale(.86)}}
.sh-glare{position:absolute;inset:0;pointer-events:none;background:radial-gradient(60% 50% at var(--gx) var(--gy),rgba(255,255,255,.55),transparent 60%);opacity:0;transition:opacity .3s;mix-blend-mode:soft-light}
.sh-card:hover .sh-glare{opacity:1}
.sh-ic{width:58px;height:58px;border-radius:16px;background:#f2f2f4;display:grid;place-items:center;overflow:hidden}
.sh-ic img{width:120%;height:120%;object-fit:contain;animation:shFloat 3.2s ease-in-out infinite}
@keyframes shFloat{50%{transform:translateY(-4px) rotate(-4deg)}}
.sh-card h3{margin:2px 0 0;font-size:19px;line-height:1.2;color:inherit}
.sh-sub{margin:0;font-size:13px;color:#8a8c92;line-height:1.35}
.sh-price{display:flex;align-items:baseline;gap:10px;margin-top:4px}
.sh-price b{display:flex;align-items:baseline;gap:4px;font-family:var(--body);font-size:40px;line-height:1;color:inherit}
.sh-star{font-style:normal;font-size:.62em;color:#F2B01E;filter:drop-shadow(0 2px 6px rgba(242,176,30,.45));animation:shSpin 4s ease-in-out infinite}
@keyframes shSpin{0%,80%{transform:none}90%{transform:rotate(72deg) scale(1.2)}100%{transform:rotate(144deg)}}
.sh-price s{position:relative;font-family:var(--body);font-size:28px;color:#c7c8cc;text-decoration:none}
.sh-price s::after{content:'';position:absolute;left:-2px;right:-2px;top:52%;height:3px;border-radius:2px;background:var(--tang);transform:scaleX(0);transform-origin:left;animation:shStrike .45s calc(var(--d) + .4s) cubic-bezier(.6,0,.2,1) forwards}
@keyframes shStrike{to{transform:scaleX(1) rotate(-8deg)}}
.sh-buy{position:relative;overflow:hidden;width:100%;padding:13px 10px;border-radius:12px;border:1.5px solid #111;background:#fff;color:#111;font-weight:800;font-size:14.5px;transition:transform .15s,background .2s,color .2s}
.sh-buy:active{transform:scale(.97)}
.sh-buy::after{content:'';position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.55) 50%,transparent 70%);transform:translateX(-120%);animation:shSweep 2.8s 1s ease-in-out infinite}
.sh-buy span{position:relative;z-index:1}
.sh-buy.busy{opacity:.7}
.sh-buy.done{background:#1a9a50!important;border-color:#1a9a50!important;color:#fff!important;animation:shDone .5s}
@keyframes shDone{30%{transform:scale(1.06)}}
.sh-line{display:flex;align-items:center;gap:8px;padding:2px 0 12px;border-bottom:1.5px dashed #e3e4e7;font-size:13px}
.sh-line .ic{width:17px;height:17px;color:var(--tang)}
.sh-card ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:11px}
.sh-card li{display:flex;align-items:center;gap:9px;font-size:13.5px;animation:shLi .45s calc(var(--d) + .55s) both}
.sh-card li:nth-child(2){animation-delay:calc(var(--d) + .63s)}.sh-card li:nth-child(3){animation-delay:calc(var(--d) + .71s)}
.sh-card li:nth-child(4){animation-delay:calc(var(--d) + .79s)}.sh-card li:nth-child(5){animation-delay:calc(var(--d) + .87s)}
@keyframes shLi{from{opacity:0;transform:translateX(-10px)}}
.sh-card li .ic{flex:none;width:17px;height:17px;padding:2px;border-radius:50%;border:1.5px solid #b9bbc0;color:#8a8c92}
.sh-card li span{text-decoration:underline;text-decoration-color:#d6d7db;text-underline-offset:3px}
/* «хит» — тёмная карточка с сеткой и свечением */
.sh-card.hit{background:#17181d;color:#fff;box-shadow:0 20px 50px rgba(23,24,29,.4)}
.sh-card.hit .sh-sub{color:#9a9ca3}
.sh-card.hit .sh-ic{background:rgba(255,255,255,.07)}
.sh-card.hit .sh-buy{background:var(--tang);border-color:var(--tang);color:#fff;box-shadow:0 8px 22px rgba(236,86,46,.45)}
.sh-card.hit .sh-line{border-color:rgba(255,255,255,.14)}
.sh-card.hit li .ic{border-color:rgba(255,255,255,.3);color:#c7c8cc}
.sh-card.hit li span{text-decoration-color:rgba(255,255,255,.2)}
.sh-card.hit .sh-price s{color:#4a4c55}
.sh-grid{position:absolute;inset:0;pointer-events:none;opacity:.5;
  background:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px) 0 0/26px 26px,linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px) 0 0/26px 26px;
  -webkit-mask:radial-gradient(70% 55% at 85% 10%,#000,transparent 75%);mask:radial-gradient(70% 55% at 85% 10%,#000,transparent 75%);animation:shGrid 12s linear infinite}
@keyframes shGrid{to{background-position:26px 26px,26px 26px}}
.sh-glow{position:absolute;right:-30%;top:-25%;width:80%;height:60%;border-radius:50%;pointer-events:none;background:radial-gradient(closest-side,rgba(236,86,46,.55),transparent);filter:blur(10px);animation:shBreathe 4s ease-in-out infinite}
@keyframes shBreathe{50%{opacity:.55;transform:scale(1.15)}}
.sh-hit{position:absolute;right:14px;top:14px;z-index:2;padding:4px 9px;border-radius:7px;background:linear-gradient(90deg,#F2B01E,#EC562E);color:#111;font-size:10px;font-weight:900;letter-spacing:.08em;
  box-shadow:0 4px 14px rgba(236,86,46,.5);animation:shPulse 2.2s ease-in-out infinite}
.sh-card.hit::before{content:'';position:absolute;inset:0;border-radius:24px;padding:1.5px;pointer-events:none;
  background:conic-gradient(from var(--ang,0deg),transparent 0 70%,#EC562E 80%,#F2B01E 88%,transparent 95%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:shBorder 3.5s linear infinite}
@property --ang{syntax:'<angle>';initial-value:0deg;inherits:false}
@keyframes shBorder{to{--ang:360deg}}
.sh-dots{display:flex;justify-content:center;gap:5px}
.sh-dots i{width:6px;height:6px;border-radius:3px;background:#c9cacf;transition:width .3s,background .3s}
.sh-dots i.on{width:18px;background:#111}
/* пожертвование */
.sh-card.donate{margin:10px 16px 18px;flex:none;transform:none;animation:shIn .7s cubic-bezier(.2,.9,.25,1.1) both}
.sh-heart{display:grid;place-items:center;margin-top:4px}
.sh-heart .sh-ic{width:110px;height:110px;border-radius:30px;background:rgba(255,255,255,.06)}
.sh-heart .sh-ic img{animation:shBeat 1.3s ease-in-out infinite}
@keyframes shBeat{0%,40%,100%{transform:scale(1)}15%{transform:scale(1.14)}28%{transform:scale(1.04)}}
.sh-card.donate h3{text-align:center;font-family:var(--display);font-size:22px}
.sh-card.donate>.sh-sub{text-align:center}
.sh-amts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.sh-amt{padding:11px 4px;border-radius:12px;border:1.5px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);color:#fff;font-weight:800;font-size:14px;transition:all .2s}
.sh-amt.on{background:#F2B01E;border-color:#F2B01E;color:#111;transform:translateY(-2px);box-shadow:0 8px 20px rgba(242,176,30,.35)}
.sh-custom{display:flex;align-items:center;gap:10px;padding:4px 14px;border-radius:14px;background:rgba(255,255,255,.06);border:1.5px solid rgba(255,255,255,.14)}
.sh-custom span{font-size:12.5px;color:#9a9ca3}
.sh-custom input{flex:1;min-width:0;border:0;background:none;outline:none;color:#fff;font:800 24px var(--body);text-align:right;padding:8px 0}
.sh-custom b{color:#F2B01E;font-size:20px}
.sh-card.donate .sh-buy{background:linear-gradient(90deg,#F2B01E,#EC562E);border:0;color:#111;font-size:16px;padding:15px}
.sh-card.donate .sh-buy:disabled{background:#3a3b42;color:#777}
.sh-note{margin:0 16px;font-size:12px;color:#8a8c92;text-align:center}
@media (prefers-reduced-motion: reduce){.sh-card,.sh-card li,.sh-ic img,.sh-star,.sh-glow,.sh-grid,.sh-hit,.sh-sale b,.sh-sale i,.sh-buy::after,.sh-card.hit::before,.sh-heart .sh-ic img{animation:none}.sh-price s::after{transform:scaleX(1) rotate(-8deg)}}

/* =====================================================================
   Меню: глянцевые плитки по разделам
   ===================================================================== */
.sheet.mnsheet{max-height:100vh;height:100vh;border-radius:0;border:0;padding:0 0 calc(110px + env(safe-area-inset-bottom,0px));background:#050506;animation:mnIn .3s ease-out}
@keyframes mnIn{from{opacity:0;transform:translateY(24px)}}
.mn{position:relative;display:flex;flex-direction:column;gap:18px;padding:calc(14px + env(safe-area-inset-top,0px)) 14px 0;overflow:hidden}
.mn-swoosh{position:absolute;left:-20%;right:-20%;top:-120px;height:300px;pointer-events:none;
  background:radial-gradient(60% 40% at 70% 40%,rgba(226,40,40,.45),transparent 70%),radial-gradient(40% 30% at 20% 60%,rgba(150,20,20,.35),transparent 70%);
  filter:blur(6px);animation:mnSwoosh 9s ease-in-out infinite alternate}
.mn-swoosh::after{content:'';position:absolute;left:10%;right:0;top:55%;height:2px;background:linear-gradient(90deg,transparent,rgba(255,80,80,.7),transparent);transform:rotate(-6deg);filter:blur(1px)}
@keyframes mnSwoosh{to{transform:translateX(-6%) rotate(2deg)}}
.mn>*{position:relative}
.mn-top{display:flex;align-items:center;gap:10px}
.mn-me{flex:1;min-width:0;display:flex;align-items:center;gap:11px;background:none;border:0;color:#fff;text-align:left;padding:0}
.mn-ava{flex:none;width:54px;height:54px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:#1c1c20;font:800 20px var(--body);color:#fff;
  box-shadow:0 0 0 2px #2a2a30,0 0 0 4px #050506,0 0 18px rgba(226,40,40,.35)}
.mn-ava.prem{box-shadow:0 0 0 2px #F2C53D,0 0 0 4px #050506,0 0 18px rgba(242,197,61,.45)}
.mn-ava img{width:100%;height:100%;object-fit:cover}
.mn-who{min-width:0;display:flex;flex-direction:column;gap:3px}
/* ник сокращается с многоточием, звезда и стрелка — целиком; теги — своей строкой под ником (раньше в одной строке их сжимало и срезало) */
.mn-who b{display:flex;align-items:center;gap:4px;min-width:0;font-size:16.5px;white-space:nowrap;padding:2px 0}
.mn-who .mn-nm{min-width:0;overflow:hidden;text-overflow:ellipsis}
.mn-who b>:not(.mn-nm){flex:none}
.mn-tags{display:flex;flex-wrap:wrap;align-items:center;gap:4px;min-width:0;line-height:1}
.mn-tags>*{flex:none;margin-left:0!important}
.mn-star{font-style:normal}
.mn-who b .ic{flex:none;width:16px;height:16px;opacity:.7}
.mn-who small{font-size:12px;color:#8b8b94;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mn-bal{flex:none;display:flex;align-items:center;gap:10px;padding:8px 8px 8px 14px;border-radius:18px;border:1px solid rgba(255,255,255,.09);
  background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02));color:#fff;text-align:left}
.mn-bal span{display:flex;flex-direction:column}
.mn-bal small{font-size:11px;color:#8b8b94}
.mn-bal b{font:800 17px var(--mono);display:flex;align-items:center}
.mn-bal i{width:32px;height:32px;border-radius:11px;display:grid;place-items:center;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12)}
.mn-bal i .ic{width:16px;height:16px}
.mn-title{display:flex;align-items:flex-end;justify-content:space-between}
.mn-title h2{margin:0;font:800 38px/1 var(--display);color:#fff;letter-spacing:-.01em}
.mn-title p{margin:6px 0 0;font-size:14px;color:#8b8b94}
.mn-title .iconbtn{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.1);color:#fff}
.mn-sec{display:flex;flex-direction:column;gap:12px}
.mn-sh{display:flex;align-items:center;justify-content:space-between}
.mn-sh h3{margin:0;display:flex;align-items:center;gap:10px;font:800 20px var(--display);color:#fff}
.mn-sh h3::before{content:'';width:4px;height:20px;border-radius:2px;background:#E5322D;box-shadow:0 0 10px rgba(229,50,45,.7)}
.mn-sh span{display:flex;align-items:center;gap:4px;font-size:12.5px;color:#8b8b94}
.mn-sh span .ic{width:14px;height:14px}
.mn-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.mn-tile{position:relative;display:flex;flex-direction:column;align-items:center;gap:3px;padding:12px 4px 11px;border-radius:18px;border:1px solid rgba(255,255,255,.07);
  background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.015));color:#fff;text-align:center;
  animation:mnTile .45s calc(var(--i) * 28ms) cubic-bezier(.2,.9,.25,1.15) both;transition:transform .15s,border-color .2s}
.mn-tile:active{transform:scale(.95)}
@keyframes mnTile{from{opacity:0;transform:translateY(14px) scale(.92)}}
.mn-tile.mn-cur{border-color:rgba(229,50,45,.75);background:linear-gradient(180deg,rgba(229,50,45,.16),rgba(229,50,45,.03));box-shadow:0 0 22px rgba(229,50,45,.25),inset 0 0 18px rgba(229,50,45,.12)}
.mn-tile b{margin-top:7px;font-size:12.5px;line-height:1.15;white-space:nowrap}
.mn-tile small{font-size:9.5px;color:#8b8b94;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
/* глянцевая иконка: градиент, блик сверху, внутренняя тень, цветное свечение */
.mn-ic{position:relative;width:52px;height:52px;border-radius:16px;display:grid;place-items:center;color:#fff;
  background:linear-gradient(160deg,var(--c1),var(--c2));box-shadow:inset 0 1.5px 0 rgba(255,255,255,.35),inset 0 -6px 12px rgba(0,0,0,.25),0 8px 18px -6px var(--cg)}
.mn-ic::after{content:'';position:absolute;left:6%;right:6%;top:4%;height:46%;border-radius:12px 12px 40% 40%;background:linear-gradient(180deg,rgba(255,255,255,.35),rgba(255,255,255,0))}
.mn-ic .ic{position:relative;z-index:1;width:26px;height:26px;stroke-width:2;filter:drop-shadow(0 1px 1px rgba(0,0,0,.3))}
.c-red{--c1:#FF5A4E;--c2:#B3121B;--cg:rgba(229,50,45,.75)}
.c-graphite{--c1:#4A4B52;--c2:#1C1D22;--cg:rgba(0,0,0,.6)}
.c-purple{--c1:#A56BFF;--c2:#5B23C9;--cg:rgba(140,80,255,.6)}
.c-blue{--c1:#4C8DFF;--c2:#1A3FB0;--cg:rgba(60,120,255,.6)}
.c-gold{--c1:#FFD54A;--c2:#C88A0C;--cg:rgba(242,180,30,.6)}
.c-gold .ic{color:#4a3000;filter:none}
.c-rose{--c1:#E9C9C3;--c2:#9C7670;--cg:rgba(200,150,140,.45)}
.c-rose .ic{color:#3b2522;filter:none}
.c-mocha{--c1:#8B7470;--c2:#3D2F2D;--cg:rgba(120,90,85,.45)}
.mn-badge{position:absolute;top:6px;right:10px;min-width:21px;height:21px;padding:0 5px;border-radius:11px;display:grid;place-items:center;
  background:#E5322D;color:#fff;font:800 11.5px var(--body);font-style:normal;box-shadow:0 0 0 2.5px #0b0b0d,0 0 12px rgba(229,50,45,.7);animation:mnBadge 2s ease-in-out infinite}
@keyframes mnBadge{50%{transform:scale(1.12)}}
@media (max-width:360px){.mn-ic{width:46px;height:46px}.mn-tile small{display:none}}
@media (prefers-reduced-motion: reduce){.mn-tile,.mn-swoosh,.mn-badge,.sheet.mnsheet{animation:none}}
#sheetWrap:has(.mnsheet){align-items:stretch}
/* меню — ровно на высоту экрана и листается внутри (раньше росло по содержимому: на невысоких телефонах низ обрезался и не листался);
   высота от окна (fixed, inset:0), а не 100vh — в Telegram vh бывает больше видимой части; без :has() на старых WebView тоже работает */
.sheet.mnsheet{height:100%;max-height:100%;min-height:0;align-self:stretch;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;width:100%;max-width:520px}
.mn-bal b .cur{margin-left:.15em}
.mn>.mn-swoosh{position:absolute}
.mn-bal b .cur{width:14px;height:14px;flex:none;background:#fff}

/* =====================================================================
   Нижний док — спокойнее: без горба и шара, все кнопки одного размера, «пилюля» под активной
   ===================================================================== */
.dock-bump{display:none}
.dock{display:grid;grid-template-columns:repeat(5,1fr);padding:0 6px;height:60px;border-radius:22px;background:rgba(18,15,14,.88);border:1px solid rgba(255,255,255,.07);
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 12px 30px rgba(0,0,0,.5)}
.dock .center{margin-top:0}
.dock .orb,.dock .center:not(.on) .orb,.dock .center.on .orb{width:auto;height:auto;background:none;box-shadow:none;color:inherit;transform:none;border-radius:0;animation:none}
.dock .orb::before,.dock .orb::after{display:none}
.dock .orb .ic{width:24px;height:24px}
.dock button.on::after,.dock button.on:not(.center)::after{display:none}
.dock-pill{position:absolute;top:8px;bottom:8px;left:6px;border-radius:15px;background:rgba(236,86,46,.14);border:1px solid rgba(236,86,46,.3);
  transition:transform .4s cubic-bezier(.2,.9,.25,1.1),width .4s;pointer-events:none;z-index:0}
.dock button.on{color:var(--tang)}
.dock button.on .ic{animation:navPop .4s cubic-bezier(.2,.9,.25,1.4)}
/* переходы между вкладками — сдвиг в сторону нажатой вкладки */
.tab.enter{animation:none}
.tab.go-r{animation:tabR .38s cubic-bezier(.2,.8,.2,1)}
.tab.go-l{animation:tabL .38s cubic-bezier(.2,.8,.2,1)}
@keyframes tabR{from{opacity:0;transform:translateX(28px)}}
@keyframes tabL{from{opacity:0;transform:translateX(-28px)}}

/* =====================================================================
   Автосходка
   ===================================================================== */
.mt-head{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-bottom:12px}
.mt-head h2{margin:0;font:800 26px var(--display)}
.mt-head p{margin:4px 0 0;font-size:13px;color:var(--muted)}
.mt-join{flex:none;display:inline-flex;align-items:center;gap:6px;padding:10px 14px;border-radius:14px;border:0;background:var(--tang);color:#000;font-weight:800;font-size:13.5px;box-shadow:0 8px 20px var(--tang-glow)}
.mt-join .ic{width:16px;height:16px}
/* асфальт сверху: шум, пятна, разметка; машины стоят в два ряда «ёлочкой» к проезду */
.mt-lot{position:relative;display:grid;grid-template-columns:1fr 1fr;column-gap:56px;row-gap:0;padding:14px 10px;border-radius:24px;overflow:hidden;
  background:radial-gradient(40% 20% at 30% 20%,rgba(255,255,255,.04),transparent),radial-gradient(30% 15% at 75% 70%,rgba(0,0,0,.35),transparent),
    repeating-radial-gradient(circle at 13% 27%,rgba(255,255,255,.035) 0 1px,transparent 1px 3px),repeating-radial-gradient(circle at 71% 63%,rgba(0,0,0,.25) 0 1px,transparent 1px 4px),#26272b;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.05),inset 0 0 60px rgba(0,0,0,.6)}
.mt-lane{position:absolute;left:50%;top:0;bottom:0;width:56px;margin-left:-28px;background:repeating-linear-gradient(180deg,transparent 0 22px,rgba(255,214,90,.75) 22px 46px) center/3px 100% no-repeat}
.mt-lane::before,.mt-lane::after{content:'▲';position:absolute;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.18);font-size:18px}
.mt-lane::before{top:20%}.mt-lane::after{top:70%}
.mt-bay{position:relative;height:150px;border-top:2.5px solid rgba(255,255,255,.75);display:flex;align-items:center;justify-content:center;cursor:pointer;
  animation:mtIn .55s calc(var(--i) * 60ms) cubic-bezier(.2,.9,.25,1.1) both}
.mt-bay:nth-last-child(-n+2){border-bottom:2.5px solid rgba(255,255,255,.75)}
.mt-bay.l{border-left:2.5px solid rgba(255,255,255,.75)}
.mt-bay.r{border-right:2.5px solid rgba(255,255,255,.75)}
@keyframes mtIn{from{opacity:0;transform:translateY(16px)}}
/* машина — вид сверху условный: фото, повёрнутое носом к проезду, с тенью */
.mt-car{position:absolute;inset:6px 4px 34px;display:grid;place-items:center}
.mt-car::before{content:'';position:absolute;inset:18% 6% 10%;border-radius:50%;background:radial-gradient(closest-side,color-mix(in srgb,var(--glow) 45%,transparent),transparent);filter:blur(8px);opacity:.55}
.mt-car img,.mt-car .noimg{position:relative;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 10px 8px rgba(0,0,0,.65))}
.mt-bay.r .mt-car img{transform:scaleX(-1)}
.mt-who{position:absolute;left:6px;right:36px;bottom:6px;display:flex;align-items:center;gap:6px;min-width:0}
.mt-who span{min-width:0;display:flex;flex-direction:column;line-height:1.15}
.mt-who b{font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 3px #000}
.mt-who small{font-size:9.5px;color:#b4aaa6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mt-ava{flex:none;width:26px;height:26px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:#3a3436;color:#fff;font:800 12px var(--body);box-shadow:0 0 0 2px #26272b,0 0 0 3.5px rgba(255,255,255,.5)}
.mt-ava.prem{box-shadow:0 0 0 2px #26272b,0 0 0 3.5px #F2C53D}
.mt-ava img{width:100%;height:100%;object-fit:cover}
.mt-go{position:absolute;right:4px;bottom:4px;width:30px;height:30px;border-radius:9px;border:0;display:grid;place-items:center;color:#000;
  background:linear-gradient(145deg,#FFB13D,#EC562E);box-shadow:0 0 0 2px rgba(0,0,0,.35),0 0 14px rgba(255,140,40,.8);animation:mtGo 1.8s ease-in-out infinite}
.mt-go .ic{width:17px;height:17px;stroke-width:3}
@keyframes mtGo{50%{box-shadow:0 0 0 2px rgba(0,0,0,.35),0 0 22px rgba(255,140,40,1);transform:translateX(2px)}}
.mt-note{position:absolute;top:8px;right:6px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:rgba(0,0,0,.55);color:#9df;animation:mtBeat .6s ease-in-out infinite alternate}
.mt-note .ic{width:12px;height:12px}
@keyframes mtBeat{to{transform:scale(1.18)}}
.mt-bay.mine{background:linear-gradient(180deg,rgba(236,86,46,.14),transparent)}
.mt-bay.mt-vac{cursor:pointer}
.mt-free{font:800 11px var(--body);letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.22)}
/* карточка участника */
.sheet.mtsheet{padding-top:0}
.mt-card{display:flex;flex-direction:column;gap:12px}
.mt-c-top{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;margin:0 -16px;padding:26px 16px 18px;overflow:hidden;
  background:radial-gradient(70% 90% at 50% 0%,rgba(236,86,46,.35),transparent 70%),#0d0b0b;border-radius:22px 22px 0 0}
.mt-c-glow{position:absolute;inset:-40% -10% auto;height:120%;background:conic-gradient(from 0deg,transparent,rgba(236,86,46,.25),transparent 30%);animation:rot 9s linear infinite;pointer-events:none}
.mt-c-x{position:absolute;right:12px;top:12px;z-index:2}
.mt-ava.big{width:78px;height:78px;font-size:30px;position:relative;box-shadow:0 0 0 3px #0d0b0b,0 0 0 5px var(--tang),0 0 30px rgba(236,86,46,.6)}
.mt-c-top h2{position:relative;margin:4px 0 0;font:800 22px var(--display)}
.mt-c-top p{position:relative;margin:0;font-size:12.5px;color:var(--muted)}
.mt-star{color:#F2C53D}
.mt-q{position:relative;margin-top:4px;font-size:13.5px;font-style:italic;color:var(--peach)}
.mt-player{display:flex;align-items:center;gap:12px;width:100%;padding:12px;border-radius:18px;border:1px solid rgba(110,170,255,.3);background:linear-gradient(100deg,rgba(52,120,247,.22),rgba(169,112,255,.12));color:#fff;text-align:left}
.mt-pl-ic{flex:none;width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:rgba(255,255,255,.08)}
.mt-pl-ic .ic{width:22px;height:22px;color:#9df}
.mt-pl-t{flex:1;min-width:0;display:flex;flex-direction:column}
.mt-pl-t small{font-size:11px;color:#a9b6d6}
.mt-pl-t b{font-size:14.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mt-pl-btn,.mj-pl{flex:none;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#fff;border:0;position:relative}
.pl-play{width:0;height:0;border-left:11px solid #111;border-top:7px solid transparent;border-bottom:7px solid transparent;margin-left:3px}
.pl-pause{display:none;width:11px;height:13px;border-left:3.5px solid #111;border-right:3.5px solid #111}
.on>.mt-pl-btn .pl-play,.mj-pl.on .pl-play,.mt-player.on .pl-play{display:none}
.on>.mt-pl-btn .pl-pause,.mj-pl.on .pl-pause,.mt-player.on .pl-pause{display:block}
.mt-eq{display:flex;align-items:flex-end;gap:2px;height:18px;opacity:.25}
.mt-eq i{width:3px;height:30%;border-radius:2px;background:#9df}
.mt-player.on .mt-eq{opacity:1}
.mt-player.on .mt-eq i{animation:eq .7s ease-in-out infinite alternate}
.mt-eq i:nth-child(2){animation-delay:-.3s!important}.mt-eq i:nth-child(3){animation-delay:-.5s!important}.mt-eq i:nth-child(4){animation-delay:-.15s!important}
@keyframes eq{to{height:100%}}
.mt-h{margin:4px 0 0;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.mt-cars{display:flex;flex-direction:column;gap:10px}
.mt-cc{display:flex;flex-direction:column;gap:4px;padding:10px 12px 12px;border-radius:20px;background:var(--glass),#141110;border:1px solid var(--line);animation:mtIn .5s calc(var(--i) * 90ms + .15s) both}
.mt-cc-ph{height:150px;display:grid;place-items:center;border-radius:14px;background:radial-gradient(60% 70% at 50% 70%,rgba(255,255,255,.08),transparent)}
.mt-cc-ph img{max-width:100%;max-height:100%;object-fit:contain}
.mt-cc b{font-size:15px}.mt-cc q{font-size:12.5px;color:var(--muted)}
.mt-cc-st{display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:6px;margin-top:6px}
.mt-cc-st span{display:flex;flex-direction:column;padding:7px 8px;border-radius:11px;background:rgba(255,255,255,.04)}
.mt-cc-st small{font-size:10px;color:var(--muted)}
.mt-cc-st b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* заявка */
.mj-car{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border-radius:16px;background:var(--s1);border:1.5px solid var(--line);color:var(--peach);text-align:left;transition:border-color .2s,background .2s}
.mj-car.on{border-color:var(--tang);background:rgba(236,86,46,.1)}
.mj-ph{flex:none;width:84px;height:48px;display:grid;place-items:center}.mj-ph img{max-width:100%;max-height:100%;object-fit:contain}
.mj-t{flex:1;min-width:0;display:flex;flex-direction:column}.mj-t b{font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mj-t small{display:flex;align-items:center;gap:4px;font-size:11.5px;color:var(--muted)}.mj-t small .ic{width:12px;height:12px;color:#9df}
.mj-n{flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font:800 13px var(--body);font-style:normal;border:1.5px solid var(--line)}
.mj-car.on .mj-n{background:var(--tang);border-color:var(--tang);color:#000}
.mj-songs{display:flex;flex-direction:column;gap:6px;max-height:300px;overflow:auto;padding-right:2px;transition:opacity .2s}
.mj-songs.off{opacity:.4}
.mj-song{display:flex;align-items:center;gap:10px;padding:6px 10px 6px 6px;border-radius:14px;background:var(--s1);border:1.5px solid var(--line);cursor:pointer}
.mj-song span{flex:1;font-size:13.5px;font-weight:700}
.mj-pl{width:32px;height:32px}
.mj-pl .pl-play{border-left-width:9px;border-top-width:6px;border-bottom-width:6px}
.mj-ck{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;border:1.5px solid var(--line);opacity:.5}
.mj-ck .ic{width:13px;height:13px;opacity:0}
.mj-song.on{border-color:#5B9BFF;background:rgba(52,120,247,.12)}
.mj-song.on .mj-ck{background:#5B9BFF;border-color:#5B9BFF;opacity:1}.mj-song.on .mj-ck .ic{opacity:1;color:#fff}
@media (prefers-reduced-motion: reduce){.mt-bay,.mt-go,.mt-note,.mt-c-glow,.mt-cc,.tab.go-r,.tab.go-l{animation:none}}

/* =====================================================================
   Колхоз.Услуги — белый, фирменный синий #0D4CD3, красный акцент
   ===================================================================== */
.sheet.gvs{background:#EEF2F7;color:#0B1F33;padding:0 0 calc(24px + env(safe-area-inset-bottom,0px))}
.gv{display:flex;flex-direction:column;gap:14px;--gb:#0D4CD3;--gr:#EE3F58}
.gv-bar{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#fff;box-shadow:0 1px 0 #E1E6EE}
.gv-logo{display:flex;align-items:center;gap:8px}
.gv-logo img{width:34px;height:34px;object-fit:contain}
.gv-logo b{font:800 19px var(--body);letter-spacing:-.02em;color:var(--gb)}
.gv-logo b i{font-style:normal;color:var(--gr)}
.gv .iconbtn{background:#EEF2F7;border-color:#E1E6EE;color:#0B1F33}
.gv-hello{padding:0 16px;display:flex;flex-direction:column;gap:2px}
.gv-hello small{font-size:13px;color:#66727F}
.gv-hello b{font:800 22px var(--body);color:#0B1F33}
.gv-chip{align-self:flex-start;margin-top:6px;display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;background:#E3F1E7;color:#1E7B3B;font-size:11.5px;font-weight:700}
.gv-chip .ic{width:13px;height:13px}
.gv-salary{margin:0 16px;padding:16px;border-radius:20px;background:#fff;box-shadow:0 4px 18px rgba(11,31,51,.06);display:flex;flex-direction:column;gap:10px;position:relative;overflow:hidden;animation:gvIn .5s cubic-bezier(.2,.9,.25,1.1) both}
.gv-salary.ready{background:linear-gradient(135deg,#0D4CD3,#2E6BF0 60%,#4C86FF);color:#fff;box-shadow:0 14px 34px rgba(13,76,211,.35)}
.gv-salary.ready::after{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.22) 50%,transparent 65%);transform:translateX(-100%);animation:shSweep 3.4s ease-in-out infinite;pointer-events:none}
@keyframes gvIn{from{opacity:0;transform:translateY(16px)}}
.gv-s-top{display:flex;align-items:center;gap:10px}
.gv-s-top div{flex:1;min-width:0;display:flex;flex-direction:column}
.gv-s-top small{font-size:12px;opacity:.75}
.gv-s-top b{font-size:14.5px}
.gv-s-ic{flex:none;width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:rgba(13,76,211,.1);color:var(--gb)}
.gv-salary.ready .gv-s-ic{background:rgba(255,255,255,.2);color:#fff}
.gv-s-ic .ic{width:22px;height:22px}
.gv-st{flex:none;font-size:11px;font-weight:800;padding:4px 9px;border-radius:999px;background:#EEF2F7;color:#66727F}
.gv-st.ok{background:#fff;color:var(--gb);animation:shPulse 1.6s ease-in-out infinite}
.gv-s-sum{display:flex;align-items:center;font:800 40px/1 var(--mono);letter-spacing:-.02em}
.gv-s-sum .cur{width:.6em;height:.6em}
.gv-s-note{margin:0;font-size:12.5px;opacity:.8}
.gv-btn{width:100%;padding:14px;border-radius:14px;border:0;background:var(--gb);color:#fff;font-weight:800;font-size:15px;transition:transform .15s,opacity .2s;display:flex;align-items:center;justify-content:center;gap:6px}
.gv-btn:active{transform:scale(.97)}
.gv-btn:disabled{opacity:.55}
.gv-btn .ic{width:17px;height:17px}
.gv-salary.ready .gv-btn{background:#fff;color:var(--gb);box-shadow:0 8px 20px rgba(0,0,0,.18)}
.gv-btn.ghost{background:#EEF2F7;color:var(--gb)}
.gv-h{margin:6px 16px 0;font-size:17px;color:#0B1F33}
.gv-grid{margin:0 16px;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.gv-tile{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:14px;border-radius:18px;border:2px solid transparent;background:#fff;color:#0B1F33;text-align:left;
  box-shadow:0 4px 14px rgba(11,31,51,.05);animation:gvIn .5s calc(.08s * var(--n,1)) both;transition:border-color .2s,transform .15s}
.gv-tile:nth-child(1){--n:1}.gv-tile:nth-child(2){--n:2}.gv-tile:nth-child(3){--n:3}.gv-tile:nth-child(4){--n:4}
.gv-tile:active{transform:scale(.97)}
.gv-tile.on{border-color:var(--gb)}
.gv-tile b{margin-top:8px;font-size:14.5px}
.gv-tile small{font-size:12px;color:#66727F;line-height:1.3}
.gv-t-ic{width:42px;height:42px;border-radius:13px;display:grid;place-items:center}
.gv-t-ic .ic{width:21px;height:21px}
.gv-t-ic.b{background:#E7EEFC;color:var(--gb)}.gv-t-ic.g{background:#FFF4D6;color:#B07A00}.gv-t-ic.r{background:#FDE7EB;color:var(--gr)}.gv-t-ic.p{background:#EFE7FC;color:#7A3FD8}
.gv-dot{position:absolute;top:12px;right:12px;width:10px;height:10px;border-radius:50%;background:var(--gr);box-shadow:0 0 0 3px #fff;animation:mnBadge 1.6s ease-in-out infinite}
#gvPanel.in>.gv-panel{animation:gvIn .4s cubic-bezier(.2,.9,.25,1.1) both}
.gv-panel{margin:0 16px;padding:16px;border-radius:20px;background:#fff;box-shadow:0 4px 18px rgba(11,31,51,.06);display:flex;flex-direction:column;gap:10px}
.gv-panel h4{margin:0;display:flex;align-items:center;gap:8px;font-size:16px}
.gv-panel h4 .ic{width:19px;height:19px;color:var(--gb)}
.gv-p{margin:0;font-size:13px;color:#4A5867;line-height:1.45}
.gv-job{display:flex;align-items:center;gap:10px;width:100%;padding:10px;border-radius:16px;border:1.5px solid #E1E6EE;background:#fff;color:#0B1F33;text-align:left;transition:border-color .2s,transform .15s}
.gv-job:active{transform:scale(.98)}
.gv-job:not(.lock):hover{border-color:var(--gb)}
.gv-job.lock{opacity:.5}
.gv-job-t{flex:1;min-width:0;display:flex;flex-direction:column}
.gv-job-t b{font-size:14px}.gv-job-t small{font-size:11.5px;color:#66727F;line-height:1.3}
.gv-job-p{flex:none;display:flex;flex-direction:column;align-items:flex-end}
.gv-job-p b{display:flex;align-items:center;font-size:14px;color:#1E7B3B}.gv-job-p small{font-size:11px;color:#66727F}
.gv-ord-ph{flex:none;width:56px;height:40px;display:grid;place-items:center}.gv-ord-ph img{max-width:100%;max-height:100%;object-fit:contain}
.gv-prog{height:10px;border-radius:5px;background:#E7EEFC;overflow:hidden}
.gv-prog i{display:block;height:100%;border-radius:5px;background:linear-gradient(90deg,var(--gb),#4C86FF);transition:width 1s linear;position:relative;overflow:hidden}
.gv-prog i::after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(45deg,rgba(255,255,255,.25) 0 8px,transparent 8px 16px);animation:gvStripes 1s linear infinite}
@keyframes gvStripes{to{background-position:22px 0}}
.gv-row{display:flex;align-items:center;justify-content:space-between;font-size:13px;color:#4A5867}
.gv-row b{display:flex;align-items:center;color:#1E7B3B;font-size:15px}
.gv-link{background:none;border:0;color:var(--gr);font-weight:700;font-size:13px;padding:4px}
.gv-dep{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.gv-dep div{padding:12px;border-radius:14px;background:#EEF2F7;display:flex;flex-direction:column}
.gv-dep small{font-size:11.5px;color:#66727F}.gv-dep b{display:flex;align-items:center;font:800 17px var(--mono)}
.plus{color:#1E7B3B!important}
.gv-in{display:flex;align-items:center;gap:8px;padding:4px 14px;border-radius:14px;border:1.5px solid #E1E6EE;background:#fff}
.gv-in:focus-within{border-color:var(--gb)}
.gv-in span{font-size:12.5px;color:#66727F}
.gv-in input{flex:1;min-width:0;border:0;outline:none;background:none;text-align:right;font:800 22px var(--mono);color:#0B1F33;padding:10px 0}
.gv-in b .cur{width:16px;height:16px}
.gv-hist{margin:0 16px;padding:4px 14px;border-radius:20px;background:#fff;box-shadow:0 4px 18px rgba(11,31,51,.05)}
.gv-op{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #EEF2F7}
.gv-op:last-child{border-bottom:0}
.gv-op-ic{flex:none;width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:#E7EEFC;color:var(--gb)}
.gv-op-ic .ic{width:18px;height:18px}
.gv-op>span:nth-child(2){flex:1;min-width:0;display:flex;flex-direction:column}
.gv-op small{font-size:11.5px;color:#66727F}
.gv-op-m{display:flex;align-items:center;color:#1E7B3B;font-size:14px}
.gv-empty{margin:6px 0;text-align:center;font-size:13px;color:#66727F}
@media (prefers-reduced-motion: reduce){.gv-salary,.gv-tile,.gv-salary.ready::after,.gv-st.ok,.gv-dot,.gv-prog i::after,#gvPanel.in>.gv-panel{animation:none}}

/* ---------- автосходка: обновить, лайки, номер места, фоны, отзывы, оформление ---------- */
.mt-acts{display:flex;gap:8px}
.mt-ref{width:42px;height:42px;border-radius:14px;border:1px solid var(--line);background:var(--s1);color:var(--peach);display:grid;place-items:center}
.mt-ref .ic{width:18px;height:18px}
.mt-ref.spin .ic{animation:kvSpin .7s linear infinite}
.mt-num{position:absolute;left:6px;top:4px;font:800 10px var(--mono);color:rgba(255,255,255,.35)}
.mt-bay{--acc:#EC562E;--acc2:#EC562E;--acc-ink:#fff}
.mt-bay:not(.mt-vac)::before{content:'';position:absolute;inset:3px;border-radius:6px;pointer-events:none;opacity:.55}
.mt-bay.bg-flame::before{background:radial-gradient(70% 60% at 50% 60%,color-mix(in srgb,var(--acc) 45%,transparent),transparent 75%)}
.mt-bay.bg-night::before{background:radial-gradient(80% 60% at 50% 30%,rgba(60,90,180,.35),transparent 75%)}
.mt-bay.bg-neon::before{box-shadow:inset 0 0 0 2px var(--acc),inset 0 0 26px color-mix(in srgb,var(--acc) 55%,transparent);opacity:.9}
.mt-bay.bg-carbon::before{background:repeating-linear-gradient(45deg,rgba(255,255,255,.05) 0 4px,rgba(0,0,0,.2) 4px 8px)}
.mt-bay.bg-sunset::before{background:linear-gradient(180deg,rgba(255,120,60,.35),rgba(170,60,160,.25) 60%,transparent)}
.mt-bay.bg-clean::before{display:none}
.mt-car.flip img{transform:scaleX(-1)}
.mt-bay.r .mt-car img{transform:none}
.mt-bay .mt-car.flip img{transform:scaleX(-1)}
.mt-emo{position:absolute;left:22px;top:2px;font-style:normal;font-size:16px;filter:drop-shadow(0 2px 3px #000)}
.mt-like{position:absolute;top:6px;right:32px;display:flex;align-items:center;gap:3px;padding:3px 7px 3px 5px;border-radius:999px;border:0;background:rgba(0,0,0,.55);color:#fff;font-size:11px}
.mt-like .ic{width:13px;height:13px}
.mt-like b{font:800 11px var(--mono)}
.mt-like.on{background:#FF4F9A;color:#fff}
.mt-like.on .ic{fill:#fff}
.mt-like:disabled{opacity:.85}
.mt-like.pop{animation:mtPop .45s cubic-bezier(.2,.9,.25,1.6)}
@keyframes mtPop{40%{transform:scale(1.35)}}
.mt-note{right:6px;top:6px}
.mt-bay .mt-go{background:linear-gradient(145deg,color-mix(in srgb,var(--acc) 60%,#FFB13D),var(--acc))}
.mt-free{text-align:center;padding:0 8px}
/* карточка: фон, статус, большая кнопка «нравится» */
.mt-c-top{background:radial-gradient(70% 90% at 50% 0%,color-mix(in srgb,var(--acc) 45%,transparent),transparent 70%),#0d0b0b}
.mt-c-top.bg-night{background:radial-gradient(80% 90% at 50% 0%,rgba(60,90,200,.55),transparent 70%),#070912}
.mt-c-top.bg-neon{background:#08070b;box-shadow:inset 0 0 0 2px var(--acc),inset 0 0 60px color-mix(in srgb,var(--acc) 40%,transparent)}
.mt-c-top.bg-carbon{background:repeating-linear-gradient(45deg,#1a1a1d 0 6px,#111113 6px 12px)}
.mt-c-top.bg-sunset{background:linear-gradient(180deg,#ff7a3c,#b13a8a 60%,#1b0d22)}
.mt-c-top.bg-clean{background:#141110}
.mt-c-glow{background:conic-gradient(from 0deg,transparent,color-mix(in srgb,var(--acc) 35%,transparent),transparent 30%)}
.mt-ava.big{box-shadow:0 0 0 3px #0d0b0b,0 0 0 5px var(--acc),0 0 30px color-mix(in srgb,var(--acc) 60%,transparent)}
.mt-c-emo{position:relative;margin-top:-26px;margin-left:56px;font-style:normal;font-size:24px;filter:drop-shadow(0 2px 4px #000)}
.mt-c-title{position:relative;padding:3px 10px;border-radius:999px;background:var(--acc);color:#000;font-size:12px;font-weight:800}
.mt-bigl{position:relative;margin-top:8px;display:inline-flex;align-items:center;gap:7px;padding:9px 16px;border-radius:999px;border:1.5px solid rgba(255,255,255,.25);background:rgba(0,0,0,.3);color:#fff;font-size:13px;font-weight:800}
.mt-bigl .ic{width:18px;height:18px}
.mt-bigl b{font:800 15px var(--mono)}
.mt-bigl.on{background:#FF4F9A;border-color:#FF4F9A}
.mt-bigl.on .ic{fill:#fff}
.mt-bigl.pop{animation:mtPop .45s cubic-bezier(.2,.9,.25,1.6)}
.mt-cc-ph.flip img{transform:scaleX(-1)}
.mt-rv-form{display:flex;gap:8px}
.mt-rv-form input{flex:1;min-width:0;padding:12px 14px;border-radius:14px;border:1px solid var(--line);background:var(--s1);color:var(--peach);font:inherit;font-size:14px;outline:none}
.mt-rv-form input:focus{border-color:var(--tang)}
.mt-rv-form button{flex:none;width:46px;border-radius:14px;border:0;background:var(--tang);color:#000;display:grid;place-items:center}
.mt-rv-form button .ic{width:18px;height:18px}
.mt-rvs{display:flex;flex-direction:column;gap:8px}
.mt-rv{display:flex;gap:10px;padding:10px 12px;border-radius:16px;background:var(--s1);border:1px solid var(--line);animation:mtIn .35s both}
.mt-rv.mine{border-color:rgba(236,86,46,.5)}
.mt-rv span{min-width:0;display:flex;flex-direction:column}
.mt-rv b{font-size:13px}
.mt-rv p{margin:2px 0 0;font-size:13.5px;color:#d8ccc7;word-break:break-word}
/* оформление в заявке */
.mj-prev{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px;border-radius:20px;background:#26272b}
.mj-prev .mt-bay{width:60%;height:150px;cursor:default}
.mj-prev-l{font-size:11.5px;color:#b4aaa6}
.mj-row{display:flex;align-items:center;justify-content:space-between;gap:10px}
.mj-row.col{flex-direction:column;align-items:stretch}
.mj-row>span{font-size:13.5px;font-weight:700}
.mj-sw{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
.mj-acc{width:28px;height:28px;border-radius:50%;border:0;background:var(--c);box-shadow:0 0 0 2px var(--black),0 0 0 3px rgba(255,255,255,.15);transition:transform .15s}
.mj-acc.on{transform:scale(1.15);box-shadow:0 0 0 2px var(--black),0 0 0 4px #fff}
.mj-acc.grad{display:grid;place-items:center;background:linear-gradient(135deg,var(--c),var(--c2))}
.mj-acc.grad .ic{width:12px;height:12px;color:#fff;filter:drop-shadow(0 1px 2px rgba(0,0,0,.8))}
.mj-acc.grad:not(.locked) .ic{display:none}
.mj-gbuy{margin-top:4px}
.mj-gbuy[hidden]{display:none}
.mj-gbuy>span{flex:1;text-align:center;font:700 14.5px var(--body)}
.mj-gbuy .mh-pill-ic{background:radial-gradient(circle at 35% 30%,#ffe9a0,#F2C53D 58%,#b8860f);color:#2a1d00}
.mj-gbuy .mh-pill-ic .ic{fill:#2a1d00}
.mj-bgs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.mj-bg{height:48px;border-radius:12px;border:2px solid transparent;color:#fff;font-size:12px;display:grid;place-items:center;background:#141110}
.mj-bg.bg-flame{background:radial-gradient(70% 90% at 50% 0%,rgba(236,86,46,.55),transparent 70%),#0d0b0b}
.mj-bg.bg-night{background:radial-gradient(80% 90% at 50% 0%,rgba(60,90,200,.55),transparent 70%),#070912}
.mj-bg.bg-neon{background:#08070b;box-shadow:inset 0 0 14px rgba(236,86,46,.7)}
.mj-bg.bg-carbon{background:repeating-linear-gradient(45deg,#1a1a1d 0 5px,#111113 5px 10px)}
.mj-bg.bg-sunset{background:linear-gradient(180deg,#ff7a3c,#b13a8a 70%,#1b0d22)}
.mj-bg.on{border-color:#fff}
.mj-spot{display:flex;align-items:center;gap:6px}
.mj-spot button{min-width:34px;height:34px;border-radius:10px;border:1px solid var(--line);background:var(--s1);color:var(--peach);font-weight:800}
.mj-spot .mj-any{padding:0 10px;font-size:12px}
.mj-spot b{min-width:70px;text-align:center;font:800 13px var(--mono)}
.mj-spot b.bad{color:#ff6b5e}
.mj-tog{width:50px;height:30px;border-radius:15px;border:0;background:var(--s2);position:relative;transition:background .2s}
.mj-tog i{position:absolute;left:3px;top:3px;width:24px;height:24px;border-radius:50%;background:#fff;transition:transform .2s}
.mj-tog.on{background:var(--tang)}.mj-tog.on i{transform:translateX(20px)}
.mj-emo{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}
.mj-emo button{height:40px;border-radius:12px;border:1.5px solid var(--line);background:var(--s1);font-size:19px;color:var(--muted)}
.mj-emo button.on{border-color:var(--tang);background:rgba(236,86,46,.15)}
textarea#mjNote{min-height:70px}

/* ---------- кнопка автосходки на главном ---------- */
.meetbar{display:flex;align-items:center;gap:10px;width:100%;margin:0 0 10px;padding:10px 12px;border-radius:18px;border:1px solid rgba(255,79,154,.3);color:#fff;text-align:left;
  background:linear-gradient(100deg,rgba(255,79,154,.18),rgba(236,86,46,.12) 60%,transparent),#141110;position:relative;overflow:hidden}
.meetbar[hidden]{display:none}
.meetbar::after{content:'';position:absolute;inset:0;background:linear-gradient(100deg,transparent 35%,rgba(255,255,255,.12) 50%,transparent 65%);transform:translateX(-100%);animation:shSweep 4s ease-in-out infinite}
.mb-ic{flex:none;width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(145deg,#FF4F9A,#EC562E);color:#fff;box-shadow:0 6px 16px rgba(255,79,154,.4)}
.mb-ic .ic{width:20px;height:20px}
.mb-t{flex:1;min-width:0;display:flex;flex-direction:column}
.mb-t b{font-size:14px}.mb-t small{font-size:11.5px;color:var(--muted)}
.mb-live{flex:none;display:flex;align-items:center;gap:5px;font:800 11px var(--mono);color:#FF4F9A}
.mb-live i{width:7px;height:7px;border-radius:50%;background:#FF4F9A;animation:mnBadge 1.2s ease-in-out infinite}
.meetbar>.ic{flex:none;width:16px;height:16px;opacity:.6}

/* ---------- обучение ---------- */
.tu{position:fixed;inset:0;z-index:90;display:flex;flex-direction:column;padding:calc(14px + env(safe-area-inset-top,0px)) 0 calc(18px + env(safe-area-inset-bottom,0px));
  background:radial-gradient(90% 50% at 50% 10%,rgba(236,86,46,.25),transparent 70%),radial-gradient(80% 50% at 50% 100%,rgba(52,120,247,.2),transparent 70%),#050506;opacity:0;transition:opacity .3s;overflow:hidden}
.tu.in{opacity:1}
.tu-top{display:flex;align-items:center;gap:10px;padding:0 16px}
.tu-bars{flex:1;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:5px}
.tu-bars i{height:4px;border-radius:2px;background:rgba(255,255,255,.15);overflow:hidden}
.tu-bars i b{display:block;height:100%;width:0;background:var(--tang);transition:width .4s}
.tu-bars i.done b,.tu-bars i.on b{width:100%}
.tu-x{width:34px;height:34px;border-radius:11px;border:0;background:rgba(255,255,255,.08);color:#fff;display:grid;place-items:center}
.tu-x .ic{width:16px;height:16px}
.tu-track{flex:1;display:flex;transition:transform .5s cubic-bezier(.2,.85,.25,1)}
.tu-page{flex:0 0 100%;display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:10px 22px 0;overflow-y:auto}
.tu-art{position:relative;width:100%;max-width:340px;height:min(34vh,240px);display:grid;place-items:center;margin-top:6px}
.tu-art img{position:relative;max-width:100%;max-height:100%;object-fit:contain;filter:drop-shadow(0 20px 22px rgba(0,0,0,.6))}
.tu-art.case img,.tu-art.emb img{max-width:70%}
.tu-ring{position:absolute;width:min(60vw,240px);aspect-ratio:1;border-radius:50%;border:2px dashed rgba(236,86,46,.35);animation:rot 22s linear infinite}
.tu-ring::after{content:'';position:absolute;inset:18%;border-radius:50%;background:radial-gradient(closest-side,rgba(236,86,46,.35),transparent)}
.tu-page.on .tu-art img{animation:tuIn .7s cubic-bezier(.2,.9,.25,1.15) both}
@keyframes tuIn{from{opacity:0;transform:translateY(30px) scale(.85) rotate(-4deg)}}
.tu-kick{font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--tang);font-weight:800}
.tu-page h2{margin:0;font:800 26px/1.15 var(--display);color:#fff}
.tu-page p{margin:0;font-size:14.5px;line-height:1.5;color:#c9bdb8;max-width:420px}
.tu-page ul{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:8px;width:100%;max-width:420px}
.tu-page li{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.07);text-align:left;font-size:13.5px;color:#fff}
.tu-page li .ic{flex:none;width:18px;height:18px;color:var(--tang)}
.tu-page.on li{animation:tuLi .45s both}
.tu-page.on li:nth-child(1){animation-delay:.2s}.tu-page.on li:nth-child(2){animation-delay:.3s}.tu-page.on li:nth-child(3){animation-delay:.4s}
@keyframes tuLi{from{opacity:0;transform:translateX(-16px)}}
.tu-foot{display:flex;gap:10px;padding:12px 16px 0}
.tu-back{flex:none;width:54px;border-radius:16px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);color:#fff;display:grid;place-items:center}
.tu-back .ic{width:20px;height:20px}
.tu-next{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:16px;border-radius:16px;border:0;background:var(--tang);color:#000;font-weight:800;font-size:16px;box-shadow:0 10px 26px var(--tang-glow)}
.tu-next .ic{width:18px;height:18px}
.tu-next.final{background:linear-gradient(90deg,#F2C53D,#EC562E);animation:shPulse 1.6s ease-in-out infinite}
@media (prefers-reduced-motion: reduce){.tu-track{transition:none}.tu-ring,.tu-page.on .tu-art img,.tu-page.on li,.tu-next.final,.meetbar::after{animation:none}}

/* выбор машин на сходку — раскрывающийся список */
.mj-dd{border-radius:18px;border:1px solid var(--line);background:var(--s1);overflow:hidden}
.mj-dd-h{display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;border:0;background:none;color:var(--peach);text-align:left}
.mj-dd-h>.ic{flex:none;width:18px;height:18px;transition:transform .3s}
.mj-dd.open .mj-dd-h>.ic{transform:rotate(180deg)}
.mj-dd-sel{flex:1;min-width:0;display:flex;gap:6px;overflow:hidden}
.mj-chip{flex:0 1 auto;min-width:0;display:flex;align-items:center;gap:5px;padding:4px 8px 4px 4px;border-radius:12px;background:rgba(236,86,46,.12);border:1px solid rgba(236,86,46,.35)}
.mj-chip i{flex:none;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;background:var(--tang);color:#000;font:800 10px var(--body);font-style:normal}
.mj-chip img{width:38px;height:22px;object-fit:contain}
.mj-chip b{font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:90px}
.mj-dd-cnt{flex:none;font:800 12px var(--mono);color:var(--muted)}
.mj-dd-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s cubic-bezier(.2,.8,.2,1)}
.mj-dd-body>*{min-height:0}
.mj-dd-body{overflow:hidden}
.mj-dd.open .mj-dd-body{grid-template-rows:1fr;padding:0 10px 10px}
.mj-dd-body{display:block;max-height:0;transition:max-height .35s ease,padding .35s}
.mj-dd.open .mj-dd-body{max-height:420px;overflow-y:auto}
.mj-dd-ok{margin-top:8px}
.mj-dd-ok{width:100%}
/* карточка автосходки: вместо крутящегося луча — мягкое «северное сияние» и пульсирующие кольца вокруг аватара */
.mt-c-glow{inset:-30% -20% auto;height:150%;animation:none;background:none;filter:blur(28px);opacity:.75}
.mt-c-glow::before,.mt-c-glow::after{content:'';position:absolute;border-radius:50%;will-change:transform}
.mt-c-glow::before{left:10%;top:20%;width:55%;height:45%;background:radial-gradient(closest-side,color-mix(in srgb,var(--acc) 85%,transparent),transparent);animation:mtAur1 7s ease-in-out infinite alternate}
.mt-c-glow::after{right:5%;top:30%;width:50%;height:40%;background:radial-gradient(closest-side,color-mix(in srgb,var(--acc) 50%,#7a5cff),transparent);animation:mtAur2 9s ease-in-out infinite alternate}
@keyframes mtAur1{to{transform:translate(30%,12%) scale(1.25)}}
@keyframes mtAur2{to{transform:translate(-35%,-10%) scale(.85)}}
.mt-ava.big{overflow:visible}
.mt-ava.big img{border-radius:50%}
.mt-ava.big::before,.mt-ava.big::after{content:'';position:absolute;inset:-6px;border-radius:50%;border:2px solid var(--acc);opacity:0;pointer-events:none;will-change:transform,opacity;animation:mtHalo 2.6s cubic-bezier(.2,.6,.3,1) infinite}
.mt-ava.big::after{animation-delay:1.3s}
@keyframes mtHalo{0%{transform:scale(.95);opacity:.75}100%{transform:scale(1.55);opacity:0}}
@media (prefers-reduced-motion: reduce){.mt-c-glow::before,.mt-c-glow::after,.mt-ava.big::before,.mt-ava.big::after{animation:none}}
/* карточка автосходки: длинные названия моторов и машин не вылезают за рамки */
.sheet{overflow-x:hidden}
.mt-cc{min-width:0}
.mt-cc>b,.mt-cc>q{overflow-wrap:anywhere}
.mt-cc-st{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.mt-cc-st span{min-width:0}
.mt-cc-st span:nth-child(3){grid-column:1/-1}
.mt-cc-st b{white-space:normal;overflow-wrap:anywhere;line-height:1.25}
.mt-c-top h2,.mt-q,.mt-c-title{max-width:100%;overflow-wrap:anywhere}
.mt-player .mt-pl-t b{display:block}

/* ---------- громкость: ползунки ---------- */
input[type=range]{--p:80%;-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:3px;outline:none;
  background:linear-gradient(90deg,var(--tang) var(--p),rgba(255,255,255,.12) var(--p))}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:#fff;border:0;box-shadow:0 2px 8px rgba(0,0,0,.5),0 0 0 4px rgba(236,86,46,.25)}
input[type=range]::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:#fff;border:0}
.set-vol{display:flex;flex-direction:column;gap:10px;padding:14px;border-radius:16px;background:var(--s1);border:1px solid var(--line)}
.set-vol-h{display:flex;align-items:center;justify-content:space-between}
.set-vol-h span{display:flex;align-items:center;gap:8px}
.set-vol-h .ic{width:18px;height:18px;color:var(--tang)}
.set-vol-h>b{font:800 13px var(--mono);color:var(--muted)}
.set-vol small{font-size:12px;color:var(--muted)}
.mt-vol{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:14px;background:rgba(52,120,247,.1);border:1px solid rgba(110,170,255,.2);margin-top:-4px}
.mt-vol input[type=range]{background:linear-gradient(90deg,#5B9BFF var(--p),rgba(255,255,255,.12) var(--p))}
.mt-vol input[type=range]::-webkit-slider-thumb{box-shadow:0 2px 8px rgba(0,0,0,.5),0 0 0 4px rgba(91,155,255,.3)}
.mt-vol-ic{flex:none;width:30px;height:30px;border-radius:9px;border:0;background:rgba(255,255,255,.08);color:#9df;display:grid;place-items:center}
.mt-vol-ic .ic{width:16px;height:16px}
.mt-vol b{flex:none;min-width:40px;text-align:right;font:800 12px var(--mono);color:#a9b6d6}

/* ---------- тёмная тема Колхозвито ---------- */
body.kvdark .kv{background:transparent;color:var(--peach)}
body.kvdark .kv-logo,body.kvdark .kv-title,body.kvdark .kv-h,body.kvdark .kv-p,body.kvdark .kv-pricebox b,body.kvdark .kv-props dd,body.kvdark .kv-card{color:var(--peach)}
body.kvdark .kv-add,body.kvdark .kv-filter,body.kvdark .kv-cat,body.kvdark .kv-tabs button,body.kvdark .kv .chip,body.kvdark .kv-refresh{background:#1d1918;color:var(--peach);border-color:#2d2624}
body.kvdark .kv-tabs button.on,body.kvdark .kv .chip.on{background:var(--peach);color:#111;border-color:var(--peach)}
body.kvdark .kv-search{background:#141110}
body.kvdark .kv-search input{color:var(--peach)}
body.kvdark .kv-cat.on{background:rgba(52,120,247,.18)}
body.kvdark .kv-ph,body.kvdark .kv-photo{background:radial-gradient(70% 70% at 50% 60%,#2a2523,#151211)}
body.kvdark .kv-st{background:rgba(0,0,0,.6);color:#ddd}
body.kvdark .kv-meta,body.kvdark .kv-muted{color:#9a8d88}
body.kvdark .kv-empty,body.kvdark .kv-seller,body.kvdark .kv .offer-row,body.kvdark .kv-offer{background:#1d1918;color:var(--peach)}
body.kvdark .kv-good{background:rgba(47,191,113,.15);color:#5fe39b}
body.kvdark .kv-high{background:rgba(236,86,46,.15);color:#ff8a6a}
body.kvdark .kv-note{background:rgba(242,197,61,.12);color:#f4dd9a}
body.kvdark .kv-btn2{background:#1d1918;color:var(--peach)}
body.kvdark .kv-p .cur,body.kvdark .kv-pricebox .cur,body.kvdark .kv-net .cur,body.kvdark .kv-note .cur,body.kvdark .kv-offer .cur{background:currentColor}
body.kvdark .sheet.light:not(.tbs):not(.shs):not(.gvs){background:var(--black);color:var(--peach);border-color:var(--line)}
body.kvdark .sheet.light:not(.tbs):not(.shs):not(.gvs) .iconbtn{background:var(--s1);border-color:var(--line);color:var(--peach)}
body.kvdark .sheet.light:not(.tbs):not(.shs):not(.gvs) .sheet-head h2{color:var(--peach)}
body.kvdark .sheet.light:not(.tbs):not(.shs):not(.gvs) .field input,body.kvdark .sheet.light:not(.tbs):not(.shs):not(.gvs) .field textarea,body.kvdark .sheet.light:not(.tbs):not(.shs):not(.gvs) .field select{background:var(--s1);border-color:var(--line);color:var(--peach)}
body.kvdark .sheet.light:not(.tbs):not(.shs):not(.gvs) .chip{background:var(--s1);border-color:var(--line);color:var(--peach)}
body.kvdark .sheet.light:not(.tbs):not(.shs):not(.gvs) .chip.on{background:var(--peach);color:#111}
body.kvdark .sheet.light:not(.tbs):not(.shs):not(.gvs) .carcard,body.kvdark .sheet.light:not(.tbs):not(.shs):not(.gvs) .partrow{background:var(--s1);border-color:var(--line);color:var(--peach)}
body.kvdark .sheet.light:not(.tbs):not(.shs):not(.gvs) .tg{background:var(--s2);color:var(--peach)}

/* =====================================================================
   Элитный дрэг 804 м — чёрное золото
   ===================================================================== */
.drg-tier{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:4px;border-radius:16px;background:#0e0c0b;border:1px solid var(--line)}
.drg-tier button{display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 4px;border-radius:12px;border:0;background:none;color:var(--muted);font-weight:800;font-size:13px}
.drg-tier button .ic{width:16px;height:16px}
.drg-tier button.on{background:var(--s2);color:var(--peach)}
.drg.elite .drg-tier button[data-tier=elite].on{background:linear-gradient(135deg,#F7D774,#C9962B);color:#1a1205;box-shadow:0 6px 18px rgba(201,150,43,.4)}
.drg.elite .drg-hero{background:radial-gradient(120% 90% at 100% 0%,rgba(247,215,116,.35),transparent 60%),radial-gradient(90% 80% at 0% 100%,rgba(140,90,20,.35),transparent 60%),#0b0906;border:1px solid rgba(247,215,116,.25)}
.drg.elite .drg-check{background:repeating-conic-gradient(#F7D774 0 25%,#000 0 50%) 0 0/10px 10px;opacity:.7}
.drg.elite .drg-ttl h2 b{color:#F7D774;text-shadow:0 0 18px rgba(247,215,116,.8),0 0 2px #fff}
.drg.elite .drg-tabs{background:#0e0c0b;border-color:rgba(247,215,116,.2)}
.drg.elite .drg-tabs button.on{background:linear-gradient(135deg,#F7D774,#C9962B);color:#1a1205;box-shadow:0 6px 18px rgba(201,150,43,.4)}
.drg.elite .dcard{border-color:rgba(247,215,116,.22);background:linear-gradient(160deg,rgba(247,215,116,.07),transparent 50%),#120f0b}
.drg.elite .btn-main{background:linear-gradient(135deg,#F7D774,#C9962B);color:#1a1205;box-shadow:0 10px 26px rgba(201,150,43,.4)}
.drg.elite .chip.on{background:#F7D774;color:#1a1205;border-color:#F7D774}
.el-shine{position:absolute;inset:0;background:linear-gradient(115deg,transparent 30%,rgba(255,240,190,.18) 48%,transparent 62%);transform:translateX(-100%);animation:shSweep 4s ease-in-out infinite;pointer-events:none}
.el-pay{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:22px 16px;border-radius:22px;
  background:radial-gradient(80% 60% at 50% 0%,rgba(247,215,116,.25),transparent 70%),#0b0906;border:1px solid rgba(247,215,116,.3);position:relative;overflow:hidden}
.el-crown{width:74px;height:74px;border-radius:24px;display:grid;place-items:center;background:linear-gradient(145deg,#FBE38F,#B9861F);color:#1a1205;box-shadow:0 12px 30px rgba(201,150,43,.5);animation:shFloat 3s ease-in-out infinite}
.el-crown .ic{width:38px;height:38px}
.el-pay h3{margin:0;font:800 22px var(--display);color:#F7D774}
.el-pay p{margin:0;font-size:13.5px;color:#cbbd9e;line-height:1.45}
.el-pay ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;width:100%}
.el-pay li{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;background:rgba(247,215,116,.06);border:1px solid rgba(247,215,116,.14);text-align:left;font-size:13px;color:#eee}
.el-pay li .ic{flex:none;width:18px;height:18px;color:#F7D774}
.el-buy{position:relative;overflow:hidden;width:100%;padding:16px;border-radius:16px;border:0;background:linear-gradient(135deg,#FBE38F,#C9962B);color:#1a1205;font-weight:900;font-size:16px;box-shadow:0 12px 30px rgba(201,150,43,.45)}
.el-buy::after{content:'';position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.55) 50%,transparent 70%);transform:translateX(-120%);animation:shSweep 2.6s ease-in-out infinite}
.el-buy span{position:relative;z-index:1}
.el-pay>small{font-size:11.5px;color:#8f8263}
.el-season{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-radius:14px;background:#0b0906;border:1px solid rgba(247,215,116,.2);color:#cbbd9e;font-size:13px}
.el-season span{display:flex;align-items:center;gap:6px}.el-season .ic{width:15px;height:15px}
.el-season b{color:#F7D774;font:800 15px var(--mono)}
.el-me{padding:10px 14px;border-radius:14px;background:rgba(247,215,116,.1);color:#F7D774;font-size:13.5px;text-align:center}
.el-top{display:flex;flex-direction:column;gap:6px}
.el-row{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:14px;background:#120f0b;border:1px solid var(--line)}
.el-row.p1{border-color:#F7D774;background:linear-gradient(90deg,rgba(247,215,116,.18),#120f0b)}
.el-row.p2{border-color:#cfd3da}.el-row.p3{border-color:#d08b4a}
.el-row.me{box-shadow:0 0 0 2px var(--tang)}
.el-pl{flex:none;width:28px;text-align:center;font:800 14px var(--body);font-style:normal;color:var(--muted)}
.el-nm{flex:1;min-width:0;display:flex;flex-direction:column}.el-nm b{font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.el-nm small{font-size:11px;color:#cbbd9e}
.el-w{font:800 16px var(--mono);color:#F7D774}
.el-prz{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.el-prz div{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 4px;border-radius:14px;background:#120f0b;border:1px solid rgba(247,215,116,.18);text-align:center}
.el-prz i{font-style:normal;font-size:18px}.el-prz b{font:800 12px var(--mono);color:#F7D774}.el-prz small{font-size:10px;color:#8f8263}
.race.elite{background:radial-gradient(90% 50% at 50% 0%,rgba(247,215,116,.25),transparent 70%),radial-gradient(80% 40% at 50% 100%,rgba(140,90,20,.3),transparent 70%),#050403}
.race.elite .rtime{color:#F7D774;text-shadow:0 0 24px rgba(247,215,116,.5)}
.race.elite .lane{border-color:rgba(247,215,116,.25)}
.race.elite .lane.me{border-color:#F7D774;box-shadow:inset 0 0 40px rgba(247,215,116,.15)}
.race.elite .sline.finish{background:repeating-linear-gradient(0deg,#F7D774 0 8px,#000 8px 16px)}
@media (prefers-reduced-motion: reduce){.el-shine,.el-crown,.el-buy::after{animation:none}}

/* =====================================================================
   Пасс
   ===================================================================== */
.sheet.pssheet{padding-top:0}
.ps{display:flex;flex-direction:column;gap:12px}
.ps-hero{position:relative;overflow:hidden;margin:0 -16px;padding:16px 16px 18px;border-radius:22px 22px 0 0;display:flex;flex-direction:column;gap:10px;color:#fff;
  background:radial-gradient(90% 80% at 100% 0%,rgba(169,112,255,.55),transparent 60%),radial-gradient(80% 70% at 0% 100%,rgba(52,120,247,.45),transparent 65%),#0c0a14}
.ps-hero.vip{background:radial-gradient(90% 80% at 100% 0%,rgba(247,215,116,.45),transparent 60%),radial-gradient(80% 70% at 0% 100%,rgba(201,150,43,.35),transparent 65%),#0d0a05}
.ps-shine{position:absolute;inset:0;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.12) 48%,transparent 62%);transform:translateX(-100%);animation:shSweep 5s ease-in-out infinite;pointer-events:none}
.ps-top{display:flex;align-items:center;justify-content:space-between}
.ps-tag{font-size:11px;font-weight:900;letter-spacing:.12em;padding:4px 10px;border-radius:999px;background:rgba(255,255,255,.12)}
.ps-hero.vip .ps-tag{background:linear-gradient(90deg,#FBE38F,#C9962B);color:#1a1205}
.ps-hero h2{margin:0;font:800 23px/1.15 var(--display)}
.ps-left{margin:0;display:flex;align-items:center;gap:6px;font-size:12.5px;color:#cfc7e6}
.ps-left .ic{width:14px;height:14px}
.ps-lvl{display:flex;align-items:center;gap:14px}
.ps-num{flex:none;width:84px;height:84px;border-radius:24px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14)}
.ps-num b{font:800 34px/1 var(--body)}
.ps-num small{font-size:10px;opacity:.7}
.ps-bar{flex:1;display:flex;flex-direction:column;gap:6px}
.ps-track{height:12px;border-radius:6px;background:rgba(255,255,255,.12);overflow:hidden}
.ps-track i{display:block;height:100%;border-radius:6px;background:linear-gradient(90deg,#7C5CFF,#A970FF,#5B9BFF);box-shadow:0 0 14px rgba(169,112,255,.7);transition:width .8s cubic-bezier(.2,.8,.2,1)}
.ps-hero.vip .ps-track i{background:linear-gradient(90deg,#C9962B,#F7D774);box-shadow:0 0 14px rgba(247,215,116,.7)}
.ps-bar small{font-size:12px;color:#cfc7e6}
.ps-claim{position:relative;overflow:hidden;width:100%;padding:14px;border-radius:15px;border:0;background:#fff;color:#1a1033;font-weight:900;font-size:15px}
.ps-claim:not(:disabled){animation:shPulse 1.8s ease-in-out infinite}
.ps-claim:disabled{background:rgba(255,255,255,.12);color:rgba(255,255,255,.6)}
.ps-vip{display:flex;align-items:center;gap:12px;padding:14px;border-radius:18px;border:1px solid rgba(247,215,116,.35);background:linear-gradient(110deg,rgba(247,215,116,.16),rgba(201,150,43,.06) 60%,transparent),#110d06;position:relative;overflow:hidden}
.ps-vip::after{content:'';position:absolute;inset:0;background:linear-gradient(100deg,transparent 35%,rgba(255,240,190,.14) 50%,transparent 65%);transform:translateX(-100%);animation:shSweep 3.5s ease-in-out infinite;pointer-events:none}
.ps-vip-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.ps-vip-t b{font:800 16px var(--display);color:#F7D774}
.ps-vip-t span{font-size:12px;color:#cbbd9e;line-height:1.35}
.ps-vip-b{position:relative;z-index:1;flex:none;padding:12px 16px;border-radius:14px;border:0;background:linear-gradient(135deg,#FBE38F,#C9962B);color:#1a1205;font-weight:900;font-size:15px;box-shadow:0 8px 22px rgba(201,150,43,.45)}
.ps-head{display:grid;grid-template-columns:38px 1fr 1fr;gap:6px;padding:0 2px;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.ps-head .v{color:#F7D774}
.ps-list{display:flex;flex-direction:column;gap:6px}
.ps .ps-row{display:grid;grid-template-columns:38px 1fr 1fr;gap:6px;align-items:stretch;padding:0;border:0;font-size:inherit}
.ps-l{display:grid;place-items:center;border-radius:12px;background:var(--s1);border:1px solid var(--line);font:800 12px var(--mono);font-style:normal;color:var(--muted)}
.ps-row.done .ps-l{background:linear-gradient(145deg,#A970FF,#5B23C9);border-color:transparent;color:#fff}
.ps-row.next .ps-l{border-color:#A970FF;color:#fff;box-shadow:0 0 12px rgba(169,112,255,.6)}
.ps-cell{display:flex;align-items:center;gap:8px;min-width:0;padding:9px 10px;border-radius:14px;background:var(--s1);border:1px solid var(--line);opacity:.7}
.ps-cell .ic{flex:none;width:18px;height:18px;color:#a9b6d6}
.ps-cell span{min-width:0;display:flex;flex-direction:column;line-height:1.2}
.ps-cell b{font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ps-cell.vip{background:#120e07;border-color:rgba(247,215,116,.18)}
.ps-cell.vip .ic{color:#F7D774}
.ps-cell.vip b{color:#f4dd9a}
.ps-cell.ready{opacity:1;border-color:#A970FF;box-shadow:0 0 0 1px #A970FF inset}
.ps-cell.vip.ready{border-color:#F7D774;box-shadow:0 0 0 1px #F7D774 inset}
.ps-cell.ready.pulse{box-shadow:0 0 0 1px #A970FF inset,0 0 14px rgba(169,112,255,.35);animation:psReady 1.6s ease-in-out infinite}
.ps-cell.vip.ready.pulse{box-shadow:0 0 0 1px #F7D774 inset,0 0 14px rgba(247,215,116,.35)}
@keyframes psReady{50%{transform:scale(1.02)}}
.ps-cell.got{opacity:.45}
.ps-cell.got .ic{color:#5fe39b}
.ps-cell.lock{filter:saturate(.6)}
.ps-cell.lock .ic{color:#8f8263}
.ps-row.big .ps-cell{padding:13px 10px}
.ps-row.big .ps-cell b{font-size:12.5px}
.ps-row.big .ps-l{font-size:14px}
.ps-pts{display:flex;flex-wrap:wrap;gap:6px}
.ps-pts span{display:flex;align-items:center;gap:6px;padding:7px 10px;border-radius:12px;background:var(--s1);border:1px solid var(--line);font-size:12px}
.ps-pts b{color:#A970FF;font:800 12px var(--mono)}
@media (prefers-reduced-motion: reduce){.ps-shine,.ps-claim,.ps-vip::after,.ps-cell.ready.pulse{animation:none}}

.ach-sum{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.ach-sum div{display:flex;flex-direction:column;align-items:center;padding:10px 4px;border-radius:14px;background:var(--s1);border:1px solid var(--line)}
.ach-sum b{font:800 18px var(--mono);color:#F2C53D}.ach-sum small{font-size:11px;color:var(--muted)}
.ps-cell{opacity:.9}.ps-cell b{color:#e6e0ff}.ps-cell.vip b{color:#f4dd9a}
.sh-buy.own{background:#1a9a50!important;border-color:#1a9a50!important;color:#fff!important;display:flex;align-items:center;justify-content:center;gap:6px}
.sh-buy.own .ic{width:16px;height:16px}
.sh-buy.own::after{display:none}
.sh-tabs{grid-template-columns:repeat(4,1fr)}

/* мото: переключатели «Авто / Мото» в кейсах и на складе */
.kindseg{margin-bottom:12px}
.kindseg button{display:flex;align-items:center;justify-content:center;gap:6px}
.kindseg .ic{width:16px;height:16px}
.kindhint{margin:-4px 0 12px}
.ps-day{opacity:.75}
.ps-day.full{color:#F7D774;opacity:1}

/* =====================================================================
   Персонажи и NPC
   ===================================================================== */
.person{position:relative;display:inline-grid;place-items:center;flex:none;width:56px;height:56px;border-radius:50%;overflow:hidden;background:radial-gradient(circle at 50% 35%,#3a3f4b,#1a1d24)}
.person img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 18%}
.person-fb{font-size:28px;font-style:normal;line-height:1}
.npc-tag{display:inline-flex;align-items:center;margin-left:6px;padding:1px 6px;border-radius:6px;background:#3478F7;color:#fff;font:800 10px/1.5 var(--mono);letter-spacing:.06em;vertical-align:middle}

/* =====================================================================
   Гаишник Петрович
   ===================================================================== */
.sheet.pvsheet{padding-top:0}
.pv{display:flex;flex-direction:column;gap:12px}
.pv-hero{position:relative;overflow:hidden;margin:0 -16px;padding:18px 16px 16px;border-radius:22px 22px 0 0;display:flex;align-items:center;gap:14px;color:#fff;
  background:radial-gradient(80% 90% at 0% 0%,rgba(52,120,247,.45),transparent 60%),radial-gradient(80% 90% at 100% 0%,rgba(230,40,40,.4),transparent 60%),#0b0d14}
.pv-lights{position:absolute;inset:0;pointer-events:none}
.pv-lights b{position:absolute;top:-40px;width:140px;height:140px;border-radius:50%;filter:blur(30px);opacity:.0;animation:pvBlink 1s steps(1) infinite}
.pv-lights b:first-child{left:-30px;background:#2f6bff}
.pv-lights b:last-child{right:-30px;background:#ff2b2b;animation-delay:.5s}
@keyframes pvBlink{0%,49%{opacity:.85}50%,100%{opacity:.15}}
.pv-x{position:absolute;top:12px;right:12px;z-index:2}
.pv-face{width:86px;height:86px;border:3px solid #fff;box-shadow:0 0 0 4px rgba(52,120,247,.5),0 10px 30px rgba(0,0,0,.5);z-index:1}
.pv-face.sm{width:72px;height:72px;margin:6px auto 0}
.pv-who{display:flex;flex-direction:column;gap:3px;z-index:1}
.pv-who b{font:800 20px/1.1 var(--body)}
.pv-who small{font-size:12px;color:#c9d2e6}
.pv-bubble{position:relative;padding:14px 16px;border-radius:18px;background:#fff;color:#14161c;box-shadow:0 8px 24px rgba(0,0,0,.25)}
.pv-bubble::before{content:'';position:absolute;top:-8px;left:42px;width:18px;height:18px;background:#fff;transform:rotate(45deg);border-radius:3px}
.pv-bubble small{display:block;font-size:11.5px;font-weight:700;color:#6a7080;margin-bottom:4px}
.pv-bubble p{margin:0;font-size:15px;font-weight:700;line-height:1.35}
.pv-car{position:relative;height:130px;border-radius:18px;background:linear-gradient(180deg,#1b1f29,#11141b);display:grid;place-items:center;overflow:hidden}
.pv-car img{max-height:118px;max-width:92%;object-fit:contain}
.pv-stamp{position:absolute;right:14px;bottom:12px;padding:4px 10px;border:3px solid #ff3b3b;border-radius:8px;color:#ff3b3b;font:900 16px var(--body);transform:rotate(-12deg);letter-spacing:.08em;opacity:.9;animation:pvStamp .5s .3s both cubic-bezier(.2,1.6,.4,1)}
@keyframes pvStamp{from{transform:rotate(-12deg) scale(2.2);opacity:0}}
.pv-acts{display:flex;flex-direction:column;gap:8px}
.pv-act{display:flex;align-items:center;gap:10px;padding:13px 14px;border-radius:16px;border:1px solid var(--line);background:var(--s1);color:var(--text);text-align:left}
.pv-act span{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.pv-act b{font-size:15px}
.pv-act small{font-size:12px;color:var(--muted);line-height:1.3}
.pv-act em{font:800 16px var(--mono);font-style:normal;white-space:nowrap}
.pv-act.pay em{color:#5fe39b}
.pv-act.bribe em{color:#F7D774}
.pv-act.run{background:linear-gradient(110deg,rgba(236,86,46,.22),rgba(236,86,46,.06));border-color:rgba(236,86,46,.5)}
.pv-act.run em{color:#ff8a5c}
.pv-act.wait{background:linear-gradient(110deg,rgba(242,197,61,.16),rgba(242,197,61,.04));border-color:rgba(242,197,61,.45)}
.pv-act.wait em{color:#F2C53D;display:grid;place-items:center}.pv-act.wait em .ic{width:22px;height:22px}
.pv-act:active{transform:scale(.98)}
.pv-end{align-items:center;text-align:center;padding:8px 0 4px}
.pv-end h2{margin:4px 0 0;font:800 24px var(--display)}
.pv-end p{margin:0;color:var(--muted);line-height:1.45}
.pv-end .btn{width:100%}
.pv-end.escaped h2{color:#5fe39b}
.pv-end.caught h2{color:#ff5b5b}
.pv-sum{font:800 22px var(--mono);color:#ff8a5c}

/* погоня */
.pvrun{position:fixed;inset:0;z-index:300;background:#07090e;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none}
.pvr-road{position:absolute;left:0;right:0;top:42%;height:34%;background:linear-gradient(180deg,#22252d,#16181e);border-top:3px solid #3a3e48;border-bottom:3px solid #3a3e48}
.pvr-lines{position:absolute;left:0;right:0;top:50%;height:4px;margin-top:-2px;background:repeating-linear-gradient(90deg,#f2f2f2 0 40px,transparent 40px 90px);animation:pvrLines .35s linear infinite}
@keyframes pvrLines{to{background-position:-90px 0}}
.pvr-car{position:absolute;left:30%;top:44%;width:44%;transform:translateX(var(--x,0));transition:transform .25s ease-out}
.pvr-car img{width:100%;filter:drop-shadow(0 10px 14px rgba(0,0,0,.6))}
.pvr-chaser{position:absolute;left:4%;top:47%;display:flex;flex-direction:column;align-items:center;gap:4px;animation:pvrChase 1.2s ease-in-out infinite alternate}
@keyframes pvrChase{to{transform:translateX(16px)}}
.pvr-p{width:70px;height:70px;border:3px solid #fff}
.pvr-siren{display:flex;gap:4px}
.pvr-siren b{width:20px;height:10px;border-radius:4px;background:#2f6bff;animation:pvBlink .5s steps(1) infinite}
.pvr-siren b+b{background:#ff2b2b;animation-delay:.25s}
.pvr-hud{position:absolute;left:16px;right:16px;top:calc(env(safe-area-inset-top) + 24px);display:flex;flex-direction:column;align-items:center;gap:6px;color:#fff;text-align:center}
.pvr-t{font:800 56px/1 var(--mono)}
.pvr-hud small{font-size:13px;color:#c9d2e6}
.pvr-speed{width:100%;max-width:320px;height:12px;border-radius:6px;background:rgba(255,255,255,.12);overflow:hidden}
.pvr-speed i{display:block;height:100%;width:0;background:linear-gradient(90deg,#5fe39b,#F7D774,#EC562E);transition:width .12s}
.pvr-gas{position:absolute;left:50%;bottom:calc(env(safe-area-inset-bottom) + 36px);width:150px;height:150px;margin-left:-75px;border-radius:50%;border:0;
  background:radial-gradient(circle at 40% 35%,#ff9b6b,#EC562E 55%,#a3300f);color:#fff;font:900 30px var(--display);letter-spacing:.06em;box-shadow:0 14px 40px rgba(236,86,46,.55),inset 0 -6px 0 rgba(0,0,0,.25)}
.pvr-gas.hit{animation:pvrHit .14s ease-out}
@keyframes pvrHit{50%{transform:scale(.9)}}
.pvrun.won .pvr-car{transform:translateX(120vw);transition:transform 1.1s cubic-bezier(.5,0,.8,.4)}
.pvrun.lost .pvr-chaser{transform:translateX(30vw);transition:transform .8s ease-in;animation:none}
.pvrun.lost::after{content:'';position:absolute;inset:0;background:rgba(255,40,40,.25);animation:pvBlink .4s steps(1) 3}
.tg.wanted{background:#ff3b3b;color:#fff}
.mt-cc .mt-wanted{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 12px;border-radius:12px;background:rgba(255,59,59,.12);border:1px solid rgba(255,59,59,.4);color:#ff8080;font-size:12.5px;font-weight:700}
.mt-cc .mt-wanted button{flex:none;padding:8px 12px;border-radius:10px;border:0;background:#ff3b3b;color:#fff;font-weight:800;font-size:12.5px}
.tk-raid{background:linear-gradient(90deg,#1f3a8a,#7a1414)!important;color:#fff;animation:tkRaid 1s steps(1) infinite}
@keyframes tkRaid{50%{background:linear-gradient(90deg,#7a1414,#1f3a8a)!important}}
@media (prefers-reduced-motion: reduce){.pv-lights b,.pvr-lines,.pvr-chaser,.pvr-siren b,.tk-raid{animation:none}}

/* =====================================================================
   Звонок продавцу
   ===================================================================== */
.btn-call{display:flex;align-items:center;justify-content:center;gap:10px;background:linear-gradient(110deg,rgba(95,227,155,.18),rgba(95,227,155,.05));border:1px solid rgba(95,227,155,.45);color:var(--text)}
.btn-call .person{width:30px;height:30px}
.btn-call .person-fb{font-size:16px}
.btn-call small{color:var(--muted);font-weight:600}
.call{position:fixed;inset:0;z-index:320;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:calc(env(safe-area-inset-top) + 40px) 24px calc(env(safe-area-inset-bottom) + 34px);
  background:radial-gradient(120% 70% at 50% 20%,#1f3b2f,#0a0f0c 70%);color:#fff;opacity:0;transform:translateY(24px);transition:opacity .3s,transform .3s}
.call.on{opacity:1;transform:none}
.call-top{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}
.call-top small{font-size:12px;color:#9fd8b8;letter-spacing:.04em}
.call-top b{font:800 26px/1.15 var(--body)}
.call-t{font:600 14px var(--mono);color:#cfe9da}
.call-ava{position:relative;display:grid;place-items:center;width:200px;height:200px}
.call-ava>i{position:absolute;inset:30px;border-radius:50%;border:2px solid rgba(95,227,155,.5);opacity:0}
.call.talk .call-ava>i{animation:callRing 2.1s ease-out infinite}
.call.talk .call-ava>i:nth-child(2){animation-delay:.7s}
.call.talk .call-ava>i:nth-child(3){animation-delay:1.4s}
@keyframes callRing{0%{transform:scale(.8);opacity:.9}100%{transform:scale(1.5);opacity:0}}
.call-p{width:140px;height:140px;border:4px solid rgba(255,255,255,.9);box-shadow:0 18px 50px rgba(0,0,0,.5)}
.call-p .person-fb{font-size:64px}
.call-sub{min-height:96px;max-width:440px;margin:0;font-size:16px;line-height:1.45;text-align:center;color:#eaf6ef}
.call-sub.in{animation:callIn .35s ease-out}
@keyframes callIn{from{opacity:0;transform:translateY(8px)}}
.call-end{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border-radius:16px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);text-align:center;max-width:440px;animation:callIn .35s ease-out}
.call-end b{font-size:15px}
.call-end b.bad{color:#ffb86b}
.call-end b.good{color:#7ef0b1}
.call-end small{font-size:12.5px;color:#cfe0d6}
.call-btns{display:flex;gap:46px}
.call-btns button{display:flex;flex-direction:column;align-items:center;gap:6px;border:0;background:none;color:#fff}
.call-btns button .ic{width:30px;height:30px;padding:20px;box-sizing:content-box;border-radius:50%}
.call-skip .ic{background:rgba(255,255,255,.14)}
.call-hang .ic{background:#ff3b30}
.call-btns small{font-size:12px;color:#cfe0d6}
@media (prefers-reduced-motion: reduce){.call.talk .call-ava>i{animation:none}}
.mt-npc{margin:0;padding:6px 10px;border-radius:10px;background:rgba(52,120,247,.2);font-size:12px;color:#d6e4ff}

/* =====================================================================
   Похороны тачки и стена памяти
   ===================================================================== */
.fun{position:fixed;inset:0;z-index:310;overflow:hidden auto;display:flex;flex-direction:column;align-items:center;gap:14px;padding:calc(env(safe-area-inset-top) + 28px) 18px calc(env(safe-area-inset-bottom) + 22px);
  background:linear-gradient(180deg,#0b0b12 0%,#15121c 60%,#0a090d 100%);color:#e9e4f0;opacity:0;transition:opacity .5s}
.fun.on{opacity:1}
.fun-sky{position:absolute;inset:0;pointer-events:none;background:radial-gradient(1px 1px at 20% 15%,#fff8,transparent),radial-gradient(1px 1px at 70% 8%,#fff8,transparent),radial-gradient(1.5px 1.5px at 85% 25%,#fff6,transparent),radial-gradient(1px 1px at 40% 30%,#fff5,transparent)}
.fun-moon{position:absolute;right:12%;top:6%;width:54px;height:54px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff,#d9d4c4);box-shadow:0 0 40px rgba(255,250,230,.35)}
.fun-frame{position:relative;z-index:1;padding:10px;border-radius:6px;background:linear-gradient(145deg,#3a2a18,#1d140b);box-shadow:0 0 0 2px #6b5233,0 18px 40px rgba(0,0,0,.6);animation:funIn .9s .2s both ease-out}
.fun-photo{width:220px;height:130px;display:grid;place-items:center;background:#ddd;border-radius:3px;overflow:hidden}
.fun-photo img{max-width:94%;max-height:120px;object-fit:contain;filter:grayscale(1) contrast(1.1)}
.fun-ribbon{position:absolute;right:-6px;top:-6px;width:46px;height:46px;background:linear-gradient(135deg,transparent 45%,#000 45%,#000 62%,transparent 62%)}
@keyframes funIn{from{opacity:0;transform:translateY(16px) scale(.96)}}
.fun-trailer{position:relative;z-index:1;width:250px;height:58px;margin-top:4px;animation:funRoll 3.5s .4s both ease-out}
@keyframes funRoll{from{transform:translateX(-120vw)}}
.fun-coffin{position:absolute;left:30px;right:10px;top:0;height:40px;border-radius:8px 18px 18px 8px;background:linear-gradient(180deg,#5a3b22,#2c1b0e);box-shadow:inset 0 2px 0 #7a5535;display:grid;place-items:center;color:#d8b77a;font-size:20px}
.fun-coffin b{font-weight:400}
.fun-trailer::before{content:'';position:absolute;left:0;top:36px;width:44px;height:6px;border-radius:3px;background:#555}
.fun-wheel{position:absolute;top:34px;width:22px;height:22px;border-radius:50%;background:radial-gradient(circle,#777 30%,#222 32%);animation:funSpin 1s linear 4}
.fun-wheel.a{left:70px}.fun-wheel.b{left:180px}
@keyframes funSpin{to{transform:rotate(360deg)}}
.fun-candles{position:relative;z-index:1;display:flex;gap:26px}
.fun-candles i{position:relative;width:10px;height:34px;border-radius:2px;background:linear-gradient(#f4ecd8,#cfc4a8)}
.fun-candles i::before{content:'';position:absolute;left:50%;top:-14px;width:9px;height:14px;margin-left:-4.5px;border-radius:50% 50% 45% 45%;background:radial-gradient(circle at 50% 70%,#fff6c9,#ffb43a 60%,transparent 70%);animation:funFlame .18s ease-in-out infinite alternate;filter:drop-shadow(0 0 8px #ffb43a)}
.fun-candles i:nth-child(2)::before{animation-duration:.23s}
@keyframes funFlame{to{transform:scaleY(1.15) translateX(.6px)}}
.fun-text{position:relative;z-index:1;max-width:460px;text-align:center;display:flex;flex-direction:column;gap:6px}
.fun-text small{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:#a99fbc}
.fun-text h2{margin:0;font:800 22px/1.2 var(--display)}
.fun-ob{margin:0;min-height:88px;font-size:15px;line-height:1.5;color:#d6cfe2;font-style:italic}
.fun-more{margin:0;font-size:13px;color:#a99fbc}
.fun-btns{position:relative;z-index:1;display:flex;gap:10px;width:100%;max-width:460px;margin-top:auto}
.fun-btns .btn{flex:1}
.wl-list{display:flex;flex-direction:column;gap:10px}
.wl-card{display:flex;gap:12px;padding:12px;border-radius:16px;background:var(--s1);border:1px solid var(--line)}
.wl-ph{position:relative;flex:none;width:92px;height:70px;border-radius:6px;padding:4px;background:linear-gradient(145deg,#3a2a18,#1d140b);display:grid;place-items:center;overflow:hidden}
.wl-ph img{max-width:100%;max-height:60px;object-fit:contain;filter:grayscale(1)}
.wl-rib{position:absolute;right:-4px;top:-4px;width:26px;height:26px;background:linear-gradient(135deg,transparent 45%,#000 45%,#000 64%,transparent 64%)}
.wl-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.wl-body>b{font-size:14px}
.wl-body>small{font-size:11.5px;color:var(--muted)}
.wl-body p{margin:0;font-size:13px;line-height:1.4;font-style:italic;color:var(--text)}
.wl-cm{display:flex;gap:8px;align-items:flex-start;padding:8px;border-radius:12px;background:rgba(255,255,255,.04)}
.wl-cm .mt-ava{width:28px;height:28px;flex:none}
.wl-cm>span{display:flex;flex-direction:column;gap:2px;font-size:12px}
.wl-cm q{color:var(--muted)}
.wl-fl{align-self:flex-start;display:flex;align-items:center;gap:6px;padding:7px 12px;border-radius:12px;border:1px solid var(--line);background:transparent;color:var(--text);font-size:12.5px}
.wl-fl b{font:800 13px var(--mono)}
.wl-fl.on{border-color:rgba(255,79,154,.5);background:rgba(255,79,154,.12)}
@media (prefers-reduced-motion: reduce){.fun-trailer,.fun-wheel,.fun-candles i::before,.fun-frame{animation:none}}

/* =====================================================================
   Батина тачка
   ===================================================================== */
.tg.dad{background:#F7D774;color:#1a1205}
.dad-note{margin:0;padding:10px 12px;border-radius:12px;background:rgba(247,215,116,.12);border:1px solid rgba(247,215,116,.35);color:var(--text)}
.dad{display:flex;flex-direction:column;gap:12px}
.dad-hero{display:flex;align-items:center;gap:14px;padding-top:6px}
.dad-face{width:76px;height:76px;border:3px solid #F7D774;box-shadow:0 8px 24px rgba(247,215,116,.3)}
.dad-hero small{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#F7D774}
.dad-hero h2{margin:2px 0 0;font:800 23px/1.15 var(--display)}
.dad-sub{margin:0;font-size:13.5px;line-height:1.45;color:var(--muted)}
.dad-sub b{color:var(--text)}
.dad-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:46vh;overflow:auto;padding:2px}
.dad-m{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:8px;border-radius:14px;background:var(--s1);border:1px solid var(--line);color:var(--text);text-align:left;min-width:0}
.dad-m:active{transform:scale(.97)}
.dad-ph{width:100%;height:70px;display:grid;place-items:center}
.dad-ph img{max-width:100%;max-height:66px;object-fit:contain}
.dad-m b{font-size:12.5px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.dad-m small{font-size:11px;color:var(--muted)}
.mt-ava{position:relative}
.mt-ava>i{font-style:normal}
.mt-ava img{position:absolute;inset:0}
.mt-ava.npc{background:#24314f;box-shadow:0 0 0 2px #26272b,0 0 0 3.5px #3478F7}
.pv-who{padding-right:40px}
.pv-who b{font-size:19px}
.call-end[hidden],.call-btns button[hidden]{display:none}

/* ракурсы машины: листалка фото */
.cg{display:flex;width:100%;height:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;cursor:pointer}
.cg::-webkit-scrollbar{display:none}
.cg-s{flex:0 0 100%;height:100%;scroll-snap-align:center;display:grid;place-items:center;min-width:0}
.cg-s img{width:100%;height:100%;object-fit:contain}
.cg-dots{position:absolute;left:0;right:0;bottom:4px;display:flex;justify-content:center;gap:5px;pointer-events:none;z-index:2}
.cg-dots i{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.35);box-shadow:0 0 0 1px rgba(0,0,0,.25);transition:width .2s,background .2s}
.cg-dots i.on{width:16px;border-radius:3px;background:#fff}
.mt-cc-ph{position:relative}
.mt-cc-ph.flip .cg-s img{transform:scaleX(-1)}
.ps-car .cg-dots{bottom:-18px}
.pp-car .cg-dots{bottom:-10px}

/* =====================================================================
   «Что нового»
   ===================================================================== */
.sheet.nwsheet{padding-top:0}
.nw{display:flex;flex-direction:column;gap:14px}
.nw-hero{position:relative;overflow:hidden;margin:0 -16px;padding:22px 18px 18px;border-radius:22px 22px 0 0;color:#fff;
  background:radial-gradient(90% 90% at 100% 0%,rgba(236,86,46,.65),transparent 60%),radial-gradient(80% 80% at 0% 100%,rgba(169,112,255,.5),transparent 65%),radial-gradient(60% 60% at 50% 50%,rgba(52,120,247,.25),transparent 70%),#0d0b10}
.nw-glow{position:absolute;inset:-40% -20% auto auto;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(255,200,120,.35),transparent 65%);animation:nwFloat 6s ease-in-out infinite alternate;pointer-events:none}
@keyframes nwFloat{to{transform:translate(-40px,30px) scale(1.15)}}
.nw-shine{position:absolute;inset:0;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.14) 48%,transparent 62%);transform:translateX(-100%);animation:shSweep 4.5s 0.6s ease-in-out infinite;pointer-events:none}
.nw-x{position:absolute;top:12px;right:12px;z-index:2}
.nw-tag{position:relative;display:inline-block;padding:5px 11px;border-radius:999px;background:rgba(255,255,255,.14);font:800 11px var(--mono);letter-spacing:.12em}
.nw-hero h2{position:relative;margin:12px 0 4px;font:800 30px/1.05 var(--display);animation:nwUp .6s .1s both cubic-bezier(.2,.9,.25,1.1)}
.nw-hero p{position:relative;margin:0;font-size:14px;color:#e6dff0;max-width:300px;animation:nwUp .6s .2s both}
@keyframes nwUp{from{opacity:0;transform:translateY(14px)}}
.nw-emo{position:relative;display:flex;gap:6px;margin-top:14px}
.nw-emo b{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:rgba(255,255,255,.12);font-size:22px;font-weight:400;
  animation:nwPop .5s calc(.3s + var(--i) * .07s) both cubic-bezier(.2,1.6,.4,1)}
@keyframes nwPop{from{opacity:0;transform:scale(.4) rotate(-12deg)}}
.nw-list{display:flex;flex-direction:column;gap:10px}
.nw-it{--c:#EC562E;display:flex;gap:12px;padding:13px;border-radius:18px;background:linear-gradient(115deg,color-mix(in srgb,var(--c) 16%,transparent),transparent 70%),var(--s1);
  border:1px solid color-mix(in srgb,var(--c) 35%,var(--line));animation:nwUp .5s calc(.25s + var(--i) * .06s) both cubic-bezier(.2,.9,.25,1)}
.nw-ic{flex:none;display:grid;place-items:center;width:46px;height:46px;border-radius:14px;font-size:24px;background:color-mix(in srgb,var(--c) 28%,#000);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c) 50%,transparent)}
.nw-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.nw-t b{font:800 16px var(--display)}
.nw-t p{margin:0;font-size:13px;line-height:1.42;color:var(--muted)}
.nw-go{align-self:flex-start;display:flex;align-items:center;gap:2px;margin-top:4px;padding:7px 10px 7px 12px;border-radius:10px;border:0;background:var(--c);color:#fff;font-weight:800;font-size:12.5px}
.nw-go .ic{width:15px;height:15px}
.nw-it.c-orange{--c:#EC562E}.nw-it.c-silver{--c:#9aa3b2}.nw-it.c-blue{--c:#3478F7}.nw-it.c-police{--c:#2f6bff}.nw-it.c-green{--c:#1fae6a}.nw-it.c-purple{--c:#A970FF}
.nw-it.c-gold{--c:#C9962B}.nw-it.c-dark{--c:#7a6a8c}.nw-it.c-red{--c:#e0353b}.nw-it.c-violet{--c:#7C5CFF}
.nw-ok{position:sticky;bottom:0;box-shadow:0 -10px 24px var(--bg,#0b0b0d)}
@media (prefers-reduced-motion: reduce){.nw-glow,.nw-shine,.nw-hero h2,.nw-hero p,.nw-emo b,.nw-it{animation:none}}

/* мини-обновление: компактная шапка, кнопка «Слушать» */
.nwmini .nw-hero{background:radial-gradient(90% 90% at 100% 0%,rgba(31,174,106,.6),transparent 60%),radial-gradient(80% 80% at 0% 100%,rgba(201,150,43,.45),transparent 65%),#0b0f0c}
.nwmini .nw-hero h2{font-size:26px}
.nw-play .nw-pa{display:none}
.nw-play.on .nw-pi{display:none}
.nw-play.on .nw-pa{display:inline}
.nw-play.on{box-shadow:0 0 0 3px color-mix(in srgb,var(--c) 35%,transparent)}
.nw-play i{font-style:normal;font-size:11px;margin-right:4px}

/* Царь-батюшка */
.call.tsar{background:radial-gradient(120% 70% at 50% 20%,#4a3410,#0f0a04 70%)}
.call.tsar .call-top small{color:#f3d58a}
.call.tsar .call-ava>i{border-color:rgba(247,215,116,.6)}
.call.tsar .call-p{border-color:#F7D774;box-shadow:0 0 0 4px rgba(247,215,116,.35),0 18px 50px rgba(0,0,0,.5)}
.tsar-bar{position:relative;width:100%;max-width:440px;height:34px;border-radius:12px;background:rgba(255,255,255,.1);overflow:hidden;display:grid;place-items:center}
.tsar-bar i{position:absolute;left:0;top:0;bottom:0;width:0;background:linear-gradient(90deg,#C9962B,#F7D774);transition:width .25s linear}
.tsar-bar span{position:relative;font-size:12.5px;font-weight:800;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.6)}
.call.tsar.won .call-p{animation:tsarWin 1s ease-in-out infinite alternate}
@keyframes tsarWin{to{box-shadow:0 0 0 8px rgba(247,215,116,.5),0 0 60px rgba(247,215,116,.7)}}
.btn-call.tsar{background:linear-gradient(110deg,rgba(247,215,116,.25),rgba(201,150,43,.08));border-color:rgba(247,215,116,.6)}

/* дрэг: машина сломалась на старте */
.rcar.dnf img{filter:grayscale(.6) brightness(.8)}
.rcar.dnf .smoke{opacity:1!important;transform:scale(2.2)!important;filter:grayscale(1) brightness(.5)}
.lane.dnf .ltime{color:#ff5b5b;font-weight:900;letter-spacing:.06em}
.rr-dnf{display:block;margin-top:2px;font-size:13px;color:#ff8a8a}


.c-green{--c1:#2fbf71;--c2:#0f5a33;--cg:rgba(47,191,113,.45)}

/* =====================================================================
   Апгрейдер v2 — карточки, шкала шанса, колесо, раскрытие награды
   ===================================================================== */
.sheet.ugsheet{padding-top:0}
.ug{--uc:#2fbf71;display:flex;flex-direction:column;gap:14px}
.ug-sub{margin:0;font-size:13px;line-height:1.45;color:var(--muted)}
/* шапка */
.ug-hero{position:relative;overflow:hidden;margin:0 -16px;padding:20px 16px 16px;border-radius:22px 22px 0 0;color:#fff;display:grid;grid-template-columns:auto 1fr;gap:12px 14px;align-items:center;
  background:radial-gradient(70% 90% at 100% 0%,rgba(47,191,113,.45),transparent 60%),radial-gradient(70% 90% at 0% 100%,rgba(58,139,255,.35),transparent 65%),#080b0a}
.ug-orb{position:absolute;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(47,191,113,.45),transparent 65%);top:-60px;right:-40px;filter:blur(6px);animation:ugFloat 7s ease-in-out infinite alternate;pointer-events:none}
.ug-orb.b{background:radial-gradient(circle,rgba(169,112,255,.35),transparent 65%);top:auto;bottom:-80px;left:-50px;right:auto;animation-duration:9s}
@keyframes ugFloat{to{transform:translate(-30px,24px) scale(1.15)}}
.ug-x{position:absolute;top:12px;right:12px;z-index:2}
.ug-badge{position:relative;z-index:1;display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:linear-gradient(145deg,#2fbf71,#0f5a33);box-shadow:0 10px 30px rgba(47,191,113,.45)}
.ug-badge .ic{width:28px;height:28px;color:#fff}
.ug-ring{position:absolute;inset:-6px;border-radius:22px;background:conic-gradient(from 0deg,transparent,rgba(255,255,255,.7),transparent 30%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;padding:2px;animation:ugSpin 3s linear infinite}
@keyframes ugSpin{to{transform:rotate(360deg)}}
.ug-ht{position:relative;z-index:1}
.ug-ht h2{margin:0;font:800 26px/1 var(--display)}
.ug-ht p{margin:4px 0 0;font-size:13px;color:#cfe6da}
.ug-odds{position:relative;z-index:1;grid-column:1/-1;display:flex;gap:8px}
.ug-odds span{flex:1;display:flex;flex-direction:column;align-items:center;padding:8px 4px;border-radius:12px;background:rgba(255,255,255,.07);border:1px solid color-mix(in srgb,var(--uc) 45%,transparent);font-size:11.5px;color:#d9e2dd;
  animation:ugUp .5s calc(.15s + var(--i) * .08s) both cubic-bezier(.2,.9,.25,1.1)}
.ug-odds b{font:800 17px var(--mono);color:var(--uc)}
@keyframes ugUp{from{opacity:0;transform:translateY(12px)}}
/* сетка машин */
.ug-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-bottom:84px}
.ug-card{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:10px 10px 11px;border-radius:18px;text-align:left;color:var(--text);
  background:linear-gradient(180deg,color-mix(in srgb,var(--rc) 14%,transparent),transparent 55%),var(--s1);border:1px solid color-mix(in srgb,var(--rc) 30%,var(--line));
  transition:transform .25s cubic-bezier(.2,.9,.25,1.2),border-color .2s,box-shadow .25s;animation:ugUp .45s calc(var(--i) * .04s) both cubic-bezier(.2,.9,.25,1)}
.ug-card:active{transform:scale(.97)}
.ug-glow{position:absolute;left:50%;top:22px;width:120%;height:70px;margin-left:-60%;border-radius:50%;background:radial-gradient(closest-side,color-mix(in srgb,var(--rc) 40%,transparent),transparent);opacity:.7;pointer-events:none}
.ug-ph{position:relative;width:100%;height:78px;display:grid;place-items:center}
.ug-ph img{max-width:100%;max-height:100%;object-fit:contain;filter:drop-shadow(0 10px 10px rgba(0,0,0,.45));transition:transform .3s}
.ug-nm{position:relative;font-size:12.5px;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:30px}
.ug-card small{position:relative;font-size:11px;color:var(--muted)}
.ug-val{position:relative;margin-top:3px;font:800 14px var(--mono)}
.ug-tick{position:absolute;top:8px;right:8px;z-index:2;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#2fbf71;color:#fff;transform:scale(0);transition:transform .25s cubic-bezier(.2,1.6,.4,1)}
.ug-tick .ic{width:14px;height:14px}
.ug-card.on{border-color:#2fbf71;box-shadow:0 0 0 1px #2fbf71 inset,0 12px 30px -10px rgba(47,191,113,.55);transform:translateY(-3px)}
.ug-card.on .ug-tick{transform:scale(1)}
.ug-card.on .ug-ph img{transform:scale(1.06)}
.ug-card.pop{animation:ugPop .35s cubic-bezier(.2,1.6,.4,1)}
@keyframes ugPop{40%{transform:scale(.95)}}
/* нижняя панель ставки */
.ug-bar{position:sticky;bottom:0;z-index:5;margin:0 -4px;display:flex;align-items:center;gap:10px;padding:10px 10px 10px 12px;border-radius:20px;
  background:rgba(18,20,19,.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(47,191,113,.4);box-shadow:0 -10px 30px rgba(0,0,0,.45);
  transform:translateY(130%);opacity:0;transition:transform .35s cubic-bezier(.2,.9,.25,1.1),opacity .25s;margin-top:-84px}
.ug-bar.show{transform:none;opacity:1}
.ug-stack{display:flex;align-items:center}
.ug-stack span{width:46px;height:30px;margin-left:-14px;display:grid;place-items:center;border-radius:9px;background:#24262b;box-shadow:0 0 0 2px rgba(18,20,19,.95)}
.ug-stack span:first-child{margin-left:0}
.ug-stack img{max-width:92%;max-height:92%;object-fit:contain}
.ug-stack b{margin-left:4px;font:800 12px var(--mono);color:#9fe0bd}
.ug-sum{flex:1;min-width:0;display:flex;flex-direction:column}
.ug-sum small{font-size:11px;color:var(--muted)}
.ug-sum b{font:800 16px var(--mono)}
.ug-next{display:flex;align-items:center;gap:2px;padding:12px 14px;border-radius:14px;border:0;background:#2fbf71;color:#06150d;font-weight:900;font-size:14px;box-shadow:0 8px 20px rgba(47,191,113,.4)}
.ug-next .ic{width:18px;height:18px}
/* экран шанса */
.ug-stake{display:flex;align-items:center;gap:6px}
.ug-stake>span{width:62px;height:40px;margin-left:-16px;display:grid;place-items:center;border-radius:12px;background:var(--s1);border:1px solid color-mix(in srgb,var(--rc) 45%,var(--line));animation:ugUp .4s calc(var(--i) * .06s) both}
.ug-stake>span:first-child{margin-left:0}
.ug-stake img{max-width:92%;max-height:92%;object-fit:contain}
.ug-stake>b{font:800 12px var(--mono);color:var(--muted)}
.ug-stake-t{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end}
.ug-stake-t small{font-size:11px;color:var(--muted)}
.ug-stake-t b{font:800 17px var(--mono)}
.ug-gauge{position:relative;width:min(300px,100%);margin:0 auto}
.ug-gauge svg{display:block;width:100%;overflow:visible}
.ug-g-bg,.ug-g-fg{fill:none;stroke-width:16;stroke-linecap:round}
.ug-g-bg{stroke:rgba(255,255,255,.08)}
.ug-g-fg{stroke:var(--uc);filter:drop-shadow(0 0 10px var(--uc));transition:stroke-dashoffset .5s cubic-bezier(.2,.9,.25,1),stroke .3s}
.ug-g-c{position:absolute;left:0;right:0;bottom:2px;display:flex;flex-direction:column;align-items:center}
.ug-g-c b{font:800 44px/1 var(--mono);color:var(--uc);text-shadow:0 0 24px color-mix(in srgb,var(--uc) 55%,transparent);transition:color .3s}
.ug-g-c span{font-size:13px;color:var(--muted);margin-top:4px}
.ug-chips{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}
.ug-chips button{padding:8px 12px;border-radius:12px;border:1px solid color-mix(in srgb,var(--uc) 45%,var(--line));background:color-mix(in srgb,var(--uc) 10%,var(--s1));color:var(--text);font:800 13px var(--mono);transition:transform .15s,background .2s}
.ug-chips button.on{background:var(--uc);color:#071009;border-color:var(--uc);transform:translateY(-2px);box-shadow:0 8px 18px -6px var(--uc)}
.ug-slider{display:flex;flex-direction:column;gap:4px}
.ug-slider span{display:flex;justify-content:space-between;font-size:11px;color:var(--muted)}
.ug-slider input[type=range]{--p:50%;height:8px;border-radius:4px;background:linear-gradient(90deg,var(--uc) var(--p),rgba(255,255,255,.1) var(--p))}
.ug-slider input[type=range]::-webkit-slider-thumb{width:26px;height:26px;background:#fff;box-shadow:0 0 0 6px color-mix(in srgb,var(--uc) 35%,transparent),0 4px 10px rgba(0,0,0,.5)}
.ug-slider input[type=range]::-moz-range-thumb{width:26px;height:26px;background:#fff;box-shadow:0 0 0 6px color-mix(in srgb,var(--uc) 35%,transparent)}
.ug-slider input[type=range]::-moz-range-progress{background:var(--uc);height:8px;border-radius:4px}
.ug-win{position:relative;overflow:hidden;display:flex;align-items:center;gap:10px;padding:14px;border-radius:18px;
  background:linear-gradient(115deg,color-mix(in srgb,var(--uc) 22%,transparent),transparent 70%),var(--s1);border:1px solid color-mix(in srgb,var(--uc) 45%,var(--line));transition:border-color .3s,background .3s}
.ug-win-shine{position:absolute;inset:0;background:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.1) 50%,transparent 65%);transform:translateX(-100%);animation:shSweep 3.4s ease-in-out infinite;pointer-events:none}
.ug-win-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.ug-win-t small{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.ug-win-t b{font:800 22px var(--mono)}
.ug-win-t span{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ug-win-ph{flex:none;width:130px;height:70px;display:grid;place-items:center}
.ug-ex{display:grid;place-items:center;width:100%;height:100%;animation:ugEx .5s cubic-bezier(.2,.9,.25,1.1)}
.ug-ex img{max-width:100%;max-height:100%;object-fit:contain;filter:drop-shadow(0 8px 10px rgba(0,0,0,.45))}
@keyframes ugEx{from{opacity:0;transform:translateX(26px) scale(.92)}}
.ug-go{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;gap:8px;padding:16px;border-radius:16px;border:0;background:var(--uc);color:#06120b;font:900 17px var(--body);box-shadow:0 12px 30px -8px var(--uc);transition:background .3s,box-shadow .3s}
.ug-go span{display:flex;align-items:center;gap:8px;position:relative}
.ug-go .ic{width:20px;height:20px}
.ug-go-shine{position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.45) 50%,transparent 70%);transform:translateX(-100%);animation:shSweep 2.6s ease-in-out infinite}
.ug-go:active{transform:scale(.98)}
/* колесо */
.ug3{align-items:stretch}
.ug-wheel{--win:180deg;position:relative;width:min(280px,82vw);aspect-ratio:1;margin:6px auto 0;border-radius:50%;display:grid;place-items:center;
  background:radial-gradient(circle at 50% 50%,#15171b 0 56%,transparent 57%),conic-gradient(var(--uc) 0 var(--win),#272a31 var(--win) 360deg);
  box-shadow:0 0 0 8px #121417,0 0 0 9px rgba(255,255,255,.08),0 0 60px color-mix(in srgb,var(--uc) 40%,transparent)}
.ug-ticks{position:absolute;inset:-14px;border-radius:50%;background:repeating-conic-gradient(rgba(255,255,255,.35) 0 1deg,transparent 1deg 10deg);-webkit-mask:radial-gradient(circle,transparent 66%,#000 67%,#000 71%,transparent 72%);mask:radial-gradient(circle,transparent 66%,#000 67%,#000 71%,transparent 72%)}
.ug-sector{position:absolute;inset:0;border-radius:50%;background:conic-gradient(color-mix(in srgb,var(--uc) 70%,#fff) 0 var(--win),transparent var(--win));-webkit-mask:radial-gradient(circle,transparent 62%,#000 63%,#000 66%,transparent 67%);mask:radial-gradient(circle,transparent 62%,#000 63%,#000 66%,transparent 67%);opacity:.8}
.ug-hole{position:absolute;inset:22%;border-radius:50%;background:radial-gradient(circle at 50% 35%,#202329,#0d0e11);box-shadow:inset 0 4px 16px rgba(0,0,0,.6)}
.ug-needle{position:absolute;left:50%;top:50%;z-index:3;width:6px;height:46%;margin-left:-3px;margin-top:-46%;transform-origin:50% 100%;transition:transform 4.1s cubic-bezier(.1,.72,.12,1)}
.ug-needle b{position:absolute;inset:0;border-radius:3px 3px 1px 1px;background:linear-gradient(#fff,#cfd3dc);box-shadow:0 0 14px rgba(255,255,255,.8)}
.ug-needle::after{content:'';position:absolute;left:50%;bottom:-11px;width:22px;height:22px;margin-left:-11px;border-radius:50%;background:#fff;box-shadow:0 0 0 5px rgba(255,255,255,.15)}
.ug-wc{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;margin-top:44%}
.ug-wc b{font:800 26px var(--mono)}
.ug-wc small{font-size:12px;color:var(--muted)}
.ug-wheel.spin{animation:ugPulse 1s ease-in-out infinite alternate}
@keyframes ugPulse{to{box-shadow:0 0 0 8px #121417,0 0 0 9px rgba(255,255,255,.08),0 0 90px color-mix(in srgb,var(--uc) 65%,transparent)}}
.ug-wheel.won{animation:ugWon .7s cubic-bezier(.2,1.6,.4,1)}
@keyframes ugWon{50%{transform:scale(1.06)}}
.ug-wheel.lost{--uc:#ff4d5e;animation:ugShake .5s}
@keyframes ugShake{20%,60%{transform:translateX(-8px)}40%,80%{transform:translateX(8px)}}
.ug-wheel.lost .ug-wc b{color:#ff4d5e}
.ug-burn{display:flex;justify-content:center;gap:6px}
.ug-burn span{position:relative;width:54px;height:34px;display:grid;place-items:center;border-radius:10px;background:var(--s1)}
.ug-burn img{max-width:90%;max-height:90%;object-fit:contain}
.ug-burn.burn span{animation:ugBurn 1.1s calc(var(--i) * .1s) both}
.ug-burn.burn span::after{content:'🔥';position:absolute;bottom:2px;font-size:18px;animation:ugFire .6s ease-in-out infinite alternate}
@keyframes ugBurn{to{filter:grayscale(1) brightness(.35);transform:translateY(6px) scale(.9)}}
@keyframes ugFire{to{transform:translateY(-4px) scale(1.15)}}
.ug-after{animation:ugUp .4s both}
/* раскрытие награды */
.ug4{gap:12px}
.ug-rv-top{display:flex;align-items:center;justify-content:space-between;padding-top:14px}
.ug-rv-tag{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:var(--uc);color:#06120b;font:900 12px var(--mono);letter-spacing:.04em}
.ug-rv-tag .ic{width:15px;height:15px}
.ug-reveal{position:relative;perspective:900px;padding:6px 0}
.ug-rays{position:absolute;left:50%;top:44%;width:520px;height:520px;margin:-260px 0 0 -260px;background:repeating-conic-gradient(color-mix(in srgb,var(--rc) 35%,transparent) 0 8deg,transparent 8deg 20deg);
  -webkit-mask:radial-gradient(circle,#000 10%,transparent 62%);mask:radial-gradient(circle,#000 10%,transparent 62%);animation:ugSpin 14s linear infinite;pointer-events:none}
.ug-rv-card{position:relative;padding:12px 14px 16px;border-radius:22px;background:linear-gradient(180deg,color-mix(in srgb,var(--rc) 22%,#16181c),#121417);border:1px solid color-mix(in srgb,var(--rc) 60%,transparent);
  box-shadow:0 20px 50px -14px color-mix(in srgb,var(--rc) 60%,transparent);animation:ugFlip .9s cubic-bezier(.2,.9,.25,1.05) both;text-align:center}
@keyframes ugFlip{from{transform:rotateY(-100deg) scale(.7);opacity:0}60%{opacity:1}}
.ug-rv-ph{position:relative;height:150px}
.ug-rv-ph .cg,.ug-rv-ph>img{height:150px}
.ug-rv-ph img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 16px 16px rgba(0,0,0,.5))}
.ug-rv-rar{display:inline-block;margin-top:6px;padding:3px 10px;border-radius:999px;background:var(--rc);color:#0b0b0d;font:900 11px var(--mono);letter-spacing:.08em;text-transform:uppercase}
.ug-rv-card h3{margin:8px 0 2px;font:800 20px/1.15 var(--display)}
.ug-rv-card q{font-size:12.5px;color:var(--muted)}
.ug-rv-math{display:flex;align-items:center;justify-content:center;gap:12px;padding:12px;border-radius:16px;background:var(--s1);border:1px solid var(--line)}
.ug-rv-math span{display:flex;flex-direction:column;align-items:center}
.ug-rv-math small{font-size:11px;color:var(--muted)}
.ug-rv-math b{font:800 16px var(--mono)}
.ug-rv-math .big b{font-size:22px;color:var(--uc)}
.ug-rv-math i .ic{width:20px;height:20px;color:var(--muted)}
@media (prefers-reduced-motion: reduce){.ug-orb,.ug-ring,.ug-win-shine,.ug-go-shine,.ug-rays,.ug-wheel.spin,.ug-card,.ug-odds span,.ug-rv-card{animation:none}.ug-needle{transition:none}}
.ug-needle b{top:0;bottom:46%;border-radius:3px}
.ug-needle::after{bottom:auto;top:52%;width:12px;height:12px;margin-left:-6px;background:color-mix(in srgb,var(--uc) 60%,#fff);box-shadow:0 0 12px var(--uc)}
.ug-wc{margin-top:0}
.ug-wc b{font-size:30px}

/* =====================================================================
   Оптимизация (2026-10-20): дешёвые анимации и лёгкий режим
   ===================================================================== */
/* фон: вместо трёх огромных кругов с blur(90px) — мягкие радиальные градиенты, движение — только transform на видеокарте */
.bg i{filter:none;opacity:.22;will-change:transform}
.bg i:nth-child(1){background:radial-gradient(closest-side,#EC562E,transparent)}
.bg i:nth-child(2){background:radial-gradient(closest-side,#3478F7,transparent)}
.bg i:nth-child(3){background:radial-gradient(closest-side,#F3D2C6,transparent);opacity:.09}
/* пульсации тенью → масштаб и прозрачность (тень статична, перерисовки нет) */
.ad.rare-epic,.ad.rare-legendary{animation:none}
@keyframes marker{50%{opacity:.55}}
@keyframes mtGo{50%{transform:translateX(2px) scale(1.06)}}
@keyframes tsarWin{to{transform:scale(1.05)}}
@keyframes ugPulse{to{transform:scale(1.012)}}
/* бегущие полосы и эквалайзер — сдвиг/масштаб вместо смены фона и высоты */
.photo.scanning::after{left:-40%;animation-name:scanX}
@keyframes scanX{to{transform:translateX(440%)}}
.gv-prog i::after{inset:0 0 0 -22px;animation-name:gvStripesX}
@keyframes gvStripesX{to{transform:translateX(22px)}}
.mt-eq i{height:100%;transform-origin:50% 100%;transform:scaleY(.3)}
@keyframes eq{to{transform:scaleY(1)}}
/* магазин: сетка фона стоит на месте (раньше двигался фон — перерисовка каждый кадр) */
.sh-grid{animation:none}
/* длинные списки: браузер не рисует карточки за пределами экрана */
/* content-visibility:auto убран (26.10): на Android при прокрутке карточки за краем не успевали отрисоваться — чёрные полосы сверху и снизу */
.alcard,.dad-m{contain-intrinsic-size:auto 120px}
/* миниатюры в списках — без теней-фильтров (drop-shadow пересчитывается на каждом кадре прокрутки/анимации) */
.ug-ph img,.ug-stake img,.ug-stack img,.ug-ex img{filter:none}

/* лёгкий режим: слабый телефон или «Быстрые анимации» в настройках — без декоративных бесконечных эффектов, размытия стекла и теней-фильтров */
.lite .bg i{animation:none}
.lite .top,.lite .dock,.lite .ug-bar{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
.lite .top{background:#0b0909!important}
.lite .dock{background:#141110!important}
.lite .ug-bar{background:#141614!important}
.lite .ps-shine,.lite .nw-shine,.lite .nw-glow,.lite .ug-orb,.lite .ug-ring,.lite .ug-win-shine,.lite .ug-go-shine,.lite .ug-rays,.lite .ps-vip::after,.lite .sh-shine,
.lite .pv-lights b,.lite .tk-raid,.lite .fun-candles i::before,.lite .call.talk .call-ava>i{animation:none!important}
.lite .ug-wheel.spin,.lite .mt-go,.lite .ps-cell.ready,.lite .ps-claim{animation:none!important}
.lite .pp-car,.lite .ps-car,.lite .lg-car img,.lite .ug-rv-ph img,.lite .ug-win-ph img,.lite .ug-ph img,.lite .call-p,.lite .pv-face{filter:none!important;box-shadow:none}
.lite .ug-card,.lite .nw-it,.lite .ug-odds span{animation-duration:.01ms!important}
@keyframes rcIn{from{opacity:0;transform:scale(1.04)}}

/* ---------- автосходка: современный минималистичный стиль (парковка — сетка карточек, карточка игрока — машина крупно) ---------- */
.ms-head{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin:2px 2px 0}
.ms-ttl h2{font-size:28px;letter-spacing:-.015em;line-height:1}
.ms-live{display:inline-flex;align-items:center;gap:7px;margin-top:8px;font-size:12px;font-weight:700;color:#b9b2ad}
.ms-live i{width:7px;height:7px;border-radius:50%;background:#3DBE5A;box-shadow:0 0 0 3px rgba(61,190,90,.18)}
.ms-acts{display:flex;gap:8px;flex:none}
.ms-ref{width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.08);background:#141518;display:grid;place-items:center;color:#d9d3ce}
.ms-ref.spin .ic{animation:msSpin .8s linear infinite}
@keyframes msSpin{to{transform:rotate(360deg)}}
.ms-join{height:42px;padding:0 16px;border-radius:999px;border:0;background:#f3efe9;color:#111;font-weight:800;font-size:14px;display:inline-flex;align-items:center;gap:6px}
.ms-join .ic{width:18px;height:18px}
.ms-join:active,.ms-ref:active{transform:scale(.95)}

/* звезда сходки */
.ms-star{position:relative;display:grid;grid-template-columns:1fr 1.15fr;align-items:center;gap:8px;width:100%;text-align:left;border:1px solid rgba(255,255,255,.07);
  border-radius:24px;padding:16px 12px 16px 18px;overflow:hidden;background:#111216;color:inherit;animation:msIn .45s both}
.ms-star::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(70% 110% at 82% 55%,color-mix(in srgb,var(--acc) 34%,transparent),transparent 68%)}
.ms-star-l{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:7px;min-width:0}
.ms-star small{font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#F2C53D}
.ms-star b{font:800 17px/1.15 var(--body)}
.ms-star .ms-who{gap:7px}
.ms-star .ms-who em{font-style:normal;font-size:12px;color:#b9b2ad;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ms-likes{display:inline-flex;align-items:center;gap:5px;font:800 12px var(--mono);padding:5px 10px;border-radius:999px;background:rgba(255,79,154,.14);color:#FF6FAE}
.ms-likes .ic{width:14px;height:14px;fill:currentColor}
.ms-star-car{position:relative;aspect-ratio:2/1;background:radial-gradient(48% 12% at 50% 88%,rgba(0,0,0,.6),transparent)}
.ms-star-car img{width:100%;height:100%;object-fit:contain}

/* парковка */
.ms-lot{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ms-card{position:relative;display:flex;flex-direction:column;gap:4px;padding:10px 10px 12px;border-radius:22px;background:#111216;border:1px solid rgba(255,255,255,.06);
  overflow:hidden;cursor:pointer;text-align:left;color:inherit;animation:msIn .45s calc(var(--i, 0) * 40ms) both;transition:transform .15s,border-color .2s}
.ms-card:active{transform:scale(.97)}
.ms-card::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(90% 65% at 50% 48%,color-mix(in srgb,var(--acc) 22%,transparent),transparent 72%)}
.ms-card.mine{border-color:color-mix(in srgb,var(--acc) 55%,transparent)}
.ms-card.bg-night::before,.ms-top.bg-night::before{background:radial-gradient(90% 70% at 50% 30%,rgba(70,100,220,.32),transparent 72%)}
.ms-card.bg-neon,.ms-top.bg-neon{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--acc) 70%,transparent),inset 0 0 28px color-mix(in srgb,var(--acc) 22%,transparent)}
.ms-card.bg-carbon,.ms-top.bg-carbon{background:repeating-linear-gradient(45deg,#16171b 0 6px,#111216 6px 12px)}
.ms-card.bg-sunset::before,.ms-top.bg-sunset::before{background:linear-gradient(180deg,rgba(255,122,60,.26),rgba(177,58,138,.16) 55%,transparent)}
.ms-card.bg-clean::before,.ms-top.bg-clean::before{display:none}
.ms-row{position:relative;display:flex;align-items:center;gap:6px;min-height:26px}
.ms-num{font:700 11px var(--mono);color:#6f6a66;letter-spacing:.08em}
.ms-emo{font-style:normal;font-size:14px;line-height:1}
.ms-song{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:rgba(157,221,255,.12);color:#9df}
.ms-song .ic{width:12px;height:12px}
.ms-like{margin-left:auto;display:inline-flex;align-items:center;gap:4px;height:26px;padding:0 9px;border-radius:999px;border:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.35);font:800 11px var(--mono);color:#d9d3ce}
.ms-like .ic{width:13px;height:13px}
.ms-like.on{background:rgba(255,79,154,.16);border-color:rgba(255,79,154,.35);color:#FF6FAE}
.ms-like.on .ic{fill:currentColor}
.ms-like.pop{animation:msPop .35s}
.ms-like:disabled{opacity:1}
.ms-car{position:relative;aspect-ratio:2/1;background:radial-gradient(46% 11% at 50% 90%,rgba(0,0,0,.6),transparent)}
.ms-car img{width:100%;height:100%;object-fit:contain}
.ms-star-car.flip img,.ms-car.flip img,.ms-hero.flip img,.ms-cc-ph.flip img{transform:scaleX(-1)}
.ms-who{position:relative;display:flex;align-items:center;gap:8px;min-width:0}
.ms-who>span{min-width:0}
.ms-who b{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ms-who small{display:block;font-size:11px;color:#8b8682;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ms-card .mt-ava,.ms-star .mt-ava{width:26px;height:26px;box-shadow:0 0 0 2px #111216,0 0 0 3px color-mix(in srgb,var(--acc,#fff) 70%,transparent)}
.ms-vac{align-items:center;justify-content:center;gap:8px;min-height:150px;border:1.5px dashed rgba(255,255,255,.1);background:transparent;color:#77716d}
.ms-vac::before{display:none}
.ms-vac .ms-num{position:absolute;left:12px;top:12px}
.ms-vac i{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.04);color:#bdb6b1}
.ms-vac i .ic{width:18px;height:18px}
.ms-vac small{font-size:12px;font-weight:700}
.ms-hint{text-align:center;font-size:12px;line-height:1.5;color:#77716d;margin:4px 18px 0}
@keyframes msIn{from{opacity:0;transform:translateY(10px)}}
@keyframes msPop{50%{transform:scale(1.18)}}

/* карточка игрока */
.ms-sheet{display:flex;flex-direction:column;gap:14px}
.ms-top{position:relative;border-radius:26px;overflow:hidden;background:#111216;border:1px solid rgba(255,255,255,.06);padding:46px 8px 12px;min-height:60px}
.ms-top::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(80% 75% at 50% 60%,color-mix(in srgb,var(--acc) 30%,transparent),transparent 72%)}
.ms-x{position:absolute;right:10px;top:10px;z-index:2;background:rgba(0,0,0,.4);border-color:rgba(255,255,255,.08)}
.ms-hero{position:relative}
.ms-id{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center}
.ms-id .mt-ava.big{width:54px;height:54px;font-size:22px;box-shadow:0 0 0 2px #000,0 0 0 4px var(--acc)}
.ms-id .mt-ava.big::before,.ms-id .mt-ava.big::after{display:none}
.ms-id-t{min-width:0}
.ms-id h2{font-size:20px;line-height:1.15;overflow-wrap:anywhere}
.ms-id p{margin:4px 0 0;font-size:12px;color:#8b8682}
.ms-bigl{display:inline-flex;align-items:center;gap:6px;height:44px;padding:0 16px;border-radius:999px;border:1px solid rgba(255,255,255,.1);background:#141518;font:800 14px var(--mono);color:#f1ebe6}
.ms-bigl .ic{width:18px;height:18px}
.ms-bigl.on{background:#FF4F9A;border-color:#FF4F9A;color:#fff}
.ms-bigl.on .ic{fill:#fff}
.ms-bigl.pop{animation:msPop .35s}
.ms-bigl:disabled{opacity:1}
.ms-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:-4px}
.ms-tags span{padding:6px 11px;border-radius:999px;font-size:12px;font-weight:700;background:color-mix(in srgb,var(--acc) 15%,transparent);color:color-mix(in srgb,var(--acc) 85%,#fff)}
.ms-npc{margin:0;font-size:12px;line-height:1.45;color:#a9b2ff;background:rgba(80,100,255,.09);border-radius:14px;padding:10px 12px}
.ms-q{display:block;font-size:14px;line-height:1.45;color:#d9d3ce;border-left:2px solid var(--acc);padding:2px 0 2px 12px}
.ms-h{display:flex;align-items:center;gap:8px;font:800 12px var(--display);letter-spacing:.08em;text-transform:uppercase;color:#bdb6b1;margin:6px 0 -4px}
.ms-h span{font:700 11px var(--mono);letter-spacing:0;color:#77716d;background:#16171b;border-radius:999px;padding:3px 8px}
.ms-cars{display:flex;flex-direction:column;gap:10px}
.ms-cc{border-radius:20px;background:#111216;border:1px solid rgba(255,255,255,.06);padding:14px;display:flex;flex-direction:column;gap:12px;animation:msIn .4s calc(var(--i) * 60ms) both}
.ms-cc-ph{border-radius:14px;overflow:hidden;background:radial-gradient(70% 80% at 50% 60%,#1c1e24,#111216)}
.ms-cc-t b{display:block;font-size:15px}
.ms-cc-t q{display:block;margin-top:4px;font-size:12px;line-height:1.45;color:#8b8682}
.ms-cc-st{display:grid;grid-template-columns:1fr 1fr 1.3fr;border-top:1px solid rgba(255,255,255,.06);padding-top:12px}
.ms-cc-st span{padding:0 10px;border-left:1px solid rgba(255,255,255,.06);min-width:0}
.ms-cc-st span:first-child{padding-left:0;border-left:0}
.ms-cc-st small{display:block;font-size:10px;color:#77716d;text-transform:uppercase;letter-spacing:.06em;margin-bottom:3px}
.ms-cc-st b{display:block;font:700 13px var(--mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ms-rv-form{display:flex;gap:8px}
.ms-rv-form input{flex:1;min-width:0;height:46px;border-radius:999px;border:1px solid rgba(255,255,255,.08);background:#141518;color:inherit;padding:0 16px;font:inherit;font-size:14px}
.ms-rv-form input:focus{outline:none;border-color:color-mix(in srgb,var(--acc) 60%,transparent)}
.ms-rv-form button{width:46px;height:46px;flex:none;border-radius:50%;border:0;background:var(--acc);color:#111;display:grid;place-items:center}
.ms-rvs{display:flex;flex-direction:column}
.ms-rv{display:flex;gap:10px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.05)}
.ms-rv:last-child{border-bottom:0}
.ms-rv b{font-size:13px}
.ms-rv p{margin:3px 0 0;font-size:13px;line-height:1.45;color:#bdb6b1}
.ms-rv.mine b{color:var(--acc)}
.ms-empty{margin:0;font-size:13px;color:#77716d;text-align:center;padding:8px 0}
.mj-prev .ms-card{width:62%;cursor:default}
.lite .ms-card,.lite .ms-star,.lite .ms-cc{animation:none}
.ms-hero,.ms-cc-ph{aspect-ratio:16/9}
.ms-hero .cg-dots{bottom:-2px}
.ms-hero.flip .cg-s img,.ms-cc-ph.flip .cg-s img{transform:scaleX(-1)}
.ms-ttl{min-width:0}
.ms-ttl h2{font-size:clamp(22px,7vw,28px)}
.ms-join{padding:0 14px}
.ms-hero{overflow:hidden;border-radius:16px}
.ms-ttl h2{font-size:clamp(20px,6.2vw,28px);white-space:nowrap}
.ms-hero,.ms-cc-ph{position:relative}
.ms-hero>.cg,.ms-cc-ph>.cg,.ms-hero>img,.ms-cc-ph>img,.ms-hero>.noimg,.ms-cc-ph>.noimg{position:absolute;inset:0;width:100%;height:100%}
.ms-hero>img,.ms-cc-ph>img{object-fit:contain}

/* ---------- рейтинг: своё место сверху и пьедестал топ-3 (золото, серебро, бронза) ---------- */
.tp-me{display:grid;grid-template-columns:auto auto 1fr auto;align-items:center;gap:10px;padding:12px 14px;border-radius:18px;margin-bottom:8px;
  background:linear-gradient(110deg,rgba(236,86,46,.22),rgba(236,86,46,.04) 60%),#14100f;border:1px solid rgba(236,86,46,.45);animation:tpIn .4s both}
.tp-me.p1{background:linear-gradient(110deg,rgba(242,197,61,.25),transparent 60%),#14120c;border-color:rgba(242,197,61,.6)}
.tp-me.p2{background:linear-gradient(110deg,rgba(207,211,218,.2),transparent 60%),#121314;border-color:rgba(207,211,218,.5)}
.tp-me.p3{background:linear-gradient(110deg,rgba(208,138,78,.22),transparent 60%),#14100d;border-color:rgba(208,138,78,.55)}
.tp-me.none{grid-template-columns:1fr;border-style:dashed;background:#121010;border-color:var(--line)}
.tp-me-pl{display:flex;flex-direction:column;line-height:1;min-width:52px}
.tp-me-pl small{font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.tp-me-pl b{font:800 22px var(--body);margin-top:4px;color:var(--tang)}
.tp-me.p1 .tp-me-pl b{color:#F2C53D}.tp-me.p2 .tp-me-pl b{color:#dfe3ea}.tp-me.p3 .tp-me-pl b{color:#d08a4e}
.tp-me-t{min-width:0}
.tp-me-t b{display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tp-me-t small{display:block;font-size:11px;color:#b9aaa3;margin-top:2px}
.tp-me-v{font:700 13px var(--mono);white-space:nowrap}

.tp-av{position:relative;flex:none;width:38px;height:38px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:#2a2422;color:#fff;font:800 15px var(--body)}
.tp-av i{font-style:normal}
.tp-av img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

.tp-podium{display:grid;grid-template-columns:1fr 1.15fr 1fr;gap:8px;align-items:end;padding:30px 2px 4px;margin-bottom:6px}
.tp-pod{--mc:#F2C53D;position:relative;display:flex;flex-direction:column;align-items:center;gap:3px;text-align:center;min-width:0}
.tp-pod.silver{--mc:#cfd3da}.tp-pod.bronze{--mc:#d08a4e}
.tp-pod .tp-av.big{width:60px;height:60px;font-size:24px;color:#111;overflow:visible;
  background:radial-gradient(circle at 30% 30%,#fff 0,var(--mc) 48%,color-mix(in srgb,var(--mc) 55%,#000));
  box-shadow:0 0 0 3px #000,0 0 0 5px var(--mc),0 10px 24px -6px var(--mc);animation:tpPop .55s calc(.25s + var(--d) * .15s) cubic-bezier(.3,1.6,.4,1) both}
.tp-pod .tp-av.big img{border-radius:50%}
.pod-1 .tp-av.big{width:76px;height:76px;font-size:30px}
/* свечение вокруг первого места */
.pod-1 .tp-av.big::after{content:"";position:absolute;inset:-8px;border-radius:50%;border:2px solid var(--mc);opacity:0;animation:tpRing 2.4s 1s ease-out infinite}
.tp-pod b{font-size:13px;line-height:1.15;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:6px}
.tp-pod .tp-car{font-size:10.5px;color:var(--muted);max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tp-pod .tp-val{font:700 12px var(--mono);color:var(--mc)}
.tp-pod.me b{color:var(--mc)}
.tp-stand{position:relative;overflow:hidden;width:100%;margin-top:6px;border-radius:14px 14px 4px 4px;display:flex;justify-content:center;padding-top:8px;
  background:linear-gradient(180deg,var(--mc),color-mix(in srgb,var(--mc) 50%,#000));box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 14px 30px -12px var(--mc);
  transform-origin:bottom;animation:tpRise .6s calc(var(--d) * .12s) cubic-bezier(.2,1.1,.3,1) both}
.tp-stand em{font:800 26px var(--body);font-style:normal;color:rgba(0,0,0,.72);text-shadow:0 1px 0 rgba(255,255,255,.35)}
.pod-1 .tp-stand{height:100px}.pod-2 .tp-stand{height:72px}.pod-3 .tp-stand{height:56px}
/* блик, пробегающий по тумбе */
.tp-shine{position:absolute;top:0;bottom:0;left:-60%;width:40%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-18deg);
  animation:tpShine 3.6s calc(1.2s + var(--d) * .5s) ease-in-out infinite}
.tp-crown{position:absolute;top:-30px;z-index:2;font-size:28px;line-height:1;filter:drop-shadow(0 0 10px rgba(242,197,61,.8));animation:tpCrown 2.4s ease-in-out infinite,tpPop .5s .6s both}
/* искры вокруг первого места */
.tp-spark{position:absolute;top:-6px;left:50%;width:110px;height:100px;margin-left:-55px;pointer-events:none}
.tp-spark b{position:absolute;width:5px;height:5px;border-radius:50%;background:#FFE58A;box-shadow:0 0 8px #F2C53D;opacity:0;animation:tpSpark 2.6s ease-in-out infinite}
.tp-spark b:nth-child(1){left:6%;top:30%;animation-delay:.2s}.tp-spark b:nth-child(2){left:88%;top:22%;animation-delay:.9s}
.tp-spark b:nth-child(3){left:18%;top:72%;animation-delay:1.5s}.tp-spark b:nth-child(4){left:80%;top:66%;animation-delay:.5s}.tp-spark b:nth-child(5){left:50%;top:0;animation-delay:1.9s}
.tp-pod.empty{opacity:.45}
.tp-pod.empty .tp-av.big{background:#2a2422;color:var(--muted)}
@keyframes tpIn{from{opacity:0;transform:translateY(-8px)}}
@keyframes tpRise{from{transform:scaleY(0)}}
@keyframes tpPop{from{opacity:0;transform:scale(.3)}}
@keyframes tpRing{0%{opacity:.8;transform:scale(.9)}100%{opacity:0;transform:scale(1.35)}}
@keyframes tpShine{0%,55%{left:-60%}100%{left:130%}}
@keyframes tpCrown{50%{transform:translateY(-4px) rotate(-7deg)}}
@keyframes tpSpark{0%,100%{opacity:0;transform:scale(.4)}50%{opacity:1;transform:scale(1.2) translateY(-6px)}}
.lite .tp-shine,.lite .tp-spark,.lite .pod-1 .tp-av.big::after{display:none}
@media (prefers-reduced-motion:reduce){.tp-stand,.tp-av.big,.tp-crown,.tp-me{animation:none}.tp-shine,.tp-spark{display:none}}
/* после пьедестала строки начинаются с 4-го места — без медальных цветов */
.tp-podium~.trow .pl{color:inherit}

/* обучение на любом экране: кнопки всегда внизу, страница прокручивается внутри; на низких экранах всё компактнее */
.tu{height:100%;height:100dvh}
.tu-track{min-height:0}
.tu-page{min-height:0;height:100%;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-bottom:12px}
.tu-foot{flex:none;position:relative;z-index:2}
.tu-top{flex:none}
.tu-skip{width:auto;padding:0 12px;font:700 12px var(--body)}
@media (max-height:720px){
  .tu-art{height:min(24vh,170px);margin-top:0}
  .tu-ring{width:min(44vw,170px)}
  .tu-page{gap:8px;padding-top:6px}
  .tu-page h2{font-size:22px}
  .tu-page p{font-size:13.5px;line-height:1.45}
  .tu-page li{padding:8px 10px;font-size:13px}
  .tu-next{padding:13px}
}
@media (max-height:580px){
  .tu-art{height:min(18vh,110px)}
  .tu-ring{display:none}
  .tu-page h2{font-size:19px}
  .tu-page ul{gap:6px}
}
.tu-art{overflow:hidden;flex:none}
.tu-art img{height:100%;width:auto;max-width:100%;max-height:100%}
.tu-art.case img,.tu-art.emb img{max-width:70%}
.tu-art{display:flex;align-items:center;justify-content:center}
.tu-art .tu-ring{left:auto;top:auto}
/* без случайного зума: двойной тап не приближает ни в одном блоке (элементы с touch-action:none своё сохраняют —
   у них класс специфичнее), а поля ввода на iPhone — не меньше 16px, иначе он сам приближает страницу при вводе */
*{touch-action:manipulation}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
@supports (-webkit-touch-callout:none){input,textarea,select{font-size:16px!important}}
/* окно звонка: на совсем маленьком экране длинная реплика не выталкивает кнопки — окно прокручивается */
.call{overflow-y:auto;overscroll-behavior:contain}
.call>*{flex-shrink:0}

/* правила игры: нумерованные пункты в стиле официального документа */
.terms{display:flex;flex-direction:column;gap:14px}
.terms-ed{margin:-6px 0 0;font-size:12px;color:var(--muted)}
.terms-warn{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:14px;background:rgba(226,69,60,.1);border:1px solid rgba(226,69,60,.35);font-size:13.5px;line-height:1.45}
.terms-warn .ic{flex:none;color:#ff6b62;margin-top:1px}
.terms section{display:flex;flex-direction:column;gap:7px}
.terms h3{font-size:15px;margin:0}
.terms p{margin:0;font-size:13.5px;line-height:1.5;color:#d9cbc5}
.terms p b{color:var(--peach)}
.terms .terms-n{font-family:var(--mono);color:var(--muted);font-weight:700;margin-right:2px}
/* плитки меню не раздвигают колонки длинной подписью («Вернуть в рейтинг») — обрезаются многоточием */
.mn-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.mn-tile{min-width:0}
.mn-tile b{max-width:100%;overflow:hidden;text-overflow:ellipsis}
.mn-tile b{white-space:normal;text-align:center;overflow:visible;text-overflow:clip;line-height:1.12}

/* ---------- «Колхоз FM»: выбор трека в стиле Spotify (web/songs-ui.js) ---------- */
.sp{--sg:#1ed760;position:relative;display:flex;flex-direction:column;gap:10px;padding:14px 12px 12px;border-radius:20px;color:#fff;
  background:linear-gradient(180deg,#1f3b2a 0,#121212 170px);border:1px solid rgba(255,255,255,.06)}
.sp.off .sp-body{opacity:.5}
.sp-head{display:flex;align-items:center;gap:10px}
.sp-logo{display:flex;align-items:center;gap:8px;font:800 16px var(--display);white-space:nowrap}
.sp-logo i{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--sg);color:#000}
.sp-logo .ic{width:16px;height:16px}
.sp-search{flex:1;min-width:0;display:flex;align-items:center;gap:6px;height:36px;padding:0 12px;border-radius:999px;background:#2a2a2a;color:#b3b3b3}
.sp-search .ic{width:16px;height:16px;flex:none}
.sp-search input{flex:1;min-width:0;border:0;background:none;color:#fff;font:inherit;font-size:14px;outline:none}
.sp-tabs{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}
.sp-tabs button{flex:none;border:0;border-radius:999px;padding:7px 14px;background:#2a2a2a;color:#fff;font-weight:700;font-size:13px}
.sp-tabs button.on{background:var(--sg);color:#000}
.sp-body{max-height:min(52vh,460px);overflow-y:auto;overscroll-behavior:contain;margin:0 -4px;padding:0 4px 4px;scrollbar-width:thin}
.sp-h{display:flex;align-items:center;justify-content:space-between;margin:14px 2px 8px;font:800 16px var(--display);letter-spacing:-.01em}
.sp-h:first-child{margin-top:4px}
.sp-h button{border:0;background:none;color:#b3b3b3;font:700 12px var(--body);display:flex;align-items:center;gap:2px}
.sp-h button .ic{width:14px;height:14px}
/* обложка: цвет — от названия трека */
.sp-cv{position:relative;flex:none;width:44px;height:44px;border-radius:6px;overflow:hidden;display:grid;place-items:center;font-style:normal;
  background:linear-gradient(135deg,hsl(var(--h1) 70% 52%),hsl(var(--h2) 75% 28%));box-shadow:0 4px 12px rgba(0,0,0,.35)}
.sp-cv b{font:800 20px var(--display);color:rgba(255,255,255,.92);text-shadow:0 2px 8px rgba(0,0,0,.35)}
.sp-cv::after{content:"";position:absolute;inset:0;background:radial-gradient(80% 60% at 20% 15%,rgba(255,255,255,.28),transparent 60%)}
.sp-cv.big{width:100%;height:auto;aspect-ratio:1;border-radius:8px;place-items:start;padding:10px}
.sp-cv.big b{font-size:44px;line-height:1}
.sp-cv.big em{position:absolute;left:10px;right:10px;bottom:9px;font:800 12px/1.15 var(--body);font-style:normal;color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.5);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;z-index:1}
/* быстрые варианты (случайная / без музыки) */
.sp-x{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:4px}
.sp-xb{display:flex;align-items:center;gap:8px;text-align:left;border:0;border-radius:8px;padding:8px;background:rgba(255,255,255,.08);color:#fff}
.sp-xb i{font-style:normal;font-size:20px;width:36px;height:36px;display:grid;place-items:center;border-radius:6px;background:rgba(255,255,255,.08)}
.sp-xb b{display:block;font-size:13px}.sp-xb small{display:block;font-size:11px;color:#b3b3b3}
.sp-xb.on{background:rgba(30,215,96,.18);box-shadow:inset 0 0 0 1.5px var(--sg)}
/* карусель новинок */
.sp-car{display:grid;grid-auto-flow:column;grid-auto-columns:128px;gap:12px;overflow-x:auto;padding-bottom:6px;scroll-snap-type:x mandatory;scrollbar-width:none}
.sp-card{position:relative;display:flex;flex-direction:column;gap:3px;scroll-snap-align:start;cursor:pointer;padding:8px;border-radius:10px;background:#181818;transition:background .15s}
.sp-card:active{background:#282828}
.sp-card>b{font-size:13px;margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sp-card>small{font-size:11.5px;color:#b3b3b3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sp-card.on>b{color:var(--sg)}
.sp-card .sp-pl.big{position:absolute;right:14px;top:calc(128px - 54px);width:40px;height:40px;background:var(--sg);color:#000;box-shadow:0 6px 16px rgba(0,0,0,.5);opacity:.95}
/* строки */
.sp-row{display:flex;align-items:center;gap:10px;padding:6px 6px;border-radius:8px;cursor:pointer;transition:background .12s}
.sp-row:active{background:rgba(255,255,255,.08)}
.sp-rk{width:20px;flex:none;text-align:center;font:700 15px var(--mono);color:#b3b3b3}
.sp-row:nth-child(-n+4) .sp-rk{color:#fff}
.sp-t{flex:1;min-width:0}
.sp-t b{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sp-t small{display:block;font-size:12px;color:#b3b3b3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sp-new{flex:none;font:800 9px var(--mono);font-style:normal;letter-spacing:.06em;padding:2px 5px;border-radius:4px;background:var(--sg);color:#000}
.sp-row.on .sp-t b{color:var(--sg)}
.sp-ck{display:none;color:var(--sg);flex:none}.sp-ck .ic{width:18px;height:18px}
.sp-row.on .sp-ck{display:grid}
.sp-pl{position:relative;flex:none;width:34px;height:34px;border:0;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.1);color:#fff}
.sp-ico{width:16px;height:16px;fill:currentColor}
.sp-eq{display:none;align-items:flex-end;gap:2px;height:14px;font-style:normal}
.sp-eq i{width:3px;height:40%;border-radius:1px;background:currentColor;animation:spEq .8s ease-in-out infinite alternate}
.sp-eq i:nth-child(2){animation-delay:-.3s}.sp-eq i:nth-child(3){animation-delay:-.55s}
@keyframes spEq{to{height:100%}}
.sp-pl.playing{background:var(--sg);color:#000}
.sp-pl.playing .sp-ico{display:none}.sp-pl.playing .sp-eq{display:flex}
.sp-empty{text-align:center;color:#b3b3b3;font-size:13px;padding:16px 0}
/* мини-плеер */
.sp-mini{position:relative;display:flex;align-items:center;gap:10px;padding:8px 10px 10px;border-radius:10px;background:#3b2a52;overflow:hidden;animation:spUp .25s ease-out}
.sp-mini[hidden]{display:none}
.sp-mini .sp-cv{width:38px;height:38px}
.sp-mini-t{flex:1;min-width:0}.sp-mini-t b{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sp-mini-t small{display:block;font-size:11.5px;color:#d0c5dc}
.sp-mini-pl{flex:none;width:34px;height:34px;border:0;border-radius:50%;background:#fff;color:#000;display:grid;place-items:center}
.sp-prog{position:absolute;left:10px;right:10px;bottom:4px;height:2px;border-radius:1px;background:rgba(255,255,255,.25);overflow:hidden}
.sp-prog b{display:block;height:100%;width:0;background:#fff;transition:width .25s linear}
@keyframes spUp{from{opacity:0;transform:translateY(8px)}}
.lite .sp-eq i{animation:none;height:70%}

/* ---------- несколько кейсов за раз (×2…×8) ---------- */
.cx-row{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}
.cx{height:40px;border-radius:12px;border:1px solid var(--line);background:var(--s1);color:var(--muted);font:800 15px var(--mono);transition:transform .12s,background .15s,color .15s}
.cx:active{transform:scale(.94)}
.cx.on{background:var(--tang);border-color:var(--tang);color:#000;box-shadow:0 6px 18px -6px var(--tang-glow)}
.mspin{gap:6px;padding-bottom:4vh}
.mreel{height:auto}
.mreel .track{gap:6px;padding:6px 0}
.mreel .ritem{width:72px;height:66px;border-radius:9px;padding:4px;gap:2px}
.mreel .ritem img{width:62px;height:34px}
.mreel .ritem small{display:none}
.mdrop-sum{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.mdrop-sum>span{background:var(--s1);border:1px solid var(--line);border-radius:14px;padding:10px 12px}
.mdrop-sum small{display:block;font-size:11px;color:var(--muted)}
.mdrop-sum b{font:800 16px var(--mono)}
.mdrop{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.mdrop.n3,.mdrop.n5{grid-template-columns:repeat(3,minmax(0,1fr))}
.mdrop.n8{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
/* длинные слова («Воздухозаборник») не распирают колонку за край экрана */
.mdi{min-width:0}
.mdi b{max-width:100%;overflow-wrap:anywhere;hyphens:auto}
@media (max-width:360px){.mdrop.n8{grid-template-columns:repeat(3,minmax(0,1fr))}}
.mdi{position:relative;display:flex;flex-direction:column;align-items:center;gap:3px;padding:10px 6px 8px;border-radius:14px;text-align:center;
  background:radial-gradient(90% 70% at 50% 40%,color-mix(in srgb,var(--rc) 22%,transparent),transparent 75%),var(--s1);border:1px solid color-mix(in srgb,var(--rc) 45%,var(--line));
  animation:mdiIn .45s calc(var(--i) * 70ms) cubic-bezier(.3,1.5,.4,1) both}
.mdi .rlabel{font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--rc)}
.mdi img{width:100%;height:46px;object-fit:contain}
.mdi .noimg{height:46px}
.mdi b{font-size:11px;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.mdi small{font-size:10.5px;color:var(--muted)}
.mdi.dr-legendary,.mdi.dr-epic{box-shadow:0 0 22px -4px color-mix(in srgb,var(--rc) 70%,transparent)}
@keyframes mdiIn{from{opacity:0;transform:scale(.5) translateY(12px)}}
.lite .mdi{animation:none}

/* кнопка «Выбрать» у каждого трека в плеере */
.sp-sel{flex:none;height:30px;padding:0 12px;border-radius:999px;border:1px solid rgba(255,255,255,.35);background:none;color:#fff;font:700 12px var(--body);white-space:nowrap}
.sp-sel:active{transform:scale(.95)}
.sp-sel.on{background:var(--sg);border-color:var(--sg);color:#000}
.sp-sel.sm{height:26px;margin-top:6px;align-self:flex-start;font-size:11px;padding:0 10px}
.sp-row.on .sp-sel{background:var(--sg);border-color:var(--sg);color:#000}
.sp-row .sp-pl{margin-left:2px}
/* премиум-кейс: отдельная карточка и экран */
.ccase.prem{cursor:pointer;
  background:radial-gradient(120% 140% at 0% 0%,rgba(242,197,61,.35),transparent 55%),linear-gradient(135deg,#2a2110,#14100a);border:1px solid rgba(242,197,61,.55);
  box-shadow:0 10px 30px -14px rgba(242,197,61,.6)}
.ccase.prem small{font-size:12px;color:#d9c79a}
.pc-n{font-size:12px;color:#F2C53D}
.pc-img{flex:none;width:58px;height:58px;border-radius:16px;display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,#fff3b0,#F2C53D 45%,#9a7414);
  box-shadow:0 6px 18px -4px rgba(242,197,61,.7),inset 0 2px 0 rgba(255,255,255,.5);animation:pcGlow 2.4s ease-in-out infinite}
.pc-img i{font-style:normal;font-size:30px;color:#3a2a06;text-shadow:0 1px 0 rgba(255,255,255,.4)}
.pc-img.big{width:76px;height:76px;border-radius:20px}.pc-img.big i{font-size:40px}
@keyframes pcGlow{50%{box-shadow:0 6px 26px 0 rgba(242,197,61,.9),inset 0 2px 0 rgba(255,255,255,.5)}}
.cc-open.gold{flex:none;background:linear-gradient(180deg,#F7D774,#d4a521);color:#2a1d04;border-color:transparent}
.pc-hero{display:flex;gap:14px;align-items:center}
.pc-cats{display:flex;flex-wrap:wrap;gap:6px}
.pc-cats button{border:1px solid var(--line);background:var(--s1);color:var(--peach);border-radius:999px;padding:8px 12px;font:700 13px var(--body)}
.pc-cats button.on{background:#F2C53D;border-color:#F2C53D;color:#2a1d04}
.lite .pc-img{animation:none}
.ccase.prem .pc-img{width:72px;height:72px;margin:0 18px 0 8px}
.ccase.prem .pc-img i{font-size:36px}

/* автосходка: страницы парковки по 50 мест */
.ms-pages{display:flex;gap:6px;align-items:stretch;overflow-x:auto;scrollbar-width:none;margin:0 0 10px;padding:2px 0;scroll-margin-top:12px}
.ms-pages::-webkit-scrollbar{display:none}
.ms-pages.bot{margin:10px 0 0}
.ms-pg{flex:1 0 auto;min-width:62px;display:flex;flex-direction:column;align-items:center;gap:1px;padding:7px 8px;border-radius:14px;border:1px solid var(--line);background:var(--s1);color:var(--peach);font:700 13px var(--body)}
.ms-pg small{font-size:11px;font-weight:600;color:var(--muted,#A7A09C)}
.ms-pg.on{background:var(--tang,#EC562E);border-color:transparent;color:#fff}
.ms-pg.on small{color:rgba(255,255,255,.85)}
.ms-pg-ar{flex:none;width:36px;border-radius:14px;border:1px solid var(--line);background:var(--s1);color:var(--peach);display:grid;place-items:center}
.ms-pg-ar:disabled{opacity:.35}
.ms-pg:active,.ms-pg-ar:active{transform:scale(.95)}
/* экран «Идёт обновление» с таймером */
.upd-in{gap:12px}
.upd-ring{position:relative;width:150px;height:150px;display:grid;place-items:center;margin-bottom:6px}
.upd-ring svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.upd-ring circle{fill:none;stroke:rgba(255,255,255,.08);stroke-width:8}
.upd-ring .upd-arc{stroke:var(--tang,#EC562E);stroke-linecap:round;transition:stroke-dashoffset .25s linear;filter:drop-shadow(0 0 8px rgba(236,86,46,.6))}
.upd-ring b{font:800 38px var(--body);letter-spacing:.02em;font-variant-numeric:tabular-nums}
.upd-st{font-size:13px;color:var(--peach);opacity:.8;animation:updPulse 1.6s ease-in-out infinite}
@keyframes updPulse{50%{opacity:.4}}

/* TRUE-BANK: ожидание между переводами */
.tb-cd{position:relative;display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:12px 12px 16px;border-radius:18px;background:#111;color:#fff;overflow:hidden}
.tb-cd-ic{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:rgba(255,221,45,.15);color:var(--tby)}
.tb-cd-ic .ic{width:20px;height:20px}
.tb-cd-t{display:flex;flex-direction:column;gap:1px;min-width:0}
.tb-cd-t small{font-size:12px;color:#aaa}
.tb-cd-t b{font-size:20px;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:.02em}
.tb-cd-btn{border:0;border-radius:999px;background:var(--tby);color:#111;font:800 13px var(--body);padding:10px 14px;white-space:nowrap;display:inline-flex;align-items:center;box-shadow:0 6px 18px rgba(245,196,0,.35)}
.tb-cd-btn span{display:inline-flex;align-items:center;gap:4px}
.tb-cd-btn .ic{width:15px;height:15px}
.tb-cd-btn:active{transform:scale(.96)}
.tb-cd-btn.busy{opacity:.6}
.tb-cd-bar{position:absolute;left:12px;right:12px;bottom:7px;height:3px;border-radius:2px;background:rgba(255,255,255,.12);overflow:hidden}
.tb-cd-bar em{display:block;height:100%;background:var(--tby);border-radius:2px;transition:width 1s linear}
.tb-cd.shake{animation:tbShake .4s}
@keyframes tbShake{20%,60%{transform:translateX(-5px)}40%,80%{transform:translateX(5px)}}
.tb-done-fee .ic{width:14px;height:14px;vertical-align:-2px}

/* титул «Колхозный олигарх» */
.olg{display:inline-block;margin-left:3px;font-size:.95em;filter:drop-shadow(0 0 4px rgba(242,197,61,.75));animation:olgGlow 2.6s ease-in-out infinite}
@keyframes olgGlow{50%{filter:drop-shadow(0 0 9px rgba(242,197,61,1))}}
.tg.olg-badge{background:linear-gradient(135deg,#F7D774,#c99a1e);color:#2a1d04;font-weight:800}
/* Колхозвито: премиум-продвижение */
.kv-card.gold{outline:2px solid #F2C53D;outline-offset:-2px;background:linear-gradient(180deg,#fff8dc,#fff);box-shadow:0 8px 22px -10px rgba(242,197,61,.9)}
.kv-promo.gold{background:linear-gradient(135deg,#F7D774,#d4a521);color:#2a1d04}
.kv-note.gold{background:#fff4c2;color:#5a4400}
.btn.kv-gold{width:100%;margin-top:8px;background:linear-gradient(135deg,#F7D774,#d4a521);color:#2a1d04;border:0;font-weight:800;box-shadow:0 8px 20px -8px rgba(212,165,33,.8)}
/* уровень: двойной опыт */
.lvlbar.boost #lvlFill{background:linear-gradient(90deg,#F2C53D,#ff8a1e,#F2C53D);background-size:200% 100%;animation:lvBoost 1.6s linear infinite}
@keyframes lvBoost{to{background-position:-200% 0}}
/* магазин: «Колхозный олигарх» — витрина на всю вкладку, тянется от 320 px до планшета */
.olx{container-type:inline-size;display:flex;flex-direction:column;gap:12px;width:100%;max-width:560px;margin:0 auto;padding:10px 16px 18px;box-sizing:border-box}
.olx-hero{position:relative;isolation:isolate;overflow:hidden;border-radius:28px;padding:clamp(16px,5cqi,26px);text-align:center;color:#f7ead0;
  background:radial-gradient(130% 80% at 50% 0%,rgba(242,197,61,.38),transparent 55%),linear-gradient(180deg,#1c160b,#0a0805 72%);
  border:1px solid rgba(242,197,61,.55);box-shadow:0 24px 60px -24px rgba(196,143,18,.75),inset 0 1px 0 rgba(255,255,255,.1)}
.olx-rays{position:absolute;z-index:-1;inset:-45%;pointer-events:none;
  background:conic-gradient(from 0deg,transparent 0 18deg,rgba(242,197,61,.10) 18deg 28deg,transparent 28deg 62deg,rgba(242,197,61,.07) 62deg 72deg,transparent 72deg 118deg,rgba(242,197,61,.09) 118deg 126deg,transparent 126deg);
  animation:olgSpin 22s linear infinite}
@keyframes olgSpin{to{transform:rotate(360deg)}}
.olx-top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.olx-tag{font:800 11px var(--body);letter-spacing:.1em;text-transform:uppercase;padding:5px 10px;border-radius:999px;background:linear-gradient(135deg,#F7D774,#c99a1e);color:#2a1d04}
.olx-off{font:800 12px var(--body);padding:5px 9px;border-radius:999px;background:#EC562E;color:#fff}
.olx-title{margin:14px 0 0;font-family:var(--display);font-size:clamp(26px,9.5cqi,42px);line-height:1;text-wrap:balance;
  background:linear-gradient(180deg,#fff6c4,#F2C53D 52%,#b07f10);-webkit-background-clip:text;background-clip:text;color:transparent}
.olx-title small{display:block;margin-bottom:6px;font:700 11px var(--body);letter-spacing:.24em;text-transform:uppercase;color:#d9c79a;-webkit-text-fill-color:#d9c79a}
.olx-sub{margin:8px auto 0;max-width:32ch;font-size:clamp(13px,3.6cqi,15px);line-height:1.35;color:#d9c79a}
.olx-stage{position:relative;width:100%;max-width:460px;aspect-ratio:16/9;margin:4px auto 0;display:grid;place-items:center}
.olx-spot{position:absolute;inset:0;background:radial-gradient(52% 58% at 50% 56%,rgba(255,236,170,.34),transparent 72%)}
.olx-floor{position:absolute;left:14%;right:14%;bottom:9%;height:13%;border-radius:50%;background:radial-gradient(closest-side,rgba(0,0,0,.8),transparent);filter:blur(4px)}
.olx-car{position:relative;z-index:1;width:94%;height:100%;display:grid;place-items:center;transition:opacity .3s,transform .3s}
.olx-car.out{opacity:0;transform:translateX(-16px) scale(.97)}
.olx-car img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 26px rgba(242,197,61,.35));animation:olxFloat 4s ease-in-out infinite}
@keyframes olxFloat{50%{transform:translateY(-4px)}}
.olx-cn{display:flex;flex-direction:column;align-items:center;gap:2px}
.olx-cn small{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#a8977a}
.olx-cn b{font-size:clamp(15px,4.8cqi,20px);line-height:1.2;color:#fff}
.olx-cn span{font-size:13px;font-weight:700;color:#F2C53D}
.olx-dots{display:flex;justify-content:center;gap:5px;margin-top:10px}
.olx-dots i{width:6px;height:6px;border-radius:3px;background:rgba(242,197,61,.3);transition:width .3s,background .3s}
.olx-dots i.on{width:18px;background:#F2C53D}
.olx-h{margin:6px 2px 0;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#6b6e75}
.olx-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
@container (min-width:480px){.olx-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.olx-tile{min-width:0;display:flex;flex-direction:column;gap:3px;padding:12px;border-radius:18px;color:#f7ead0;
  background:linear-gradient(180deg,#1d170c,#100d07);border:1px solid rgba(242,197,61,.28);animation:olxIn .45s calc(var(--i) * 50ms) both}
.olx-tile.wide{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:center;
  background:radial-gradient(90% 140% at 0% 50%,rgba(242,197,61,.25),transparent 60%),linear-gradient(180deg,#1d170c,#100d07)}
.olx-tile.wide .olx-e{grid-row:span 2;font-size:30px}
.olx-e{font-size:22px;line-height:1.1}
.olx-tile b{font-size:clamp(15px,4.4cqi,18px);font-weight:800;color:#fff;overflow-wrap:anywhere}
.olx-tile small{font-size:12px;line-height:1.3;color:#bfae8a}
@keyframes olxIn{from{opacity:0;transform:translateY(8px)}}
.olx-crown{display:flex;flex-direction:column;gap:10px;padding:14px;border-radius:20px;background:linear-gradient(135deg,#fff7d6,#fde7a0);border:1px solid #f0d27a;color:#4a3800}
.olx-crown-pv{display:flex;align-items:center;gap:10px;max-width:100%;padding:8px 14px 8px 8px;border-radius:14px;background:#fff;align-self:flex-start;box-shadow:0 4px 14px -6px rgba(160,120,0,.45)}
.olx-crown-pv b{min-width:0;font-size:15px;color:#111;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.olx-crown p{margin:0;font-size:13px;line-height:1.45}
.olx-buy{position:sticky;bottom:8px;z-index:3;display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:12px;border-radius:22px;
  background:#0f0c07;border:1px solid rgba(242,197,61,.5);box-shadow:0 14px 34px -12px rgba(0,0,0,.65)}
.olx-price{flex:1 1 auto;min-width:110px;display:flex;flex-direction:column}
.olx-price small{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#a8977a}
.olx-price span{display:flex;align-items:baseline;gap:8px}
.olx-price s{font-size:14px;color:#8a7b62}
.olx-price b{font:800 clamp(22px,7cqi,30px) var(--body);color:#F2C53D;white-space:nowrap}
.olx-btn{position:relative;overflow:hidden;flex:1 1 170px;min-height:52px;border:0;border-radius:16px;font:800 16px var(--body);color:#2a1d04;
  background:linear-gradient(135deg,#fff0a8,#F2C53D 45%,#c48f12);box-shadow:0 10px 26px -8px rgba(242,197,61,.9)}
.olx-btn::after{content:'';position:absolute;top:0;bottom:0;left:-60%;width:40%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.65),transparent);transform:skewX(-20deg);animation:olxShine 3.2s ease-in-out infinite}
@keyframes olxShine{0%,55%{left:-60%}100%{left:130%}}
.olx-btn:active{transform:scale(.98)}
.olx-btn.busy{opacity:.7}
.olx-note{margin:0;font-size:12px;line-height:1.45;text-align:center;color:#7a7d84}
@media (prefers-reduced-motion: reduce){.olg,.olx-rays,.olx-car img,.olx-btn::after,.olx-tile,.lvlbar.boost #lvlFill{animation:none}}
/* магазин: 5 вкладок в один ряд */
.sh-tabs{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:1fr}
.sh-tabs button{padding:10px 2px;font-size:13px;white-space:nowrap}
/* олигарх: компактная панель покупки в одну строку; одинокая последняя плитка — на всю ширину */
.olx-buy{flex-wrap:nowrap;gap:12px;padding:10px 10px 10px 14px}
.olx-price{flex:0 0 auto;min-width:0}
.olx-price small{display:none}
.olx-price span{flex-direction:column;align-items:flex-start;gap:0}
.olx-price s{font-size:12px;line-height:1}
.olx-price b{font-size:clamp(22px,6.5cqi,28px);line-height:1.1}
.olx-btn{flex:1 1 auto;min-width:0;min-height:48px;font-size:clamp(14px,4.2cqi,16px)}
.olx-tile:not(.wide):last-child:nth-child(even){grid-column:1/-1}
/* окна не выше видимой части экрана: в Telegram 92vh бывает больше неё — верх окна уезжал за экран */
.sheet{max-height:min(92vh,92%)}
html.sheet-open,html.sheet-open body{overflow:hidden}
.sheet{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}

/* ================= автосходка 2.0: оформление, анимации, поиск ================= */
/* разметка: полосы между рядами «едут», страницы перелистываются со сдвигом */
.mt-lane{animation:mtLane 1.6s linear infinite}
@keyframes mtLane{to{background-position:center 46px}}
.mt-lot.slide-l{animation:mtSlideL .38s cubic-bezier(.2,.9,.25,1)}
.mt-lot.slide-r{animation:mtSlideR .38s cubic-bezier(.2,.9,.25,1)}
@keyframes mtSlideL{from{opacity:0;transform:translateX(40px)}}
@keyframes mtSlideR{from{opacity:0;transform:translateX(-40px)}}
.mt-bay.mt-pad{border-top-color:transparent;cursor:default}
/* «Моё место» — вспышка */
.mt-bay.flash{animation:mtFlash 1.2s ease-in-out 2}
@keyframes mtFlash{50%{box-shadow:inset 0 0 0 3px #fff,inset 0 0 40px color-mix(in srgb,var(--acc) 70%,transparent)}}

/* машина на месте: холостые (подрагивает), в такт треку, гидравлика */
.mt-car,.ms-hero{transform-origin:50% 80%}
.mt-car.an-idle{animation:mtIdle .22s ease-in-out infinite alternate}
@keyframes mtIdle{to{transform:translateY(-.8px)}}
.mt-bay.song .mt-car.an-idle,.ms-top.song .ms-hero.an-idle{animation:mtBeatCar .5s ease-in-out infinite}
@keyframes mtBeatCar{0%,100%{transform:translateY(0) scale(1)}15%{transform:translateY(-2px) scale(1.025)}}

/* подсветка днища — неон в цвет оформления */
.mt-glow,.ms-glow{position:absolute;left:14%;right:14%;bottom:30px;height:22px;border-radius:50%;pointer-events:none;
  background:radial-gradient(closest-side,var(--acc),color-mix(in srgb,var(--acc) 40%,transparent) 55%,transparent);filter:blur(5px);animation:mtGlow 1.8s ease-in-out infinite}
.ms-glow{bottom:12%;height:16%;left:18%;right:18%;filter:blur(10px)}
@keyframes mtGlow{50%{opacity:.55;transform:scaleX(.92)}}
.mt-bay .mt-car,.ms-hero{z-index:1}

  border:1.5px solid #111;box-shadow:0 2px 5px rgba(0,0,0,.6);font:800 8.5px/1.25 var(--mono);letter-spacing:.06em;white-space:nowrap}

/* эффекты над машиной: 6 частиц, двигаются только transform/opacity */
.mt-fx{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden;border-radius:6px}
.mt-fx b{position:absolute;bottom:30%;left:calc(8% + var(--k, 0) * 15%);display:block;opacity:0;animation:var(--fxa) var(--fxd, 2.4s) linear infinite;animation-delay:calc(var(--k, 0) * -.4s)}
.mt-fx b:nth-child(1){--k:0}.mt-fx b:nth-child(2){--k:1}.mt-fx b:nth-child(3){--k:2}.mt-fx b:nth-child(4){--k:3}.mt-fx b:nth-child(5){--k:4}.mt-fx b:nth-child(6){--k:5}
.fx-smoke{--fxa:fxSmoke;--fxd:2.6s}
.fx-smoke b{bottom:24%;width:18px;height:18px;border-radius:50%;background:radial-gradient(circle,rgba(220,220,220,.55),rgba(200,200,200,0) 70%)}
@keyframes fxSmoke{0%{opacity:0;transform:translate(0,0) scale(.4)}20%{opacity:.9}100%{opacity:0;transform:translate(-14px,-60px) scale(2.6)}}
.fx-sparks{--fxa:fxSpark;--fxd:1.3s}
.fx-sparks b{bottom:28%;width:3px;height:3px;border-radius:50%;background:#ffd76a;box-shadow:0 0 6px 2px #ff9e2c}
@keyframes fxSpark{0%{opacity:1;transform:translate(0,0)}100%{opacity:0;transform:translate(calc((var(--k) - 2.5) * 9px),-48px)}}
.fx-fire{--fxa:fxFire;--fxd:1.1s}
.fx-fire b{bottom:26%;width:12px;height:18px;border-radius:50% 50% 45% 45%/60% 60% 40% 40%;background:radial-gradient(circle at 50% 70%,#fff3a0,#ff9e2c 45%,rgba(229,50,45,0) 75%);filter:blur(.5px)}
@keyframes fxFire{0%{opacity:0;transform:translateY(0) scale(.6)}25%{opacity:1}100%{opacity:0;transform:translateY(-34px) scale(1.4)}}
.fx-snow{--fxa:fxSnow;--fxd:3.2s}
.fx-snow b{top:-8%;bottom:auto;width:5px;height:5px;border-radius:50%;background:#fff;box-shadow:0 0 4px #fff}
@keyframes fxSnow{0%{opacity:0;transform:translate(0,0)}15%{opacity:.95}100%{opacity:0;transform:translate(12px,150px)}}
.fx-hearts{--fxa:fxFloat;--fxd:2.8s}.fx-money{--fxa:fxFloat;--fxd:3s}
.fx-hearts b::before{content:'💖';font-size:12px}.fx-money b::before{content:'💸';font-size:12px}
@keyframes fxFloat{0%{opacity:0;transform:translate(0,0) scale(.6)}20%{opacity:1}100%{opacity:0;transform:translate(calc((var(--k) - 2.5) * 4px),-70px) scale(1.15)}}

/* рамки места */
.mt-bay[class*=" fr-"]:not(.fr-none)::after,.ms-top[class*=" fr-"]:not(.fr-none)::after{content:'';position:absolute;inset:3px;z-index:3;border-radius:8px;padding:2px;pointer-events:none;
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
.ms-top[class*=" fr-"]:not(.fr-none)::after{inset:0;border-radius:26px;padding:3px}
.fr-gold::after{background:linear-gradient(135deg,#fff3b0,#F2C53D 30%,#a8770f 55%,#ffe9a0 80%,#c99a1e)}
.fr-chrome::after{background:linear-gradient(135deg,#fff,#9aa3ad 25%,#f4f6f8 50%,#6d7680 75%,#e6e9ec)}
.fr-rainbow::after{background:conic-gradient(from var(--fra, 0deg),#ff4f9a,#F2C53D,#2FBF71,#22D3EE,#7C5CFF,#ff4f9a);animation:frSpin 3s linear infinite}
.fr-neon::after{background:var(--acc);box-shadow:0 0 12px var(--acc);animation:frNeon 1.6s ease-in-out infinite}
@property --fra{syntax:'<angle>';inherits:false;initial-value:0deg}
@keyframes frSpin{to{--fra:360deg}}
@keyframes frNeon{50%{opacity:.5}}

/* новые фоны (✦ — анимированные): место на парковке, карточка, плитка в редакторе */
.mt-bay.bg-aurora::before,.ms-top.bg-aurora::before,.mj-bg.bg-aurora{background:linear-gradient(120deg,rgba(34,211,238,.35),rgba(124,92,255,.35),rgba(47,191,113,.3),rgba(34,211,238,.35));background-size:300% 300%;animation:bgAurora 6s ease-in-out infinite}
@keyframes bgAurora{50%{background-position:100% 50%}}
.mt-bay.bg-police::before,.ms-top.bg-police::before,.mj-bg.bg-police{background:radial-gradient(60% 70% at 15% 20%,rgba(229,50,45,.55),transparent 70%),radial-gradient(60% 70% at 85% 20%,rgba(52,120,247,.55),transparent 70%);animation:bgPolice .9s steps(1) infinite}
@keyframes bgPolice{50%{background:radial-gradient(60% 70% at 15% 20%,rgba(52,120,247,.55),transparent 70%),radial-gradient(60% 70% at 85% 20%,rgba(229,50,45,.55),transparent 70%)}}
.mt-bay.bg-rain::before,.ms-top.bg-rain::before,.mj-bg.bg-rain{background:repeating-linear-gradient(105deg,rgba(160,190,255,0) 0 9px,rgba(160,190,255,.28) 9px 10px),linear-gradient(180deg,rgba(40,60,110,.45),transparent);background-size:40px 40px,100% 100%;animation:bgRain .5s linear infinite}
@keyframes bgRain{to{background-position:-12px 40px,0 0}}
.mt-bay.bg-stars::before,.ms-top.bg-stars::before,.mj-bg.bg-stars{background:radial-gradient(1.5px 1.5px at 20% 30%,#fff,transparent),radial-gradient(1.5px 1.5px at 70% 20%,#fff,transparent),radial-gradient(1px 1px at 40% 70%,#fff,transparent),radial-gradient(1px 1px at 85% 60%,#fff,transparent),radial-gradient(1.5px 1.5px at 55% 45%,#fff,transparent),linear-gradient(180deg,#0b0f2a,#05060f);animation:bgStars 2.4s ease-in-out infinite}
@keyframes bgStars{50%{opacity:.55}}
.mt-bay.bg-gold::before,.ms-top.bg-gold::before,.mj-bg.bg-gold{background:radial-gradient(80% 70% at 50% 20%,rgba(255,226,140,.5),transparent 70%),linear-gradient(160deg,rgba(242,197,61,.35),rgba(120,80,10,.35))}
.mt-bay.bg-aurora::before,.mt-bay.bg-police::before,.mt-bay.bg-rain::before,.mt-bay.bg-stars::before,.mt-bay.bg-gold::before{opacity:.9}
.mj-bg.bg-gold{color:#2a1d04}

/* сердечки при лайке */
.mt-burst{position:absolute;left:50%;top:45%;z-index:5;pointer-events:none}
.mt-burst b{position:absolute;font-size:16px;color:#FF4F9A;animation:mtBurst 1.1s ease-out forwards}
.mt-burst b:nth-child(1){--x:-40px;--y:-50px}.mt-burst b:nth-child(2){--x:38px;--y:-56px}.mt-burst b:nth-child(3){--x:-12px;--y:-70px}.mt-burst b:nth-child(4){--x:22px;--y:-30px}
.mt-burst b:nth-child(5){--x:-30px;--y:-20px}.mt-burst b:nth-child(6){--x:6px;--y:-84px}.mt-burst b:nth-child(7){--x:44px;--y:-14px}
@keyframes mtBurst{0%{opacity:0;transform:translate(0,0) scale(.3)}20%{opacity:1}100%{opacity:0;transform:translate(var(--x),var(--y)) scale(1.2) rotate(15deg)}}

/* звезда сходки: блик */
.ms-star{overflow:hidden}
.ms-star-shine{position:absolute;top:0;bottom:0;left:-40%;width:30%;z-index:1;pointer-events:none;background:linear-gradient(100deg,transparent,rgba(255,255,255,.14),transparent);transform:skewX(-20deg);animation:msShine 4.5s ease-in-out infinite}
@keyframes msShine{0%,60%{left:-40%}100%{left:130%}}

/* поиск, «Моё место», фильтры */
.ms-tools{display:flex;gap:8px;align-items:center;margin:2px 0 8px;scroll-margin-top:12px}
.ms-search{flex:1;min-width:0;display:flex;align-items:center;gap:8px;height:42px;padding:0 6px 0 12px;border-radius:14px;background:var(--s1);border:1px solid var(--line);color:var(--muted)}
.ms-search .ic{flex:none;width:17px;height:17px}
.ms-search input{flex:1;min-width:0;height:100%;border:0;background:none;color:var(--peach);font:600 14px var(--body);outline:none}
.ms-search input::-webkit-search-cancel-button{display:none}
.ms-q-x{flex:none;width:30px;height:30px;border:0;border-radius:9px;background:rgba(255,255,255,.08);color:var(--peach);display:grid;place-items:center}
.ms-q-x[hidden]{display:none}
.ms-q-x .ic{width:14px;height:14px}
.ms-me{flex:none;height:42px;padding:0 12px;border-radius:14px;border:0;background:linear-gradient(135deg,#ff8a1e,var(--tang,#EC562E));color:#fff;font:800 13px var(--body);white-space:nowrap}
.ms-me:active,.ms-q-x:active{transform:scale(.95)}
.ms-chips{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:0 0 10px;padding:1px 0}
.ms-chips::-webkit-scrollbar{display:none}
.ms-chips .chip{flex:none;white-space:nowrap}
.ms-found{margin:0 0 8px;font-size:12.5px;color:var(--muted)}
.ms-found:empty{display:none}
.ms-none{display:flex;flex-direction:column;align-items:center;gap:4px;padding:34px 16px;border-radius:20px;background:var(--s1);border:1px dashed var(--line);text-align:center}
.ms-none .ic{width:26px;height:26px;color:var(--muted);margin-bottom:4px}
.ms-none small{color:var(--muted)}

/* редактор места: превью сверху, вкладки, «Сохранить» снизу */
.mjsheet{gap:12px}
.mj-stage{position:sticky;top:-16px;z-index:4;margin:-4px -16px 0;padding:10px 16px;background:linear-gradient(180deg,var(--black) 80%,transparent)}
.mj-stage .mj-prev{padding:10px;border-radius:20px;background:radial-gradient(80% 90% at 50% 100%,color-mix(in srgb,var(--acc,#EC562E) 22%,transparent),transparent 70%),#1d1e22}
.mj-prev .mt-bay.pv{width:min(64%,250px);height:140px;cursor:default;animation:none;border-top:2.5px solid rgba(255,255,255,.75);border-bottom:2.5px solid rgba(255,255,255,.75)}
.mj-prev .mt-bay.mw.pv{width:100%;max-width:440px;height:auto;min-height:172px;border:0;border-radius:24px;overflow:hidden;background-color:#141416;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.mj-prev .mt-bay.mw.pv:not(.mt-vac){padding:16px 18px 16px 16px}
.mj-prev .mt-bay.mw.pv::before,.mj-prev .mt-bay.mw.pv[class*=" fr-"]:not(.fr-none)::after{inset:8px}
.mj-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;padding:4px;border-radius:16px;background:var(--s1);border:1px solid var(--line)}
.mj-tabs button{display:flex;flex-direction:column;align-items:center;gap:2px;padding:7px 2px;border:0;border-radius:12px;background:none;color:var(--muted);font:700 11px var(--body);transition:background .2s,color .2s}
.mj-tabs button i{font-style:normal;font-size:17px;line-height:1}
.mj-tabs button.on{background:var(--tang,#EC562E);color:#fff}
.mj-pane{display:flex;flex-direction:column;gap:14px;animation:mjPane .25s ease-out}
.mj-pane[hidden]{display:none}
@keyframes mjPane{from{opacity:0;transform:translateY(6px)}}
.mj-row>span small{display:block;font-size:11.5px;font-weight:500;color:var(--muted)}
.mj-row.col .mj-sw{justify-content:flex-start}
.mj-bgs{grid-template-columns:repeat(auto-fill,minmax(88px,1fr))}
.mj-bg{position:relative;overflow:hidden}
.mj-bg b{position:relative;z-index:1;text-shadow:0 1px 3px #000}
.mj-opts{display:flex;flex-wrap:wrap;gap:6px}
.mj-opt{position:relative;display:inline-flex;align-items:center;gap:5px;min-height:38px;padding:0 12px;border-radius:12px;border:1.5px solid var(--line);background:var(--s1);color:var(--peach);font:700 13px var(--body)}
.mj-opt i{font-style:normal;font-size:16px}
.mj-opt.on{border-color:var(--tang,#EC562E);background:rgba(236,86,46,.15)}
.mj-fr{border-color:transparent}
.mj-fr.fr-gold{box-shadow:inset 0 0 0 2px #F2C53D}.mj-fr.fr-chrome{box-shadow:inset 0 0 0 2px #c9ced4}.mj-fr.fr-neon{box-shadow:inset 0 0 0 2px var(--tang,#EC562E),0 0 8px var(--tang,#EC562E)}
.mj-fr.fr-rainbow{box-shadow:inset 0 0 0 2px #7C5CFF,inset 0 0 0 4px #22D3EE}
.mj-fr::after{display:none}
.mj-fr.on{outline:2px solid #fff;outline-offset:1px}
.mj-emo{grid-template-columns:repeat(auto-fill,minmax(40px,1fr))}
.mj-save{position:sticky;bottom:-18px;z-index:4;display:flex;flex-direction:column;gap:6px;margin:4px -16px -18px;padding:12px 16px calc(14px + env(safe-area-inset-bottom,0px));background:linear-gradient(0deg,var(--black) 75%,transparent)}

/* слабые телефоны и «уменьшить движение»: без частиц и постоянных анимаций */
.lite .mt-fx,.lite .mt-burst,.lite .ms-star-shine{display:none}
.lite .mt-car,.lite .ms-hero,.lite .mt-lane,.lite .mt-glow,.lite .ms-glow,.lite .mt-bay::before,.lite .ms-top::before,.lite .mt-bay::after,.lite .ms-top::after{animation:none!important}
@media (prefers-reduced-motion: reduce){.mt-fx,.mt-burst,.ms-star-shine{display:none}.mt-car,.ms-hero,.mt-lane,.mt-glow,.ms-glow,.mt-bay::before,.ms-top::before,.mt-bay::after,.ms-top::after,.mt-lot.slide-l,.mt-lot.slide-r{animation:none!important}}
/* корона олигарха — в строку с ником (правило .mt-who span делало её отдельной колонкой); номер — над строкой с ником */
.mt-who span.olg,.ms-who span.olg{display:inline-block;flex-direction:row}
.mj-bg.bg-gold b{color:#2a1d04;text-shadow:none}

/* ================= автосходка: оптимизация под телефоны =================
   Всё, что движется, — только transform/opacity (считает видеокарта, без перерисовки).
   Анимируются только места на экране (.vis — IntersectionObserver в fillMeetLot); под открытым окном парковка замирает. */
.mt-bay:not(.vis) *,.mt-bay:not(.vis)::before,.mt-bay:not(.vis)::after,
html.sheet-open .mt-lot *,html.sheet-open .mt-lot::before,html.sheet-open .mt-bay::before,html.sheet-open .mt-bay::after{animation-play-state:paused!important}
/* за экраном место вообще не рисуется */
/* content-visibility не используем: на прокрутке места заново отрисовывались — медленнее (замер) */
/* появление: задержка не больше ~0,5 с (раньше последнее из 50 мест ждало 3 с) */
.mt-lot .mt-bay{animation-delay:calc(min(var(--i), 12) * 40ms)}
/* разметка между рядами — сдвиг всей полосы, а не перерисовка фона */
.mt-lane{top:-46px;animation:mtLaneT 1.6s linear infinite}
@keyframes mtLaneT{to{transform:translateY(46px)}}
/* подсветка днища: без размытия в анимации — мягкий градиент и только прозрачность */
.mt-glow{filter:none;background:radial-gradient(closest-side,color-mix(in srgb,var(--acc) 90%,transparent),color-mix(in srgb,var(--acc) 35%,transparent) 50%,transparent);animation:mtGlowO 1.8s ease-in-out infinite}
.ms-glow{filter:none;background:radial-gradient(closest-side,color-mix(in srgb,var(--acc) 85%,transparent),color-mix(in srgb,var(--acc) 30%,transparent) 55%,transparent);animation:mtGlowO 1.8s ease-in-out infinite}
@keyframes mtGlowO{50%{opacity:.5}}
/* огонь без размытия */
.fx-fire b{filter:none}
/* фоны: вместо перерисовки — прозрачность и отражение (transform) */
.mt-bay.bg-aurora::before,.ms-top.bg-aurora::before,.mj-bg.bg-aurora{background:linear-gradient(120deg,rgba(34,211,238,.38),rgba(124,92,255,.38) 50%,rgba(47,191,113,.32));background-size:100% 100%;animation:bgBreath 3.2s ease-in-out infinite}
@keyframes bgBreath{50%{opacity:.45}}
.mt-bay.bg-police::before,.ms-top.bg-police::before,.mj-bg.bg-police{animation:bgFlip .9s steps(1) infinite}
@keyframes bgFlip{50%{transform:scaleX(-1)}}
.mj-bg.bg-police{animation:none}
.mt-bay.bg-rain::before,.ms-top.bg-rain::before,.mj-bg.bg-rain{background-size:auto;animation:bgBreath 1.4s ease-in-out infinite}
.mt-bay.bg-stars::before,.ms-top.bg-stars::before{animation:bgBreath 2.4s ease-in-out infinite}
/* радужная рамка: переливается оттенком (filter на своём слое), а не перерисовкой градиента */
.fr-rainbow::after{background:conic-gradient(#ff4f9a,#F2C53D,#2FBF71,#22D3EE,#7C5CFF,#ff4f9a);animation:frHue 4s linear infinite}
@keyframes frHue{to{filter:hue-rotate(360deg)}}
/* сердечки при лайке — в пределах места (место обрезает содержимое) */
.mt-burst b:nth-child(1){--x:-34px;--y:-40px}.mt-burst b:nth-child(2){--x:32px;--y:-44px}.mt-burst b:nth-child(3){--x:-10px;--y:-52px}.mt-burst b:nth-child(6){--x:6px;--y:-58px}
/* слабые телефоны («лёгкий режим»): только статичное оформление */
.lite .mt-lot .mt-bay{animation:none}
.lite .mt-car,.lite .ms-hero,.lite .mt-lane,.lite .mt-glow,.lite .ms-glow,.lite .mt-bay::before,.lite .ms-top::before,.lite .mt-bay::after,.lite .ms-top::after,.lite .mt-note{animation:none!important}
.lite .mt-car::before{filter:none}
/* блик «Звезды сходки» — через transform (раньше left: пересчёт раскладки всей страницы каждый кадр) */
.ms-star-shine{left:0;transform:translateX(-120%) skewX(-20deg);animation:msShineT 4.5s ease-in-out infinite}
@keyframes msShineT{0%,60%{transform:translateX(-120%) skewX(-20deg)}100%{transform:translateX(420%) skewX(-20deg)}}
/* блики и эквалайзер — через transform (раньше left/height: пересчёт раскладки каждый кадр) */
@keyframes tpShine{0%,55%{transform:translateX(0) skewX(-18deg)}100%{transform:translateX(475%) skewX(-18deg)}}
@keyframes olxShine{0%,55%{transform:translateX(0) skewX(-20deg)}100%{transform:translateX(475%) skewX(-20deg)}}
.sp-eq i{height:100%;transform-origin:50% 100%;transform:scaleY(.4)}
@keyframes spEq{to{transform:scaleY(1)}}
.lite .sp-eq i{height:100%;transform:scaleY(.7)}
/* без перерисовки каждый кадр: тени и @property больше не анимируются (рамка легендарки — оттенком, блик уровня — transform) */
.ad.rare-epic,.ad.rare-legendary{animation:none}
.ad.rare-legendary::before{background:conic-gradient(#F2C53D,#EC562E,#F3D2C6,#3478F7,#F2C53D);animation:frHue 4s linear infinite}
.olg{animation:none;filter:drop-shadow(0 0 5px rgba(242,197,61,.85))}
.pc-img{animation:none}
.lvlbar.boost #lvlFill{animation:none;background:linear-gradient(90deg,#F2C53D,#ff8a1e)}
.lvlbar.boost #lvlFill::after{animation-duration:1.4s}
.olx-dots i{transition:transform .3s,background .3s}
.olx-dots i.on{width:6px;transform:scaleX(2.3)}
/* дешевле на телефонах: «холостые» подрагивают только под трек; частиц эффекта 4, шире расставлены */
.mt-bay:not(.song) .mt-car.an-idle,.ms-top:not(.song) .ms-hero.an-idle{animation:none}
.mt-fx b{left:calc(10% + var(--k, 0) * 22%)}
.mt-burst b:nth-child(n+6){display:none}

/* ================= тег «Админ» у ника ================= */
.adm-tag{display:inline-flex;align-items:center;margin-left:5px;padding:1px 6px;border-radius:6px;background:linear-gradient(135deg,#E5322D,#ff6b3d);color:#fff;
  font:800 9.5px/1.5 var(--body);letter-spacing:.05em;text-transform:uppercase;vertical-align:middle;box-shadow:0 0 0 1px rgba(255,255,255,.15)}
.mt-who span.adm-tag,.ms-who span.adm-tag{display:inline-flex;flex-direction:row}
.mt-who .adm-tag{font-size:7.5px;padding:0 4px;margin-left:3px}
h2 .adm-tag{font-size:11px;padding:2px 8px}

/* ================= карточка игрока на сходке ================= */
.mcsheet{padding-top:0}
.mc{gap:14px}
.mc>*{animation:mcUp .45s cubic-bezier(.2,.9,.25,1) both}
.mc>*:nth-child(2){animation-delay:.06s}.mc>*:nth-child(3){animation-delay:.12s}.mc>*:nth-child(4){animation-delay:.18s}.mc>*:nth-child(5){animation-delay:.22s}.mc>*:nth-child(n+6){animation-delay:.26s}
@keyframes mcUp{from{opacity:0;transform:translateY(14px)}}
.mc-hero.ms-top{margin:0 -16px;min-height:240px;padding:52px 6px 34px;border:0;border-radius:0 0 30px 30px;animation:none}
.mc-hero.ms-top[class*=" fr-"]:not(.fr-none)::after{border-radius:0 0 30px 30px}
.mc-x{position:absolute;top:12px;right:12px;z-index:6;background:rgba(0,0,0,.45);border-color:rgba(255,255,255,.15);backdrop-filter:none}
.mc-spot{position:absolute;top:16px;left:16px;z-index:6;padding:5px 11px;border-radius:999px;background:rgba(0,0,0,.45);border:1px solid rgba(255,255,255,.14);color:#fff;font:800 11.5px var(--body);letter-spacing:.04em}
.mc-car{position:relative;z-index:1;animation:mcCar .6s cubic-bezier(.2,.9,.25,1) both}
@keyframes mcCar{from{opacity:0;transform:translateX(-30px) scale(.96)}}
.ms-top.song .mc-car.an-idle{animation:mcCar .6s cubic-bezier(.2,.9,.25,1) both,mtBeatCar .5s .6s ease-in-out infinite}
.mc-id{position:relative;z-index:4;display:flex;align-items:center;gap:12px;margin-top:-40px;padding:0 2px}
.mc-ava{position:relative;flex:none}
.mc-ava .mt-ava.big{width:76px;height:76px;font-size:30px;box-shadow:0 0 0 4px var(--black),0 0 0 6px var(--acc),0 10px 30px -6px color-mix(in srgb,var(--acc) 70%,transparent)}
.mc-emo{position:absolute;right:-4px;bottom:-2px;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--black);font-style:normal;font-size:16px;box-shadow:0 0 0 2px var(--acc)}
.mc-name{flex:1;min-width:0;padding-top:30px}
.mc-name h2{margin:0;font:800 21px/1.15 var(--display);overflow-wrap:anywhere}
.mc-name p{margin:3px 0 0;font-size:12.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mc-name p b{color:var(--acc)}
.mc-like{flex:none;align-self:flex-end;display:inline-flex;align-items:center;gap:6px;height:42px;padding:0 15px;border-radius:999px;border:1.5px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);color:#fff;font:800 15px var(--mono)}
.mc-like .ic{width:18px;height:18px}
.mc-like.on{background:#FF4F9A;border-color:#FF4F9A}.mc-like.on .ic{fill:#fff}
.mc-like.pop{animation:mtPop .45s cubic-bezier(.2,.9,.25,1.6)}
.mc-like:disabled{opacity:.6}
.mc-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.mc-stats div{display:flex;flex-direction:column;gap:2px;padding:9px 8px;border-radius:14px;background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.06);min-width:0}
.mc-stats small{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.mc-stats b{font:800 15px var(--body);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mc-note{position:relative;margin:0;padding:12px 14px 12px 38px;border-radius:16px;background:color-mix(in srgb,var(--acc) 10%,#141110);border:1px solid color-mix(in srgb,var(--acc) 30%,transparent);font-size:14px;line-height:1.45;color:var(--peach)}
.mc-note::before{content:'“';position:absolute;left:10px;top:2px;font:800 38px/1 var(--body);color:var(--acc)}
.mc-h{display:flex;align-items:center;gap:8px;margin:6px 0 0;font:800 15px var(--display)}
.mc-h span{padding:1px 8px;border-radius:999px;background:rgba(255,255,255,.08);font:800 11px var(--mono);color:var(--muted)}
.mc-cars{display:grid;grid-auto-flow:column;grid-auto-columns:86%;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin:0 -16px;padding:2px 16px 4px}
.mc-cars::-webkit-scrollbar{display:none}
.mc-cars:has(.mc-cc:only-child){grid-auto-columns:100%}
.mc-cc{scroll-snap-align:center;display:flex;flex-direction:column;gap:8px;padding:10px;border-radius:20px;background:linear-gradient(180deg,#19171a,#111013);border:1px solid rgba(255,255,255,.07)}
.mc-cc-ph{aspect-ratio:16/9;display:grid;place-items:center;border-radius:14px;background:radial-gradient(60% 70% at 50% 75%,color-mix(in srgb,var(--acc) 22%,transparent),transparent 70%),#0d0c0e}
.mc-cc-ph img{max-width:96%;max-height:96%;object-fit:contain;filter:drop-shadow(0 10px 10px rgba(0,0,0,.6))}
.mc-cc-ph.flip img{transform:scaleX(-1)}
.mc-cc-t{display:flex;flex-direction:column;gap:2px;min-width:0}
.mc-cc-t b{font-size:15px}.mc-cc-t q{font-size:12.5px;color:var(--muted)}
.mc-cc-st{display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:6px}
.mc-cc-st span{display:flex;flex-direction:column;padding:7px 8px;border-radius:11px;background:rgba(255,255,255,.05);min-width:0}
.mc-cc-st small{font-size:10px;color:var(--muted)}
.mc-cc-st b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mc-rv-form{display:flex;gap:8px;align-items:center;padding:4px 4px 4px 14px;border-radius:999px;background:#17161a;border:1px solid var(--line)}
.mc-rv-form input{flex:1;min-width:0;height:38px;border:0;background:none;color:var(--peach);font:600 14px var(--body);outline:none}
.mc-rv-form button{flex:none;width:38px;height:38px;border:0;border-radius:50%;display:grid;place-items:center;background:var(--acc);color:#fff}
.mc-rv-form button .ic{width:17px;height:17px}
.mc-rvs{display:flex;flex-direction:column;gap:10px}
.mc-rv{display:flex;gap:8px;align-items:flex-start;animation:mcUp .4s calc(var(--i) * 50ms) both}
.mc-rv-b{min-width:0;padding:8px 12px;border-radius:4px 16px 16px 16px;background:#1b1a1f;border:1px solid rgba(255,255,255,.05)}
.mc-rv-b b{font-size:12.5px}
.mc-rv-b p{margin:2px 0 0;font-size:13.5px;line-height:1.4;overflow-wrap:anywhere}
.mc-rv-b small{display:block;margin-top:3px;font-size:10.5px;color:var(--muted)}
.mc-rv.mine .mc-rv-b{background:color-mix(in srgb,var(--acc) 16%,#1b1a1f);border-color:color-mix(in srgb,var(--acc) 35%,transparent)}
.lite .mc>*,.lite .mc-car,.lite .mc-rv{animation:none!important}
@media (prefers-reduced-motion: reduce){.mc>*,.mc-car,.mc-rv{animation:none!important}}

/* ================= автосходка: подгонка под узкие и широкие экраны ================= */
/* колонки парковки могут сужаться меньше содержимого (иначе правый ряд упирался в край и стрелки подрезались) */
.mt-lot{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
@media (max-width:380px){
  .mt-lot{column-gap:30px;padding:12px 6px}
  .mt-lane{width:30px;margin-left:-15px}
  .mt-bay{height:138px}
  .mt-who{left:4px;right:30px;gap:4px}
  .mt-who b{font-size:10.5px}.mt-who small{font-size:9px}
  .mt-who .mt-ava{width:22px;height:22px;font-size:10px}
  .mt-bay .mt-go{width:26px;height:26px;border-radius:8px}
  .mt-like{right:28px;padding:2px 6px 2px 4px}
  .ms-me span{display:none}
  .ms-me{width:42px;padding:0;font-size:17px}
  .mc-name h2{font-size:18px}
  .mc-ava .mt-ava.big{width:64px;height:64px;font-size:26px}
  .mc-stats{gap:5px}
  .mc-stats div{padding:8px 6px}
  .mc-stats b{font-size:13px}
  .mc-like{height:38px;padding:0 12px;font-size:14px}
  .mj-tabs button{font-size:10px}
}
@media (max-width:360px){.mc-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.mc-stats b{font-size:14px}}

/* автосходка: иконки вместо эмодзи (как в нижнем меню) */
.ms-chips .chip{display:inline-flex;align-items:center;gap:6px}
.ms-chips .chip .ic{width:15px;height:15px}
.ms-me{display:inline-flex;align-items:center;justify-content:center;gap:6px}
.ms-me .ic{width:17px;height:17px;flex:none}
.ms-pg small{display:inline-flex;align-items:center;gap:4px}
.ms-pg small .ic{width:13px;height:13px}
.mj-tabs button .ic{width:19px;height:19px}
.mj-opt .ic{width:16px;height:16px;flex:none}
/* превью места в редакторе не прилипает к верху — при выборе трека оно уезжает и не закрывает список */
.mj-stage{position:static;margin:0;padding:0;background:none}

/* характеристики детали: что даёт и при каком моторе */
.pinfo{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border-radius:14px;background:var(--s1);border:1px solid var(--line);font-size:13px;line-height:1.35;color:var(--peach)}
.pinfo span{display:flex;align-items:flex-start;gap:6px}
.pinfo span+span{padding-left:22px;color:var(--muted);font-size:12px}
.pinfo .ic{flex:none;width:16px;height:16px;margin-top:1px}
.pinfo.up{border-color:rgba(47,191,113,.35)}.pinfo.up .ic{color:#2FBF71}
.pinfo.down{border-color:rgba(255,107,94,.35)}.pinfo.down .ic{color:#ff6b5e}
.kvmode .pinfo{background:#f4f5f7;border-color:#e3e5e8;color:#111}.kvmode .pinfo span+span{color:#6b6e75}
/* выбор машины для детали: прибавка на каждой */
.poc{display:flex;flex-direction:column;gap:6px}
.poc-d{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;padding:5px 10px;border-radius:999px;font:800 12.5px var(--body);background:var(--s2);color:var(--muted)}
.poc-d .ic{width:14px;height:14px}
.poc-d.up{background:rgba(47,191,113,.16);color:#3fd486}
.poc-d.down{background:rgba(255,107,94,.16);color:#ff8a7e}
.poc-d.no{background:rgba(255,107,94,.1);color:#ff8a7e}
.poc-i{font-style:normal;font-weight:800}.poc-i.up{color:#3fd486}.poc-i.down{color:#ff8a7e}.poc-i.zero,.poc-i.no{color:var(--muted)}
/* вклад детали в мощность — в слоте машины и в списке моторов */
.slot .sl-hp,.cs-slot .sl-hp{display:inline-block;margin-top:3px;padding:1px 7px;border-radius:999px;background:rgba(255,255,255,.07);font:800 11px var(--mono);font-style:normal;color:var(--peach)}
.slot .sl-hp.up,.cs-slot .sl-hp.up{background:rgba(47,191,113,.15);color:#3fd486}
.slot .sl-hp.down,.cs-slot .sl-hp.down{background:rgba(255,107,94,.15);color:#ff8a7e}
.slot .sl-hp.off,.cs-slot .sl-hp.off{background:none;padding:0;color:var(--muted);font:600 10.5px var(--body)}
.pr-hp{display:inline-block;margin-left:4px;padding:0 6px;border-radius:6px;background:rgba(242,197,61,.15);color:#F2C53D;font:800 11.5px var(--mono);white-space:nowrap}
.partrow small .sl-hp{display:inline;padding:0;background:none;font:800 11px var(--mono);font-style:normal}.partrow small .sl-hp.up{color:#3fd486}.partrow small .sl-hp.down{color:#ff8a7e}.partrow small .sl-hp.off{color:var(--muted)}
/* крутящий момент */
.statline.s4{grid-template-columns:repeat(4,minmax(0,1fr))}
.statline.s4 .stat b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (max-width:380px){.statline.s4{grid-template-columns:repeat(2,minmax(0,1fr))}}
.slot .sl-hp.nm,.cs-slot .sl-hp.nm{background:rgba(52,120,247,.15);color:#7DB0FF}

/* экран дропа: первые 0,7 с кнопки не нажимаются (защита от случайной продажи) и плавно проявляются */
.sheet.tapguard button{pointer-events:none}
.sheet.tapguard .row,.sheet.tapguard #againBtn{opacity:.45;transition:opacity .25s}
.sheet .row #toStock .ic{width:17px;height:17px}

/* гидравлика на сходке: машина прыгает, как лоурайдер */
.mt-car.an-hydro,.ms-hero.an-hydro{animation:mtHydro 1.5s cubic-bezier(.3,0,.3,1) infinite}
@keyframes mtHydro{0%,100%{transform:translateY(0) rotate(0)}18%{transform:translateY(-14%) rotate(-4deg)}36%{transform:translateY(0) rotate(0)}54%{transform:translateY(-8%) rotate(3deg)}72%{transform:translateY(0)}}
.ms-top.song .mc-car.an-hydro,.mc-car.an-hydro{animation:mcCar .6s cubic-bezier(.2,.9,.25,1) both,mtHydro 1.5s .6s cubic-bezier(.3,0,.3,1) infinite}
.lite .mt-car.an-hydro,.lite .ms-hero.an-hydro{animation:none}
.mj-opt.locked{opacity:.55}
.mj-opt .ic.gone{display:none}

/* значок марки рядом с названием машины: прозрачный, без подложки и рамки (тёмные эмблемы осветлены при сборке) */
.blogo{display:inline-block;flex:none;width:1.75em;height:1.75em;margin-right:.4em;vertical-align:-.5em;object-fit:contain}
.lg-badge.img{width:64px;height:64px;clip-path:none;background:none;box-shadow:none}
.lg-badge.img .blogo{width:100%;height:100%;margin:0}
/* значки марок в фильтре альбома и в чипах */
.alf-brand .blogo{margin-right:0;width:24px;height:24px}
.al-chip .blogo{width:18px;height:18px;margin-right:2px;vertical-align:middle}

/* карточка машины в гараже (макет 22.10): фото слева, марка + название + плашка редкости, цитата, теги-пилюли, снизу — цена / мощность / момент */
.carcard.gcar{position:relative;display:grid;grid-template-columns:118px minmax(0,1fr);grid-template-areas:"ph main" "st st";gap:12px;padding:12px;border-radius:22px;
  background:linear-gradient(160deg,#1c1a18,#121110 70%);border:1px solid rgba(255,255,255,.08);box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.gcar>input{position:absolute;top:8px;left:8px;z-index:2}
.gc-ph{grid-area:ph;align-self:start;aspect-ratio:4/3;border-radius:14px;overflow:hidden;display:grid;place-items:center;background:radial-gradient(90% 70% at 50% 60%,#232324,#070707)}
.gc-ph img{width:100%;height:100%;padding:2px;box-sizing:border-box;object-fit:contain}
.gc-ph .noimg .ic{width:30px;height:30px;color:var(--muted)}
.gc-main{grid-area:main;min-width:0;display:flex;flex-direction:column;gap:6px}
.gc-top{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}
.carcard .gc-name{display:flex;align-items:center;gap:7px;min-width:0;flex:1 1 auto;font:700 15px/1.2 var(--body);color:#f1ebe6}
.gc-name>span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.gc-name .blogo{width:28px;height:28px;margin:0}
.gc-rar{flex:none;display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:999px;font-size:9.5px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--rc);
  border:1px solid color-mix(in srgb,var(--rc) 55%,transparent);background:color-mix(in srgb,var(--rc) 12%,transparent)}
.gc-rar .ic{width:11px;height:11px;fill:currentColor}
.gcar q{font-size:12px;line-height:1.35}
.gcar .tagline{gap:5px}
.gcar .tg{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;font-size:10px;background:rgba(255,255,255,.05);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)}
.gcar .tg .ic{width:13px;height:13px}
.gcar .tg.blue{background:var(--cobalt);box-shadow:none}
.gcar .tg.warn{background:var(--tang);box-shadow:none}
.gc-stats{grid-area:st;display:grid;grid-template-columns:1.25fr 1fr 1fr;padding-top:10px;border-top:1px solid rgba(255,255,255,.07)}
.gc-st{display:flex;align-items:center;gap:6px;min-width:0;padding:0 7px;border-left:1px solid rgba(255,255,255,.1)}
.gc-st:first-child{padding-left:2px;border-left:0}
.gc-st .ic{width:17px;height:17px;flex:none;color:#bdb3ab}
.gc-st>span{min-width:0}
.carcard .gc-st b{display:block;font:700 13px/1.2 var(--body);font-variant-numeric:tabular-nums;letter-spacing:-.01em;color:#f1ebe6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gc-st small{display:block;font-size:10.5px;color:var(--muted)}
.carcard.gcar.sel{background:linear-gradient(160deg,#1d2638,#131826 70%);border-color:var(--cobalt)}
@media (max-width:380px){.carcard.gcar{grid-template-columns:96px minmax(0,1fr)}.gc-st .ic{display:none}.gc-st{padding:0 6px}}

/* ---------- окно машины в гараже (макет 22.10): сцена-гараж, карточка поверх, вкладки узлов, слоты карточками ---------- */
.sheet.carsh{padding:0 14px calc(18px + env(safe-area-inset-bottom,0px));gap:12px;background:#0b0b0c}
.cs-hero{position:relative;flex:none;margin:0 -14px;height:262px;overflow:hidden;border-radius:22px 22px 0 0;
  background:linear-gradient(180deg,#141518 0%,#1b1c20 46%,#0f1012 47%,#18191c 70%,#0b0b0c 100%)}
.cs-hero::before{content:"";position:absolute;left:0;right:0;top:0;height:47%;background:repeating-linear-gradient(90deg,transparent 0 58px,rgba(255,255,255,.025) 58px 60px);pointer-events:none}
.cs-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:46px;background:linear-gradient(180deg,transparent,#0b0b0c);pointer-events:none;z-index:3}
.cs-lamp{position:absolute;top:14px;height:4px;width:22%;border-radius:2px;background:linear-gradient(90deg,#fff8,#fff,#fff8)}
.cs-lamp::after{content:"";position:absolute;left:-30%;right:-30%;top:2px;height:90px;background:radial-gradient(50% 100% at 50% 0,rgba(255,250,240,.14),transparent 70%)}
.cs-lamp.l1{left:6%;transform:rotate(-3deg)}
.cs-lamp.l2{left:39%;top:10px}
.cs-lamp.l3{right:6%;transform:rotate(3deg)}
.cs-wall{position:absolute;top:44px;left:50%;transform:translateX(-50%);opacity:.22}
.cs-wall .blogo{width:62px;height:62px;margin:0}
.cs-floor{position:absolute;left:8%;right:8%;bottom:30px;height:46px;border-radius:50%;background:radial-gradient(50% 50% at 50% 50%,color-mix(in srgb,var(--acc) 30%,transparent),transparent 72%)}
.cs-car{position:absolute;left:0;right:0;top:56px;bottom:22px;z-index:2}
.cs-car .cg-dots{bottom:-14px}
.cs-car img{width:100%;height:100%;object-fit:contain}
.cs-bar{position:absolute;top:10px;left:10px;right:10px;display:flex;justify-content:space-between;align-items:center;z-index:4}
.cs-back{display:inline-flex;align-items:center;gap:4px;padding:7px 12px 7px 8px;border-radius:999px;background:rgba(0,0,0,.55);border:1px solid rgba(255,255,255,.14);color:#f1ebe6;font:600 14px var(--body)}
.cs-back .ic{width:18px;height:18px}
.cs-color{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border-radius:999px;background:rgba(0,0,0,.55);border:1px solid rgba(255,255,255,.14);color:#e9e2dc;font-size:12px;font-weight:600}
.cs-color i{width:12px;height:12px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)}

.cs-card{position:relative;z-index:4;flex:none;margin-top:-34px;padding:14px;border-radius:20px;display:flex;flex-direction:column;gap:8px;
  background:linear-gradient(160deg,rgba(32,31,30,.96),rgba(18,17,16,.98));border:1px solid rgba(255,255,255,.09)}
.cs-top{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}
.cs-name{display:flex;align-items:center;gap:8px;margin:0;min-width:0;font:700 19px/1.15 var(--body);color:#f4eee9}
.cs-name .blogo{width:32px;height:32px;margin:0}
.cs-rar{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--rc);
  border:1px solid color-mix(in srgb,var(--rc) 55%,transparent);background:color-mix(in srgb,var(--rc) 12%,transparent)}
.cs-rar .ic{width:11px;height:11px;fill:currentColor}
.cs-q{font-size:13px;line-height:1.4;color:#b5aba3;quotes:"«" "»"}
.cs-tags{display:flex;flex-wrap:wrap;gap:6px}
.cs-tag{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;font-size:10.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#e9e2dc;
  background:rgba(255,255,255,.05);box-shadow:inset 0 0 0 1px rgba(255,255,255,.15)}
.cs-tag .ic{width:13px;height:13px}
.cs-tag.blue{background:var(--cobalt);box-shadow:none;color:#fff}
.cs-tag.warn{background:var(--tang);box-shadow:none;color:#000}
.cs-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:4px;padding-top:10px;border-top:1px solid rgba(255,255,255,.08)}
.cs-st{min-width:0;padding:0 8px;border-left:1px solid rgba(255,255,255,.1)}
.cs-st:first-child{padding-left:0;border-left:0}
.cs-st small{display:flex;align-items:center;gap:4px;font-size:10.5px;color:var(--muted);white-space:nowrap}
.cs-st small .ic{width:13px;height:13px;flex:none;color:#bdb3ab}
.cs-st b{display:block;margin-top:3px;font:700 13px/1.2 var(--body);font-variant-numeric:tabular-nums;color:#f4eee9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.cs-tabs{display:flex;flex:none;gap:2px;overflow-x:auto;scrollbar-width:none;margin:2px -14px 0;padding:0 14px;border-bottom:1px solid rgba(255,255,255,.08)}
.cs-tabs::-webkit-scrollbar{display:none}
.cs-tab{position:relative;flex:none;display:inline-flex;align-items:center;gap:5px;padding:11px 8px;background:none;border:0;color:var(--muted);font:600 13px var(--body);white-space:nowrap}
.cs-tab .ic{width:16px;height:16px}
.cs-tab::after{content:"";position:absolute;left:8px;right:8px;bottom:-1px;height:3px;border-radius:3px;background:#f2c200;transform:scaleX(0);transition:transform .2s}
.cs-tab.on{color:#f4eee9}
.cs-tab.on .ic{color:#f2c200}
.cs-tab.on::after{transform:none}

.cs-slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.cs-slot{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 8px;align-content:start;padding:12px 12px 10px;border-radius:16px;text-align:left;color:#f1ebe6;
  background:linear-gradient(160deg,#1a1918,#121110);border:1px solid rgba(255,255,255,.08)}
.cs-slot[hidden]{display:none}
.cs-slot>.ic{position:absolute;top:12px;right:8px;width:15px;height:15px;color:#6f6660}
.cs-si .ic{width:24px;height:24px;color:#d6ccc4}
.cs-sb{min-width:0;padding-right:12px}
.cs-sb small{display:block;font-size:10.5px;color:var(--muted)}
.cs-sb b{display:block;margin-top:2px;font-size:13px;line-height:1.25;font-weight:700;overflow-wrap:break-word;hyphens:auto}
.cs-sb .sl-hp{margin-top:6px}
.cs-sf{grid-column:1/-1;display:flex;justify-content:space-between;flex-wrap:wrap;gap:4px 8px;margin-top:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.07);font-size:10.5px;color:var(--muted)}
.cs-sf>span{display:inline-flex;align-items:center;gap:4px;min-width:0;white-space:nowrap}
.cs-sf .ic{width:12px;height:12px;color:var(--rc);fill:var(--rc)}
.cs-sf em{font-style:normal;font-weight:700;color:var(--rc)}
.cs-sf .num{color:#e9e2dc}
.cs-slot.empty{border-style:dashed;background:none}
.cs-slot.empty .cs-si .ic,.cs-slot.empty b{color:var(--muted)}
.cs-acts .cs-sell{background:#f2c200;color:#111;font-weight:800}
@media (max-width:370px){.cs-stats{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:10px}.cs-st:nth-child(3){padding-left:0;border-left:0}}

/* ---------- «Работа»: кнопка в шапке, «+N» у баланса ---------- */
.topbar{display:grid;grid-template-columns:1fr auto 1fr}
.topbar>#profBtn{justify-self:end}
.topl{display:flex;gap:8px}
.jobbtn .ic{color:#F2C53D}
.topbar .balance{position:relative}
.balpop{position:absolute;left:50%;top:100%;font:800 13px var(--mono);font-style:normal;color:#3fd486;white-space:nowrap;pointer-events:none;animation:balPop 1.6s ease-out both}
@keyframes balPop{0%{opacity:0;transform:translate(-50%,6px)}15%{opacity:1;transform:translate(-50%,0)}100%{opacity:0;transform:translate(-50%,-18px)}}
.tg.job,.cs-tag.job{background:#F2C53D;color:#111;box-shadow:none}

/* ---------- раздел «Работа» ---------- */
.jb-card{display:flex;flex-direction:column;gap:10px;padding:14px;border-radius:20px;background:linear-gradient(160deg,#1c1a18,#121110 70%);border:1px solid rgba(255,255,255,.08)}
.jb-card.taxi{border-color:rgba(242,197,61,.28)}
.jb-card.rent{border-color:rgba(52,120,247,.28)}
.jb-card.mech{border-color:rgba(236,86,46,.3)}
.jb-h{display:flex;align-items:center;gap:10px}
.jb-h>div{flex:1;min-width:0}
.jb-h h3{margin:0;font-size:17px}
.jb-h small{color:var(--muted);font-size:12px}
.jb-ic{width:42px;height:42px;flex:none;display:grid;place-items:center;font-size:22px;border-radius:14px;background:rgba(255,255,255,.06)}
.jb-live{font-style:normal;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;padding:4px 9px;border-radius:999px;background:rgba(63,212,134,.14);color:#3fd486;animation:jbLive 1.6s ease-in-out infinite}
@keyframes jbLive{50%{opacity:.45}}
.jb-desc{margin:0;font-size:13px;line-height:1.4;color:#c9bfb7}
.jb-car{display:flex;align-items:center;gap:10px;min-width:0}
.jb-car img,.jb-car .noimg{width:84px;height:42px;flex:none;object-fit:contain;border-radius:10px;background:#0a0a0a}
.jb-car span{min-width:0}
.jb-car b{display:block;font-size:14px;line-height:1.25}
.jb-car b .blogo{width:20px;height:20px;margin-right:4px}
.jb-car small{color:var(--muted);font-size:12px}
.jb-car.off{opacity:.5;margin-top:8px}
.jb-earn{display:flex;justify-content:space-between;align-items:baseline}
.jb-earn small{color:var(--muted);font-size:12px}
.jb-earn b{font-size:20px;color:#3fd486}
.jb-bar{height:6px;border-radius:3px;background:rgba(255,255,255,.08);overflow:hidden}
.jb-bar i{display:block;height:100%;background:linear-gradient(90deg,#F2C53D,#ffdf73);transform-origin:left;transition:transform .6s}
.jb-bar.rent i{background:linear-gradient(90deg,#3478F7,#7DB0FF)}
.jb-drops{display:flex;flex-wrap:wrap;gap:5px}
.jb-drops span{padding:3px 8px;border-radius:999px;font:700 11px var(--mono);background:rgba(255,255,255,.06);color:#e9e2dc}
.jb-drops .jd-idle{color:var(--muted)}
.jb-drops .jd-good{background:rgba(63,212,134,.14);color:#3fd486}
.jb-drops .jd-vip{background:rgba(242,197,61,.18);color:#F2C53D}
.jb-svc{display:flex;flex-direction:column;gap:8px;padding:10px;border-radius:14px;background:rgba(236,86,46,.08);border:1px dashed rgba(236,86,46,.4)}
.jb-svc>b{display:flex;align-items:center;gap:6px;font-size:13px}
.jb-svc>b .ic{width:15px;height:15px}
.jb-svc-r{display:flex;align-items:center;gap:8px}
.jb-svc-r .jb-car{flex:1}
.jb-svc-r .btn{flex:none;padding:9px 12px;font-size:13px}
.jb-mech{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.jb-mbtn{display:flex;flex-direction:column;gap:3px;padding:12px;border-radius:14px;text-align:left;background:var(--tang);color:#fff;border:0}
.jb-mbtn b{font-size:14px}
.jb-mbtn small{font-size:11px;opacity:.85}
.jb-mbtn.boss{background:linear-gradient(145deg,#F2C53D,#9a7414);color:#111}
.jb-mbtn:disabled{background:var(--s2);color:var(--muted)}
.jb-mbtn:active{transform:scale(.97)}
.jb-pick{display:flex;align-items:center;gap:10px;width:100%;padding:10px;border-radius:16px;text-align:left;background:var(--s1);border:1px solid var(--line);color:inherit}
.jb-pick img,.jb-pick .noimg{width:84px;height:42px;flex:none;object-fit:contain}
.jb-pick>span{flex:1;min-width:0}
.jb-pick b{display:block;font-size:14px;line-height:1.25}
.jb-pick b .blogo{width:20px;height:20px;margin-right:4px}
.jb-pick small{color:var(--muted);font-size:12px}
.jb-pick em{flex:none;font:800 15px var(--mono);font-style:normal;color:#3fd486;text-align:right}
.jb-pick em small{display:block;font:600 10px var(--body);color:var(--muted)}
.jb-pick:disabled{opacity:.5}
.jb-busy summary{color:var(--muted);font-size:13px;cursor:pointer}
.jb-away{display:flex;flex-direction:column;align-items:center;gap:2px;padding:16px;border-radius:18px;background:radial-gradient(80% 90% at 50% 0,rgba(63,212,134,.18),transparent),var(--s1)}
.jb-away-sum{font-size:34px;color:#3fd486}
.jb-away small{color:var(--muted)}
.jb-line{display:flex;justify-content:space-between;padding:10px 12px;border-radius:12px;background:var(--s1)}
.jb-line b{color:#3fd486}

/* ---------- автомеханик: подъёмник, слоты, лоток деталей, поломки ---------- */
.mc{position:relative;display:flex;flex-direction:column;gap:10px}
.mc-top{display:flex;align-items:center;gap:10px}
.mc-who{flex:1;min-width:0}
.mc-who b{display:block;font-size:16px}
.mc-who small{display:block;font-size:12px;color:var(--muted);line-height:1.3}
.mc-pay{text-align:right}
.mc-pay small{display:block;font-size:10.5px;color:var(--muted)}
.mc-pay b{font-size:16px;color:#3fd486}
.mc.boss .mc-who b{color:#F2C53D}
.mc-timer{position:relative;height:22px;border-radius:11px;background:rgba(255,255,255,.07);overflow:hidden}
.mc-timer i{position:absolute;inset:0;background:linear-gradient(90deg,#F2C53D,#EC562E);transform-origin:left;transition:transform .25s linear}
.mc-timer b{position:relative;display:block;text-align:center;font:800 12px/22px var(--mono);color:#111}
.mc-timer.late{background:rgba(255,80,60,.25)}
.mc-timer.late b{color:#ff8a7e}
.mc-lift{position:relative;height:150px;border-radius:18px;overflow:hidden;background:linear-gradient(180deg,#17181b,#1d1e22 60%,#0e0e10 61%,#141416)}
.mc-lamp{position:absolute;top:10px;left:30%;right:30%;height:4px;border-radius:2px;background:#fff;opacity:.85}
.mc-lamp::after{content:"";position:absolute;left:-40%;right:-40%;top:2px;height:80px;background:radial-gradient(50% 100% at 50% 0,rgba(255,250,240,.16),transparent 70%)}
.mc-lift .mc-car{position:absolute;left:12%;right:12%;top:26px;bottom:26px;--k:0}
.mc-lift .mc-car img{width:100%;height:100%;object-fit:contain;opacity:calc(.35 + var(--k) * .65);transition:opacity .4s}
.mc-post{position:absolute;bottom:14px;width:8px;height:44px;border-radius:3px;background:linear-gradient(180deg,#d9a520,#7b5c0f)}
.mc-post.l{left:16%}.mc-post.r{right:16%}
.mc-prog{position:absolute;right:10px;bottom:8px;padding:3px 9px;border-radius:999px;background:rgba(0,0,0,.6);font:800 12px var(--mono)}
.mc-h{margin:4px 0 0;font-size:13px}
.mc-h small{display:block;font-weight:500;font-size:11.5px;color:var(--muted)}
.mc-slots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.mc-slot{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:58px;padding:6px 4px;border-radius:12px;border:1.5px dashed rgba(255,255,255,.22);background:rgba(255,255,255,.03);color:#d6ccc4}
.mc-slot .ic{width:20px;height:20px}
.mc-slot small{font-size:9.5px;line-height:1.15;text-align:center;color:var(--muted)}
.mc-slot img{width:100%;height:40px;object-fit:contain}
.mc-slot.ok{border-style:solid;border-color:#3fd486;background:rgba(63,212,134,.1)}
.mc-slot.no{animation:mcNo .35s}
@keyframes mcNo{25%{transform:translateX(-5px)}50%{transform:translateX(5px)}75%{transform:translateX(-3px)}}
.mc-tray{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.mc-part{display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px;border-radius:12px;border:1px solid color-mix(in srgb,var(--rc) 45%,var(--line));background:var(--s1);color:inherit;transition:transform .15s,opacity .2s}
.mc-part img,.mc-part .noimg{width:100%;height:44px;object-fit:contain}
.mc-part small{font-size:10px;line-height:1.2;text-align:center;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.mc-part.on{transform:translateY(-4px) scale(1.04);border-color:#F2C53D;background:rgba(242,197,61,.12)}
.mc-part.used{opacity:.18;pointer-events:none}
.mc-err{margin:0;text-align:center;font-size:12px;color:var(--muted)}
.mc-err.bump{animation:mcNo .35s;color:#ff8a7e}
.mc-break{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:16px;background:rgba(0,0,0,.72)}
.mc-break[hidden]{display:none}
.mb-card{width:100%;max-width:380px;display:flex;flex-direction:column;align-items:center;gap:10px;padding:18px;border-radius:22px;background:#151413;border:1px solid rgba(236,86,46,.45);animation:mbIn .3s cubic-bezier(.2,1.3,.4,1)}
@keyframes mbIn{from{opacity:0;transform:scale(.85)}}
.mb-card .mb-t{font-size:18px;text-align:center}
.mb-card>small{color:var(--muted);text-align:center}
.mb-nuts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:6px}
.mb-nut{position:relative;width:76px;height:76px;border-radius:50%;border:0;background:radial-gradient(circle,#2a2826,#151413);display:grid;place-items:center}
.mb-nut i{width:46px;height:46px;background:linear-gradient(145deg,#d8d4cf,#8d8780);clip-path:polygon(25% 5%,75% 5%,100% 50%,75% 95%,25% 95%,0 50%);transform:rotate(var(--r));transition:transform .12s}
.mb-nut i::after{content:"";position:absolute}
.mb-nut em{position:absolute;left:10px;right:10px;bottom:4px;height:4px;border-radius:2px;background:#3fd486;transform:scaleX(0);transform-origin:left;transition:transform .12s}
.mb-nut.ok{background:radial-gradient(circle,rgba(63,212,134,.35),#151413)}
.mb-nut:active i{transform:rotate(var(--r)) scale(.92)}
.mb-meter{position:relative;width:100%;height:30px;margin-top:6px;border-radius:15px;background:linear-gradient(90deg,#2a2826,#3a2a20);overflow:hidden}
.mb-zone{position:absolute;top:0;bottom:0;background:rgba(63,212,134,.45);border-left:2px solid #3fd486;border-right:2px solid #3fd486}
.mb-needle{position:absolute;top:0;bottom:0;left:0;width:100%;transform:translateX(0)}
.mb-needle::before{content:"";position:absolute;left:-2px;top:-2px;bottom:-2px;width:4px;border-radius:2px;background:#fff}
.mb-res{margin:0;min-height:18px;font-weight:700}
.mb-push{width:100%;padding:18px;font-size:18px;touch-action:none;user-select:none;-webkit-user-select:none}
@media (max-width:360px){.mc-slots{grid-template-columns:repeat(3,minmax(0,1fr))}.mb-nut{width:64px;height:64px}}
.mc-hint{margin:-6px 0 0;font-size:12px;color:var(--muted)}
/* автомеханик: +1 заказ в час за звёзды */
.jb-slot{grid-column:1/-1;order:3;display:grid;grid-template-columns:1fr auto;align-items:center;gap:2px 10px;padding:10px 12px;border-radius:14px;text-align:left;color:#f1ebe6;background:rgba(242,197,61,.08);border:1px dashed rgba(242,197,61,.5)}
.jb-slot span{display:flex;align-items:center;gap:6px;font-weight:700;font-size:13px}
.jb-slot span .ic{width:15px;height:15px;color:#F2C53D}
.jb-slot b{grid-row:span 2;padding:7px 12px;border-radius:999px;background:#F2C53D;color:#111;font-size:14px}
.jb-slot small{font-size:11.5px;color:var(--muted)}
.jb-slot.busy{opacity:.6}
.jb-slot.done b{background:#3fd486}

/* ---------- сезоны: баннер во вкладке «Топ» (макет 22.10; анимации — только transform/opacity) ---------- */
.sn{position:relative;display:flex;flex-direction:column;gap:12px;padding:16px 0 14px;margin:0 0 6px;border-radius:24px;overflow:hidden;background:#0c0c0d;border:1px solid rgba(255,255,255,.07);animation:snIn .5s cubic-bezier(.2,1.2,.3,1) both}
@keyframes snIn{from{opacity:0;transform:translateY(10px) scale(.98)}}
.sn-top{display:flex;align-items:center;gap:10px;padding:0 14px}
.sn-cup{width:46px;height:46px;flex:none;display:grid;place-items:center;border-radius:15px;background:#F7CE2E;color:#111;animation:snCup 2.6s ease-in-out infinite}
.sn-cup .ic{width:28px;height:28px}
@keyframes snCup{50%{transform:translateY(-3px) rotate(-5deg)}}
.sn-t{flex:1;min-width:0}
.sn-t small{display:block;font:800 11px var(--body);letter-spacing:.32em;text-transform:uppercase;color:#F7CE2E}
.sn-t b{display:block;font:900 clamp(16px,4.5vw,26px)/1.05 var(--display);letter-spacing:-.01em;color:#fff;white-space:nowrap}
.sn-left{flex:none;padding-left:10px;border-left:1px solid rgba(255,255,255,.12);text-align:left}
.sn-left small{display:block;font-size:9.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.sn-left b{display:block;margin-top:2px;font:900 clamp(15px,4.3vw,22px)/1 var(--body);color:#fff;white-space:nowrap}
.sn-left b i{font-style:normal;font-size:14px;margin:0 4px 0 2px}
.sn-sub{margin:-4px 0 0;padding:0 16px;font-size:12px;line-height:1.35;color:#a39a93}
.sn-bar{height:4px;margin:0 16px;border-radius:2px;background:rgba(255,255,255,.08);overflow:hidden}
.sn-bar i{display:block;height:100%;transform-origin:left;background:linear-gradient(90deg,#F7CE2E,#fff3b0);animation:snBar 1s .2s cubic-bezier(.2,.8,.2,1) both}
@keyframes snBar{from{transform:scaleX(0)}}
/* карточки призов: лента со свайпом на телефоне, три колонки на широком */
.sn-prizes{display:grid;grid-auto-flow:column;grid-auto-columns:76%;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 16px 4px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.sn-prizes::-webkit-scrollbar{display:none}
@media (min-width:900px){.sn-prizes{grid-auto-columns:46%}}
.sn-p{--mc:#F7CE2E;position:relative;overflow:hidden;min-height:250px;display:flex;flex-direction:column;padding:0 14px 16px;border-radius:18px;scroll-snap-align:center;isolation:isolate;
  border:1.5px solid var(--mc);background:radial-gradient(90% 70% at 85% 0%,color-mix(in srgb,var(--mc) 30%,transparent),transparent 65%),#0e0e10;
  animation:snP .5s calc(.2s + var(--i) * .1s) cubic-bezier(.2,1.2,.4,1) both}
.sn-p.silver{--mc:#2F7DF6}.sn-p.bronze{--mc:#FF6A1F}
@keyframes snP{from{opacity:0;transform:translateY(14px) scale(.94)}}
.sn-p::after{content:"";position:absolute;right:0;bottom:0;width:46%;height:30%;z-index:-1;background:linear-gradient(135deg,color-mix(in srgb,var(--mc) 70%,transparent),var(--mc));clip-path:polygon(100% 0,100% 100%,0 100%)}
.sn-cut{position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.08) 45%,transparent 60%);transform:translateX(-100%);animation:snShine 5s calc(var(--i) * .7s) ease-in-out infinite}
@keyframes snShine{0%,60%{transform:translateX(-100%)}100%{transform:translateX(100%)}}
.sn-pl{position:relative;align-self:flex-start;margin:0 0 0 -14px;padding:8px 26px 10px 16px;background:var(--mc);clip-path:polygon(0 0,100% 0,82% 100%,0 100%);border-radius:0 0 14px 0}
.sn-pl b{font:900 38px/1 var(--body);color:#0c0c0d}
.sn-m{position:absolute;left:78px;top:26px;font-size:10px;font-weight:800;letter-spacing:.32em;text-transform:uppercase;color:var(--mc)}
.sn-p ul{position:relative;list-style:none;margin:14px 0 0;padding:0;display:flex;flex-direction:column;gap:11px;max-width:74%}
.sn-p li{display:flex;align-items:flex-start;gap:9px;font-size:12.5px;line-height:1.25;color:#f1ebe6}
.sn-p li .ic{width:17px;height:17px;flex:none;color:var(--mc)}
/* картинки */
.sn-art{position:absolute;right:-6px;top:6px;z-index:-1;pointer-events:none}
.sn-art.cup{width:104px;height:auto;right:-2px;top:2px;filter:drop-shadow(0 0 16px rgba(247,206,46,.4));animation:snArt 4s ease-in-out infinite}
.sn-art.car{right:-40px;top:20px;width:150px;opacity:.9}
.sn-art.car img{width:100%;height:auto;object-fit:contain}
.sn-art.keys{width:118px;height:auto;right:-14px;top:6px;filter:drop-shadow(0 0 14px rgba(255,106,31,.45));animation:snArt 4.5s ease-in-out infinite}
@keyframes snArt{50%{transform:translateY(-4px)}}
.sn-foot{display:flex;align-items:center;gap:10px;margin:0 16px;padding-top:12px;border-top:1px solid rgba(255,255,255,.07)}
.sn-rs{flex:none;padding-right:10px;border-right:1px solid rgba(255,255,255,.12)}
.sn-rs .ic{width:22px;height:22px;color:#a39a93}
.sn-ft{flex:1;min-width:0;font-size:11.5px;line-height:1.3;color:#a39a93}
.sn-more{flex:none;display:inline-flex;align-items:center;gap:6px;padding:8px 11px;border-radius:999px;border:1.5px solid rgba(255,255,255,.85);background:none;color:#fff;font:700 12.5px var(--body)}
.sn-more .ic{width:16px;height:16px}
.sn-more:active{transform:scale(.96)}
@media (max-width:370px){.sn-ft{display:none}.sn-cup{width:40px;height:40px;border-radius:13px}.sn-cup .ic{width:23px;height:23px}.sn-t b{font-size:15px}.sn-left b{font-size:14px}.sn-left{padding-left:8px}.sn-top{gap:8px}}
.tp-seg button{display:inline-flex;align-items:center;justify-content:center;gap:5px}
.tp-seg .ic{width:15px;height:15px}
@media (prefers-reduced-motion:reduce){.sn,.sn-cup,.sn-bar i,.sn-p,.sn-cut,.sn-art{animation:none}}
.lite .sn-cup,.lite .sn-cut,.lite .sn-art{animation:none}
/* правила сезона */
.sn-cols{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.sn-col{padding:10px 12px;border-radius:14px;background:var(--s1);border:1px solid var(--line)}
.sn-col b{display:flex;align-items:center;gap:6px;font-size:13px}
.sn-col b .ic{width:15px;height:15px}
.sn-col.gone b .ic{color:#ff8a7e}.sn-col.kept b .ic{color:#3fd486}
.sn-col ul{margin:6px 0 0;padding-left:16px;font-size:12px;line-height:1.5;color:#d6ccc4}
.sn-row{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:14px;background:var(--s1);border:1px solid var(--mc)}
.sn-row li{font-size:12.5px}
.sn-mine{display:flex;flex-wrap:wrap;gap:6px}
.sn-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;font-size:11.5px;font-weight:700;color:#111;background:var(--mc,var(--sc))}
.sn-badge .ic{width:13px;height:13px}
@media (prefers-reduced-motion:reduce){.sn,.sn-glow,.sn-shine,.sn-cup,.sn-bar i,.sn-p{animation:none}}
.lite .sn-glow,.lite .sn-shine,.lite .sn-cup{animation:none}

/* ---------- сходка: значок сезона и рамки чемпиона (навсегда) ---------- */
.mt-season{position:absolute;right:8px;top:32px;z-index:4;display:inline-flex;align-items:center;gap:3px;padding:2px 7px 2px 5px;border-radius:999px;background:var(--sc);color:#111;font:800 10px var(--mono)}
.mt-season .ic{width:11px;height:11px}
.mt-champ{position:absolute;left:50%;top:-2px;z-index:4;width:22px;height:22px;margin-left:-11px;display:grid;place-items:center;border-radius:50%;color:#111;animation:mtChamp 2.4s ease-in-out infinite}
.mt-champ .ic{width:13px;height:13px}
.mt-champ.c1{background:linear-gradient(145deg,#fff3b0,#F2C53D)}.mt-champ.c2{background:linear-gradient(145deg,#fff,#aeb5bd)}.mt-champ.c3{background:linear-gradient(145deg,#f3c79c,#a8642c)}
@keyframes mtChamp{50%{transform:translateY(-3px)}}
.fr-champ1::after{background:linear-gradient(135deg,#fff7c9,#F2C53D 25%,#8a6208 50%,#ffe9a0 75%,#F2C53D)}
.fr-champ2::after{background:linear-gradient(135deg,#ffffff,#b9c0c8 25%,#6d7680 50%,#f4f6f8 75%,#aeb5bd)}
.fr-champ3::after{background:linear-gradient(135deg,#ffd9b3,#D08A4E 25%,#7a4318 50%,#f0b27a 75%,#b86a32)}
.mt-bay.fr-champ1::after,.mt-bay.fr-champ2::after,.mt-bay.fr-champ3::after{padding:3px}
.mj-fr.fr-champ1{box-shadow:inset 0 0 0 2px #F2C53D}.mj-fr.fr-champ2{box-shadow:inset 0 0 0 2px #C9CED4}.mj-fr.fr-champ3{box-shadow:inset 0 0 0 2px #D08A4E}
.mj-fr.locked,.mj-sbadge.locked{opacity:.5}
.mj-badges{margin-top:6px}
.mj-sbadge .ic{width:13px;height:13px;color:var(--sc)}
.mj-sbadge.on{background:var(--sc);color:#111}
.mj-sbadge.on .ic{color:#111}
.mc-season,.mc-champ{position:absolute;left:12px;z-index:4;display:inline-flex;align-items:center;gap:5px;padding:4px 10px 4px 7px;border-radius:999px;font-size:11px;font-weight:800;color:#111}
.mc-season{bottom:12px;background:var(--sc)}
.mc-champ{bottom:42px}
.mc-champ.c1{background:#F2C53D}.mc-champ.c2{background:#C9CED4}.mc-champ.c3{background:#D08A4E}
.mc-season .ic,.mc-champ .ic{width:13px;height:13px}
.lite .mt-champ{animation:none}
/* пасс: стрелка справа внизу — к моему уровню / обратно наверх (липнет к низу окна, в конце списка) */
.ps-jump{position:sticky;bottom:calc(14px + env(safe-area-inset-bottom,0px));align-self:flex-end;z-index:6;width:50px;height:50px;margin:-50px 2px 0 auto;display:grid;place-items:center;border-radius:50%;border:0;
  background:linear-gradient(145deg,#A970FF,#55308f);color:#fff;box-shadow:0 8px 22px -6px rgba(0,0,0,.7),inset 0 1px 0 rgba(255,255,255,.25);transition:transform .25s}
.ps-jump .ic{width:24px;height:24px;transition:transform .25s}
.ps-jump.up .ic{transform:rotate(180deg)}
.ps-jump:active{transform:scale(.92)}
/* правила сезона: строки призов — цвета как у карточек баннера */
.sn-row.gold,.sn-badge.gold{--mc:#F7CE2E}.sn-row.silver,.sn-badge.silver{--mc:#2F7DF6}.sn-row.bronze,.sn-badge.bronze{--mc:#FF6A1F}
.sn-row .sn-pl{margin:0;padding:4px 12px;clip-path:none;border-radius:10px;flex:none}
.sn-row .sn-pl b{font-size:20px}
.sn-row ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px}
.sn-row li{display:flex;align-items:flex-start;gap:6px;line-height:1.25;color:#e3dbd4}
.sn-row li .ic{width:14px;height:14px;flex:none;margin-top:1px;color:var(--mc)}
.sn-badge.silver,.sn-badge.bronze{color:#fff}
/* место на сходке: машина — под интерфейсом (ник, лайки, кнопки, номер), не залезает на подписи */
.mt-bay .mt-car{inset:6px 6px 38px}
.mt-bay .mt-who,.mt-bay .mt-go,.mt-bay .mt-like,.mt-bay .mt-num,.mt-bay .mt-note{z-index:3}
.mt-bay .mt-who::before{content:'';position:absolute;left:-6px;right:-36px;bottom:-6px;height:46px;z-index:-1;pointer-events:none;background:linear-gradient(180deg,transparent,rgba(0,0,0,.72))}
.mt-bay .mt-who{isolation:isolate}

/* ---------- меню 22.10: разделы карточками, плитки компактнее ---------- */
.mn{gap:12px}
.mn-title h2{font-size:30px}
.mn-title p{font-size:13px}
.mn-sec{gap:10px;padding:12px 10px 10px;border-radius:22px;border:1px solid rgba(255,255,255,.07);
  background:radial-gradient(120% 80% at 0% 0%,color-mix(in srgb,var(--sa) 14%,transparent),transparent 55%),linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.012));
  animation:mnSec .45s calc(var(--si) * 60ms) cubic-bezier(.2,.9,.25,1.1) both}
@keyframes mnSec{from{opacity:0;transform:translateY(12px)}}
.mn-sh{padding:0 2px}
.mn-sh h3{gap:9px;font-size:16px;letter-spacing:.01em}
.mn-sh h3::before{display:none}
.mn-si{width:28px;height:28px;flex:none;display:grid;place-items:center;border-radius:9px;font-style:normal;color:var(--sa);
  background:color-mix(in srgb,var(--sa) 16%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--sa) 35%,transparent)}
.mn-si .ic{width:16px;height:16px}
.mn-sh span{min-width:22px;height:22px;padding:0 7px;justify-content:center;border-radius:999px;background:rgba(255,255,255,.06);font:700 11px var(--mono);color:#8b8b94}
.mn-grid{gap:6px}
.mn-tile{gap:2px;padding:9px 3px 8px;border-radius:15px;border-color:rgba(255,255,255,.06);background:rgba(255,255,255,.03)}
.mn-tile b{margin-top:5px;font-size:11.5px}
.mn-tile small{font-size:9px}
.mn-ic{width:42px;height:42px;border-radius:13px}
.mn-ic::after{border-radius:10px 10px 40% 40%}
.mn-ic .ic{width:21px;height:21px}
.mn-badge{top:4px;right:6px;min-width:18px;height:18px;font-size:10.5px;border-radius:9px}
.mn-tile.mn-cur{border-color:color-mix(in srgb,var(--sa) 70%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--sa) 16%,transparent),transparent);box-shadow:0 0 18px color-mix(in srgb,var(--sa) 22%,transparent)}
@media (max-width:360px){.mn-ic{width:38px;height:38px}.mn-ic .ic{width:19px;height:19px}.mn-tile b{font-size:10.5px}}
@media (prefers-reduced-motion:reduce){.mn-sec{animation:none}}

/* ---------- баннеры главного экрана (макет 22.10): чёрный фон, цветная обводка, сплошная иконка, разделитель, треугольник в углу ---------- */
.meetbar{--tc:#F0508C;min-height:64px;margin:0 0 8px;padding:9px 44px 9px 10px;gap:12px;border-radius:18px;border:1.5px solid var(--tc);background:#0b0b0c}
.meetbar::after,.tk::after{content:'';position:absolute;right:16px;bottom:0;width:74px;height:38px;transform:none;animation:none;pointer-events:none;
  background:linear-gradient(to top left,transparent calc(50% - .8px),rgba(255,255,255,.16) 50%,transparent calc(50% + .8px))}
.meetbar::before,.tk::before{content:'';position:absolute;right:0;bottom:0;width:62px;height:32px;pointer-events:none;background:linear-gradient(to top left,var(--tc) 50%,transparent calc(50% + .5px))}
.mb-ic,.tk-ic{width:44px;height:44px;border-radius:13px;background:var(--tc);box-shadow:none;color:#fff}
.mb-ic .ic,.tk-ic .ic{width:22px;height:22px;color:#fff}
.meetbar .mb-t,.tk-t{align-self:stretch;justify-content:center;padding-left:12px;border-left:1.5px solid rgba(255,255,255,.14);text-align:left}
.meetbar .mb-t b,.tk-t b{font:800 16px/1.15 var(--display);color:#fff}
.meetbar .mb-t small,.tk-t small{font-size:11.5px;color:#9c9690}
.mb-live{gap:6px;font:800 15px var(--body);color:var(--tc)}
.mb-live i{width:9px;height:9px;background:var(--tc)}
.meetbar>.ic,.tk>.ic{position:relative;z-index:1;width:20px;height:20px;opacity:.95;color:#fff}
.meetbar>.ic{margin-right:-30px}
.ticker{height:64px;margin:0 0 10px;border:0;border-radius:18px;background:none}
.tk{position:relative;overflow:hidden;padding:0 14px 0 10px;gap:12px;border:1.5px solid var(--tc);border-radius:18px;background:#0b0b0c!important}
.tk-gold{--tc:#F7CE2E}.tk-gold .tk-t b{color:#fff}.tk-gold .tk-ic .ic{color:#111}
.tk-tang{--tc:#EC562E}.tk-blue{--tc:#3478F7}.tk-purple{--tc:#A970FF}.tk-dim{--tc:#5a5550}
.tk-photo{border:0}.tk-photo::before,.tk-photo::after{display:none}
.tk-raid::before,.tk-raid::after{display:none}
.tk-dots{right:64px;bottom:9px;gap:4px}
.tk-dots i{width:6px;height:6px;background:rgba(255,255,255,.22)}
.tk-dots i.on{width:6px;border-radius:50%;background:var(--peach)}
.meetbar{margin:0 0 -4px}.ticker{margin:0 0 -2px} /* у .app свой gap 14px — между баннерами ≈10px, как в макете */
/* шкала сезона по дням (вместо пустой полоски) */
.sn-prog{display:flex;flex-direction:column;gap:7px;margin:0 16px}
.sn-days{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:3px}
.sn-days i{height:8px;border-radius:3px;background:rgba(255,255,255,.08);transform-origin:bottom;animation:snDay .35s calc(.2s + var(--d) * 18ms) cubic-bezier(.2,1.4,.4,1) both}
.sn-days i.on{background:linear-gradient(180deg,#ffe27a,#E0A800)}
.sn-days i.now{background:#fff3b0;box-shadow:0 0 0 1.5px #F7CE2E;animation:snDay .35s calc(.2s + var(--d) * 18ms) both,snNow 1.2s 1s ease-in-out infinite}
@keyframes snDay{from{opacity:0;transform:scaleY(.2)}}
@keyframes snNow{50%{opacity:.35}}
.sn-pl2{display:flex;justify-content:space-between;gap:8px;font-size:11.5px;color:#a39a93}
.sn-pl2 span{display:inline-flex;align-items:center;gap:5px}
.sn-pl2 .ic{width:13px;height:13px;color:#F7CE2E}
.sn-pl2 b{color:#fff;font-weight:800}
@media (prefers-reduced-motion:reduce){.sn-days i,.sn-days i.now{animation:none}}
.lite .sn-days i,.lite .sn-days i.now{animation:none}

/* ---------- профиль (макет 22.10, спокойнее): шапка, сетка 3×3, лучшая машина, билеты ---------- */
.pf-head{position:relative;display:flex;align-items:center;gap:14px;padding:16px 14px;border-radius:22px;overflow:hidden;border:1px solid rgba(255,255,255,.07);
  background:radial-gradient(90% 120% at 100% 0%,rgba(242,197,61,.12),transparent 60%),linear-gradient(160deg,#17161a,#0d0d0f)}
.pf-ava{position:relative;flex:none;width:76px;height:76px;border-radius:50%;display:grid;place-items:center;font:800 30px var(--body);color:#111;
  background:linear-gradient(145deg,#f4f4f4,#bdbdbd);box-shadow:0 0 0 3px #2a2a2e}
.pf-ava img{width:100%;height:100%;border-radius:50%;object-fit:cover}
.pf-ava.prem{box-shadow:0 0 0 3px #F2C53D,0 0 18px rgba(242,197,61,.35)}
.pf-crown{position:absolute;right:-2px;bottom:-2px;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#F2C53D;color:#111;box-shadow:0 0 0 3px #0d0d0f}
.pf-crown .ic{width:14px;height:14px}
.pf-who{min-width:0;display:flex;flex-direction:column;gap:5px}
.pf-who h2{margin:0;font:800 22px/1.1 var(--display);color:#fff;display:flex;align-items:center;flex-wrap:wrap;gap:4px}
.pf-since{font-size:12px;color:#9c9690}
.pf-tags{display:flex;flex-wrap:wrap;gap:6px}
.pf-tag{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;font-size:10.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.pf-tag .ic{width:12px;height:12px}
.pf-tag.prem{color:#F2C53D;border:1px solid rgba(242,197,61,.45);background:rgba(242,197,61,.08)}
.pf-tag.olg{color:#111;background:linear-gradient(90deg,#FBE38F,#E0A800)}
.pf-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.pf-st{--pc:#F2C53D;position:relative;overflow:hidden;display:flex;flex-direction:column;gap:2px;padding:10px 10px 11px;border-radius:15px;
  background:linear-gradient(160deg,rgba(255,255,255,.04),rgba(255,255,255,.01)),#0f0f11;border:1px solid rgba(255,255,255,.07);border-left:2px solid var(--pc)}
.pf-st.b{--pc:#3478F7}.pf-st.o{--pc:#FF6A1F}
.pf-st::after{content:'';position:absolute;right:0;bottom:0;width:30px;height:18px;background:linear-gradient(to top left,color-mix(in srgb,var(--pc) 70%,transparent) 50%,transparent calc(50% + .5px));pointer-events:none}
.pf-st>.ic{width:17px;height:17px;color:var(--pc);margin-bottom:4px}
.pf-st small{font-size:9.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#8b8b94}
.pf-st b{font:800 16px/1.15 var(--body);color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pf-car{position:relative;display:grid;grid-template-columns:44% minmax(0,1fr);gap:12px;align-items:center;width:100%;padding:10px;border-radius:18px;text-align:left;color:#fff;
  background:linear-gradient(160deg,#17161a,#0d0d0f);border:1px solid rgba(242,197,61,.28)}
.pf-car-ph{aspect-ratio:16/10;border-radius:12px;overflow:hidden;display:grid;place-items:center;background:radial-gradient(90% 70% at 50% 65%,#232324,#070707)}
.pf-car-ph img{width:100%;height:100%;object-fit:contain}
.pf-car-i{min-width:0;display:flex;flex-direction:column;gap:5px}
.pf-car-i small{font-size:9.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#8b8b94}
.pf-car-i b{display:flex;align-items:center;gap:6px;font:800 15px/1.2 var(--body)}
.pf-car-i b .blogo{width:22px;height:22px;margin:0}
.pf-car-i>i{height:1px;background:rgba(255,255,255,.1)}
.pf-car-i>span{display:flex;justify-content:space-between;gap:6px;font-size:14px;font-weight:800}
.pf-car-i em{font-style:normal;white-space:nowrap}
.pf-tix{display:flex;flex-direction:column;gap:9px;padding:12px;border-radius:20px;border:1px solid rgba(242,197,61,.22);background:linear-gradient(160deg,#17161a,#0d0d0f)}
.pf-tix-h{display:flex;align-items:center;justify-content:space-between}
.pf-tix-h h3{margin:0;display:flex;align-items:center;gap:8px;font:800 15px var(--display);color:#fff;white-space:nowrap}
.pf-tix-h h3 .ic{width:17px;height:17px;color:#F2C53D}
.pf-more{display:inline-flex;align-items:center;gap:4px;padding:5px 9px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:none;color:#cfc7c0;font:700 11px var(--body);text-transform:uppercase;letter-spacing:.05em}
.pf-more .ic{width:13px;height:13px}
.pf-tks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.pf-tk{--pc:#F2C53D;position:relative;overflow:hidden;display:flex;flex-direction:column;gap:2px;padding:9px;border-radius:13px;background:#0f0f11;border:1px solid color-mix(in srgb,var(--pc) 30%,transparent)}
.pf-tk.b{--pc:#3478F7}.pf-tk.o{--pc:#FF6A1F}
.pf-tk>.ic{width:16px;height:16px;color:var(--pc);margin-bottom:3px}
.pf-tk small{font-size:9px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#8b8b94;line-height:1.2}
.pf-tk b{font:800 18px var(--body);color:#fff}
.pf-tix-f{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 10px;font-size:11.5px;color:#9c9690}
.pf-tix-f span{display:inline-flex;align-items:center;gap:5px}
.pf-tix-f .ic{width:13px;height:13px;color:#F2C53D}
.pf-tix-f b{color:#fff}
@media (max-width:360px){.pf-st b{font-size:14px}.pf-ava{width:64px;height:64px}.pf-who h2{font-size:19px}}
.pf-tix-h{gap:8px}.pf-tix-h h3{min-width:0;overflow:hidden;text-overflow:ellipsis}.pf-more{flex:none}
@media (max-width:370px){.pf-tix-h h3{font-size:13.5px}.pf-tix-h h3 .ic{display:none}.pf-more{padding:5px 7px;font-size:10px}}
/* «Работа»: иконки вместо эмодзи */
.jb-ic{font-size:0}
.jb-ic .ic{width:22px;height:22px}
.jb-card.taxi .jb-ic{background:rgba(242,197,61,.14);color:#F2C53D}
.jb-card.rent .jb-ic{background:rgba(52,120,247,.16);color:#7DB0FF}
.jb-card.mech .jb-ic{background:rgba(236,86,46,.16);color:#FF8A5B}
.tg.job,.tg.warn,.cs-tag.job{display:inline-flex;align-items:center;gap:4px}
.tg.job .ic,.tg.warn .ic{width:12px;height:12px}
.jb-line span{display:inline-flex;align-items:center;gap:7px}
.jb-line .ic{width:16px;height:16px;color:#F2C53D}
.jb-away~.hint .ic,.hint>.ic{width:14px;height:14px;vertical-align:-2px;margin-right:4px;color:#F2C53D}
.jb-mbtn b{display:inline-flex;align-items:center;gap:6px}
.jb-mbtn b .ic{width:16px;height:16px}
.jb-slot b{display:inline-flex;align-items:center;gap:4px}
.jb-slot b .ic{width:14px;height:14px;fill:currentColor}
.mc-who b{display:flex;align-items:center;gap:6px}
.mc-who b .ic{width:17px;height:17px;color:#F2C53D}
.mb-card .mb-t{display:flex;align-items:center;justify-content:center;gap:8px}
.mb-card .mb-t .ic{width:22px;height:22px;color:#FF8A5B}
.sheet-head h2 .ic{width:22px;height:22px;vertical-align:-3px}

/* магазин: вкладки листаются; «Всё» — каталог по разделам (22.10) */
.sh-tabs{grid-auto-columns:max-content;overflow-x:auto;scrollbar-width:none}
.sh-tabs::-webkit-scrollbar{display:none}
.sh-tabs button{padding:10px 14px}
.sr-jump{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:0 -16px;padding:2px 16px 4px}
.sr-jump::-webkit-scrollbar{display:none}
.sr-jump button{flex:none;display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:999px;border:1px solid #e1e2e6;background:#fff;color:#1c1d22;font:700 12.5px var(--body)}
.sr-jump .ic{width:15px;height:15px;color:#EC562E}
.sr-sec{display:flex;flex-direction:column;gap:7px;scroll-margin-top:12px}
.sr-sec h3{margin:8px 0 2px;display:flex;align-items:center;gap:8px;font-size:15px;color:#111}
.sr-sec h3 .ic{width:17px;height:17px;color:#EC562E}
.sr{display:flex;align-items:center;gap:11px;padding:9px 10px 9px 9px;border-radius:16px;background:#fff;border:1px solid #e6e7ea}
.sr.hit{border-color:rgba(236,86,46,.45);box-shadow:0 6px 16px -10px rgba(236,86,46,.6)}
.sr .sh-ic{flex:none;width:46px;height:46px;border-radius:13px}
.sr .sh-ic img{animation:none}
.sr-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;text-align:left}
.sr-t b{font-size:14px;line-height:1.2;color:#111}
.sr-t small{font-size:11.5px;line-height:1.3;color:#6b6e75;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sr-buy{flex:none;min-width:64px;padding:9px 12px;border-radius:12px;border:0;background:#111;color:#fff;font:800 14px var(--body)}
.sr-buy.own{background:#2FBF71}
.sr-buy.own .ic{width:16px;height:16px}
.sr-buy.busy{opacity:.6}.sr-buy.done{background:#2FBF71}
.sr-buy:active{transform:scale(.95)}
.sr-big{display:flex;align-items:center;gap:10px;width:100%;padding:13px 12px;border-radius:16px;border:1px solid #e6e7ea;background:linear-gradient(120deg,#fff7df,#fff);color:#111}
.sr-big>.ic{flex:none;width:18px;height:18px;color:#6b6e75}
#srs-donate .sr-big{background:linear-gradient(120deg,#ffeef3,#fff)}
.sr-wrap{display:flex;flex-direction:column;gap:8px;padding:0 16px}

/* олигарх «Что внутри» (22.10): чёрное золото, бегущий блик, иконки в золотых жетонах, переливающиеся цифры */
.olx-grid{gap:9px}
.olx-tile{position:relative;overflow:hidden;isolation:isolate;padding:13px 13px 14px;border-radius:18px;gap:4px;
  background:radial-gradient(120% 90% at 0% 0%,rgba(242,197,61,.16),transparent 55%),linear-gradient(160deg,#1d1810,#0b0a08 70%);
  border:1px solid rgba(242,197,61,.35);box-shadow:inset 0 1px 0 rgba(255,236,170,.12),0 10px 24px -14px rgba(0,0,0,.8);
  animation:olxIn .55s calc(.15s + var(--i) * 80ms) cubic-bezier(.2,1.25,.35,1) both}
@keyframes olxIn{from{opacity:0;transform:translateY(16px) scale(.94)}}
.olx-sh{position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(110deg,transparent 35%,rgba(255,226,140,.16) 48%,transparent 60%);
  transform:translateX(-110%);animation:olxSh 4.2s calc(1s + var(--i) * .35s) ease-in-out infinite}
@keyframes olxSh{0%,55%{transform:translateX(-110%)}100%{transform:translateX(110%)}}
.olx-e{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;margin-bottom:4px;color:#2a1c02;
  background:linear-gradient(145deg,#fff1b8,#F2C53D 45%,#a8770f);box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 6px 14px -6px rgba(242,197,61,.7);
  animation:olxE 3.6s calc(var(--i) * .3s) ease-in-out infinite}
.olx-e .ic{width:20px;height:20px}
@keyframes olxE{50%{transform:translateY(-2px) rotate(-4deg)}}
.olx-tile b{font-size:clamp(17px,4.8cqi,21px);background:linear-gradient(100deg,#fff7d6,#F2C53D 40%,#fff7d6 60%,#d9a21e);background-size:220% 100%;
  -webkit-background-clip:text;background-clip:text;color:transparent}
.olx-tile small{color:#c9b68c}
.olx-tile.wide{grid-template-columns:auto 1fr;column-gap:12px;padding:12px 12px 12px 13px;min-height:96px}
.olx-tile.wide .olx-e{display:none}
.olx-tile.wide b{font-size:22px}
.olx-hc{grid-row:span 2;width:132px;height:72px;display:grid;place-items:center;border-radius:12px;
  background:radial-gradient(70% 60% at 50% 70%,rgba(242,197,61,.35),transparent 70%)}
.olx-hc img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 8px 10px rgba(0,0,0,.7));animation:olxCar 4s ease-in-out infinite}
@keyframes olxCar{50%{transform:translateX(3px) scale(1.03)}}
.olx-tile.wide2{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:center}
.olx-tile.wide2 .olx-e{grid-row:span 2;margin:0}
@media (prefers-reduced-motion:reduce){.olx-tile,.olx-sh,.olx-e,.olx-hc img{animation:none}}
.lite .olx-sh,.lite .olx-e,.lite .olx-hc img{animation:none}

/* «Что нового» — минималистичный вариант (n.min, 22.10): тёмная шапка, тонкие строки, иконки в цветных жетонах, кнопка-навигация */
.nwmin .nw-hero{background:#0b0b0c;border-bottom:1px solid rgba(255,255,255,.07);padding:22px 18px 16px}
.nwmin .nw-glow{background:radial-gradient(circle,rgba(236,86,46,.22),transparent 65%)}
.nwmin .nw-tag{background:none;padding:0;color:#EC562E;letter-spacing:.2em}
.nwmin .nw-hero h2{font-size:28px;margin-top:8px}
.nwmin .nw-hero p{color:#9c9690;font-size:13.5px}
.nwmin .nw-list{gap:8px}
.nwmin .nw-it{gap:12px;padding:12px;border-radius:16px;background:#111113;border:1px solid rgba(255,255,255,.07);border-left:2px solid var(--c);animation:nwUp .45s calc(.1s + var(--i) * 55ms) both cubic-bezier(.2,.9,.25,1.1)}
.nwmin .nw-ic{width:40px;height:40px;border-radius:12px;color:var(--c);background:color-mix(in srgb,var(--c) 14%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c) 32%,transparent)}
.nwmin .nw-ic .ic{width:20px;height:20px}
.nwmin .nw-t b{font-size:14.5px}
.nwmin .nw-t p{font-size:12.5px}
.nwmin .nw-go{margin-top:6px;padding:6px 8px 6px 11px;border-radius:999px;background:none;color:var(--c);border:1px solid color-mix(in srgb,var(--c) 50%,transparent);font-size:12px}
.nwmin .nw-go:active{transform:scale(.96)}
.nwmin .hint{padding:10px 12px;border-radius:12px;background:#111113;border:1px dashed rgba(255,255,255,.12)}
@media (prefers-reduced-motion:reduce){.nwmin .nw-it{animation:none}}

/* ---------- «Большое обновление» — витрина (22.10): сцена, главные карточки, плитки. Анимации — transform/opacity ---------- */
.sheet.nwbig{padding:0 14px calc(18px + env(safe-area-inset-bottom,0px));background:#070708}
.nb{display:flex;flex-direction:column;gap:12px}
.nb-hero{position:relative;overflow:hidden;isolation:isolate;margin:0 -14px;padding:22px 18px 18px;border-radius:22px 22px 0 0;
  background:radial-gradient(120% 70% at 50% 0%,#1d1530,#0a0a0d 60%),#070708}
.nb-orb{position:absolute;z-index:-1;border-radius:50%;pointer-events:none;filter:blur(2px)}
.nb-orb.o1{width:260px;height:260px;left:-80px;top:-90px;background:radial-gradient(circle,rgba(236,86,46,.55),transparent 65%);animation:nbOrb 9s ease-in-out infinite}
.nb-orb.o2{width:300px;height:300px;right:-120px;top:20px;background:radial-gradient(circle,rgba(52,120,247,.5),transparent 65%);animation:nbOrb 11s -3s ease-in-out infinite reverse}
.nb-orb.o3{width:220px;height:220px;left:30%;bottom:-120px;background:radial-gradient(circle,rgba(242,197,61,.38),transparent 65%);animation:nbOrb 10s -6s ease-in-out infinite}
@keyframes nbOrb{50%{transform:translate(30px,24px) scale(1.12)}}
.nb-lines{position:absolute;inset:0;z-index:-1;opacity:.35;pointer-events:none;
  background:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px) 0 0/100% 28px,linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px) 0 0/28px 100%;
  -webkit-mask:radial-gradient(90% 70% at 50% 40%,#000,transparent);mask:radial-gradient(90% 70% at 50% 40%,#000,transparent)}
.nb-ray{position:absolute;top:-20%;bottom:-20%;left:0;width:36%;z-index:-1;pointer-events:none;background:linear-gradient(100deg,transparent,rgba(255,255,255,.1),transparent);transform:translateX(-140%) skewX(-12deg);animation:nbRay 5s 1s ease-in-out infinite}
@keyframes nbRay{0%,50%{transform:translateX(-140%) skewX(-12deg)}100%{transform:translateX(380%) skewX(-12deg)}}
.nb-x{position:absolute;top:12px;right:12px;z-index:3;background:rgba(0,0,0,.45);border-color:rgba(255,255,255,.15)}
.nb-tag{display:inline-flex;align-items:center;gap:8px;font:800 11px var(--mono);letter-spacing:.18em;text-transform:uppercase;color:#ffb48f;animation:nbUp .5s .05s both}
.nb-tag i{width:8px;height:8px;border-radius:50%;background:#EC562E;box-shadow:0 0 0 4px rgba(236,86,46,.25);animation:nbPulse 1.6s ease-in-out infinite}
@keyframes nbPulse{50%{transform:scale(.6);opacity:.6}}
.nb-title{margin:10px 0 6px;display:flex;flex-direction:column;line-height:.95}
.nb-title span{font:900 clamp(30px,10vw,44px) var(--display);color:#fff;animation:nbUp .6s .1s both cubic-bezier(.2,1,.3,1)}
.nb-title b{font:900 clamp(30px,10vw,44px) var(--display);background:linear-gradient(90deg,#EC562E,#F2C53D 50%,#3478F7);-webkit-background-clip:text;background-clip:text;color:transparent;animation:nbUp .6s .2s both cubic-bezier(.2,1,.3,1)}
.nb-sub{margin:0;max-width:330px;font-size:13.5px;line-height:1.45;color:#c9c2d6;animation:nbUp .6s .3s both}
@keyframes nbUp{from{opacity:0;transform:translateY(18px)}}
.nb-car{position:relative;margin:14px -8px 4px;height:150px;display:grid;place-items:center;animation:nbCar 1s .35s both cubic-bezier(.15,1,.3,1)}
.nb-car img{position:relative;z-index:1;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 18px 18px rgba(0,0,0,.7))}
.nb-spot{position:absolute;left:12%;right:12%;bottom:6px;height:40px;border-radius:50%;background:radial-gradient(closest-side,rgba(236,86,46,.55),transparent);animation:nbSpot 3s ease-in-out infinite}
@keyframes nbCar{from{opacity:0;transform:translateX(70%) scale(.85)}}
@keyframes nbSpot{50%{opacity:.55;transform:scaleX(.9)}}
.nb-new{position:absolute;z-index:2;left:8px;bottom:0;display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:999px;background:rgba(0,0,0,.6);border:1px solid rgba(255,255,255,.14);font-size:11px;font-weight:700;color:#fff}
.nb-new .ic{width:13px;height:13px;color:#F2C53D}
.nb-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}
.nb-stats div{padding:10px 8px;border-radius:14px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09);text-align:center;animation:nbUp .5s calc(.6s + var(--i) * .1s) both}
.nb-stats b{display:block;font:800 26px/1 var(--body);color:#fff}
.nb-stats small{font-size:11px;color:#a49db2}
.nb-h{margin:4px 2px 0;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#7d7787}
.nb-feat{display:flex;flex-direction:column;gap:10px}
.nb-card{--c:#EC562E;position:relative;overflow:hidden;isolation:isolate;display:grid;grid-template-columns:auto 1fr;gap:4px 14px;padding:16px;border-radius:20px;text-align:left;color:#fff;
  border:1px solid color-mix(in srgb,var(--c) 45%,transparent);background:linear-gradient(135deg,color-mix(in srgb,var(--c) 30%,#0c0c0f),#0c0c0f 70%);
  animation:nbCard .55s calc(.15s + var(--i) * .12s) both cubic-bezier(.2,1.2,.35,1)}
@keyframes nbCard{from{opacity:0;transform:translateY(22px) scale(.95)}}
.nb-card-glow{position:absolute;right:-50px;top:-50px;width:160px;height:160px;z-index:-1;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--c) 55%,transparent),transparent 65%);animation:nbOrb 7s ease-in-out infinite}
.nb-ci{grid-row:span 3;width:52px;height:52px;display:grid;place-items:center;border-radius:16px;background:var(--c);color:#fff;box-shadow:0 10px 24px -8px var(--c)}
.nb-ci .ic{width:26px;height:26px}
.nb-card b{font:800 17px/1.2 var(--display)}
.nb-card small{font-size:12.5px;line-height:1.4;color:#d7d1dd}
.nb-card em{justify-self:start;margin-top:6px;display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border-radius:999px;background:#fff;color:#111;font-style:normal;font-weight:800;font-size:12px}
.nb-card em .ic{width:14px;height:14px}
.nb-card:active,.nb-tile:active{transform:scale(.97)}
.nb-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.nb-tile{--c:#EC562E;position:relative;display:flex;flex-direction:column;gap:4px;padding:12px;border-radius:16px;text-align:left;color:#fff;background:#111114;border:1px solid rgba(255,255,255,.08);
  animation:nbCard .5s calc(.45s + var(--i) * 70ms) both cubic-bezier(.2,1.2,.35,1)}
.nb-tile:disabled{opacity:1}
.nb-ti{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;color:var(--c);background:color-mix(in srgb,var(--c) 16%,transparent);margin-bottom:4px}
.nb-ti .ic{width:19px;height:19px}
.nb-tile b{font-size:13.5px;line-height:1.2}
.nb-tile small{font-size:11.5px;line-height:1.35;color:#9c9690;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.nb-tile>.ic{position:absolute;top:12px;right:10px;width:16px;height:16px;color:#5f5a66}
.nb-card.c-gold,.nb-tile.c-gold{--c:#E0A800}.nb-card.c-blue,.nb-tile.c-blue{--c:#3478F7}.nb-card.c-orange,.nb-tile.c-orange{--c:#EC562E}.nb-card.c-purple,.nb-tile.c-purple{--c:#A970FF}
.nb-card.c-green,.nb-tile.c-green{--c:#1fae6a}.nb-card.c-red,.nb-tile.c-red{--c:#e0353b}.nb-card.c-silver,.nb-tile.c-silver{--c:#9aa3b2}
.nb-hint{display:flex;gap:9px;margin:2px 0 0;padding:11px 12px;border-radius:14px;background:#111114;border:1px dashed rgba(255,255,255,.12);font-size:12px;line-height:1.4;color:#a49db2}
.nb-hint .ic{flex:none;width:17px;height:17px;color:#1fae6a}
.nb-go{position:sticky;bottom:0}
@media (prefers-reduced-motion:reduce){.nb *{animation:none!important}}
.lite .nb-orb,.lite .nb-ray,.lite .nb-card-glow,.lite .nb-spot{animation:none}
/* скидка VIP-пасса (первый сезон): зачёркнутая старая цена и плашка */
.ps-vip-b s,.sr-buy s{opacity:.55;font-weight:600;margin-right:4px}
.ps-sale,.sr-sale{display:inline-block;margin-left:6px;padding:2px 7px;border-radius:999px;background:#EC562E;color:#fff;font:800 10px var(--body);font-style:normal;letter-spacing:.03em;vertical-align:2px}
.sr-sale{margin:0 6px 0 0;vertical-align:0}
/* кейс открывается: кнопки кейсов серые и не нажимаются, на главной кнопке — «Открываем…» */
.casing .sheet .btn-main,.casing .sheet .cx,.casing #tab-earn button,.casing .sheet [data-case],.casing .sheet [data-prem]{opacity:.45;filter:grayscale(1);pointer-events:none}
.casing #openBtn{position:relative;color:transparent!important}
.casing #openBtn>*{visibility:hidden}
.casing #openBtn::after{content:'Открываем…';position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-weight:800}

/* ---------- уникальная редкость (Lamborghini × Swarovski): розовые блёстки ---------- */
.carcard.gcar.uq{overflow:hidden;border-color:transparent;background:linear-gradient(160deg,#3a1428,#1d0b16 60%,#2a0f1f);
  box-shadow:0 0 0 1px rgba(255,111,181,.55),0 0 26px -4px rgba(255,111,181,.75);animation:uqGlow 2.6s ease-in-out infinite}
.uq-gl{position:absolute;inset:0;pointer-events:none;border-radius:inherit;opacity:.5;mix-blend-mode:screen;
  background:radial-gradient(circle,#fff 0 1px,transparent 1.6px) 0 0/41px 37px,radial-gradient(circle,#ffc2e0 0 1px,transparent 1.5px) 13px 11px/53px 43px,
    radial-gradient(circle,#ff6fb5 0 1.2px,transparent 1.8px) 7px 21px/61px 47px;animation:uqDrift 9s linear infinite;
  -webkit-mask:linear-gradient(90deg,#000 0 30%,rgba(0,0,0,.18) 46%);mask:linear-gradient(90deg,#000 0 30%,rgba(0,0,0,.18) 46%)}
.cs-hero .uq-gl{-webkit-mask:none;mask:none}
.uq-gl::after{content:"";position:absolute;inset:-2px;border-radius:inherit;padding:2px;background:conic-gradient(from var(--ang),#ff6fb5,#fff0f7,#ff2e93,#ffc2e0,#ff6fb5);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:spinAng 3.5s linear infinite}
.uq-sp{position:absolute;width:14px;height:14px;pointer-events:none;z-index:1;opacity:0;animation:uqTw 2.4s ease-in-out infinite;
  background:linear-gradient(90deg,transparent 42%,#fff 50%,transparent 58%),linear-gradient(0deg,transparent 42%,#fff 50%,transparent 58%);filter:drop-shadow(0 0 4px #ff8cc6)}
.uq-sp::after{content:"";position:absolute;inset:4px;border-radius:50%;background:#fff;box-shadow:0 0 6px 2px #ffb3d9}
.gcar.uq .gc-ph{background:radial-gradient(90% 70% at 50% 60%,#5a1d3f,#12060d);box-shadow:inset 0 0 0 1px rgba(255,111,181,.35)}
.gcar.uq .gc-main,.gcar.uq .gc-stats,.gcar.uq .gc-ph{position:relative;z-index:1}
.gcar.uq .gc-rar{color:#fff;border:0;background:linear-gradient(90deg,#ff2e93,#ff8cc6,#ff2e93);background-size:200% 100%;animation:uqBadge 2.2s linear infinite;box-shadow:0 0 12px rgba(255,111,181,.7)}
.gcar.uq .gc-stats{border-top-color:rgba(255,111,181,.25)}
.cs-hero.uq{background:radial-gradient(70% 60% at 50% 70%,#5a1d3f,#12060d 75%)}
.cs-hero.uq .uq-gl{opacity:.5}
/* в «Подборе» */
.ad.rare-unique,.poster.rare-unique{box-shadow:0 0 0 2px #ff6fb5,0 0 50px -4px #ff6fb5;animation:uqGlow 2.6s ease-in-out infinite}
.ad.rare-unique::before{content:"";position:absolute;inset:0;border-radius:22px;padding:3px;background:conic-gradient(from var(--ang),#ff6fb5,#fff0f7,#ff2e93,#ffc2e0,#ff6fb5);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:spinAng 3.5s linear infinite;pointer-events:none;z-index:2}
@keyframes uqGlow{50%{box-shadow:0 0 0 1px rgba(255,111,181,.9),0 0 44px -2px rgba(255,111,181,.95)}}
@keyframes uqDrift{to{background-position:41px 37px,-40px 54px,68px 47px}}
@keyframes uqTw{0%,100%{opacity:0;transform:scale(.3) rotate(0)}45%{opacity:1;transform:scale(1) rotate(45deg)}}
@keyframes uqBadge{to{background-position:-200% 0}}
@media (prefers-reduced-motion: reduce){.carcard.gcar.uq,.uq-gl,.uq-gl::after,.uq-sp,.gcar.uq .gc-rar,.ad.rare-unique,.ad.rare-unique::before{animation:none}.uq-sp{opacity:.8}}
/* обёртка открытой карточки уникальной машины: розовая блестящая рамка */
.cs-card.uq{background:linear-gradient(160deg,#2e1022,#170911 65%,#24101c);border-color:transparent;box-shadow:0 0 0 1px rgba(255,111,181,.45),0 10px 34px -10px rgba(255,111,181,.7)}
.uq-wrap{position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:0}
.uq-wrap::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:3px;
  background:radial-gradient(circle,#fff 0 1px,transparent 1.7px) 0 0/9px 8px,radial-gradient(circle,#ffd6ea 0 1px,transparent 1.6px) 4px 3px/7px 9px,conic-gradient(from var(--ang),#ff6fb5,#fff0f7,#ff2e93,#ffc2e0,#ff6fb5);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:spinAng 4s linear infinite,uqTwBorder 1.8s ease-in-out infinite}
.uq-wrap::after{content:"";position:absolute;inset:0;border-radius:inherit;opacity:.22;mix-blend-mode:screen;
  background:radial-gradient(circle,#fff 0 1px,transparent 1.6px) 0 0/47px 41px,radial-gradient(circle,#ff8cc6 0 1.2px,transparent 1.8px) 19px 13px/59px 53px;animation:uqDrift 11s linear infinite}
.cs-card.uq>*:not(.uq-wrap){position:relative;z-index:1}
@keyframes uqTwBorder{50%{filter:brightness(1.35) saturate(1.2)}}

/* ---------- мигалки (Octavia ДПС): огни на крыше по месту на фото 900×450 — синий и красный моргают по очереди ---------- */
.sir{position:relative;display:block;width:100%;height:100%;container-type:size}
.sir>img{display:block;width:100%;height:100%;object-fit:contain}
.sir-in{position:absolute;inset:0;margin:auto;width:min(100cqw,200cqh);height:min(100cqh,50cqw);pointer-events:none}
.flip .sir-in,.mt-car.flip .sir-in{transform:scaleX(-1)}
.sir-b,.sir-r{position:absolute;top:16.3%;width:10%;height:5%;border-radius:50%;transform:translate(-50%,-50%);mix-blend-mode:screen;opacity:0}
.sir-b{left:38.3%;background:radial-gradient(closest-side,#fff,#5aa0ff 45%,rgba(52,120,247,0));box-shadow:0 0 18px 8px rgba(52,120,247,.75),0 0 60px 24px rgba(52,120,247,.35);animation:sirB 1s steps(1,end) infinite}
.sir-r{left:48%;background:radial-gradient(closest-side,#fff,#ff5a5a 45%,rgba(229,50,45,0));box-shadow:0 0 18px 8px rgba(229,50,45,.75),0 0 60px 24px rgba(229,50,45,.35);animation:sirR 1s steps(1,end) infinite}
@keyframes sirB{0%{opacity:1}12%{opacity:0}24%{opacity:1}36%{opacity:0}}
@keyframes sirR{50%{opacity:1}62%{opacity:0}74%{opacity:1}86%{opacity:0}}
.gc-ph .sir,.mc-cc-ph .sir{width:100%;height:100%}
.mc-cc-ph .sir{width:96%;height:96%}
.carcard.gcar.dps{box-shadow:0 0 0 1px rgba(52,120,247,.5),0 0 22px -6px rgba(52,120,247,.8);animation:dpsGlow 1s steps(1,end) infinite}
.gcar.dps .gc-ph{background:radial-gradient(90% 70% at 50% 60%,#16203a,#06070c)}
.cs-hero.dps::before{background:radial-gradient(60% 50% at 30% 30%,rgba(52,120,247,.28),transparent 70%),radial-gradient(60% 50% at 70% 30%,rgba(229,50,45,.28),transparent 70%);animation:dpsWash 1s steps(1,end) infinite}
@keyframes dpsGlow{0%,36%{box-shadow:0 0 0 1px rgba(52,120,247,.75),0 0 30px -4px rgba(52,120,247,.95)}50%,86%{box-shadow:0 0 0 1px rgba(229,50,45,.75),0 0 30px -4px rgba(229,50,45,.95)}}
@keyframes dpsWash{0%,36%{opacity:1;filter:hue-rotate(0deg)}50%,86%{opacity:1;filter:hue-rotate(150deg)}}
.pv-act.steal{background:linear-gradient(110deg,rgba(52,120,247,.22),rgba(229,50,45,.12));border-color:rgba(52,120,247,.55)}
.pv-act.steal em{color:#7fb0ff}
@media (prefers-reduced-motion: reduce){.sir-b,.sir-r{animation-duration:2.4s}.carcard.gcar.dps,.cs-hero.dps::before,.uq-wrap::before,.uq-wrap::after{animation:none}}
.mc-cc-ph .sir>img{max-width:none;max-height:none}

/* ---------- автосходка: Lamborghini × Swarovski — розовое свечение с блёстками ---------- */
.mt-bay.uqbay{overflow:hidden;background:radial-gradient(70% 55% at 50% 55%,rgba(255,111,181,.16),transparent 70%),linear-gradient(160deg,#1c0914,#0a0407);
  box-shadow:inset 0 0 0 1.5px rgba(255,111,181,.6),inset 0 0 30px rgba(255,111,181,.35);animation:mtIn .55s calc(var(--i) * 60ms) cubic-bezier(.2,.9,.25,1.1) both,uqBay 2.6s ease-in-out infinite}
.mt-bay.uqbay .uq-gl,.mc-cc.uq .uq-gl{-webkit-mask:none;mask:none;opacity:.4}
.mt-bay.uqbay .mt-car::before{background:radial-gradient(closest-side,rgba(255,111,181,.5),transparent);opacity:.6}
.mt-bay.uqbay .mt-car img{filter:drop-shadow(0 0 10px rgba(255,140,198,.55)) drop-shadow(0 10px 8px rgba(0,0,0,.7))}
.mt-bay.uqbay .mt-who,.mt-bay.uqbay .mt-num{z-index:2}
.mc-cc.uq{position:relative;overflow:hidden;border-color:transparent;background:linear-gradient(160deg,#3a1428,#1d0b16 60%,#2a0f1f);
  box-shadow:0 0 0 1px rgba(255,111,181,.55),0 0 26px -4px rgba(255,111,181,.75);animation:uqGlow 2.6s ease-in-out infinite}
.mc-cc.uq>*:not(.uq-gl):not(.uq-sp){position:relative;z-index:1}
.mc-cc.uq .mc-cc-ph{background:radial-gradient(60% 70% at 50% 75%,rgba(255,111,181,.45),transparent 70%),#12060d}
@keyframes uqBay{50%{box-shadow:inset 0 0 0 1.5px rgba(255,160,210,.95),inset 0 0 46px rgba(255,111,181,.6)}}
@media (prefers-reduced-motion: reduce){.mt-bay.uqbay,.mc-cc.uq{animation:none}}

/* лайк отдельной машине на сходке */
.mc-cc-ph{position:relative}
.mc-cc-like{position:absolute;top:8px;right:8px;z-index:2;display:inline-flex;align-items:center;gap:5px;height:32px;padding:0 11px;border-radius:999px;
  border:1.5px solid rgba(255,255,255,.2);background:rgba(10,10,12,.55);backdrop-filter:blur(6px);color:#fff;font:800 13px var(--mono)}
.mc-cc-like .ic{width:15px;height:15px}
.mc-cc-like.on{background:#FF4F9A;border-color:#FF4F9A}.mc-cc-like.on .ic{fill:#fff}
.mc-cc-like.pop{animation:mtPop .45s cubic-bezier(.2,.9,.25,1.6)}
.mc-cc-like:disabled{opacity:.75}
.mc-cc-ph.flip .mc-cc-like{transform:none}

/* ---------- неон днища: свечение по контуру низа машины (её же силуэт) + пятно на полу; слой строго под фото ---------- */
.sir.neo{isolation:isolate}
.sir.neo>img{position:relative;z-index:1}
.neo-in{z-index:0;filter:drop-shadow(0 0 5px var(--neon)) drop-shadow(0 3px 12px color-mix(in srgb,var(--neon) 70%,transparent))}
.neo-sil{position:absolute;inset:0;background:var(--neon);
  -webkit-mask-image:var(--src),linear-gradient(180deg,transparent 58%,#000 82%);-webkit-mask-size:100% 100%,100% 100%;-webkit-mask-repeat:no-repeat;-webkit-mask-composite:source-in;
  mask-image:var(--src),linear-gradient(180deg,transparent 58%,#000 82%);mask-size:100% 100%,100% 100%;mask-repeat:no-repeat;mask-composite:intersect;
  transform:translateY(2.6%) scaleX(.985);filter:blur(3.5px) brightness(1.25);animation:neoPulse 2.6s ease-in-out infinite}
.neo-floor{position:absolute;left:11%;right:11%;top:79.5%;height:12%;border-radius:50%;
  background:radial-gradient(closest-side,color-mix(in srgb,var(--neon) 55%,#fff) 0,var(--neon) 38%,color-mix(in srgb,var(--neon) 35%,transparent) 68%,transparent 100%);
  filter:blur(2px);opacity:.9;animation:neoPulse 2.6s ease-in-out infinite}
@keyframes neoPulse{50%{opacity:.7}}
/* на сходке у места своя подсветка цветом машины — под неоновой машиной её не рисуем, чтобы цвета не мешались */
.mt-car:has(.neo)::before{display:none}
.neon-btn .neon-dot{width:14px;height:14px;border-radius:50%;background:var(--neon);box-shadow:0 0 10px 2px var(--neon)}
.neon-prev{position:relative;aspect-ratio:2/1;border-radius:16px;overflow:hidden;background:radial-gradient(80% 70% at 50% 65%,#1d1d21,#060607)}
.neon-sw{display:flex;flex-wrap:wrap;gap:9px}
.neon-c{position:relative;width:36px;height:36px;border-radius:50%;border:2px solid rgba(255,255,255,.15);background:var(--c,#222);box-shadow:0 0 12px -2px var(--c);display:grid;place-items:center;color:#fff;padding:0}
.neon-c.on{border-color:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.25),0 0 16px var(--c)}
.neon-c .ic{width:16px;height:16px}
.neon-c.own{background:conic-gradient(#E5322D,#F2C53D,#2FBF71,#22D3EE,#3478F7,#7C5CFF,#FF4F9A,#E5322D);overflow:hidden}
.neon-c.own input{position:absolute;inset:0;opacity:0;cursor:pointer}
@media (prefers-reduced-motion: reduce){.neo-sil,.neo-floor{animation:none}}
/* Колхозвито: подгрузка ленты */
.kv-more{grid-column:1/-1;height:46px;border-radius:14px;border:1px solid #e3e5e8;background:#f6f7f8;color:#333;font:700 14px var(--body)}
.kv-more:disabled{opacity:.6}
body.kvdark .kv-more{background:#1a1a1c;border-color:#2a2a2e;color:#ddd}

/* ---------- Колхозвито 2: как Авито — голубая шапка с поиском, крупные плитки в два ряда, фото-баннер из админки, карточки с большим фото ---------- */
.kv2{gap:16px;padding-top:0;background:#fff}
.kv-hero{position:relative;margin:6px -6px 0;padding:14px 12px 18px;border-radius:28px;overflow:hidden;
  background:linear-gradient(180deg,#bfe3fb 0%,#d6edfc 55%,#e4f3fd 100%)}
.kv-hrow{position:relative;z-index:2;display:flex;gap:10px;align-items:center}
.kv2 .kv-search{flex:1;height:52px;border:0;border-radius:18px;background:#fff;box-shadow:0 4px 16px -10px rgba(30,80,140,.45)}
.kv2 .kv-sicon{padding:0 6px 0 16px;color:#777}
.kv2 .kv-sicon .ic{width:22px;height:22px}
.kv2 .kv-search input{font:500 16px var(--body);color:#111}
.kv2 .kv-search input::placeholder{color:#8a8f96}
.kv-fbtn{flex:none;width:48px;height:100%;border:0;background:none;color:#111;display:grid;place-items:center}
.kv-fbtn .ic{width:22px;height:22px}
.kv-sq{flex:none;width:52px;height:52px;border:0;border-radius:18px;background:#fff;color:#111;display:grid;place-items:center;box-shadow:0 4px 16px -10px rgba(30,80,140,.45)}
.kv-sq .ic{width:24px;height:24px}
.kv-hline{position:relative;z-index:2;display:flex;align-items:center;gap:10px;margin-top:16px}
.kv2 .kv-logo{font:800 26px/1.1 var(--body);letter-spacing:-.025em;color:#0d0d0d}
.kv2 .kv-refresh{width:34px;height:34px;border:0;border-radius:50%;background:#0d0d0d;color:#fff;display:grid;place-items:center}
.kv2 .kv-refresh .ic{width:16px;height:16px}
.kv-hero-img{position:absolute;right:-26px;bottom:-30px;width:118px;height:118px;object-fit:contain;transform:rotate(-12deg);z-index:1;filter:drop-shadow(0 8px 14px rgba(0,0,0,.18))}
.kv2 .kv-tabs{margin-top:-2px}
.kv2 .kv-tabs button{padding:9px 15px;font-size:14px}
/* плитки: два ряда, листаются вбок; первая в ряду — широкая */
.kv-tiles{margin:0 -16px;padding:0 16px;display:flex;flex-direction:column;gap:10px;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x proximity}
.kv-tiles::-webkit-scrollbar{display:none}
.kv-trow{display:flex;gap:10px}
.kv-tile{position:relative;flex:none;width:132px;height:96px;border:0;border-radius:22px;background:#f2f3f5;text-align:left;padding:13px 14px;overflow:hidden;color:#111;scroll-snap-align:start}
.kv-tile.wide{width:172px}
.kv-tile span{position:relative;z-index:1;font:500 16px/1.15 var(--body);letter-spacing:-.01em}
.kv-tile img{position:absolute;right:-6px;bottom:-6px;width:72%;height:66%;object-fit:contain;transition:transform .25s}
.kv-tile.wide img{width:66%;height:74%}
.kv-tile:active img{transform:scale(1.06) rotate(-3deg)}
.kv-tile.on{background:#e6f1fe;box-shadow:inset 0 0 0 2px #3478F7}
/* баннер из админки */
.kv-bn{margin:0 -16px;padding:0 16px;display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.kv-bn::-webkit-scrollbar{display:none}
.kv-bn-i{flex:none;width:100%;border:0;padding:0;border-radius:24px;overflow:hidden;background:#f2f3f5;scroll-snap-align:center;box-shadow:0 6px 18px -12px rgba(0,0,0,.35)}
.kv-bn-i img{display:block;width:100%;height:auto;max-height:240px;object-fit:cover}
/* карточки */
.kv2 .kv-grid{gap:18px 12px}
.kv2 .kv-card{gap:0;border-radius:16px;background:#fff;box-shadow:0 2px 12px -6px rgba(0,0,0,.18);overflow:hidden}
.kv2 .kv-ph{border-radius:0;aspect-ratio:1/1}
.kv-body{display:flex;flex-direction:column;gap:4px;padding:10px 12px 12px}
.kv2 .kv-t{font:500 15px/1.25 var(--body);color:#111}
.kv2 .kv-heart{color:#111;margin:-2px -4px 0 0}
.kv2 .kv-heart .ic{width:24px;height:24px}
.kv2 .kv-p{font:800 19px var(--body);letter-spacing:-.01em;margin-top:2px}
.kv2 .kv-meta{font-size:13px;color:#8a8f96}
/* тёмная тема Колхозвито */
body.kvdark .kv-hero{background:linear-gradient(180deg,#14324d,#122436 60%,#101b28)}
body.kvdark .kv2 .kv-search,body.kvdark .kv-sq{background:#1c1d21;box-shadow:none}
body.kvdark .kv2 .kv-search input,body.kvdark .kv-fbtn,body.kvdark .kv-sq,body.kvdark .kv2 .kv-logo{color:#f2f2f2}
body.kvdark .kv2 .kv-refresh{background:#f2f2f2;color:#111}
body.kvdark .kv-tile{background:#1c1d21;color:#f2f2f2}
body.kvdark .kv-tile.on{background:#16263c}
body.kvdark .kv2 .kv-card{background:#17181b;box-shadow:none}
body.kvdark .kv2 .kv-t,body.kvdark .kv2 .kv-heart{color:#f2f2f2}
.kv2 .kv-search .kv-fbtn{padding:0;background:none;color:#111;width:50px}
body.kvdark .kv2 .kv-search .kv-fbtn{color:#f2f2f2}
.kv-tile{display:flex;align-items:flex-start;justify-content:flex-start}

/* ---------- Колхозвито: скидки, метки, характеристики ---------- */
.kv-disc{position:absolute;right:8px;top:8px;z-index:2;background:#E5322D;color:#fff;font:800 12px var(--body);border-radius:8px;padding:3px 7px}
.kv-disc.in{position:static;align-self:center}
.kv-p.sale{color:#E5322D}
.kv-old{margin-left:7px;font:500 13px var(--body);color:#9aa0a6;text-decoration:line-through}
.kv-pricebox .kv-old{font-size:16px}
.kv-tags{display:flex;flex-wrap:wrap;gap:6px}
.kv-tag{display:inline-flex;align-items:center;gap:5px;border:0;border-radius:999px;padding:6px 11px;background:#eef3ff;color:#1f5ed6;font:700 12.5px var(--body)}
.kv-tag .ic{width:14px;height:14px}
.kv-tag.pick{background:#f2f3f5;color:#333}
.kv-tag.pick.on{background:#1f5ed6;color:#fff}
.kv-parts{display:flex;flex-direction:column;gap:6px}
.kv-part{display:grid;grid-template-columns:8px 92px 1fr;align-items:center;gap:8px;padding:8px 10px;border-radius:12px;background:#f6f7f8;font-size:13px}
.kv-part i{width:8px;height:8px;border-radius:50%}
.kv-part span{color:#888}
.kv-part b{font-weight:600;color:#111;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kv-h small{font:600 12px var(--body);color:#888;margin-left:4px}
.kv-prev{border-radius:14px;background:#f6f7f8;padding:10px 12px}
.kv-prev summary{font-weight:700;font-size:14px;cursor:pointer}
.kv-prev .kv-props{margin-top:10px}
.field label small{color:#999;font-weight:500;margin-left:6px}
body.kvdark .kv-tag{background:#16263c;color:#8fb6ff}
body.kvdark .kv-tag.pick{background:#1c1d21;color:#ddd}
body.kvdark .kv-tag.pick.on{background:#3478f7;color:#fff} /* выбранная метка в тёмной теме (правило выше перебивало .on) */
body.kvdark .kv-part,body.kvdark .kv-prev{background:#17181b}
body.kvdark .kv-part b{color:#eee}

/* VIP-автосходка: баннер-кнопка над «Звездой сходки» (как баннеры на главном) */
.vm-bnr{margin:4px 0 12px}
.vm-bnr .bn.tone-purple{background:linear-gradient(120deg,#5b2c83,#2a1450 60%,#1a0f30);border-color:rgba(242,197,61,.35);box-shadow:0 10px 30px -12px rgba(124,92,255,.8)}
.vm-bnr .bn-ic{color:#F2C53D}
.vm-bnr .bn-ic .ic{width:24px;height:24px}

/* ---------- шиномонтаж ---------- */
.tw{display:flex;flex-direction:column;gap:10px}
.tw-car{position:relative;height:120px;border-radius:16px;background:radial-gradient(80% 70% at 50% 70%,#2a2a30,#0d0d10);display:grid;place-items:center}
.tw-car img{height:110px;object-fit:contain}
.tw-pos{position:absolute;left:8px;right:8px;bottom:6px;display:flex;justify-content:space-between}
.tw-pos i{font-style:normal;font:800 11px var(--mono);padding:3px 7px;border-radius:8px;background:rgba(255,255,255,.08);color:#999}
.tw-pos i.on{background:#EC562E;color:#fff}
.tw-pos i.ok{background:#2fbf71;color:#fff}
.tw-stage{display:flex;flex-direction:column;align-items:center;gap:12px;padding:12px;border-radius:18px;background:#141416;border:1px solid rgba(255,255,255,.06)}
.tw-task{text-align:center;display:flex;flex-direction:column;gap:2px}
.tw-task b{font-size:16px}
.tw-task small{color:#aaa}
.tw-wheel{position:relative;width:220px;height:220px;display:grid;place-items:center}
.tw-tire{position:relative;width:210px;height:210px;border-radius:50%;background:radial-gradient(circle,#1b1b1e 56%,#0c0c0e 57%,#26262a 70%,#121214 71%);box-shadow:0 14px 30px rgba(0,0,0,.6);transition:transform .45s,opacity .45s}
.tw-tread{position:absolute;inset:0;border-radius:50%;background:repeating-conic-gradient(#0a0a0b 0 4deg,transparent 4deg 9deg);-webkit-mask:radial-gradient(circle,transparent 62%,#000 63%);mask:radial-gradient(circle,transparent 62%,#000 63%);opacity:.8}
.tw-rim{position:absolute;inset:22%;border-radius:50%;background:radial-gradient(circle,#d7dbe0 0 18%,#9aa1a9 19% 40%,#c6ccd2 41% 62%,#7b828a 63%);box-shadow:inset 0 0 0 3px #5a6067}
.tw-hub{position:absolute;inset:38%;border-radius:50%;background:#4b5158}
.tw-nut{position:absolute;left:50%;top:50%;width:30px;height:30px;margin:-15px;border-radius:50%;border:0;background:radial-gradient(circle,#f1f3f5 0 30%,#8c939b 31%);box-shadow:0 2px 4px rgba(0,0,0,.6);
  transform:rotate(var(--a)) translate(44px) rotate(calc(-1 * var(--a)));transition:transform .2s,opacity .2s;display:grid;place-items:center}
.tw-nut b{font:800 10px var(--mono);color:#222}
.tw-nut.out{opacity:.35;transform:rotate(var(--a)) translate(44px) rotate(calc(-1 * var(--a))) scale(.8)}
.tw-nut.tight{background:radial-gradient(circle,#ffe08a 0 30%,#c99a1a 31%)}
.tw-nut.shake{animation:twShake .3s}
@keyframes twShake{25%{margin-left:-19px}75%{margin-left:-11px}}
.tw-tire.loose{animation:twWobble .6s ease-in-out infinite alternate}
@keyframes twWobble{to{transform:rotate(3deg) translateY(2px)}}
.tw-tire.off{transform:translateX(160%) rotate(90deg);opacity:0}
.tw-tire.bench{transform:none}
.tw-tire.old .tw-tread{opacity:.35}
.tw-tire.bare{background:radial-gradient(circle,#1b1b1e 56%,transparent 57%)}
.tw-tire.bare .tw-tread{opacity:0}
.tw-tire.new .tw-tread{opacity:1}
.tw-tire.new{box-shadow:0 0 0 3px rgba(47,191,113,.5),0 14px 30px rgba(0,0,0,.6)}
.tw-tire.water{background:radial-gradient(circle,#1b1b1e 56%,#0c0c0e 57%,#26262a 70%,#121214 71%),radial-gradient(circle,rgba(80,140,220,.25),transparent)}
.tw-spot{position:absolute;left:50%;top:50%;width:34px;height:34px;margin:-17px;border-radius:50%;border:0;background:transparent;transform:rotate(var(--a)) translate(86px)}
.tw-spot.leak::after{content:'';position:absolute;inset:6px;border-radius:50%;background:radial-gradient(circle at 40% 40%,#fff,rgba(160,210,255,.6) 40%,transparent 70%);animation:twBub 1s ease-out infinite}
@keyframes twBub{from{transform:scale(.4);opacity:1}to{transform:scale(1.4) translateY(-8px);opacity:0}}
.tw-spot.miss{background:rgba(255,77,94,.3)}
.tw-spot.patched{background:#3a2a1a;box-shadow:0 0 0 3px #2fbf71}
.tw-tire.spin{animation:twSpin .35s linear infinite}
@keyframes twSpin{to{transform:rotate(360deg)}}
.tw-bal{position:absolute;left:0;right:0;bottom:-14px;height:12px;border-radius:6px;background:#2a2a2e;overflow:hidden}
.tw-bal .z{position:absolute;top:0;bottom:0;width:20%;background:#2fbf71}
.tw-bal .n{position:absolute;top:-2px;bottom:-2px;width:4px;margin-left:-2px;background:#fff;box-shadow:0 0 6px #fff}
.tw-ctl{width:100%}
.tw-ctl .btn{width:100%}
.jb-card.tire .jb-ic{background:linear-gradient(135deg,#3a3a40,#1a1a1e)}
.tw-wheel{margin-bottom:18px}

/* ---------- обменник (web/trades.js) ---------- */
@keyframes trxIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes trxSpin{to{transform:rotate(1turn)}}
.trx{display:flex;flex-direction:column;gap:12px}
.trx-sub{margin:-4px 0 0}
.trx-tabs button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:6px}
.trx-n{min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--tang);color:#000;font:800 11px/18px var(--mono);font-style:normal}
.trx-n[hidden]{display:none}
.trx-body{display:flex;flex-direction:column;gap:12px;min-height:160px}
.trx-load{display:grid;place-items:center;padding:40px 0;color:var(--muted)}
.trx-load .ic{width:28px;height:28px;animation:trxSpin 1s linear infinite}
.trx-h4{margin:6px 0 -2px;font:800 12px var(--body);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.trx-empty{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;padding:26px 14px;border:1px dashed var(--line);border-radius:18px;color:var(--muted)}
.trx-empty>.ic{width:34px;height:34px;color:var(--tang)}
.trx-empty b{color:var(--peach);font-size:15px}
.trx-empty small{font-size:12.5px;max-width:300px}
.trx-empty .btn{margin-top:8px}
.trx-empty.small{padding:18px 12px}

/* карточка предложения */
.trx-card{display:flex;flex-direction:column;gap:12px;padding:14px;border-radius:20px;background:linear-gradient(160deg,#1c1a18,#121110 70%);border:1px solid rgba(255,255,255,.08);animation:trxIn .3s ease-out both}
.trx-card.st-wait{border-color:rgba(236,86,46,.45);box-shadow:0 10px 30px -18px var(--tang-glow)}
.trx-card.st-no{opacity:.62}
.trx-ch{display:flex;align-items:center;gap:10px}
.trx-ava{position:relative;flex:none;width:40px;height:40px;border-radius:50%;overflow:hidden;background:var(--s2);border:1px solid var(--line);display:grid;place-items:center}
.trx-ava img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.trx-ava i{font-style:normal;font-weight:800;color:var(--peach)}
.trx-who{flex:1;min-width:0;display:flex;flex-direction:column}
.trx-who b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.trx-who small{font-size:12px;color:var(--muted)}
.trx-st{flex:none;font-style:normal;font-size:11.5px;font-weight:800;padding:5px 9px;border-radius:999px;background:var(--s2);color:var(--muted);border:1px solid var(--line)}
.trx-st.wait{color:var(--tang);border-color:rgba(236,86,46,.4);background:rgba(236,86,46,.08)}
.trx-st.ok{color:#3DBE5A;border-color:rgba(61,190,90,.35);background:rgba(61,190,90,.08)}
.trx-sides{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.trx-side{display:flex;flex-direction:column;gap:6px;min-width:0;padding:10px;border-radius:16px;background:rgba(0,0,0,.28);border:1px solid var(--line)}
.trx-side>small{display:flex;align-items:center;gap:4px;font-size:11.5px;font-weight:700;color:var(--muted)}
.trx-side>small .ic{width:14px;height:14px}
.trx-side>small b{margin-left:auto;font:700 11.5px var(--mono);color:var(--peach)}
.trx-side.get>small .ic{color:#3DBE5A}
.trx-side.give>small .ic{color:var(--tang)}
.trx-it{position:relative;display:flex;align-items:center;gap:8px;min-width:0;padding:6px;border-radius:12px;background:var(--s1);border:1px solid var(--line);box-shadow:inset 3px 0 0 var(--rc,var(--line))}
.trx-it.gone{opacity:.45;filter:grayscale(1)}
.trx-it.gone .trx-it-t small{color:#E24A3B}
.trx-it-ph{flex:none;width:52px;height:30px;display:grid;place-items:center;overflow:hidden}
.trx-it-ph img,.trx-it-ph .sir{width:100%;height:100%;object-fit:contain}
.trx-it-ph .noimg{transform:scale(.6)}
.trx-it-ph>.ic{color:#F2C53D}
.trx-it-t{min-width:0;display:flex;flex-direction:column;line-height:1.2}
.trx-it-t b{font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.trx-it-t small{font:600 11px var(--mono);color:var(--muted)}
.trx-it.money{box-shadow:inset 3px 0 0 #F2C53D;background:linear-gradient(90deg,rgba(242,197,61,.1),var(--s1) 70%)}
.trx-warn{display:flex;align-items:center;gap:6px;margin:0;font-size:12.5px;color:#ff9a7a}
.trx-warn .ic{width:16px;height:16px;color:#E24A3B}
.trx-acts{display:flex;gap:8px}
.trx-acts .btn{flex:1;padding:11px 10px;font-size:14px}
.trx-acts .btn .ic{width:18px;height:18px}
.trx-acts .btn.sure{background:#3DBE5A;box-shadow:0 8px 24px -8px rgba(61,190,90,.6)}

/* новый обмен */
.trx-new{display:flex;flex-direction:column;gap:10px}
.trx-box{display:flex;flex-direction:column;gap:10px;padding:12px;border-radius:18px;background:var(--s1);border:1px solid var(--line)}
.trx-box.give{box-shadow:inset 0 3px 0 rgba(236,86,46,.55)}
.trx-box.get{box-shadow:inset 0 3px 0 rgba(61,190,90,.55)}
.trx-bt{font-size:14px}
.trx-bh{display:flex;align-items:center;gap:8px}
.trx-bh b{flex:1;min-width:0;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.trx-bh span{font:700 13px var(--mono);color:var(--peach)}
.trx-find{display:flex;align-items:center;gap:8px;padding:4px 4px 4px 12px;border-radius:14px;background:var(--black);border:1px solid var(--line)}
.trx-find>span{display:grid;color:var(--muted)}
.trx-find input{flex:1;min-width:0;border:0;background:none;color:var(--peach);font:600 16px var(--body);padding:8px 0;outline:none}
.trx-find .btn{width:auto;padding:9px 12px;border-radius:11px}
.trx-to{display:flex;align-items:center;gap:10px}
.trx-items{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.trx-items .trx-it{cursor:pointer}
.trx-items .trx-it::after{content:'×';position:absolute;top:-6px;right:-6px;width:18px;height:18px;border-radius:50%;background:#2d2624;color:var(--peach);font:800 13px/17px var(--body);text-align:center}
.trx-add{display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px;border-radius:12px;border:1px dashed rgba(236,86,46,.55);background:rgba(236,86,46,.06);color:var(--tang);font-weight:800;font-size:13px}
.trx-add:disabled{border-color:var(--line);background:none;color:var(--muted)}
.trx-money{display:flex;align-items:center;gap:8px;padding:6px 6px 6px 10px;border-radius:12px;background:var(--black);border:1px solid var(--line);color:var(--muted);font-size:13px;font-weight:700}
.trx-money .ic{color:#F2C53D;width:18px;height:18px}
.trx-money input{flex:1;min-width:0;text-align:right;border:0;background:none;color:#F2C53D;font:700 16px var(--mono);padding:6px 4px;outline:none}
.trx-swap{display:grid;place-items:center;margin:-16px auto;width:36px;height:36px;border-radius:50%;background:var(--s2);border:1px solid var(--line);color:var(--tang);position:relative;z-index:1}
.trx-swap .ic{width:18px;height:18px}
.trx-foot{display:flex;flex-direction:column;gap:10px}
.trx-fair{display:flex;flex-direction:column;gap:6px}
.trx-bar{height:8px;border-radius:4px;background:rgba(61,190,90,.35);overflow:hidden}
.trx-bar i{display:block;height:100%;background:var(--tang);transition:width .3s}
.trx-fair small{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--muted)}
.trx-fair small .ic{width:15px;height:15px;color:#3DBE5A}
.trx-fair.bad small{color:#ff9a7a}
.trx-fair.bad small .ic{color:#E24A3B}
.trx-rules{margin:0;font-size:12px}

/* выбор вещей */
.trx-pick{display:flex;flex-direction:column;gap:10px}
.trx-ph{display:flex;align-items:center;gap:10px}
.trx-ph b{flex:1;min-width:0;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.trx-ph span{font:700 13px var(--mono);color:var(--muted)}
.trx-ptabs button{display:inline-flex;align-items:center;justify-content:center;gap:6px}
.trx-ptabs .ic{width:16px;height:16px}
.trx-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-height:52vh;overflow-y:auto;padding:2px}
.trx-pc{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:2px;padding:8px;border-radius:14px;background:var(--s1);border:1px solid var(--line);text-align:left;box-shadow:inset 0 -3px 0 var(--rc,var(--line));transition:border-color .15s,transform .12s}
.trx-pc:active{transform:scale(.97)}
.trx-pc .trx-it-ph{width:100%;height:58px}
.trx-pc b{font-size:12.5px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.trx-pc small{font:600 11px var(--mono);color:var(--muted)}
.trx-tick{position:absolute;top:6px;right:6px;z-index:1;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:rgba(0,0,0,.5);border:1px solid var(--line);color:transparent}
.trx-tick .ic{width:14px;height:14px}
.trx-pc.on{border-color:var(--tang);background:linear-gradient(160deg,rgba(236,86,46,.14),var(--s1) 60%)}
.trx-pc.on .trx-tick{background:var(--tang);border-color:var(--tang);color:#000}
@media (max-width:360px){.trx-sides,.trx-items{grid-template-columns:1fr}}
.pf-id{display:inline-flex;align-items:center;gap:5px;margin-top:4px;padding:3px 8px;border-radius:8px;border:1px solid var(--line);background:var(--s1);color:#9c9690;font:600 11.5px var(--mono)}
.pf-id .ic{width:13px;height:13px}

/* ---------- активная подвеска кузова (GLS Maybach): кузов ходит вверх-вниз, колёса стоят на месте ---------- */
/* --bob крутит анимация всегда, --amp плавно растёт/гаснет при включении/выключении — без рывка в начале и в конце */
@property --bob { syntax: '<number>'; inherits: true; initial-value: 0; }
@property --amp { syntax: '<number>'; inherits: true; initial-value: 0; }
@keyframes bfxBob { 0% { --bob: 0 } 22% { --bob: -1 } 48% { --bob: -.35 } 70% { --bob: .45 } 86% { --bob: .1 } 100% { --bob: 0 } }
.bfx{position:relative;display:block;width:100%;height:100%;--amp:0;transition:--amp 1s cubic-bezier(.4,0,.2,1)}
.bfx.on{--amp:1}
.bfx>img{display:block;width:100%;height:100%;object-fit:contain}
.bfx>.bfx-w,.bfx>.bfx-b{position:absolute!important;left:0;top:0;width:100%!important;height:100%!important;object-fit:contain;opacity:0}
.bfx.ok>.bfx-w,.bfx.ok>.bfx-b{opacity:1}
.bfx.ok>.bfx-base{opacity:0}
.bfx.nofx>.bfx-base{opacity:1}.bfx.nofx>.bfx-w,.bfx.nofx>.bfx-b{display:none}
.bfx-b{animation:bfxBob 3.6s ease-in-out infinite;transform:translateY(calc(var(--amp) * var(--bob) * 1.3%));will-change:transform}
@media (prefers-reduced-motion:reduce){.bfx-b{animation:none;transform:none}}
.fx-btn.on{border-color:rgba(242,197,61,.45);color:#F2C53D}
.fx-btn b{font-weight:800}

/* ---------- замок на машине ---------- */
.cs-lock{margin-left:auto;flex:none;width:36px;height:36px;border-radius:10px;display:grid;place-items:center;border:1px solid var(--line);background:var(--s2);color:var(--muted);transition:background .2s,color .2s,border-color .2s,transform .12s}
.cs-lock:active{transform:scale(.92)}
.cs-lock .ic{width:18px;height:18px}
.cs-lock.on{background:linear-gradient(160deg,#F2C53D,#b8890f);border-color:#F2C53D;color:#1a1205;box-shadow:0 6px 18px -8px rgba(242,197,61,.8)}
.cs-tag.lock,.tg.lock{background:rgba(242,197,61,.16);color:#F2C53D;box-shadow:inset 0 0 0 1px rgba(242,197,61,.4)}
.tg.lock .ic,.cs-tag.lock .ic{width:12px;height:12px;vertical-align:-2px}

/* ---------- подвеска в карточке машины ---------- */
.cs-susp{display:flex;align-items:center;gap:8px;margin:2px 0 8px;padding:8px 10px;border-radius:12px;background:rgba(52,120,247,.08);border:1px solid rgba(52,120,247,.25);font-size:12.5px;color:#cfd8ea}
.cs-susp .ic{flex:none;width:16px;height:16px;color:#7DB0FF}
.cs-susp b{color:#fff}
.chips.wrap{flex-wrap:wrap;overflow:visible}
.rdot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px;vertical-align:1px}
.kv-empty .btn{width:auto;padding:10px 18px}

/* премиум-кейс: картинка автора поверх золотой подложки (если файла нет — видна звезда) */
.pc-img{position:relative;overflow:visible}
.pc-img img{position:absolute;inset:-14%;width:128%;height:128%;object-fit:contain;filter:drop-shadow(0 6px 10px rgba(0,0,0,.55)) drop-shadow(0 0 14px rgba(242,197,61,.35))}
.pc-img:has(img){background:radial-gradient(circle at 50% 60%,rgba(242,197,61,.35),rgba(242,197,61,0) 70%)}
.pc-img:has(img) i{opacity:0}

/* шиномонтаж: манометр накачки и выбор шины под диск */
.tw-gauge{position:relative;width:220px;height:130px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding-bottom:6px}
.tw-gauge::before{content:'';position:absolute;left:10px;right:10px;top:10px;height:200px;border-radius:50%;background:conic-gradient(from -90deg at 50% 50%,#2a2a30 0 180deg,transparent 180deg);-webkit-mask:radial-gradient(circle at 50% 50%,transparent 62%,#000 63%);mask:radial-gradient(circle at 50% 50%,transparent 62%,#000 63%)}
.tw-g-zone{position:absolute;left:10px;right:10px;top:10px;height:200px;border-radius:50%;background:conic-gradient(from -90deg at 50% 50%,transparent 0 calc(var(--lo) * 180deg),#2fbf71 calc(var(--lo) * 180deg) calc(var(--hi) * 180deg),transparent calc(var(--hi) * 180deg));-webkit-mask:radial-gradient(circle at 50% 50%,transparent 62%,#000 63%);mask:radial-gradient(circle at 50% 50%,transparent 62%,#000 63%);opacity:.7}
.tw-g-needle{position:absolute;left:50%;top:22px;width:4px;height:88px;margin-left:-2px;border-radius:2px;background:#fff;box-shadow:0 0 8px rgba(255,255,255,.7);transform-origin:50% 100%;transition:transform .08s linear}
.tw-gauge b{position:relative;font:800 30px var(--mono);color:#fff}
.tw-gauge small{position:relative;font-size:11px;color:#aaa}
.tw-gauge.in b{color:#2fbf71}
.tw-gauge.in .tw-g-zone{opacity:1;filter:drop-shadow(0 0 8px #2fbf71)}
.tw-pump.on{transform:scale(.97);filter:brightness(1.15)}
.tw-ctl .row .btn{flex:1}
.tw-ctl>.btn+.btn,.tw-ctl>.row+.btn{margin-top:8px}
.tw-sizes{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.tw-size{display:flex;flex-direction:column;align-items:center;gap:2px;padding:12px 6px;border-radius:14px;border:1px solid var(--line);background:var(--s2);color:var(--peach)}
.tw-size b{font:800 18px var(--mono)}
.tw-size small{font-size:11px;color:var(--muted)}
.tw-size.miss{border-color:#ff4d5e;background:rgba(255,77,94,.12)}
.tw-size.ok{border-color:#2fbf71;background:rgba(47,191,113,.15)}

/* ---------- получение легендарной машины (legendReveal): мягкое нарастание, без резких вспышек ---------- */
.lgr{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:calc(16px + env(safe-area-inset-top,0px)) 16px calc(16px + env(safe-area-inset-bottom,0px));overflow:hidden;
  --gold:#F2C53D;opacity:0;transition:opacity .5s ease}
.lgr.s1{opacity:1}.lgr.out{opacity:0;transition:opacity .4s ease}
.lgr-bg{position:absolute;inset:0;background:radial-gradient(70% 55% at 50% 45%,color-mix(in srgb,var(--acc,#F2C53D) 22%,transparent),transparent 70%),radial-gradient(120% 90% at 50% 120%,rgba(242,197,61,.18),transparent 60%),rgba(4,3,2,.94);backdrop-filter:blur(6px)}
.lgr-rays{position:absolute;left:50%;top:44%;width:0;height:0}
.lgr-rays b{position:absolute;left:-1px;top:0;width:2px;height:46vmax;transform-origin:50% 0;transform:rotate(calc(var(--i) * 30deg)) scaleY(0);
  background:linear-gradient(rgba(242,197,61,.55),transparent 70%);opacity:0;transition:transform 1.1s cubic-bezier(.2,.8,.2,1),opacity 1.1s ease;transition-delay:calc(var(--i) * 25ms)}
.lgr.s1 .lgr-rays b{transform:rotate(calc(var(--i) * 30deg)) scaleY(1);opacity:.55}
.lgr.s3 .lgr-rays b{opacity:.18}
.lgr.s1 .lgr-rays{animation:lgrSpin 30s linear infinite}
@keyframes lgrSpin{to{transform:rotate(1turn)}}
.lgr-card{position:relative;width:min(380px,100%);max-height:100%;display:flex;flex-direction:column;align-items:center;gap:10px;padding:18px 16px 16px;border-radius:26px;
  background:linear-gradient(160deg,rgba(40,32,14,.0),rgba(22,18,10,0));border:1px solid transparent;transition:background .8s ease,border-color .8s ease,box-shadow .8s ease}
.lgr.s3 .lgr-card{background:linear-gradient(165deg,#2a2210,#140f07 55%,#0b0905);border-color:rgba(242,197,61,.55);box-shadow:0 30px 80px -20px rgba(0,0,0,.9),0 0 0 1px rgba(242,197,61,.15) inset,0 0 60px -10px rgba(242,197,61,.35)}
.lgr-tag{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:999px;font:800 11px var(--body);letter-spacing:.16em;text-transform:uppercase;color:#1a1205;
  background:linear-gradient(135deg,#ffe9a3,#F2C53D 45%,#b8890f);box-shadow:0 6px 20px -6px rgba(242,197,61,.8);opacity:0;transform:translateY(-8px);transition:opacity .6s ease,transform .6s ease}
.lgr-tag .ic{width:14px;height:14px}
.lgr.s1 .lgr-tag{opacity:1;transform:none}
.lgr-car{position:relative;width:100%;aspect-ratio:2/1}
.lgr-glow{position:absolute;left:8%;right:8%;bottom:4%;height:22%;border-radius:50%;background:radial-gradient(closest-side,rgba(242,197,61,.6),transparent);filter:blur(10px);opacity:0;transition:opacity 1s ease .3s}
.lgr.s2 .lgr-glow{opacity:1}
.lgr-img{position:absolute;inset:0;transform:scale(.86) translateY(6%);filter:brightness(0) drop-shadow(0 0 18px rgba(242,197,61,.6));opacity:0;
  transition:transform 1.2s cubic-bezier(.2,.9,.2,1),filter 1.2s ease,opacity .5s ease}
.lgr-img img,.lgr-img .sir,.lgr-img .bfx{width:100%;height:100%;object-fit:contain}
.lgr.s1 .lgr-img{opacity:.85}
.lgr.s2 .lgr-img{transform:none;filter:brightness(1) drop-shadow(0 14px 22px rgba(0,0,0,.7));opacity:1}
.lgr-sweep{position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 35%,rgba(255,244,210,.55) 50%,transparent 65%);background-size:250% 100%;background-position:120% 0;
  -webkit-mask:var(--m,none);opacity:0}
.lgr.s2 .lgr-sweep{animation:lgrSweep 1.3s ease .5s both}
@keyframes lgrSweep{0%{opacity:0;background-position:120% 0}30%{opacity:.9}100%{opacity:0;background-position:-30% 0}}
.lgr-info{width:100%;display:flex;flex-direction:column;align-items:center;gap:8px;opacity:0;transform:translateY(12px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.9,.2,1)}
.lgr.s3 .lgr-info{opacity:1;transform:none}
.lgr-brand{display:inline-flex;align-items:center;gap:6px;font:800 12px var(--body);letter-spacing:.2em;text-transform:uppercase;color:#d9c79a}
.lgr-brand .blogo{width:22px;height:22px}
.lgr-name{margin:0;text-align:center;font-family:var(--display);font-size:clamp(22px,7vw,30px);line-height:1.1;color:#fff;text-shadow:0 2px 18px rgba(242,197,61,.35)}
.lgr-stats{width:100%;display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.lgr-stats span{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;border-radius:12px;background:rgba(255,255,255,.04);border:1px solid rgba(242,197,61,.18)}
.lgr-stats small{font-size:10.5px;color:#a89a7a;text-transform:uppercase;letter-spacing:.08em}
.lgr-stats b{font:800 17px var(--mono);color:#fff}.lgr-stats em{font-style:normal;font-size:11px;color:#c9b886;margin-left:3px}
.lgr-price{display:flex;align-items:baseline;gap:8px;color:#d9c79a}.lgr-price small{font-size:12px}.lgr-price b{font-size:18px;color:var(--gold)}
.lgr-ok{opacity:0;transform:translateY(10px);pointer-events:none;transition:opacity .5s ease,transform .5s ease}
.lgr.s3 .lgr-ok{opacity:1;transform:none;pointer-events:auto}
.lgr-dust{position:absolute;inset:0;pointer-events:none}
.lgr-dust b{position:absolute;bottom:-10px;left:calc(var(--x) * 1%);width:4px;height:4px;border-radius:50%;background:radial-gradient(circle,#fff6c9,#F2C53D 60%,transparent);opacity:0}
.lgr.s4 .lgr-dust b{animation:lgrDust calc(5s * var(--s) + 3s) linear var(--d) infinite}
@keyframes lgrDust{0%{opacity:0;transform:translateY(0)}15%{opacity:.9}100%{opacity:0;transform:translateY(-95vh) translateX(18px)}}
.lgr-skip{position:absolute;right:14px;top:calc(12px + env(safe-area-inset-top,0px));border:0;border-radius:999px;padding:7px 12px;background:rgba(255,255,255,.08);color:#d9c79a;font:700 12px var(--body);transition:opacity .3s}
.lgr.s3 .lgr-skip{opacity:0;pointer-events:none}
@media (max-height:620px){.lgr-card{gap:6px;padding:12px}.lgr-car{width:80%}.lgr-stats b{font-size:15px}}
@media (prefers-reduced-motion:reduce){.lgr *,.lgr{transition:none!important;animation:none!important}}
/* корона рейтинга: сутки на первом месте (server/rep.js) */
.mt-champ.c0{background:linear-gradient(145deg,#fff3b0,#F2C53D 45%,#EC562E)}
.mc-champ.c0{background:linear-gradient(90deg,#F2C53D,#EC562E);color:#111}
.fr-crown::after{background:conic-gradient(from 0deg,#F2C53D,#EC562E,#fff3b0,#F2C53D,#EC562E,#F2C53D)}
.mt-bay.fr-crown::after{padding:3px}
.mj-fr.fr-crown{box-shadow:inset 0 0 0 2px #EC562E}
/* репутация: шкала звания (баннер топа, профиль) и таблички «за что растёт» */
.rpb{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07)}
.sn .rpb{margin:0 16px}
.rpb-t{display:flex;justify-content:space-between;align-items:center;font-size:13px}
.rpb-t span{display:inline-flex;align-items:center;gap:6px}.rpb-t .ic{width:16px;height:16px;color:#F2C53D}
.rpb-t .num{font:700 13px var(--mono);color:var(--muted)}
.rpb-bar{display:block;height:8px;border-radius:4px;background:rgba(255,255,255,.08);overflow:hidden}
.rpb-bar b{display:block;height:100%;border-radius:4px;background:linear-gradient(90deg,#EC562E,#F2C53D);transition:width .6s ease}
.rpb small{font-size:11.5px;color:var(--muted)}
.rpw{display:flex;flex-direction:column;gap:6px}
.rpw>div{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 12px;border-radius:12px;background:var(--s1);border:1px solid var(--line);font-size:13px}
.rpw>div.on{border-color:#F2C53D;box-shadow:inset 0 0 0 1px #F2C53D}
.rpw span{display:inline-flex;align-items:center;gap:8px}.rpw .ic{width:16px;height:16px;color:#F2C53D}
.rpw b{font:800 13px var(--mono)}
/* профиль: шкала репутации; настройки: сброс аккаунта */
.pf-rep{display:block;width:100%;padding:0;border:0;background:none;text-align:left;margin:10px 0 0;color:inherit}
.btn-danger{background:linear-gradient(180deg,#E5453C,#B8231C);color:#fff;border:0}
.btn-danger:disabled{opacity:.45}
.set-reset{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;border-radius:16px;border:1px solid rgba(229,69,60,.35);background:rgba(229,69,60,.08);color:var(--peach);text-align:left}
.set-reset>.ic:first-child{width:22px;height:22px;color:#ff6a5a;flex:none}
.set-reset span{flex:1;display:flex;flex-direction:column;gap:2px}.set-reset small{font-size:12px;color:var(--muted)}
.set-reset>.ic:last-child{width:18px;height:18px;opacity:.6}
.rs-warn{display:flex;gap:8px;align-items:flex-start;margin:0;padding:10px 12px;border-radius:12px;background:rgba(229,69,60,.12);border:1px solid rgba(229,69,60,.4);color:#ffb3aa;font-size:13px;font-weight:700}
.rs-warn .ic{width:18px;height:18px;flex:none;color:#ff6a5a}
/* «Эталон» (машины от 20 млн): платиново-бирюзовая рамка, сильнее легендарки */
.ad.rare-etalon,.poster.rare-etalon{box-shadow:0 0 0 2px var(--fc),0 0 56px -4px var(--fc)}
.ad.rare-etalon::before{content:"";position:absolute;inset:0;border-radius:22px;padding:3px;background:conic-gradient(#4FE3D6,#E8F7FF,#9AA8FF,#4FE3D6,#FFFFFF,#4FE3D6);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:frHue 3s linear infinite;pointer-events:none;z-index:2}
.drop.dr-etalon>.rays{opacity:1;animation-duration:6s}
.drop.dr-etalon .rlabel{text-shadow:0 0 18px var(--rc),0 0 4px #fff}
.mdi.dr-etalon{box-shadow:0 0 26px -2px color-mix(in srgb,var(--rc) 80%,transparent)}
@media (prefers-reduced-motion: reduce){.ad.rare-etalon::before{animation:none}}
.lgr.etalon .lgr-tag{background:linear-gradient(90deg,#4FE3D6,#E8F7FF,#9AA8FF);color:#06201d}
.lgr.etalon .lgr-rays b{background:linear-gradient(180deg,rgba(232,247,255,.95),rgba(79,227,214,.5) 40%,transparent)}
.lgr.etalon.s3 .lgr-card{background:linear-gradient(165deg,#0f2a2a,#081616 55%,#050b0c);border-color:rgba(79,227,214,.6);box-shadow:0 30px 80px -20px rgba(0,0,0,.9),0 0 0 1px rgba(79,227,214,.18) inset,0 0 70px -8px rgba(79,227,214,.4)}
.lgr.etalon .lgr-price{color:#a9d9d4}.lgr.etalon .lgr-price b{color:#7FF0E6}
/* ---------- «Депутат игры» (магазин): как олигарх, но платина и бирюза «Эталона» ---------- */
.olx.dep .olx-hero{color:#e6fbf8;background:radial-gradient(130% 80% at 50% 0%,rgba(79,227,214,.4),transparent 55%),linear-gradient(180deg,#0b1c1d,#040a0b 72%);
  border-color:rgba(79,227,214,.6);box-shadow:0 24px 60px -24px rgba(79,227,214,.7),inset 0 1px 0 rgba(255,255,255,.12)}
.olx.dep .olx-tag{display:inline-flex;align-items:center;gap:5px;background:linear-gradient(135deg,#E8F7FF,#4FE3D6);color:#04201d}.olx.dep .olx-tag .ic{width:13px;height:13px}
.olx.dep .olx-title{background:linear-gradient(180deg,#ffffff,#9ff3ea 50%,#2bb3a8);-webkit-background-clip:text;background-clip:text;color:transparent}
.olx.dep .olx-title small,.olx.dep .olx-sub{color:#a9d9d4;-webkit-text-fill-color:#a9d9d4}
.olx.dep .olx-tile{color:#e6fbf8;background:linear-gradient(180deg,#0d1d1e,#071011);border-color:rgba(79,227,214,.3)}
.olx.dep .olx-tile.wide{background:radial-gradient(90% 140% at 0% 50%,rgba(79,227,214,.28),transparent 60%),linear-gradient(180deg,#0d1d1e,#071011)}
.olx.dep .olx-e{color:#04201d;background:linear-gradient(145deg,#ffffff,#4FE3D6 60%,#1e9c92);box-shadow:0 6px 16px -6px rgba(79,227,214,.8),inset 0 1px 0 rgba(255,255,255,.7)}
.olx.dep .olx-tile b{color:#e6fbf8}
.olx.dep .olx-btn{color:#04201d;background:linear-gradient(135deg,#ffffff,#9ff3ea 45%,#2bb3a8);box-shadow:0 10px 26px -8px rgba(79,227,214,.9)}
.olx.dep .olx-crown{border-color:rgba(79,227,214,.35)}
.dep-tag{display:inline-flex;align-items:center;margin-left:5px;padding:1px 6px;border-radius:6px;font:900 9.5px var(--body);letter-spacing:.08em;color:#04201d;
  background:linear-gradient(135deg,#ffffff,#4FE3D6);box-shadow:0 0 8px rgba(79,227,214,.6);vertical-align:middle}
.pf-tag.dep{background:linear-gradient(135deg,#E8F7FF,#4FE3D6);color:#04201d}
/* кейс «Эталонный кузов»: широкая карточка первой в сетке */
.ccase.etl{grid-column:1/-1;background:radial-gradient(120% 90% at 50% 0%,rgba(79,227,214,.3),transparent 60%),linear-gradient(180deg,#0d1d1e,#071011);border:1px solid rgba(79,227,214,.55);color:#e6fbf8}
.ccase.etl .etl-img{display:block;height:110px}.ccase.etl .etl-img img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 10px 18px rgba(79,227,214,.35))}
.ccase.etl .etl-sub{display:inline-flex;align-items:center;justify-content:center;gap:5px;font-size:11.5px;color:#9ff3ea}.ccase.etl .etl-sub .ic{width:13px;height:13px}
.ccase.etl .cc-open{background:linear-gradient(135deg,#ffffff,#4FE3D6);color:#04201d}
/* альбом: раздел «Эталон» под всеми марками */
.al-etl{display:flex;flex-direction:column;gap:10px;margin-top:18px;padding:12px;border-radius:20px;border:1px solid rgba(79,227,214,.45);background:radial-gradient(120% 60% at 50% 0%,rgba(79,227,214,.16),transparent 70%)}
.al-etl-h{display:flex;align-items:center;justify-content:space-between;gap:10px}
.al-etl-h span{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.al-etl-h .ic{width:20px;height:20px;color:#4FE3D6}
.al-etl-h b{font-family:var(--display);font-size:18px}.al-etl-h small{color:var(--muted);font-size:12px}
.al-etl-h .btn{flex:none;padding:8px 12px;font-size:13px}
.rs-warn.dep{background:rgba(79,227,214,.1);border-color:rgba(79,227,214,.45);color:#9ff3ea}.rs-warn.dep .ic{color:#4FE3D6}
.caseico .etl-img{display:block;width:120px;height:72px}.caseico .etl-img img{width:100%;height:100%;object-fit:contain}
/* фильтр альбома: «Эталон» по маркам */
.alf-h.alf-etl{display:inline-flex;align-items:center;gap:6px;color:#4FE3D6}.alf-h.alf-etl .ic{width:16px;height:16px}
.alf-brands.etl .alf-brand{border-color:rgba(79,227,214,.45);background:linear-gradient(180deg,rgba(79,227,214,.12),transparent)}
.alf-brands.etl .alf-brand.on{box-shadow:inset 0 0 0 2px #4FE3D6}
.mc-rep{margin:10px 0 0}.mc-rep .rpb{background:rgba(255,255,255,.05)}
.nb-card.c-cyan,.nb-tile.c-cyan{--c:#2FC9BD}
/* экран правил при входе (rulesGate): на весь экран, внизу — галочка и «Начать игру» */
.rgate{position:fixed;inset:0;z-index:95;display:flex;justify-content:center;background:radial-gradient(120% 60% at 50% 0,#1d1410,#060504 70%);color:var(--peach);animation:rcIn .3s ease both}
.rgate.out{opacity:0;transition:opacity .3s}
.rgate-in{width:100%;max-width:560px;display:flex;flex-direction:column;min-height:0;padding:calc(14px + env(safe-area-inset-top,0px)) 16px calc(12px + env(safe-area-inset-bottom,0px))}
.rgate-h{display:flex;align-items:center;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.rgate-h h2{margin:0;font-family:var(--display);font-size:24px}.rgate-h small{color:var(--muted);font-size:12px}
.rgate-ic{width:44px;height:44px;flex:none;display:grid;place-items:center;border-radius:14px;background:linear-gradient(145deg,#ff7a3c,#d43a12)}.rgate-ic .ic{width:24px;height:24px;color:#fff}
.rgate-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:12px 2px;-webkit-overflow-scrolling:touch}
.rgate-foot{display:flex;flex-direction:column;gap:10px;padding-top:12px;border-top:1px solid var(--line)}
.rgate-ok{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:700;cursor:pointer;user-select:none}
.rgate-ok input{position:absolute;opacity:0;pointer-events:none}
.rgate-ok i{width:26px;height:26px;flex:none;display:grid;place-items:center;border-radius:8px;border:2px solid var(--line);background:var(--s1);transition:background .15s,border-color .15s}
.rgate-ok i .ic{width:16px;height:16px;color:#fff;opacity:0;transition:opacity .15s}
.rgate-ok input:checked+i{background:#2fbf71;border-color:#2fbf71}.rgate-ok input:checked+i .ic{opacity:1}
.rgate-ok input:focus-visible+i{outline:2px solid var(--cobalt);outline-offset:2px}
.rgate .btn:disabled{opacity:.45}
/* обменник: выбор вещей — сеткой, как в гараже (26.10): колонки не растягиваются от длинных названий, фото целиком */
.trx-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));align-content:start}
.trx-pc{min-width:0;padding:8px 8px 10px;gap:4px;border-radius:16px}
.trx-pc .trx-it-ph{width:100%;height:auto;aspect-ratio:2/1;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:10px;background:radial-gradient(80% 70% at 50% 60%,rgba(255,255,255,.06),transparent 70%)}
.trx-pc .trx-it-ph>*{max-width:100%;max-height:100%}
.trx-pc .trx-it-ph img,.trx-pc .trx-it-ph .sir{width:100%;height:100%;object-fit:contain}
.trx-pc b{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.4em;overflow-wrap:anywhere}
.trx-pc small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* топ: 4 рейтинга не влезают в ширину — переключатель листается вбок, кнопки не вылезают за рамку */
.tp-seg{overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.tp-seg::-webkit-scrollbar{display:none}
.tp-seg button{flex:1 0 auto;white-space:nowrap;padding:8px 12px}

/* чат Колхозвито: список переписок и окно сообщений (светлый лист) */
.kv-write{width:100%}
.kv-chat{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:#fff;border:1px solid #eceef1;border-radius:16px;padding:10px 12px;color:#111;font:inherit}
.kv-chat.new{border-color:#3478F7;box-shadow:0 0 0 1px #3478F7 inset}
.kv-chat .kv-ava{flex:none}
.kv-chat-b{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.kv-chat-b b{font-size:15px}
.kv-chat-b b small{font-weight:500;color:#999;font-size:12px}
.kv-chat-t,.kv-chat-l{font-size:12.5px;color:#777;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kv-chat-l{color:#333;font-size:13.5px}
.kv-chat-r{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.kv-chat-r small{color:#999;font-size:11.5px}
.kv-chat-r i{font-style:normal;background:#3478F7;color:#fff;border-radius:999px;min-width:20px;height:20px;padding:0 6px;display:grid;place-items:center;font:800 11.5px var(--body)}
.ch-top{display:flex;align-items:center;gap:12px;background:#f6f7f8;border-radius:16px;padding:10px 12px}
.ch-top .kv-ava{width:38px;height:38px;font-size:16px;flex:none}
.ch-who{flex:1;min-width:0;display:flex;flex-direction:column}
.ch-who b{font-size:15px;color:#111}
.ch-who small{font-size:12.5px;color:#888;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ch-ad{flex:none;min-height:36px;padding:0 12px;font-size:13px}
.ch-box{display:flex;flex-direction:column;gap:6px;min-height:200px;max-height:46vh;overflow-y:auto;overscroll-behavior:contain;padding:4px 2px}
.ch-msg{align-self:flex-start;max-width:80%;background:#f0f1f4;color:#111;border-radius:16px 16px 16px 4px;padding:8px 12px;display:flex;flex-direction:column;gap:2px}
.ch-msg span{font-size:14.5px;line-height:1.4;white-space:pre-wrap;overflow-wrap:anywhere}
.ch-msg small{font-size:10.5px;color:#999;align-self:flex-end}
.ch-msg.mine{align-self:flex-end;background:#3478F7;color:#fff;border-radius:16px 16px 4px 16px}
.ch-msg.mine small{color:rgba(255,255,255,.75)}
.ch-empty{margin:auto;text-align:center;color:#888;font-size:13.5px;max-width:260px}
.ch-rule{display:flex;gap:8px;align-items:flex-start;margin:0;font-size:12px;color:#888;line-height:1.4}
.ch-rule .ic{width:16px;height:16px;flex:none;color:#3DBE5A}
.ch-form{display:flex;gap:8px;align-items:flex-end}
.ch-form textarea{flex:1;resize:none;min-height:44px;max-height:110px;border-radius:14px;border:1px solid #e6e7ea;background:#f6f7f8;color:#111;padding:11px 12px;font:15px var(--body);line-height:1.35}
.ch-form textarea:focus{outline:2px solid #3478F7;outline-offset:-1px}
.ch-send{flex:none;width:46px;height:46px;min-height:46px;padding:0;display:grid;place-items:center}
.ch-send:disabled{opacity:.45;box-shadow:none}
.ch-err{color:#E2453C;font-size:12.5px;min-height:1em}

/* экран правил: вторая часть — политика конфиденциальности */
.rgate-h2{margin:22px 0 2px;font:800 20px var(--display);scroll-margin-top:8px}
.rgate-a{color:var(--cobalt);text-decoration:underline}
.rgate-ok span{line-height:1.35}

/* =====================================================================
   Нижнее меню 2.0: стеклянная капсула с лёгким размытием, активная вкладка — оранжевый круг, 6 кнопок (+ Профиль)
   ===================================================================== */
.dock{grid-template-columns:repeat(6,1fr);height:64px;padding:0 6px;border-radius:999px;
  background:rgba(28,24,22,.55);border:1px solid rgba(255,255,255,.09);
  backdrop-filter:blur(14px) saturate(1.4);-webkit-backdrop-filter:blur(14px) saturate(1.4);
  box-shadow:0 14px 34px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.06)}
.dock-pill{top:6px;bottom:6px;left:0;width:52px;border-radius:50%;background:var(--tang);border:0;
  box-shadow:0 6px 18px -4px var(--tang-glow),inset 0 1px 0 rgba(255,255,255,.25)}
.dock button{color:rgba(243,232,226,.62)}
.dock button.on{color:#1a0d08}
.dock button .ic{width:23px;height:23px}
.dock button.on .kvdots{filter:brightness(.25) saturate(0)}
.dock .dot{top:12px;right:calc(50% - 15px)}
body.kvmode .dock{background:rgba(255,255,255,.62);border-color:rgba(0,0,0,.06);box-shadow:0 12px 30px rgba(0,0,0,.14)}
body.kvmode .dock button:not(.on){color:#4a4442}
.lite .dock{background:#1c1816!important}
@media (prefers-reduced-motion:reduce){.dock-pill{transition:none}}

/* =====================================================================
   «Музыка» (web/music.js): страница как в музыкальном приложении — свечение в левом верхнем углу, круглые кнопки,
   цветные подборки, полка обложек, топ треков. Акцент — оранжевый игры. Плеер раскрывается из шапки (.tpp).
   ===================================================================== */
.topr{display:flex;gap:8px;justify-self:end}
.musicbtn{position:relative}
.musicbtn .mb-eq{display:none;position:absolute;right:5px;bottom:5px;gap:1.5px;align-items:flex-end;height:9px}
.musicbtn .mb-eq i{width:2px;background:var(--tang);border-radius:1px;animation:muEq .9s ease-in-out infinite}
.musicbtn .mb-eq i:nth-child(2){animation-delay:.2s}.musicbtn .mb-eq i:nth-child(3){animation-delay:.4s}
.musicbtn.on{color:var(--tang);border-color:rgba(236,86,46,.45)!important}
.musicbtn.on .mb-eq{display:flex}
@keyframes muEq{0%,100%{height:3px}50%{height:9px}}

.mu{position:relative;display:flex;flex-direction:column;gap:18px;padding-bottom:12px;isolation:isolate}
.mu-glow{position:absolute;left:-150px;top:-110px;width:420px;height:420px;z-index:-1;pointer-events:none;
  background:radial-gradient(closest-side at 34% 36%,rgba(255,240,248,.95),rgba(255,110,175,.85) 22%,rgba(160,80,255,.6) 48%,rgba(90,40,200,.25) 72%,transparent 100%);filter:blur(22px);opacity:.85}
.mu-glow::after{content:"";position:absolute;left:30%;top:10%;width:70%;height:30%;transform:rotate(28deg);background:linear-gradient(90deg,rgba(255,170,210,.35),transparent);filter:blur(22px)}
.mu-head{display:flex;align-items:center;justify-content:space-between;padding-top:6px}
.mu-ava{position:relative;width:60px;height:60px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:linear-gradient(135deg,#ff7aa8,#7b5cff);
  box-shadow:0 0 0 3px rgba(255,255,255,.12),0 10px 30px -8px rgba(255,120,180,.6)}
.mu-ava b{font:800 24px var(--body);color:#fff}
.mu-ava img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.mu-hb{display:flex;gap:10px}
.mu-rb{width:50px;height:50px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(255,255,255,.06);background:#1f1b22;color:#f3eef2}
.mu-rb .ic{width:21px;height:21px}
.mu-rb.on{background:var(--tang);color:#1a0d08;border-color:var(--tang)}
.mu-hi{margin:0;font:600 32px/1.15 var(--body);letter-spacing:-.01em;color:#fff}
.mu-search{display:flex;align-items:center;gap:10px;height:50px;padding:0 16px;border-radius:999px;background:#1f1b22;border:1px solid rgba(255,255,255,.07);color:#9d97a3}
.mu-search .ic{width:18px;height:18px;flex:none}
.mu-search input{flex:1;min-width:0;border:0;background:none;color:#fff;font:500 15px var(--body);outline:none}
.mu-chips{display:flex;gap:10px;overflow-x:auto;scrollbar-width:none;margin:0 -16px;padding:0 16px}
.mu-chips::-webkit-scrollbar{display:none}
.mu-chip{flex:none;height:48px;padding:0 22px;border-radius:999px;border:0;background:#1f1b22;color:#e6e1e6;font:500 15px var(--body);transition:background .2s,color .2s}
.mu-chip.on{background:var(--tang);color:#1a0d08;font-weight:600}
.mu-h{margin:4px 0 0;display:flex;align-items:center;justify-content:space-between;font:600 23px var(--body);color:#fff}
.mu-h small{font-size:14px;color:#8f8994;font-weight:500}
.mu-all{border:0;background:none;color:#c9c3cc;font:500 15px var(--body);padding:6px 0}
/* подборки — крупные цветные карточки */
.mu-cards{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin:0 -16px;padding:0 16px}
.mu-cards::-webkit-scrollbar{display:none}
.mu-card{flex:none;width:86%;max-width:380px;min-height:172px;scroll-snap-align:start;position:relative;overflow:hidden;border-radius:30px;display:flex;color:#1b1222}
.mu-card.lav{--cc:#C9A9F2}.mu-card.peach{--cc:#F6B48F}.mu-card.mint{--cc:#A9E3C4}.mu-card{background:var(--cc)}
.mu-ct{position:relative;z-index:2;display:flex;flex-direction:column;gap:6px;padding:22px 20px;max-width:64%}
.mu-ct b{font:700 21px/1.15 var(--body)}
.mu-ct small{font:500 13px/1.4 var(--body);opacity:.78}
.mu-ca{display:flex;align-items:center;gap:12px;margin-top:auto;padding-top:8px}
.mu-ca span{font:600 13px var(--body);opacity:.7}
.mu-cp{width:58px;height:58px;border-radius:50%;border:0;display:grid;place-items:center;color:#fff;background:#3a1d5c;box-shadow:0 12px 24px -10px rgba(40,10,70,.8)}
.mu-card.peach .mu-cp{background:#6d2a13;box-shadow:0 12px 24px -10px rgba(110,40,15,.8)}
.mu-card.mint .mu-cp{background:#1d4c38;box-shadow:0 12px 24px -10px rgba(20,70,50,.8)}
.mu-cp .mu-i{width:22px;height:22px}
.mu-cimg{position:absolute;right:0;top:0;bottom:0;width:50%;z-index:0}
.mu-cimg::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,var(--cc) 0%,color-mix(in srgb,var(--cc) 55%,transparent) 35%,transparent 75%)}
.mu-cimg .mu-cv{width:100%;height:100%;border-radius:0}
.mu-cimg .mu-cv b{font-size:64px;opacity:.55}
/* обложка трека: фото или цветная с буквой */
.mu-cv{position:relative;flex:none;display:grid;place-items:center;overflow:hidden;width:48px;height:48px;border-radius:12px;
  background:linear-gradient(135deg,hsl(var(--h1) 75% 58%),hsl(var(--h2) 70% 30%))}
.mu-cv b{font:800 20px var(--body);color:rgba(255,255,255,.9);text-shadow:0 2px 10px rgba(0,0,0,.25)}
.mu-cv img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.mu-cv.sq{width:64px;height:64px;border-radius:18px}.mu-cv.sq b{font-size:26px}
/* «Сейчас слушают» — полка обложек */
.mu-flow-w{position:relative;margin:0 -16px;background:radial-gradient(70% 90% at 50% 40%,rgba(236,140,60,.32),transparent 75%)}
.mu-flow{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:14px calc(50% - 76px) 18px}
.mu-flow::-webkit-scrollbar{display:none}
.mu-fc{flex:none;width:152px;margin:0 -14px;scroll-snap-align:center;border:1.5px solid rgba(255,255,255,.3);border-radius:22px;overflow:hidden;padding:0;background:rgba(40,30,26,.6);
  box-shadow:0 18px 40px -16px rgba(0,0,0,.8);transition:transform .15s,opacity .15s;will-change:transform;color:#fff;text-align:center}
.mu-fc .mu-cv.flow{width:100%;height:150px;border-radius:0}
.mu-fc .mu-cv.flow b{font-size:54px}
.mu-fl{display:flex;flex-direction:column;gap:1px;padding:9px 8px 11px;background:rgba(255,255,255,.12);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.mu-fl b{font:600 14.5px var(--body);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mu-fl small{font:500 12.5px var(--body);color:rgba(255,255,255,.62);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mu-fc.mid{border-color:rgba(255,255,255,.55)}
/* топ треков */
.mu-list{display:flex;flex-direction:column;gap:14px}
.mu-row{display:flex;align-items:center;gap:14px;cursor:pointer}
.mu-rt{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.mu-rt b{font:600 16px var(--body);color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mu-rt small{font:500 13.5px var(--body);color:#9a94a0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mu-row.on .mu-rt b{color:var(--tang)}
.mu-new{font-style:normal;margin-left:6px;padding:1px 6px;border-radius:6px;background:var(--tang);color:#1a0d08;font:800 9.5px var(--body);vertical-align:2px}
.mu-rp{position:relative;flex:none;width:46px;height:46px;border-radius:50%;border:0;display:grid;place-items:center;background:#1f1b22;color:#fff}
.mu-rp .mu-i{width:18px;height:18px}
.mu-rp.on{background:var(--tang);color:#1a0d08}
.mu-i{fill:currentColor}
.mu-eq{display:none}
.mu-empty{color:#8f8994;text-align:center;margin:20px 0}

/* плеер в шапке: шапка чуть расширяется вниз — обложка, дорожка, назад / пауза / вперёд */
.tpp{display:grid;grid-template-rows:0fr;transition:grid-template-rows .38s cubic-bezier(.2,.9,.2,1),opacity .3s;opacity:0}
.top.playing .tpp{grid-template-rows:1fr;opacity:1}
.tpp-in{min-height:0;overflow:hidden;display:flex;flex-direction:column}
.tpp-row{display:flex;align-items:center;gap:10px;padding:8px 8px 2px;border-radius:18px 18px 0 0;
  background:linear-gradient(90deg,hsla(var(--h,20),70%,50%,.22),rgba(255,255,255,.03) 70%)}
.tpp-who{flex:1;min-width:0;display:flex;align-items:center;gap:10px;border:0;background:none;color:inherit;padding:0;text-align:left}
.tpp-cv .mu-cv{width:44px;height:44px;border-radius:12px;box-shadow:0 6px 16px -6px rgba(0,0,0,.7)}
.tpp-t{min-width:0;display:flex;flex-direction:column}
.tpp-t b{font:700 14px var(--body);color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tpp-t small{font:500 12px var(--body);color:rgba(255,255,255,.6);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tpp-ctl{display:flex;align-items:center;gap:4px;flex:none}
.tpp-c{width:38px;height:38px;border-radius:50%;border:0;display:grid;place-items:center;color:#fff;background:rgba(255,255,255,.08)}
.tpp-c .mu-i{width:17px;height:17px}
.tpp-c.main{width:44px;height:44px;background:var(--tang);color:#1a0d08;box-shadow:0 6px 16px -6px var(--tang-glow)}
.tpp-c.main .mu-i{width:19px;height:19px}
.tpp-prog{display:flex;align-items:center;gap:8px;padding:2px 8px 8px;border-radius:0 0 18px 18px;background:linear-gradient(90deg,hsla(var(--h,20),70%,50%,.12),rgba(255,255,255,.03) 70%)}
.tpp-prog small{font:600 11px var(--mono);color:rgba(255,255,255,.75);min-width:34px}
.tpp-prog .tpp-z{text-align:right}
.tpp-line{flex:1;height:22px;border:0;background:none;padding:0;display:flex;align-items:center;cursor:pointer}
.tpp-line i{display:block;width:100%;height:4px;border-radius:2px;background:rgba(255,255,255,.18);overflow:hidden}
.tpp-line b{display:block;height:100%;width:0;background:#fff;border-radius:2px}
.tpp-b{width:30px;height:30px;flex:none;border-radius:50%;border:0;display:grid;place-items:center;color:rgba(255,255,255,.75);background:rgba(255,255,255,.07)}
.tpp-b .ic{width:15px;height:15px}
.tpp-fav.on{color:var(--tang)}
.tpp-fav.on .ic{fill:currentColor}
.dock-pill{top:7px;bottom:7px}
@media (prefers-reduced-motion:reduce){.tpp,.mu-fc{transition:none}.musicbtn .mb-eq i{animation:none}}
/* «Музыка» → архив (админам): трек и кнопки «Убрать» / «Выложить в игру» */
.mu-arch{display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:22px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07)}
.mu-aa{display:flex;align-items:center;gap:8px}
.mu-aa small{flex:1;color:#8f8994;font:500 12px var(--body)}
.mu-ab{height:38px;padding:0 16px;border-radius:999px;border:0;background:var(--tang);color:#1a0d08;font:700 13.5px var(--body)}
.mu-ab.no{background:#2a2530;color:#e6e1e6}
.mu-ab:disabled{opacity:.5}
.mu-note{margin:0;color:#9a94a0;font:500 13px/1.45 var(--body)}
/* «Музыка» → архив: правка трека (админам) */
.mu-ab.ic{width:38px;padding:0;display:grid;place-items:center}.mu-ab.ic .ic{width:16px;height:16px}
.mu-arch.live{background:rgba(255,255,255,.025)}
.mu-ed{display:flex;gap:14px;align-items:center}
.mu-ed-cv{position:relative;flex:none;cursor:pointer}
.mu-ed-cv .mu-cv{width:96px;height:96px;border-radius:22px}.mu-ed-cv .mu-cv b{font-size:38px}
.mu-ed-cv>i{position:absolute;right:-6px;bottom:-6px;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--tang);color:#1a0d08;box-shadow:0 4px 12px rgba(0,0,0,.4)}
.mu-ed-cv>i .ic{width:15px;height:15px}
.mu-ed-f{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}

/* =====================================================================
   Выбор песни (web/songs-ui.js: сходка, Гран-при) — в стиле раздела «Музыка»: свечение в левом верхнем углу,
   круглые оранжевые вкладки, крупные обложки с фото треков, круглые кнопки «играть»
   ===================================================================== */
.sp{--sg:var(--tang);isolation:isolate;overflow:hidden;gap:12px;padding:16px 14px 14px;border-radius:26px;background:#0e0c10;border:1px solid rgba(255,255,255,.07)}
.sp-glow{position:absolute;left:-120px;top:-130px;width:330px;height:300px;z-index:-1;pointer-events:none;
  background:radial-gradient(closest-side at 40% 42%,rgba(255,235,245,.75),rgba(255,110,175,.6) 28%,rgba(150,80,255,.4) 56%,transparent 100%);filter:blur(22px);opacity:.75}
.sp-logo{font:600 19px var(--body);letter-spacing:-.01em}
.sp-logo i{width:32px;height:32px;background:var(--tang);color:#1a0d08}
.sp-search{height:42px;padding:0 14px;background:#1f1b22;border:1px solid rgba(255,255,255,.07);color:#9d97a3}
.sp-tabs{gap:8px}
.sp-tabs button{height:40px;padding:0 18px;background:#1f1b22;color:#e6e1e6;font:500 14px var(--body)}
.sp-tabs button.on{background:var(--tang);color:#1a0d08;font-weight:600}
.sp-h{margin:16px 2px 10px;font:600 18px var(--body)}
.sp-h button{color:#c9c3cc;font:500 13px var(--body)}
.sp-cv{width:52px;height:52px;border-radius:14px;background:linear-gradient(135deg,hsl(var(--h1) 75% 58%),hsl(var(--h2) 70% 30%))}
.sp-cv b{font:800 22px var(--body)}
.sp-cv img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.sp-cv.ph::after{background:none}
.sp-cv.big{border-radius:20px;padding:12px}
.sp-cv.big.ph::after{background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.7))}
.sp-cv.big em{font:700 13px/1.2 var(--body)}
.sp-car{grid-auto-columns:138px;gap:12px}
.sp-card{padding:0;background:none;border-radius:20px;gap:4px}
.sp-card:active{background:none;transform:scale(.97)}
.sp-card>b{font:600 14px var(--body);margin-top:8px}
.sp-card>small{font:500 12px var(--body);color:#9a94a0}
.sp-card .sp-pl.big{top:calc(138px - 52px);right:10px;width:42px;height:42px;background:var(--tang);color:#1a0d08}
.sp-card.on .sp-cv{box-shadow:0 0 0 3px var(--tang),0 10px 24px -8px var(--tang-glow)}
.sp-row{gap:12px;padding:7px 6px;border-radius:16px}
.sp-row:active{background:rgba(255,255,255,.05)}
.sp-row.on{background:rgba(236,86,46,.1)}
.sp-rk{font:600 14px var(--body);color:#8f8994}
.sp-t b{font:600 15px var(--body)}
.sp-t small{font:500 12.5px var(--body);color:#9a94a0;margin-top:2px}
.sp-pl{width:40px;height:40px;background:#1f1b22;color:#fff}
.sp-pl.playing{background:var(--tang);color:#1a0d08}
.sp-sel{height:34px;padding:0 14px;border-color:rgba(255,255,255,.22);font:600 12.5px var(--body)}
.sp-sel.on,.sp-row.on .sp-sel{background:var(--tang);border-color:var(--tang);color:#1a0d08}
.sp-new{background:var(--tang);color:#1a0d08;border-radius:6px}
.sp-xb{border-radius:16px;padding:10px;background:#1f1b22}
.sp-xb i{border-radius:12px;background:rgba(255,255,255,.06)}
.sp-xb.on{background:rgba(236,86,46,.14);box-shadow:inset 0 0 0 1.5px var(--tang)}
.sp-mini{border-radius:18px;padding:9px 10px 12px;background:linear-gradient(90deg,rgba(236,86,46,.28),rgba(255,255,255,.05) 70%),#1a1619;border:1px solid rgba(255,255,255,.07)}
.sp-mini .sp-cv{width:42px;height:42px;border-radius:12px}
.sp-mini-t small{color:rgba(255,255,255,.6)}
.sp-mini-pl{width:38px;height:38px;background:var(--tang);color:#1a0d08}
.sp-prog{left:12px;right:12px;bottom:5px;height:3px}
/* выбор песни: строки в узком окне — название не обрезается до пары букв */
.sp-row{gap:10px;padding:6px 4px}.sp-rk{width:16px}
.sp-row .sp-cv{width:48px;height:48px;border-radius:13px}
.sp-row .sp-pl{width:36px;height:36px}
.sp-sel{height:32px;padding:0 11px;font-size:12px}
/* плеер в шапке: повтор трека */
.tpp-rep{position:relative}
.tpp-rep i{position:absolute;right:3px;top:2px;font:800 8px var(--body);font-style:normal;opacity:0}
.tpp-rep.on{color:#1a0d08;background:var(--tang)}.tpp-rep.on i{opacity:1}

/* нижнее меню: 5 кнопок, последняя — стрелка «Ещё» с колонной «Лента / Профиль / Рейтинг» над ней */
.dock{grid-template-columns:repeat(5,1fr)}
.dock-more .ic{transform:rotate(180deg);transition:transform .25s cubic-bezier(.2,.9,.25,1.2)}
.dock-more.open .ic{transform:none}
.dock-more.open:not(.on){color:#fff}
.dock-pop{position:fixed;z-index:7;right:max(16px,calc(50% - 224px + 4px));bottom:calc(86px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;align-items:flex-end;gap:10px;pointer-events:none}
.dock-pop.open{pointer-events:auto}
.dock-pop button{display:flex;align-items:center;gap:10px;border:0;background:none;padding:0;color:#fff;opacity:0;transform:translateY(14px) scale(.9);
  transition:opacity .2s,transform .28s cubic-bezier(.2,.9,.25,1.25)}
.dock-pop.open button{opacity:1;transform:none}
.dock-pop.open button:nth-child(3){transition-delay:0s}.dock-pop.open button:nth-child(2){transition-delay:.04s}.dock-pop.open button:nth-child(1){transition-delay:.08s}
.dock-pop span{padding:7px 12px;border-radius:999px;background:rgba(28,24,22,.72);border:1px solid rgba(255,255,255,.09);font:600 13.5px var(--body);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.dock-pop i{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;font-style:normal;background:rgba(28,24,22,.62);border:1px solid rgba(255,255,255,.1);
  backdrop-filter:blur(14px) saturate(1.4);-webkit-backdrop-filter:blur(14px) saturate(1.4);box-shadow:0 10px 26px rgba(0,0,0,.45)}
.dock-pop i .ic{width:22px;height:22px}
.dock-pop button:active i{transform:scale(.94)}
body.kvmode .dock-pop span,body.kvmode .dock-pop i{background:rgba(255,255,255,.75);color:#111;border-color:rgba(0,0,0,.06)}
body.kvmode .dock-pop button{color:#111}
@media (prefers-reduced-motion:reduce){.dock-pop button,.dock-more .ic{transition:none}}
/* чат Колхозвито: бан чата */
.ch-ban{display:flex;gap:10px;align-items:flex-start;margin:0;padding:12px;border-radius:14px;background:#fdecea;color:#a3271f;font-size:13px;line-height:1.4}
.ch-ban .ic{width:18px;height:18px;flex:none;margin-top:1px}
/* круг под активной кнопкой меню — по центру своей колонки (5 равных колонок внутри отступов 6px), размер фиксированный */
.dock-pill{--i:2;top:50%;bottom:auto;left:calc(6px + (100% - 12px) / 5 * (var(--i) + .5) - 25px);width:50px!important;height:50px;margin-top:-25px;transform:none!important;transition:left .4s cubic-bezier(.2,.9,.25,1.1),opacity .2s}
/* дрэг: три вкладки (402 м, МКПП, элита) */
.drg-tier{grid-template-columns:repeat(4,1fr);gap:4px}
.drg-tier button{font-size:12px;white-space:nowrap;gap:4px;padding:10px 2px}.drg-tier button .ic{width:14px;height:14px}

/* =====================================================================
   Госномера: как настоящий номер — белый, чёрная рамка, буквы мельче цифр, справа регион, RUS и флаг
   ===================================================================== */
.rplate{--h:34px;display:inline-flex;align-items:stretch;height:var(--h);background:#fff;color:#111;border:2px solid #111;border-radius:6px;overflow:hidden;
  box-shadow:0 2px 0 rgba(0,0,0,.25),inset 0 0 0 1px #fff;font-family:"Roboto Condensed","Arial Narrow",var(--body);line-height:1;flex:none;vertical-align:middle}
.rplate .rp-main{display:flex;align-items:flex-end;gap:2px;padding:0 6px 3px;letter-spacing:.02em}
.rplate .rp-main b{font-weight:600;font-size:calc(var(--h) * .58)}
.rplate .rp-main em{font-style:normal;font-weight:600;font-size:calc(var(--h) * .78);letter-spacing:.04em}
.rplate .rp-reg{display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:1px 5px 2px;border-left:2px solid #111;min-width:calc(var(--h) * .9)}
.rplate .rp-reg i{font-style:normal;font-weight:600;font-size:calc(var(--h) * .5)}
.rplate .rp-reg small{display:flex;align-items:center;gap:2px;font-size:calc(var(--h) * .18);font-weight:700}
.rplate .rp-flag{display:inline-block;width:calc(var(--h) * .26);height:calc(var(--h) * .17);background:linear-gradient(#fff 33%,#1c57d6 33% 66%,#d52b1e 66%);border:.5px solid #999}
.rplate.sm{--h:22px;border-width:1.5px;border-radius:4px}
.rplate.sm .rp-reg{border-left-width:1.5px}
.pl-tier{display:inline-block;padding:3px 9px;border-radius:999px;color:#111;font:800 11px var(--body);letter-spacing:.04em;text-transform:uppercase}
.pk-plate{display:flex;align-items:center;gap:12px;width:100%;margin:6px 0 2px;padding:10px 12px;border-radius:14px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);color:inherit;text-align:left}
.pk-plate>span:not(.rplate){flex:1;display:flex;flex-direction:column;gap:3px;align-items:flex-start}
.pk-plate small{color:var(--muted);font-size:12px}
.pk-plate>.ic{width:18px;height:18px;color:var(--muted)}
.pk-plate.none{justify-content:space-between}
.pk-nopl{font-weight:700;color:var(--muted)}
.gc-plate{display:block;margin-top:4px}
.cs-plate{display:flex;align-items:center;gap:10px;margin:10px 0 0;padding:10px;border-radius:16px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}
.cs-pl{flex:1;display:flex;align-items:center;gap:10px;border:0;background:none;color:inherit;padding:0;text-align:left;min-width:0}
.cs-pl>span:not(.rplate){display:flex;flex-direction:column;gap:3px;align-items:flex-start}
.cs-pl small{color:var(--muted);font-size:12px}
.cs-nopl{flex:1;color:var(--muted);font-weight:700}
.cs-plate .btn{flex:none;min-height:40px;padding:0 14px}
.pl-big{display:flex;justify-content:center;padding:14px 0 6px}
.pl-big .rplate{--h:58px;border-width:3px;border-radius:9px}
.pl-big.sm .rplate{--h:40px}
.pl-sum{display:flex;align-items:center;justify-content:center;gap:10px}
.pl-sum b{font:800 22px var(--mono)}
.pl-why{display:flex;flex-direction:column;gap:6px}
.pl-why div{display:flex;justify-content:space-between;gap:10px;padding:8px 10px;border-radius:12px;background:rgba(127,127,127,.08);font-size:13.5px}
.pl-why b{font-family:var(--mono);color:var(--tang);flex:none}
.pl-card{display:flex;align-items:center;gap:12px;width:100%;padding:12px;border-radius:18px;border:1px solid var(--rc,rgba(255,255,255,.1));background:rgba(255,255,255,.03);color:inherit;text-align:left}
.pl-l .rplate{--h:38px}
.pl-r{flex:1;display:flex;flex-direction:column;gap:3px;align-items:flex-end;text-align:right;min-width:0}
.pl-r b{font:800 16px var(--mono)}
.pl-r small{color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.kv-plph{display:grid;place-items:center;width:100%;height:100%;min-height:90px;background:linear-gradient(135deg,#eef1f6,#dfe4ec)}
.kv-plph .rplate{--h:28px}
.kv-plph.big{min-height:180px}
.kv-plph.big .rplate{--h:56px;border-width:3px;border-radius:9px}
.mt-plate{position:absolute;left:50%;bottom:6px;transform:translateX(-50%);z-index:3;pointer-events:none}
.mt-plate .rplate{--h:18px;box-shadow:0 2px 6px rgba(0,0,0,.45)}
.cs-pl small,.pk-plate small{white-space:nowrap}
.pl-h{margin:6px 0 0;font:800 13px var(--body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.mt-plate{bottom:50px}

/* госномер — SVG как настоящий (520×112); высота задаётся --h, ширина — по пропорции */
svg.rplate{--h:34px;display:inline-block;height:var(--h);width:calc(var(--h) * 520 / 112);border:0;border-radius:0;box-shadow:none;background:none;overflow:visible;vertical-align:middle;flex:none;filter:drop-shadow(0 2px 3px rgba(0,0,0,.28))}
svg.rplate .rp-bg{fill:#fbfbf8;stroke:#111;stroke-width:5}
svg.rplate .rp-sep{stroke:#111;stroke-width:5}
svg.rplate .rp-ink{fill:#111}
svg.rplate .rp-font{font-family:"Roboto","Helvetica Neue",Arial,sans-serif;font-weight:600}
svg.rplate .rp-rus{font-weight:500}
svg.rplate .rp-flagb{fill:none;stroke:#111;stroke-width:1.5}
svg.rplate.sm{--h:22px}
.pl-big svg.rplate{--h:64px}
.pl-big.sm svg.rplate{--h:44px}
.pl-l svg.rplate{--h:36px}
.kv-plph svg.rplate{--h:30px}
.kv-plph.big svg.rplate{--h:58px}
.mt-plate svg.rplate{--h:17px}
.pk-plate svg.rplate,.cs-pl svg.rplate{--h:32px}
/* плеер в шапке в Колхозвито: шапка там тоже тёмная — цвета плеера как везде (раньше белая тема красила текст и кнопки в чёрный) */
body.kvmode .tpp-t b{color:#fff}body.kvmode .tpp-c{color:#fff}body.kvmode .tpp-c.main{color:#1a0d08}body.kvmode .tpp-b{color:rgba(255,255,255,.75)}
/* карточка игрока на сходке: номер — снизу посередине у главной машины и у каждой машины в списке */
.mc-hero{position:relative}
.mc-plate{position:absolute;left:50%;bottom:10px;transform:translateX(-50%);z-index:4;pointer-events:none}
.mc-plate svg.rplate{--h:26px}
.mc-cc-ph{position:relative}
.mc-cc-plate{position:absolute;left:50%;bottom:8px;transform:translateX(-50%);z-index:2;pointer-events:none}
/* работа: несколько машин в такси / аренде, места за звёзды */
.jb-one{display:flex;flex-direction:column;gap:8px;padding-bottom:10px;margin-bottom:4px;border-bottom:1px dashed rgba(255,255,255,.08)}
.jb-slots{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border-radius:12px;background:rgba(255,255,255,.04)}
.jb-slots>span{display:flex;align-items:center;gap:6px;font-size:13.5px;color:var(--muted)}
.jb-slots>span .ic{width:16px;height:16px}
.jb-slots small{color:var(--muted)}
.jb-slot.sm{display:flex;align-items:center;gap:8px;width:auto;padding:7px 12px;flex:none}
.jb-slot.sm small{display:none}
/* Колхозвито → «Что продаём?»: вкладки и строки в светлом стиле */
.kv-plist{display:flex;flex-direction:column;gap:8px}
.kv-prow{display:flex;align-items:center;gap:12px;width:100%;padding:8px 10px;border-radius:16px;border:1px solid #eceef1;background:#f6f7f8;color:#111;text-align:left;font:inherit}
.kv-prow:active{background:#eef0f3}
.kv-prow-ph{flex:none;width:76px;height:48px;border-radius:10px;overflow:hidden;display:grid;place-items:center;background:#fff}
.kv-prow-ph img{width:100%;height:100%;object-fit:contain}
.kv-prow-ph .noimg{color:#999}
.kv-prow-pl svg.rplate{--h:16px}
.kv-prow-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.kv-prow-t b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:6px}
.kv-prow-t small{font-size:12px;color:#777;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kv-prow-v{flex:none;font-size:14px;color:#111}
/* уведомление, которое открывает раздел по тапу */
.ntf.tap{cursor:pointer}
.ntf.tap:active{transform:scale(.98)}

/* линейные SVG-иконки (web/icons.js) — по размеру текста */
.ic{width:1em;height:1em;display:inline-block;vertical-align:-.14em;flex:none}

/* номера: режим «Продать государству · несколько» */
.pl-card.selmode{position:relative;padding-left:44px}
.pl-card .pl-check{position:absolute;left:12px;top:50%;width:22px;height:22px;margin-top:-11px;border-radius:7px;border:2px solid var(--line);display:grid;place-items:center}
.pl-card.sel{border-color:var(--tang);box-shadow:0 0 0 1px var(--tang) inset}
.pl-card.sel .pl-check{background:var(--tang);border-color:var(--tang);color:#fff}
.pl-card .pl-check .ic{width:14px;height:14px}

/* таксопарк: вкладки классов */
.tx-tabs{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}
.tx-tabs button{display:flex;flex-direction:column;align-items:center;gap:3px;padding:10px 4px;border-radius:14px;border:1px solid var(--line);background:var(--s1);color:inherit;min-width:0}
.tx-tabs button .ic{width:18px;height:18px;color:var(--muted)}
.tx-tabs button b{font-size:12.5px}
.tx-tabs button small{font-size:10.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.tx-tabs button.on{border-color:#F2C53D;background:rgba(242,197,61,.12)}
.tx-tabs button.on .ic{color:#F2C53D}
.tx-head{display:flex;align-items:center;gap:12px;padding:12px;border-radius:16px;background:linear-gradient(110deg,rgba(242,197,61,.14),rgba(242,197,61,.03));border:1px solid rgba(242,197,61,.3)}
.tx-head .tx-k{flex:none;min-width:58px;padding:8px 6px;border-radius:12px;background:rgba(242,197,61,.18);color:#F7D774;font:800 18px var(--mono);text-align:center}
.tx-head b{display:block}.tx-head small{color:var(--muted);font-size:13px;line-height:1.35}

/* дроп из нескольких кейсов: у каждого предмета своя кнопка «Продать» */
.mdi{position:relative}
.mdi-sell{margin-top:4px;display:inline-flex;align-items:center;justify-content:center;gap:4px;width:100%;padding:6px 4px;border-radius:10px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:inherit;font:700 11.5px var(--body);white-space:nowrap}
.mdi-sell .ic{width:13px;height:13px;color:#F2C53D}
.mdi-sell:active{transform:scale(.96)}
.mdi.sold{opacity:.45;filter:grayscale(.7)}
.mdi.sold .mdi-sell{border-color:rgba(95,227,155,.5);color:#5fe39b;opacity:1}
.mdi.sold .mdi-sell .ic{color:#5fe39b}

/* гараж: фильтр по маркам */
.gb-brands{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;padding:2px 0}
.gb-brands::-webkit-scrollbar{display:none}
.gb-brands button{flex:none;display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;border:1px solid var(--line);background:var(--s1);color:inherit;font:700 13px var(--body);white-space:nowrap}
.gb-brands button i{font-style:normal;color:var(--muted);font-weight:600}
.gb-brands button.on{border-color:var(--tang);background:rgba(236,86,46,.14)}
.gb-brands button.on i{color:inherit}
.gb-brands .blogo{width:16px;height:16px}

/* работа: машины с мигалками / неоном (обёртка .sir) — превью того же размера, что и обычное */
.jb-car>.sir,.jb-pick>.sir{flex:none;width:84px;height:42px;position:relative;display:block}
.jb-car>.sir img,.jb-pick>.sir img{width:100%;height:100%;object-fit:contain}

/* топ: все вкладки рейтинга видны сразу — небольшие кнопки сеткой (без прокрутки) */
.tp-tabs{display:grid;grid-template-columns:repeat(5,1fr);gap:5px}
.tp-tabs button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;padding:7px 2px;border-radius:12px;border:1px solid var(--line);background:var(--s1);color:var(--muted);font:700 10.5px/1.1 var(--body);white-space:nowrap}
.tp-tabs button .ic{width:16px;height:16px}
.tp-tabs button.on{color:#fff;border-color:var(--tang);background:rgba(236,86,46,.16)}
.tp-tabs button.on .ic{color:var(--tang)}
.tp-prize{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:14px;background:linear-gradient(110deg,rgba(242,197,61,.14),rgba(242,197,61,.03));border:1px solid rgba(242,197,61,.3)}
.tp-prize>.ic{width:20px;height:20px;color:#F2C53D;flex:none}
.tp-prize b{display:block;font-size:13px}.tp-prize small{color:var(--muted);font-size:11.5px;line-height:1.35}

/* ===================================================================================================================
   АВТОСХОДКА 2.0 (28.10): меню-«хаб», широкие места на 2D-парковке, карточка игрока на весь экран.
   Минималистичный тёмный стиль (макет пользователя): скругления 26–32 px, круглые кнопки, «пилюли» с красной кнопкой,
   мягкие тени и красное свечение. Цвета вкладки — прежние (акцент --tang). Картинки меню — scripts/meet-art.py.
   =================================================================================================================== */
.mh,.ml{display:flex;flex-direction:column;gap:14px}
.mh-top{display:flex;align-items:center;gap:12px}
.mh-ttl{flex:1;min-width:0}
.mh-ttl small{display:flex;align-items:center;gap:6px;font:600 12px var(--body);color:var(--muted);letter-spacing:.02em}
.mh-ttl h2{margin:2px 0 0;font:800 26px/1.05 var(--display)}
.mh-ttl.c{text-align:center}.mh-ttl.c small{justify-content:center}.mh-ttl.c h2{font-size:20px}
.mh-dot{width:7px;height:7px;border-radius:50%;background:#2FBF71;box-shadow:0 0 0 3px rgba(47,191,113,.2)}
.mh-circ{flex:none;width:46px;height:46px;border-radius:50%;border:0;display:grid;place-items:center;background:#1d1d20;color:#fff;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.07),0 10px 22px -12px rgba(0,0,0,.9);transition:transform .15s,background .2s}
.mh-circ:active{transform:scale(.92)}
.mh-circ .ic{width:20px;height:20px}
.mh-circ.spin .ic{animation:kvSpin .7s linear infinite}
.mh-circ.on{background:#FF4F9A}.mh-circ.on .ic{fill:#fff}
/* обложка: картинка из Blender, крупная обводка «СХОДКА», заголовок и «пилюля» */
.mh-hero{position:relative;display:flex;flex-direction:column;justify-content:flex-end;gap:14px;min-height:min(118vw,470px);padding:16px;border:0;border-radius:32px;overflow:hidden;text-align:left;color:#fff;
  background:linear-gradient(180deg,rgba(9,9,11,.15) 0%,rgba(9,9,11,0) 26%,rgba(9,9,11,.55) 60%,rgba(9,9,11,.96)),var(--bg) center 38%/cover,#151517;
  box-shadow:0 34px 60px -34px rgba(0,0,0,.95),inset 0 0 0 1px rgba(255,255,255,.06);transition:transform .2s;animation:mhIn .6s cubic-bezier(.2,.9,.25,1) both}
.mh-hero:active{transform:scale(.985)}
@keyframes mhIn{from{opacity:0;transform:translateY(18px) scale(.98)}}
.mh-big{position:absolute;left:0;right:0;top:12%;text-align:center;font:900 clamp(44px,15vw,84px)/.9 var(--display);letter-spacing:-.03em;font-style:normal;color:transparent;
  -webkit-text-stroke:1.5px rgba(255,255,255,.38);text-shadow:0 0 40px rgba(255,255,255,.08);pointer-events:none}
.mh-live{position:absolute;left:14px;top:14px;display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border-radius:999px;background:rgba(12,12,14,.55);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font:700 12px var(--body)}
.mh-live i{width:7px;height:7px;border-radius:50%;background:#2FBF71;box-shadow:0 0 8px #2FBF71;animation:mhPulse 1.6s ease-in-out infinite}
@keyframes mhPulse{50%{opacity:.35}}
.mh-hero-t b{display:block;font:800 clamp(30px,9vw,38px)/1.02 var(--display);text-shadow:0 4px 24px rgba(0,0,0,.6)}
.mh-hero-t small{display:flex;align-items:center;gap:5px;margin-top:8px;color:rgba(255,255,255,.72);font-size:13.5px}
.mh-hero-t small .ic{width:13px;height:13px;color:#FF4F9A;fill:#FF4F9A}
/* «пилюля» как в макете: красный круг с иконкой, подпись по центру, »»» справа */
.mh-pill{display:flex;align-items:center;gap:12px;width:100%;padding:7px 18px 7px 7px;border:0;border-radius:999px;background:rgba(34,34,38,.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.07),0 14px 30px -16px rgba(0,0,0,.9)}
.mh-pill-ic{flex:none;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,#ff8a63,var(--tang) 58%,#b8381a);
  box-shadow:0 10px 24px -8px rgba(236,86,46,.9),inset 0 1px 0 rgba(255,255,255,.3);font-style:normal}
.mh-pill-ic .ic{width:22px;height:22px}
.mh-pill b{flex:1;text-align:center;font:700 15px var(--body)}
.mh-pill em{font-style:normal;letter-spacing:3px;color:rgba(255,255,255,.4);font-weight:800;animation:mhArr 1.6s ease-in-out infinite}
@keyframes mhArr{50%{color:rgba(255,255,255,.75)}}
.mh-pill.on .mh-pill-ic{background:radial-gradient(circle at 35% 30%,#ff8cc0,#FF4F9A 60%,#c22a6e)}
.mh-pill.on .mh-pill-ic .ic{fill:#fff}
/* мой клан */
.mh-my{display:flex;align-items:center;gap:12px;padding:12px 14px;border:0;border-radius:24px;background:#18181b;color:#fff;text-align:left;
  box-shadow:inset 0 0 0 1px rgba(236,86,46,.35),0 14px 28px -20px rgba(236,86,46,.7);animation:mhIn .6s .08s both}
.mh-my-ic{flex:none;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:rgba(236,86,46,.16);color:var(--tang)}
.mh-my-ic .ic{width:19px;height:19px}
.mh-my>span:nth-child(2){flex:1;min-width:0}.mh-my small{display:block;font-size:11.5px;color:var(--muted)}.mh-my b{display:block;font:700 15.5px var(--body);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mh-my em{font:800 14px var(--mono);font-style:normal;color:#F2C53D}.mh-my>.ic{width:18px;height:18px;color:var(--muted)}
.mh-row{display:flex;align-items:baseline;justify-content:space-between;margin-top:6px;padding:0 2px}
.mh-row b{font:800 18px var(--display)}.mh-row small{color:var(--muted);font-size:12.5px}
/* плитки разделов — как «Climate control / Acceleration» в макете: иконка в круге, название, подпись, красное свечение в углу */
.mh-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.mh-tile{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:18px;min-height:128px;padding:14px;border:0;border-radius:26px;text-align:left;color:#fff;overflow:hidden;
  background:#18181b;box-shadow:inset 0 0 0 1px rgba(255,255,255,.05),0 18px 30px -24px rgba(0,0,0,.95);transition:transform .15s;animation:mhIn .55s calc(var(--i, 0) * 50ms + 80ms) both}
.mh-tile:active{transform:scale(.97)}
.mh-tile::after{content:'';position:absolute;right:-34px;bottom:-46px;width:130px;height:130px;border-radius:50%;background:radial-gradient(closest-side,rgba(236,86,46,.26),transparent);pointer-events:none}
.mh-tile.wide{grid-column:1/-1;min-height:148px}
.mh-tile.img{background:linear-gradient(90deg,rgba(12,12,14,.94) 0%,rgba(12,12,14,.6) 42%,rgba(12,12,14,.04) 80%),var(--bg) right center/cover,#141416}
.mh-tile.img::after{display:none}
.mh-tile.vip{box-shadow:inset 0 0 0 1px rgba(169,112,255,.3),0 18px 34px -22px rgba(124,92,255,.6)}
.mh-t-ic{position:relative;z-index:1;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:rgba(38,38,42,.9);box-shadow:inset 0 0 0 1px rgba(255,255,255,.07)}
.mh-t-ic .ic{width:19px;height:19px}
.mh-t-ic.gold{color:#F2C53D}.mh-t-ic.purple{color:#c9b0ff}
.mh-t-t{position:relative;z-index:1;min-width:0;max-width:75%}
.mh-tile:not(.wide) .mh-t-t{max-width:100%}
.mh-t-t b{display:block;font:700 15.5px/1.2 var(--body)}
.mh-t-t small{display:block;margin-top:3px;font-size:12px;color:rgba(255,255,255,.55);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mh-go{position:absolute;z-index:1;right:14px;bottom:14px;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--tang);box-shadow:0 10px 20px -8px rgba(236,86,46,.9);font-style:normal}
.mh-go .ic{width:18px;height:18px}
.mh-tile.vip .mh-go{background:#7C5CFF;box-shadow:0 10px 20px -8px rgba(124,92,255,.9)}
.sk{background:linear-gradient(100deg,#17171a 40%,#202024 50%,#17171a 60%) 0 0/200% 100%;animation:mhSk 1.2s linear infinite}
.mh-hero.sk{min-height:min(118vw,470px)}
@keyframes mhSk{to{background-position:-200% 0}}

/* ---------- общая парковка: одна колонка широких мест (2D, асфальт и разметка — как раньше) ---------- */
.ml-join{flex:none;width:42px;height:42px;border-radius:14px;border:0;display:grid;place-items:center;color:#fff;background:radial-gradient(circle at 35% 30%,#ff8a63,var(--tang) 60%,#b8381a);box-shadow:0 8px 18px -8px rgba(236,86,46,.9)}
.ml-join .ic{width:19px;height:19px}
.ml-my{flex:none;display:flex;align-items:center;gap:5px;height:42px;padding:0 12px;border:0;border-radius:14px;background:#1d1d20;color:#fff;font:800 13px var(--mono);box-shadow:inset 0 0 0 1px rgba(236,86,46,.4)}
.ml-my .ic{width:16px;height:16px;color:var(--tang)}
.ml-my:active{transform:scale(.94)}
.mt-lot.wide{display:block;padding:12px 12px 12px 40px;border-radius:28px}
.mt-lot.wide::before{content:'';position:absolute;left:18px;top:0;bottom:0;width:3px;background:repeating-linear-gradient(180deg,rgba(255,214,90,.75) 0 24px,transparent 24px 48px);pointer-events:none}
.mt-lot.wide .mt-bay.mw{height:auto;min-height:172px;border:0;border-top:2.5px solid rgba(255,255,255,.7);border-right:2.5px solid rgba(255,255,255,.7);overflow:hidden}
/* сетка места: «верх» — номер и значки; слева — инфо; справа — машина и стрелка. Ничего не лежит поверх машины */
.mt-bay.mw:not(.mt-vac){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);grid-template-rows:auto minmax(0,1fr) auto;grid-template-areas:"top top" "info car" "info go";
  gap:6px 10px;padding:16px 18px 16px 12px;height:auto;min-height:172px;align-items:center}
.mt-lot.wide .mt-bay.mw:last-child{border-bottom:2.5px solid rgba(255,255,255,.7)}
.mt-bay.mw:not(.mt-vac)::before{inset:8px 8px 8px 0;border-radius:22px;opacity:.6}
.mt-bay.mw[class*=" fr-"]:not(.fr-none)::after{inset:8px 8px 8px 0;border-radius:22px}
.mw-lines{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 0 92%,rgba(255,255,255,.04));}
.mt-bay.mw .mw-car{grid-area:car;position:relative;inset:auto;width:100%;height:auto;aspect-ratio:2/1;max-height:132px;display:grid;place-items:center;z-index:1;align-self:end}
.mt-bay.mw .mw-car::before{inset:30% 4% 4%}
.mt-bay.mw .mw-car img,.mt-bay.mw .mw-car .sir{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 16px 12px rgba(0,0,0,.7))}
.mt-bay.mw .mt-glow{left:52%;right:10%;bottom:58px}
.mw-l{grid-area:info;position:relative;z-index:3;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:7px;min-width:0;align-self:stretch}
.mw-top{grid-area:top;position:relative;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;height:28px}
.mw-bdg{display:flex;align-items:center;gap:6px;flex:none}
@media (max-width:380px){.mt-bay.mw:not(.mt-vac){grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:6px 8px;padding-right:12px}}
.mw-num{display:inline-flex;align-items:center;gap:6px;font:800 11px var(--mono);color:rgba(255,255,255,.5);letter-spacing:.06em}
.mw-emo{font-style:normal;font-size:15px;filter:drop-shadow(0 2px 3px #000)}
.mw-car-n{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;font:800 clamp(13.5px,4.1vw,16px)/1.15 var(--display);text-shadow:0 2px 10px rgba(0,0,0,.8);max-width:100%}
.mw-car-n .blogo{width:15px;height:15px;vertical-align:-2px;margin-right:4px}
.mw-who{display:flex;align-items:center;gap:6px;min-width:0;max-width:100%}
.mw-who .mt-ava{width:24px;height:24px;font-size:11px}
.mw-who em{flex:0 1 auto;min-width:0;font-style:normal;font:600 12px var(--body);color:rgba(255,255,255,.8);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* тег ника на месте — круглый значок: депутат, олигарх, админ */
.mw-tg{flex:none;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;font-style:normal;box-shadow:0 2px 6px rgba(0,0,0,.5)}
.mw-tg .ic{width:11px;height:11px}
.mw-tg.dep{background:linear-gradient(135deg,#8ff5e2,#2bb8a5);color:#04201d}
.mw-tg.olg{background:linear-gradient(135deg,#ffe48a,#d9a521);color:#2a1d00}
.mw-tg.adm{background:linear-gradient(135deg,#ff6b3d,#E5322D);color:#fff}
.mw-clan{display:inline-flex;align-items:center;gap:4px;max-width:100%;padding:3px 8px 3px 6px;border-radius:999px;background:color-mix(in srgb,var(--cc) 22%,rgba(0,0,0,.4));
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--cc) 55%,transparent);font:700 10.5px var(--body);color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mw-clan .ic{flex:none;width:11px;height:11px;color:var(--cc)}
.mw-clan>span{min-width:0;overflow:hidden;text-overflow:ellipsis}
.mt-bay.mw .mt-season{position:static}
.mw-plate{display:block;line-height:0;max-width:100%}
.mt-bay.mw .mw-like{position:relative;inset:auto;height:28px;padding:0 10px 0 8px;font-size:12px;background:rgba(10,10,12,.6);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:4}
.mt-bay.mw .mw-like.on{background:#FF4F9A}
.mt-bay.mw .mw-go{grid-area:go;justify-self:end;align-self:end;position:relative;inset:auto;width:42px;height:42px;border-radius:50%;z-index:4;color:var(--acc-ink);background:linear-gradient(135deg,color-mix(in srgb,var(--acc) 62%,#fff) -15%,var(--acc) 42%,var(--acc2));box-shadow:0 8px 18px -6px color-mix(in srgb,var(--acc) 85%,transparent)}
.mt-bay.mw .mw-go .ic{width:18px;height:18px;stroke-width:2.6}
.mt-bay.mw .mw-note{position:relative;inset:auto;width:auto;height:28px;animation:none;padding:0 8px;border-radius:999px;display:flex;gap:5px;align-items:center;z-index:4}
.mt-bay.mw .mw-note .mt-eq{transform:scale(.7)}
.mt-bay.mw .mt-champ{position:relative;inset:auto;margin:0;width:28px;height:28px;z-index:4}
.mt-bay.mw .mt-champ .ic{width:15px;height:15px}
/* цвет карточки (style.accent, у градиентов — --acc2): лёгкий тон места, кнопка-стрелка */
.mt-bay.mw:not(.mt-vac){background:linear-gradient(105deg,color-mix(in srgb,var(--acc) 14%,transparent),transparent 52%,color-mix(in srgb,var(--acc2) 11%,transparent))}
.mt-bay.mw.mine{background:linear-gradient(105deg,color-mix(in srgb,var(--acc) 24%,transparent),transparent 58%,color-mix(in srgb,var(--acc2) 18%,transparent))}
.mt-bay.mw.mt-vac{min-height:96px;display:flex;align-items:center;justify-content:center;gap:10px}
.mw-free{display:flex;align-items:center;gap:8px;color:rgba(255,255,255,.28);font:800 11.5px var(--body);letter-spacing:.1em;text-transform:uppercase}
.mw-free .ic{width:16px;height:16px}
.mt-bay.mw.mt-vac .mw-num{position:absolute;left:12px;top:10px}
.mt-bay.mw .mt-fx{inset:8px 8px 8px 0;border-radius:22px}
/* свет на месте */
.mw-light{position:absolute;inset:0;pointer-events:none;z-index:0}
.lt-spot .mw-light{background:radial-gradient(42% 70% at 70% 0%,rgba(255,244,214,.38),rgba(255,236,190,.08) 55%,transparent 75%)}
.lt-spot .mw-light::after{content:'';position:absolute;left:52%;right:6%;bottom:16px;height:26px;border-radius:50%;background:radial-gradient(closest-side,rgba(255,240,205,.35),transparent)}
.lt-beams .mw-light{background:linear-gradient(100deg,transparent 30%,rgba(255,248,215,.0) 31%,rgba(255,248,215,.22) 48%,transparent 66%),linear-gradient(80deg,transparent 40%,rgba(255,248,215,.16) 58%,transparent 72%);animation:mwBeam 3.2s ease-in-out infinite alternate}
@keyframes mwBeam{to{opacity:.55}}
.lt-ring .mw-light::after{content:'';position:absolute;left:44%;right:6%;bottom:18px;height:30px;border-radius:50%;border:2px solid var(--acc);box-shadow:0 0 18px var(--acc),inset 0 0 14px var(--acc);opacity:.85;animation:mwRing 2s ease-in-out infinite}
@keyframes mwRing{50%{opacity:.45;transform:scale(.96)}}
.mcx-hero .mw-light::after{left:20%;right:20%}

/* ---------- новые фоны, эффекты и рамки места ---------- */
.mt-bay.bg-garage::before,.ms-top.bg-garage::before,.mj-bg.bg-garage{background:repeating-linear-gradient(90deg,rgba(255,255,255,.04) 0 2px,transparent 2px 38px),linear-gradient(180deg,rgba(255,200,120,.22),rgba(30,30,34,.4) 60%),#1a1a1d}
.mt-bay.bg-track::before,.ms-top.bg-track::before,.mj-bg.bg-track{background:repeating-linear-gradient(90deg,#e5322d 0 18px,#f3f3f3 18px 36px) bottom/100% 10px no-repeat,linear-gradient(180deg,rgba(229,50,45,.28),transparent 70%);animation:bgTrack 1.4s linear infinite}
@keyframes bgTrack{to{background-position:36px 100%,0 0}}
.mt-bay.bg-sakura::before,.ms-top.bg-sakura::before,.mj-bg.bg-sakura{background:radial-gradient(3px 3px at 20% 30%,#ffc0dc,transparent),radial-gradient(3px 3px at 60% 20%,#ffd6e8,transparent),radial-gradient(2px 2px at 80% 60%,#ffb3d1,transparent),radial-gradient(3px 3px at 35% 75%,#ffc0dc,transparent),linear-gradient(180deg,rgba(255,120,180,.32),rgba(120,40,90,.2));background-size:120px 120px,140px 140px,100px 100px,160px 160px,100% 100%;animation:bgFall 6s linear infinite}
@keyframes bgFall{to{background-position:30px 120px,-20px 140px,15px 100px,-30px 160px,0 0}}
.mt-bay.bg-matrix::before,.ms-top.bg-matrix::before,.mj-bg.bg-matrix{background:repeating-linear-gradient(90deg,rgba(57,255,120,.0) 0 10px,rgba(57,255,120,.25) 10px 11px),linear-gradient(180deg,rgba(57,255,120,.25),rgba(0,40,10,.3));background-size:22px 100%,100% 100%;animation:bgMatrix 2.4s linear infinite}
@keyframes bgMatrix{to{background-position:22px 0,0 0}}
.mt-bay.bg-ocean::before,.ms-top.bg-ocean::before,.mj-bg.bg-ocean{background:radial-gradient(120% 60% at 50% 120%,rgba(34,211,238,.45),transparent 70%),linear-gradient(180deg,rgba(20,60,140,.45),rgba(10,30,70,.3));background-size:200% 100%,100% 100%;animation:bgOcean 5s ease-in-out infinite alternate}
@keyframes bgOcean{to{background-position:100% 0,0 0}}
.mt-bay.bg-inferno::before,.ms-top.bg-inferno::before,.mj-bg.bg-inferno{background:radial-gradient(60% 50% at 50% 110%,rgba(255,140,30,.7),transparent 70%),radial-gradient(40% 40% at 20% 100%,rgba(229,50,45,.6),transparent 70%),linear-gradient(0deg,rgba(255,80,20,.35),transparent 70%);animation:bgFire 1.1s ease-in-out infinite alternate}
@keyframes bgFire{to{filter:brightness(1.25) saturate(1.2)}}
.mt-bay.bg-track::before,.mt-bay.bg-sakura::before,.mt-bay.bg-matrix::before,.mt-bay.bg-ocean::before,.mt-bay.bg-inferno::before,.mt-bay.bg-garage::before{opacity:.95}
.fx-lightning{--fxa:fxBolt;--fxd:1.8s}
.fx-lightning b{bottom:auto;top:6%;width:3px;height:44%;background:linear-gradient(#fff,#9ad8ff 60%,transparent);clip-path:polygon(40% 0,100% 0,60% 45%,100% 45%,0 100%,30% 52%,0 52%);box-shadow:0 0 10px #9ad8ff;width:14px}
@keyframes fxBolt{0%,86%{opacity:0}88%,92%{opacity:1}90%{opacity:.2}100%{opacity:0}}
.fx-confetti{--fxa:fxConf;--fxd:2.2s}
.fx-confetti b{bottom:auto;top:0;width:7px;height:10px;border-radius:2px;background:hsl(calc(var(--k) * 70) 90% 60%)}
@keyframes fxConf{0%{opacity:0;transform:translateY(-10px) rotate(0)}15%{opacity:1}100%{opacity:0;transform:translateY(140px) rotate(540deg)}}
.fx-bubbles{--fxa:fxBub;--fxd:3s}
.fx-bubbles b{width:12px;height:12px;border-radius:50%;border:1.5px solid rgba(180,230,255,.75);background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.6),transparent 50%)}
@keyframes fxBub{0%{opacity:0;transform:translateY(0) scale(.6)}20%{opacity:1}100%{opacity:0;transform:translateY(-110px) scale(1.1)}}
.fx-stars{--fxa:fxStar;--fxd:2.6s}
.fx-stars b{width:12px;height:12px;background:#ffe08a;clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);filter:drop-shadow(0 0 6px #ffd24a)}
@keyframes fxStar{0%,100%{opacity:0;transform:scale(.4) rotate(0)}50%{opacity:1;transform:scale(1.1) rotate(72deg)}}
.fr-fire::after{background:linear-gradient(0deg,#ff3d00,#ff9100 40%,#ffd54f 70%,#ff3d00);background-size:100% 200%;animation:frFlow 1.4s linear infinite}
.fr-ice::after{background:linear-gradient(135deg,#e0f7ff,#7fd3ff 35%,#ffffff 55%,#5fb8ff 80%,#e0f7ff)}
.fr-holo::after{background:linear-gradient(115deg,#ff7ad9,#7af0ff 25%,#b9ff7a 50%,#ffd27a 75%,#ff7ad9);background-size:300% 100%;animation:frFlow 3s linear infinite}
.fr-ruby::after{background:linear-gradient(135deg,#ff6b8a,#c3002f 40%,#ff3355 60%,#7a001c)}
@keyframes frFlow{to{background-position:0 -200%,300% 0}}
.mj-fr.fr-fire{box-shadow:inset 0 0 0 2px #ff9100}.mj-fr.fr-ice{box-shadow:inset 0 0 0 2px #7fd3ff}.mj-fr.fr-holo{box-shadow:inset 0 0 0 2px #b98cff}.mj-fr.fr-ruby{box-shadow:inset 0 0 0 2px #e0284f}

/* ---------- карточка игрока: страница на весь экран, раскрывается из места ---------- */
#sheetWrap[data-mode="page"]{align-items:stretch;padding:0;background:rgba(0,0,0,.6)}
#sheetWrap[data-mode="page"] .sheet.mcxsheet{max-width:none;max-height:none;height:100%;border:0;border-radius:0;padding:0;background:#0d0d0f;animation:none}
.sheet.mcx-in{animation:mcxIn .62s cubic-bezier(.22,1,.36,1) both!important}
@keyframes mcxIn{from{clip-path:inset(var(--ct) var(--cr) var(--cb) var(--cl) round 26px);opacity:.6}to{clip-path:inset(0 0 0 0 round 0);opacity:1}}
.sheet.mcx-up{animation:mcxUp .5s cubic-bezier(.22,1,.36,1) both!important}
@keyframes mcxUp{from{transform:translateY(40px);opacity:0}}
.mcx{display:flex;flex-direction:column;gap:12px;min-height:100%;padding:calc(10px + env(safe-area-inset-top,0px)) 16px 0;max-width:560px;margin:0 auto;width:100%;box-sizing:border-box}
.mcx-top{display:flex;align-items:center;justify-content:space-between;gap:10px;position:sticky;top:0;z-index:6;margin:0 -16px;padding:6px 16px 10px;background:linear-gradient(180deg,#0d0d0f 62%,rgba(13,13,15,0))}
.mcx-top b{font:700 16px var(--body)}
.mcx-hl.on{background:#FF4F9A}
.mcx-hero{position:relative;height:min(76vw,340px);margin:0 -16px;border-radius:0 0 34px 34px;overflow:hidden;display:grid;place-items:center;padding-bottom:34px;box-sizing:border-box;
  background:radial-gradient(55% 45% at 50% 0%,rgba(255,255,255,.1),transparent 70%),radial-gradient(48% 50% at 34% 72%,color-mix(in srgb,var(--acc) 28%,transparent),transparent 72%),radial-gradient(48% 50% at 66% 72%,color-mix(in srgb,var(--acc2) 28%,transparent),transparent 72%),
    linear-gradient(180deg,#141417 0%,#0e0e10 58%,#1a1a1d 58.2%,#0f0f11 100%)}
.mcx-hero.ms-top::before{content:'';position:absolute;inset:0;opacity:.75}
.mcx-car{position:relative;z-index:2;width:92%;height:88%;animation:mcxCar .8s .12s cubic-bezier(.2,.9,.25,1) both}
@keyframes mcxCar{from{opacity:0;transform:translateX(-34px) scale(.92)}}
.mcx-car .cg,.mcx-car .cg-s,.mcx-car img{width:100%;height:100%;object-fit:contain}
.mcx-car img{filter:drop-shadow(0 26px 22px rgba(0,0,0,.85))}
.mcx-floor{position:absolute;left:10%;right:10%;bottom:14%;height:18%;border-radius:50%;background:radial-gradient(closest-side,rgba(0,0,0,.75),transparent);z-index:1}
.mcx-brand{position:absolute;left:0;right:0;top:9%;z-index:0;text-align:center;white-space:nowrap;overflow:hidden;pointer-events:none;font-style:normal;
  font:900 min(calc(min(100vw, 560px) * .98 / var(--n)), 96px)/.9 var(--display);letter-spacing:-.01em;color:transparent;
  -webkit-text-stroke:1.4px color-mix(in srgb,var(--acc) 40%,rgba(255,255,255,.34));text-shadow:0 0 50px color-mix(in srgb,var(--acc) 25%,transparent)}
.mcx-hb{position:absolute;left:14px;right:14px;bottom:14px;z-index:3;display:flex;align-items:center;gap:6px}
.mcx-chip{display:inline-flex;align-items:center;gap:5px;height:28px;padding:0 10px;border-radius:999px;background:rgba(12,12,14,.66);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.1);font:700 12px var(--mono);color:#fff;white-space:nowrap}
.mcx-chip .ic{width:13px;height:13px;color:var(--acc)}
.mcx-plate{margin-left:auto;flex:none}
html.lite .mcx-chip{backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(12,12,14,.85)}
/* показатели: одна карточка, 4 × 2 ячейки через тонкие разделители */
.mcx-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;border-radius:24px;overflow:hidden;background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(255,255,255,.05);animation:mhIn .5s .2s both}
.mcx-st{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:0;padding:12px 4px 11px;background:#18181b;text-align:center}
.mcx-st .ic{width:16px;height:16px;color:color-mix(in srgb,var(--acc) 75%,#fff);margin-bottom:2px}
.mcx-st:nth-child(even) .ic{color:color-mix(in srgb,var(--acc2) 75%,#fff)}
/* страница игрока в цвет карточки: карточка ника, кольцо аватарки, кнопка внизу */
.mcx .mcx-id{background:linear-gradient(120deg,color-mix(in srgb,var(--acc) 15%,#18181b),#18181b 55%,color-mix(in srgb,var(--acc2) 12%,#18181b));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--acc) 26%,transparent)}
.mcx .mc-ava{isolation:isolate}
.mcx .mc-ava::before{content:'';position:absolute;inset:-6px;z-index:-1;border-radius:50%;background:conic-gradient(from 200deg,var(--acc),var(--acc2),var(--acc))}
.mcx .mc-ava .mt-ava.big{box-shadow:0 0 0 4px #141416,0 10px 30px -6px color-mix(in srgb,var(--acc2) 70%,transparent)}
.mcx .mh-pill-ic{color:var(--acc-ink);background:linear-gradient(135deg,color-mix(in srgb,var(--acc) 62%,#fff) -15%,var(--acc) 42%,var(--acc2));box-shadow:0 10px 24px -8px color-mix(in srgb,var(--acc) 85%,transparent),inset 0 1px 0 rgba(255,255,255,.3)}
.mcx .mh-pill.on .mh-pill-ic{color:#fff;background:radial-gradient(circle at 35% 30%,#ff8cc0,#FF4F9A 60%,#c22a6e)}
.mcx-st b{max-width:100%;font:800 clamp(13px,3.7vw,15.5px) var(--mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mcx-st small{max-width:100%;font-size:10.5px;line-height:1.15;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mcx-card{border-radius:24px;background:#18181b;box-shadow:inset 0 0 0 1px rgba(255,255,255,.05);animation:mhIn .5s calc(var(--i, 0) * 50ms + .15s) both}
.mcx-id{display:flex;align-items:center;gap:12px;padding:12px 14px}
.mcx-id .mc-ava{position:relative;flex:none}
.mcx-id .mt-ava.big{width:52px;height:52px;font-size:20px}
.mcx-name{flex:1;min-width:0}
.mcx-name h2{margin:0;font:800 19px/1.15 var(--display);display:flex;flex-wrap:wrap;align-items:center;gap:4px}
.mcx-name p{margin:3px 0 0;font-size:12.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mcx-like{flex:none;display:flex;align-items:center;gap:6px;height:42px;padding:0 14px;border-radius:999px;border:0;background:#26262a;color:#fff;font:800 14px var(--mono)}
.mcx-like .ic{width:18px;height:18px}
.mcx-like.on{background:#FF4F9A}.mcx-like.on .ic{fill:#fff}
.mcx-like.pop{animation:mtPop .45s cubic-bezier(.2,.9,.25,1.6)}
.mcx-clan{display:flex;align-items:center;gap:12px;padding:10px 14px;border:0;color:#fff;text-align:left;width:100%}
.mcx-clan>span:nth-child(2){flex:1;min-width:0}.mcx-clan small{display:block;font-size:11px;color:var(--muted)}.mcx-clan b{display:block;font:700 15px var(--body)}
.mcx-clan em{font-style:normal;font:700 11.5px var(--body);color:color-mix(in srgb,var(--acc) 80%,#fff)}.mcx-clan>.ic{width:17px;height:17px;color:var(--muted)}
.mcx-tags{display:flex;flex-wrap:wrap;gap:6px}
.mcx-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.mcx-tile{position:relative;display:flex;flex-direction:column;gap:2px;padding:14px;border-radius:24px;background:#18181b;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(255,255,255,.05);animation:mhIn .5s calc(var(--i) * 60ms + .2s) both}
.mcx-tile::after{content:'';position:absolute;right:-30px;bottom:-40px;width:110px;height:110px;border-radius:50%;background:radial-gradient(closest-side,color-mix(in srgb,var(--acc) 30%,transparent),transparent);pointer-events:none}
.mcx-t-ic{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#26262a;margin-bottom:10px;flex:none}
.mcx-t-ic .ic{width:17px;height:17px}
.mcx-tile b{font:800 18px var(--mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mcx-tile small{font-size:11.5px;color:var(--muted)}
.mcx .mc-rep{padding:0;background:none;border:0;box-shadow:none}
.mcx-note{margin:0;padding:14px 16px;font-size:14px;line-height:1.5;color:#e6e0dd;position:relative}
.mcx-note::before{content:'“';position:absolute;right:14px;top:-4px;font:900 46px var(--display);color:color-mix(in srgb,var(--acc) 50%,transparent)}
.mcx .mt-player,.mcx .mt-vol{border-radius:24px}
.mcx-h{display:flex;align-items:center;gap:8px;margin:10px 2px 0;font:800 17px var(--display)}
.mcx-h span{font:700 12px var(--mono);padding:2px 8px;border-radius:999px;background:#26262a;color:var(--muted)}
.mcx-cars{display:flex;flex-direction:column;gap:10px}
.mcx-cc{position:relative;display:flex;flex-direction:column;gap:6px;padding:14px;border-radius:26px;background:#18181b;box-shadow:inset 0 0 0 1px rgba(255,255,255,.05);overflow:hidden;animation:mhIn .5s calc(var(--i) * 70ms + .25s) both}
.mcx-cc-top{display:flex;align-items:flex-start;gap:10px}
.mcx-cc-top>span{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.mcx-cc-top b{font:700 15.5px var(--body)}.mcx-cc-top q{font-size:12px;color:var(--muted);quotes:none}
.mcx-cc .mc-cc-like{position:static;flex:none}
.mcx-cc-ph{position:relative;height:150px;display:grid;place-items:center}
.mcx-cc-ph img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 14px 12px rgba(0,0,0,.7))}
.mcx-cc-ph.flip img{transform:scaleX(-1)}
.mcx-cc-st{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.mcx-cc-st span{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border-radius:14px;background:#222226}
.mcx-cc-st small{font-size:10.5px;color:var(--muted)}.mcx-cc-st b{font:700 12.5px var(--body);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mcx .mc-rv-form{padding:6px 6px 6px 14px}
.mcx .mc-rv{padding:12px 14px}
.mcx-cta{position:sticky;bottom:0;z-index:7;margin:6px -16px 0;padding:18px 16px calc(14px + env(safe-area-inset-bottom,0px));background:linear-gradient(rgba(13,13,15,0),rgba(13,13,15,.94) 40%);pointer-events:none}
.mcx-cta .mh-pill{pointer-events:auto;max-width:528px;margin:0 auto;background:rgba(30,30,34,.94)}
@media (prefers-reduced-motion:reduce){.sheet.mcx-in,.sheet.mcx-up,.mcx-car,.mcx-card,.mcx-tile,.mcx-cc,.mh-hero,.mh-tile,.mh-my{animation:none!important}}
/* слабые телефоны (класс lite): без размытий подложки */
html.lite .mh-live,html.lite .mh-pill,html.lite .mt-bay.mw .mw-like{backdrop-filter:none;-webkit-backdrop-filter:none}

/* ---------- фото-фоны места (платные, MEET_STYLE.bgPhotos; 28.10): на месте — затемнение слева под текст, в карточке — снизу ---------- */
.mt-bay.mw.bg-ph:not(.mt-vac)::before{opacity:1;background:linear-gradient(90deg,rgba(10,10,12,.9) 0%,rgba(10,10,12,.66) 40%,rgba(10,10,12,.18) 100%),var(--bgph) center/cover}
.mcx-hero.bg-ph::before{opacity:1;background:linear-gradient(180deg,rgba(13,13,15,.1) 0%,rgba(13,13,15,.3) 55%,rgba(13,13,15,.92) 100%),var(--bgph) center/cover}
.mcx-hero.bg-ph .mcx-brand{display:none}
.mj-phs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.mj-ph{position:relative;aspect-ratio:16/10;padding:0;border:2px solid transparent;border-radius:14px;overflow:hidden;background:#1d1d20 var(--t) center/cover;color:#fff}
.mj-ph::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(0,0,0,.75))}
.mj-ph b{position:absolute;left:7px;right:7px;bottom:5px;z-index:1;font:700 11.5px var(--body);text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 4px #000}
.mj-ph-lock{position:absolute;top:5px;right:5px;z-index:1;display:flex;align-items:center;gap:3px;padding:2px 7px 2px 5px;border-radius:999px;background:rgba(0,0,0,.66);font:800 10.5px var(--mono);font-style:normal;color:#F2C53D}
.mj-ph-lock .ic{width:11px;height:11px}
.mj-ph:not(.locked) .mj-ph-lock{display:none}
.mj-ph.on{border-color:#fff}
.mj-ph.locked.on{border-color:#F2C53D}

/* ---------- автомеханик: халтура (подмена деталей клиента, 29.10) ---------- */
.mc-act{display:flex;align-items:center;gap:10px;padding:10px 10px 10px 14px;border-radius:16px;background:#1b1714;border:1px solid rgba(242,197,61,.35)}
.mc-act[hidden]{display:none}
.mc-act-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.mc-act-t b{font-size:13.5px;color:#F2C53D}.mc-act-t small{font-size:11.5px;line-height:1.35;color:#c9bfb7}
.mc-act-b{flex:none;display:flex;align-items:center;gap:5px;height:38px;padding:0 14px;border:0;border-radius:999px;background:linear-gradient(135deg,#ffd76a,#e0a41c);color:#2a1d00;font:800 13px var(--body)}
.mc-act-b .ic{width:15px;height:15px}
.mc-act-b.ghost{background:#2a2622;color:#fff}
.mc-part.swap{border-color:#F2C53D;box-shadow:inset 0 0 0 1px rgba(242,197,61,.5)}
.mc-part{position:relative}
.mc-sw{position:absolute;right:4px;top:4px;width:26px;height:26px;border-radius:8px;overflow:hidden;background:#2a2622;box-shadow:0 0 0 1.5px #F2C53D}
.mc-sw img,.mc-sw .noimg{width:100%;height:100%;object-fit:contain}
.mc-slot.ok.swap{border-color:#F2C53D;background:rgba(242,197,61,.1)}
/* риск: полоса тем краснее, чем вероятнее попасться */
.mc-risk{position:relative;display:flex;align-items:flex-start;gap:10px;padding:10px 12px 14px;border-radius:14px;overflow:hidden;background:rgba(242,197,61,.08);border:1px solid rgba(242,197,61,.3);color:#F2C53D}
.mc-risk[hidden]{display:none}
.mc-risk>.ic{flex:none;width:18px;height:18px;margin-top:1px}
.mc-risk span{display:flex;flex-direction:column;gap:2px}.mc-risk b{font-size:13px}.mc-risk small{font-size:11.5px;color:#c9bfb7}
.mc-risk-bar{position:absolute;left:0;bottom:0;height:4px;width:var(--r);background:currentColor;transition:width .3s}
.mc-risk.warm{color:#ff9d4a;background:rgba(255,157,74,.08);border-color:rgba(255,157,74,.35)}
.mc-risk.hot{color:#ff6b5e;background:rgba(255,107,94,.1);border-color:rgba(255,107,94,.4)}
/* выбор своей детали */
.mc-pick{max-height:min(80vh,620px)}
.mc-pick small{text-align:center;color:var(--muted);font-size:12px}
.mc-pl{width:100%;display:flex;flex-direction:column;gap:6px;overflow:auto;max-height:52vh}
.mc-pi{display:flex;align-items:center;gap:10px;width:100%;padding:6px 10px 6px 6px;border-radius:12px;border:1px solid color-mix(in srgb,var(--rc) 45%,var(--line));background:var(--s1);color:#fff;text-align:left}
.mc-pi img,.mc-pi .noimg{flex:none;width:48px;height:36px;object-fit:contain}
.mc-pi span{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.mc-pi b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mc-pi small{text-align:left;font-size:11px}
.mc-pi em{flex:none;font:800 13px var(--mono);font-style:normal;color:#3fd486}
.mc-pi em.warm{color:#ff9d4a}.mc-pi em.hot{color:#ff6b5e}
/* итог: попался / прокатило */
.mc-caught{display:flex;align-items:center;gap:14px;padding:14px;border-radius:18px;background:radial-gradient(80% 120% at 0 0,rgba(52,120,247,.22),transparent),var(--s1)}
.mc-cop{flex:none;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#3478F7,#1d4fb8);color:#fff;box-shadow:0 0 0 4px rgba(52,120,247,.2),0 0 24px rgba(229,50,45,.5);animation:mcCop 1s steps(2) infinite}
.mc-cop .ic{width:26px;height:26px}
@keyframes mcCop{50%{box-shadow:0 0 0 4px rgba(229,50,45,.25),0 0 24px rgba(52,120,247,.6)}}
.mc-caught p{margin:0;font-size:13.5px;line-height:1.45}
.mc-fine{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.mc-fine span{display:flex;flex-direction:column;gap:2px;padding:12px;border-radius:14px;background:var(--s1)}
.mc-fine small{font-size:11.5px;color:var(--muted)}.mc-fine b{font:800 20px var(--mono);color:#ff6b5e}.mc-fine em{font-style:normal;font-size:11px;color:var(--muted)}
.jb-ban{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:16px;background:rgba(229,50,45,.1);border:1px solid rgba(229,50,45,.4);color:#ff8a7e}
.jb-ban>.ic{flex:none;width:20px;height:20px}
.jb-ban span{display:flex;flex-direction:column;gap:2px}.jb-ban b{color:#fff;font-size:13.5px}.jb-ban small{font-size:12px}
.mc-loot{display:flex;flex-direction:column;gap:6px;padding:12px;border-radius:16px;background:rgba(242,197,61,.08);border:1px solid rgba(242,197,61,.35)}
.mc-loot>b{display:flex;align-items:center;gap:6px;color:#F2C53D;font-size:13.5px}.mc-loot>b .ic{width:16px;height:16px}
.mc-loot>small{font-size:12px;color:#c9bfb7}
.mc-loot-l{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.mc-loot-l span{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px;border-radius:12px;border:1px solid color-mix(in srgb,var(--rc) 45%,var(--line));background:var(--s1);text-align:center}
.mc-loot-l img,.mc-loot-l .noimg{width:100%;height:40px;object-fit:contain}
.mc-loot-l b{font-size:10.5px;line-height:1.2}.mc-loot-l small{font:700 10.5px var(--mono);color:#F2C53D}
/* плашка «Халтурщик» в карточке игрока на сходке */
.mc-halt{display:inline-flex;align-items:center;gap:5px;padding:4px 10px 4px 8px;border-radius:999px;background:rgba(229,50,45,.14);box-shadow:inset 0 0 0 1px rgba(229,50,45,.5);color:#ff8a7e;font:700 11.5px var(--body)}
.mc-halt .ic{width:13px;height:13px}

/* ---------- общая сходка: два ряда по 25 мест (как раньше), место — новый вид, компактно сверху вниз (29.10) ----------
   номер и значки → машина → название → ник → клан → номерной знак и стрелка. Ряды разделяет проезд (.mt-lane). */
.mt-lot.two{column-gap:34px;padding:12px 8px;border-radius:26px}
.mt-lot.two .mt-lane{width:34px;margin-left:-17px}
.mt-lot.two .mt-bay.mw{height:auto;min-height:0;overflow:hidden}
.mt-lot.two .mt-bay.mw:not(.mt-vac){grid-template-columns:minmax(0,1fr) auto;grid-template-rows:none;grid-template-areas:none;gap:4px 6px;padding:12px 10px 10px;align-items:center}
.mt-lot.two .mt-bay.mw.l:not(.mt-vac){padding-left:8px}
.mt-lot.two .mt-bay.mw.r:not(.mt-vac){padding-right:8px}
.mt-lot.two .mt-bay.mw:not(.mt-vac)::before{inset:5px 5px 5px 0;border-radius:16px}
.mt-lot.two .mt-bay.mw.r:not(.mt-vac)::before{inset:5px 0 5px 5px}
.mt-lot.two .mt-bay.mw[class*=" fr-"]:not(.fr-none)::after{inset:5px 5px 5px 0;border-radius:16px}
.mt-lot.two .mt-bay.mw.r[class*=" fr-"]:not(.fr-none)::after{inset:5px 0 5px 5px}
.mt-lot.two .mt-bay.mw .mt-fx{inset:5px;border-radius:16px}
.mt-lot.two .mw-top{grid-row:1;grid-column:1/-1;height:22px;gap:4px}
.mt-lot.two .mw-num{font-size:9.5px;gap:3px}
.mt-lot.two .mw-emo{font-size:12px}
.mt-lot.two .mw-bdg{gap:3px}
.mt-lot.two .mt-bay.mw .mw-like{height:22px;padding:0 7px 0 5px;font-size:10.5px}
.mt-lot.two .mt-bay.mw .mw-like .ic{width:11px;height:11px}
.mt-lot.two .mt-bay.mw .mw-like b{font-size:10px}
.mt-lot.two .mt-bay.mw .mw-note{height:22px;padding:0 5px}
.mt-lot.two .mt-bay.mw .mw-note .mt-eq{display:none}
.mt-lot.two .mt-bay.mw .mt-champ{width:22px;height:22px}
.mt-lot.two .mt-bay.mw .mt-champ .ic{width:12px;height:12px}
.mt-lot.two .mt-bay.mw .mt-season{padding:1px 5px 1px 4px;font-size:9px}
.mt-lot.two .mt-bay.mw .mw-car{grid-row:2;grid-column:1/-1;max-height:none;align-self:center;margin:2px 0}
.mt-lot.two .mt-bay.mw .mt-glow{left:14%;right:14%;top:52px;bottom:auto;height:34px}
/* инфо — прямо в сетку места */
.mt-lot.two .mw-l{display:contents}
.mt-lot.two .mw-l>*{position:relative;z-index:3}
.mt-lot.two .mw-car-n{grid-row:3;grid-column:1/-1;font-size:12.5px;-webkit-line-clamp:1;overflow-wrap:normal;white-space:nowrap;text-overflow:ellipsis;display:block}
.mt-lot.two .mw-car-n .blogo{width:12px;height:12px;margin-right:3px}
.mt-lot.two .mw-who{grid-row:4;grid-column:1/-1;gap:4px}
.mt-lot.two .mw-who .mt-ava{width:18px;height:18px;font-size:9px}
.mt-lot.two .mw-who em{font-size:10.5px}
.mt-lot.two .mw-tg{width:14px;height:14px}.mt-lot.two .mw-tg .ic{width:9px;height:9px}
.mt-lot.two .mw-clan{grid-row:5;grid-column:1/-1;justify-self:start;font-size:9.5px;padding:2px 7px 2px 5px}
.mt-lot.two .mw-clan .ic{width:10px;height:10px}
.mt-lot.two .mw-plate{grid-row:6;grid-column:1;justify-self:start;align-self:center;zoom:.82;min-width:0}
.mt-lot.two .mt-bay.mw .mw-go{grid-row:6;grid-column:2;width:32px;height:32px;align-self:center}
.mt-lot.two .mt-bay.mw .mw-go .ic{width:15px;height:15px}
/* свободное место */
.mt-lot.two .mt-bay.mw.mt-vac{min-height:150px;flex-direction:column;gap:6px}
.mt-lot.two .mt-bay.mw.mt-vac .mw-num{left:8px;top:8px}
.mt-lot.two .mt-bay.mw.mt-vac.r .mw-num{left:auto;right:8px}
.mt-lot.two .mw-free{flex-direction:column;font-size:9.5px;text-align:center}
@media (max-width:360px){
  .mt-lot.two{column-gap:24px;padding:10px 4px}
  .mt-lot.two .mt-lane{width:24px;margin-left:-12px}
  .mt-lot.two .mw-plate{zoom:.72}
}
/* значки сезона и чемпиона в ряду тегов карточки игрока — в потоке (в старой карточке они висели поверх фото) */
.mcx-tags .mc-season,.mcx-tags .mc-champ{position:static;inset:auto}
/* магазин: товар, на который перешли из другого места (например, «Стилист» из оформления места) */
.sr.sr-hl{animation:srHl 1.3s ease-in-out 2}
@keyframes srHl{50%{box-shadow:0 0 0 2px #F2C53D,0 0 24px rgba(242,197,61,.55)}}

/* оформление документов (web/docs.js): бейдж «Без документов» в гараже и плашка в листе машины — здесь, а не в docs.css (он грузится только при оформлении) */
.tg.nodocs,.cs-tag.nodocs{background:rgba(229,50,45,.16);color:#ff8a7e;box-shadow:inset 0 0 0 1px rgba(229,50,45,.45)}
.cs-docs{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:16px;background:rgba(229,50,45,.1);box-shadow:inset 0 0 0 1px rgba(229,50,45,.45);color:#fff;text-align:left;border:0;width:100%}
.cs-docs>.ic{flex:none;width:22px;height:22px;color:#ff8a7e}.cs-docs span{flex:1;display:flex;flex-direction:column;gap:2px}.cs-docs b{font-size:14px}.cs-docs small{font-size:12px;color:#ffb3ad}

/* кнопка «Перейти на свалку» вверху Колхозвито (web/junk.js) — ржавый металл, отдельно от стиля Авито */
.kv-junk{display:flex;align-items:center;gap:12px;width:100%;margin:2px 0 4px;padding:12px 14px;border:0;border-radius:6px 16px 6px 16px;text-align:left;color:#fbe9d0;
  background:radial-gradient(60% 80% at 90% 20%,rgba(200,100,30,.45),transparent 70%),repeating-linear-gradient(-45deg,#3a2a1c 0 12px,#2e2116 12px 24px);box-shadow:inset 0 0 0 2px #7a5530,0 6px 16px -8px #000}
.kv-junk-i{flex:none;width:42px;height:42px;display:grid;place-items:center;border-radius:10px;background:#e9b97a;color:#2a1608;transform:rotate(-6deg)}
.kv-junk-i .ic{width:24px;height:24px}
.kv-junk>span:nth-child(2){flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.kv-junk b{font:900 16px var(--display);text-transform:uppercase;letter-spacing:.03em;color:#ffd08a}
.kv-junk small{font-size:11.5px;color:#c9a57c}
.kv-junk>.ic{color:#e9b97a}
/* обучение разделов (openGuide): кнопка «?» рядом с крестиком и лист с шагами */
.guide-b{margin-left:auto}.guide-b .ic{width:19px;height:19px}
.jk-head .guide-b{width:36px;height:36px;border-radius:12px;flex:none}
.gd{display:flex;flex-direction:column;gap:14px}
.gd-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.gd-list li{display:flex;gap:12px;padding:12px;border-radius:16px;background:var(--s1);border:1px solid var(--line);animation:gdIn .35s ease-out both;animation-delay:var(--d)}
.gd-n{flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--tang);color:#000;font:800 13px var(--mono)}
.gd-t{display:flex;flex-direction:column;gap:4px;min-width:0}
.gd-t b{display:flex;align-items:center;gap:6px;font-size:14px}.gd-t b .ic{width:16px;height:16px;color:var(--tang)}
.gd-t small{font-size:12.5px;line-height:1.45;color:var(--muted)}
@keyframes gdIn{from{opacity:0;transform:translateY(8px)}}
@media (prefers-reduced-motion: reduce){.gd-list li{animation:none}}

/* ---------- «Король.» (web/king.js): шрифты постера, переливающийся ник и тег — видны всем ---------- */
@font-face{font-family:"Petale";src:url(/assets/fonts/king/petale-thin.otf) format("opentype");font-weight:100 400;font-display:swap}
@font-face{font-family:"Great Vibes";src:url(/assets/fonts/king/greatvibes.ttf) format("truetype");font-display:swap}
@font-face{font-family:"Bebas Cyr";src:url(/assets/fonts/king/bebas-cyr.ttf) format("truetype");font-display:swap}
.kname{background:linear-gradient(100deg,#fff6d8 0%,#F2C53D 18%,#ff4a3d 36%,#ffe7a3 52%,#c9162b 70%,#F2C53D 86%,#fff6d8 100%);background-size:300% 100%;
  -webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;font-weight:900;animation:knFlow 4s linear infinite;filter:drop-shadow(0 0 6px rgba(242,120,61,.35))}
@keyframes knFlow{to{background-position:300% 0}}
.king-tag{position:relative;display:inline-flex;align-items:center;gap:3px;margin-left:5px;padding:2px 8px 2px 6px;border-radius:7px;vertical-align:middle;overflow:hidden;isolation:isolate;
  background:linear-gradient(135deg,#1a0303,#5c0b0b 55%,#1a0303);box-shadow:0 0 0 1px rgba(242,197,61,.75),0 0 12px rgba(229,50,45,.55);animation:ktPulse 2.4s ease-in-out infinite}
.king-tag b{font:400 11px/1 "Bebas Cyr","Unbounded",sans-serif;letter-spacing:.14em;background:linear-gradient(180deg,#fff3c4,#F2C53D 55%,#c98a12);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.king-tag .kt-crown{display:inline-grid;color:#F2C53D;animation:ktCrown 2.4s ease-in-out infinite}.king-tag .kt-crown .ic{width:11px;height:11px}
.king-tag::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(105deg,transparent 30%,rgba(255,240,190,.55) 48%,transparent 64%);transform:translateX(-120%);animation:ktShine 2.4s ease-in-out infinite}
.king-tag .kt-spark{position:absolute;right:3px;top:2px;width:3px;height:3px;border-radius:50%;background:#fff;box-shadow:0 0 6px 2px #ffd37a;animation:ktSpark 1.6s ease-in-out infinite}
.king-tag.big{padding:4px 12px 4px 9px;border-radius:10px;margin:0}.king-tag.big b{font-size:15px}.king-tag.big .kt-crown .ic{width:15px;height:15px}
@keyframes ktPulse{50%{box-shadow:0 0 0 1px rgba(255,220,120,1),0 0 20px rgba(229,50,45,.85)}}
@keyframes ktShine{0%,35%{transform:translateX(-120%)}75%,100%{transform:translateX(120%)}}
@keyframes ktCrown{0%,100%{transform:rotate(-8deg) translateY(0)}50%{transform:rotate(8deg) translateY(-1px)}}
@keyframes ktSpark{0%,100%{opacity:0;transform:scale(.4)}50%{opacity:1;transform:scale(1.2)}}
.mt-who .king-tag,.ms-who .king-tag{padding:0 4px;margin-left:3px}.mt-who .king-tag b,.ms-who .king-tag b{font-size:8.5px}
.mw-tg.king{color:#F2C53D;filter:drop-shadow(0 0 4px rgba(229,50,45,.9))}
.kg-entry{position:relative;display:flex;align-items:center;gap:12px;width:100%;padding:14px 16px;border:0;border-radius:18px;overflow:hidden;isolation:isolate;text-align:left;color:#f3ead8;
  background:radial-gradient(120% 140% at 85% 0%,rgba(201,22,43,.55),transparent 60%),linear-gradient(135deg,#0d0b0a,#1c1312);box-shadow:inset 0 0 0 1px rgba(242,197,61,.45),0 10px 26px -10px rgba(201,22,43,.7)}
.kg-e-glow{position:absolute;inset:-2px;z-index:-1;background:linear-gradient(100deg,transparent 35%,rgba(255,230,170,.22) 50%,transparent 65%);transform:translateX(-100%);animation:ktShine 3.2s ease-in-out infinite}
.kg-e-t{flex:1;display:flex;flex-direction:column;gap:0}.kg-e-t small{font:400 13px "Bebas Cyr",sans-serif;letter-spacing:.2em;color:#e14b3c}
.kg-e-t b{font:300 38px/0.95 "Petale",Georgia,serif;letter-spacing:.02em;color:#f3ead8}
.kg-e-p{display:flex;flex-direction:column;align-items:flex-end}.kg-e-p s{font:600 12px var(--mono);color:#8a7a70}.kg-e-p b{font:400 24px "Bebas Cyr",sans-serif;letter-spacing:.04em;color:#F2C53D}
@media (prefers-reduced-motion: reduce){.kname,.king-tag,.king-tag::before,.king-tag .kt-crown,.king-tag .kt-spark,.kg-e-glow{animation:none}}
.cs-tag.escort{color:#fff;background:linear-gradient(90deg,#1c57d6,#c8102e);animation:escBlink 1.2s steps(1,end) infinite} /* Aurus: кортеж с мигалками */
@keyframes escBlink{50%{background:linear-gradient(90deg,#c8102e,#1c57d6)}}
@media (prefers-reduced-motion: reduce){.cs-tag.escort{animation:none}}

/* событийная редкость (Хэллоуин): ночь, паутина, тыквы — карточки машин, остаются и после праздника. Картинки — web/assets/hw */
.hwf{position:absolute;pointer-events:none;background:center/contain no-repeat;z-index:1}
.hwf.web{left:0;top:0;width:118px;height:118px;background-image:url(/assets/hw/web.svg);opacity:.62}
.hwf.web.r{left:auto;right:0;background-image:url(/assets/hw/web-tr.svg)}
.hwf.bat{left:16%;top:15%;width:34px;height:18px;background-image:url(/assets/hw/bat.svg)}
.hwf.bat.b2{left:auto;right:20%;top:8%;width:24px;height:13px}
.hwf.pk{left:6px;bottom:6px;width:52px;height:52px;filter:drop-shadow(0 0 12px rgba(255,122,26,.65))}
.hwf.pk.r{left:auto;right:6px;width:42px;height:42px}
.hwf.candle{right:50px;bottom:6px;width:16px;height:40px;background-image:url(/assets/hw/candle.svg)}
.poster.legend.hwl{background:#0b0708;color:#f5e6da;box-shadow:0 0 0 1.5px var(--acc),0 20px 50px rgba(0,0,0,.6),0 0 54px -6px var(--acc)}
.hwl .lg-cover{background:url(/assets/hw/night.svg) center top/auto 62% no-repeat,linear-gradient(180deg,#120a0c,#0a0608)}
.hwl .lg-corner{color:#f0d3bd}
.hwl .lg-badge{background:linear-gradient(180deg,#FFB65A,#F2791C);box-shadow:0 0 18px -2px var(--acc)}
.hwl .lg-brand{color:#fff;text-shadow:0 0 22px var(--acc),0 2px 0 rgba(0,0,0,.5)}
.hwl .lg-model{background:var(--acc);color:#120a08;text-shadow:none}
.hwl .lg-slogan{margin-top:14px;color:#ffe2c6;letter-spacing:.14em;text-shadow:0 1px 8px #000}
.hwl .lg-car{height:196px;margin:8px -6% -8px}
.hwl .lg-car img{filter:drop-shadow(0 0 22px color-mix(in srgb,var(--acc) 60%,transparent)) drop-shadow(0 16px 12px rgba(0,0,0,.6))}
.hwl .hwf.pk{bottom:auto;top:calc(62% - 46px);width:58px;height:58px;z-index:4}
.hwl .hwf.pk.r{width:48px;height:48px;top:calc(62% - 36px)}
.hwl .hwf.candle{bottom:auto;top:calc(62% - 40px);right:56px;z-index:4}
.hwl .lg-floor{background:linear-gradient(180deg,color-mix(in srgb,var(--acc) 42%,#0b0708) 0%,#0c0709 100%);box-shadow:inset 0 1px 0 var(--acc)}
.hwl .lg-flag{background:linear-gradient(90deg,#F2791C 33%,#8A4BF0 33% 66%,#F2791C 66%)}
.hwl .lg-info{background:#100a0a;color:#f0e4da}
.poster.legend.hwl .fields dt{color:#a78d7c}
.poster.legend.hwl .fields dd,.poster.legend.hwl .prices .pr b{color:#f5e6da}
.poster.legend.hwl .prices .pr span,.poster.legend.hwl .seller{color:#a78d7c}
.carcard.gcar.ev{overflow:hidden;background:linear-gradient(160deg,color-mix(in srgb,var(--acc) 20%,#120b0b),#0e090c 72%);border-color:var(--acc);box-shadow:0 0 26px -10px var(--acc)}
.carcard.gcar.ev>:not(.hwf){position:relative;z-index:2}
.carcard.gcar.ev .gc-ph{background:url(/assets/hw/night.svg) center/cover,#0a0608}
.carcard.gcar.ev .hwf.web{width:78px;height:78px}
.carcard.gcar.ev .hwf.web:not(.r){left:auto;right:70px;display:none}
.carcard.gcar.ev .hwf.pk{left:auto;right:6px;top:auto;bottom:62px;width:34px;height:34px;z-index:3}
.carcard.gcar.ev .hwf.pk.r,.carcard.gcar.ev .hwf.candle,.carcard.gcar.ev .hwf.bat{display:none}
.cs-hero.ev{background:url(/assets/hw/night.svg) center/cover,#0a0608}
.cs-hero.ev .cs-lamp,.cs-hero.ev .cs-wall{display:none}
.cs-hero.ev .cs-floor{background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--acc) 22%,transparent));opacity:.9}
.cs-hero.ev .cs-car img{filter:drop-shadow(0 0 18px color-mix(in srgb,var(--acc) 55%,transparent))}
.alcard.ev{background:linear-gradient(160deg,color-mix(in srgb,var(--acc) 18%,#120b0b),#0e090c 70%);border-color:var(--acc)}
.alcard.ev .alph{background:url(/assets/hw/night.svg) center/cover,#0a0608}
.lgr.event .lgr-bg{background:url(/assets/hw/night.svg) center/cover,#080507;opacity:.9}
.lgr.event .lgr-card{position:relative;overflow:hidden;background:linear-gradient(170deg,#1a100d,#0c0709);box-shadow:0 0 0 1.5px var(--acc),0 0 60px -8px var(--acc)}
.lgr.event .lgr-card>:not(.hwf){position:relative;z-index:2}
.lgr.event .hwf.pk{top:auto;bottom:66px}
.lgr.event .hwf.candle{display:none}
.hwl .lg-badge.img{background:none;box-shadow:none;clip-path:none;filter:drop-shadow(0 0 8px var(--acc))}
.lgr.event .lgr-tag{background:var(--acc);color:#120a08;box-shadow:0 0 22px -4px var(--acc)}
.fr-hw::after{background:linear-gradient(120deg,#F2791C,#1c0d08 34%,#8A4BF0 62%,#F2791C);background-size:220% 220%;animation:frFlow 4s linear infinite}
.mj-fr.fr-hw{box-shadow:inset 0 0 0 2px #F2791C}
.tg.clean,.cs-tag.clean{background:rgba(47,191,113,.16);color:#7be3a8;box-shadow:inset 0 0 0 1px rgba(47,191,113,.45)}
.kv-clean{display:flex;align-items:center;gap:6px;margin:0;font-size:12.5px;color:#2fbf71}
.kv-clean .ic{width:16px;height:16px}
