/* Magic Rust Mini App v0.5. Стиль сайта magicrust.gg: мобильные скриншоты Вадима 29.10 (главная, сервера) + style.css 2.318. Google Sans, фиолетовый #6542FF. */
@font-face{font-family:"Google Sans";src:url(fonts/GoogleSans-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Google Sans";src:url(fonts/GoogleSans-Medium.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Google Sans";src:url(fonts/GoogleSans-Bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}

:root{
  --bg-deep:#0d0e17;
  --bg:#10121c;
  --bg-footer:#121421;
  --s1:#161827;
  --s2:#191c2d;
  --s3:#262b44;
  --s4:#33395c;
  --s5:#4c568a;
  --line:rgba(51,57,92,.5);
  --line-strong:#33395c;

  --t1:#ffffff;
  --t-bright:#e8eaf2;
  --t2:#d1d4e6;
  --t3:#8990be;
  --t4:#7e83a2;

  --violet:#6542ff;
  --violet-press:#402aa5;
  --violet-soft:rgba(101,66,255,.13);
  --violet-text:#9077ff;
  --green:#6ea844;
  --green-press:#5b8d37;
  --green-live:#57c878;
  --green-live-ring:rgba(87,200,120,.35);
  --orange:#ffac4d;
  --orange-btn:#c8661c;
  --orange-btn-press:#a85412;
  --orange-btn-ink:#ffe0bd;
  --orange-soft:rgba(255,172,77,.08);
  --orange-ink:#522c00;
  --red:#f74646;

  --grad-online:linear-gradient(90deg,#6542FF 0%,#08C0FF 50%,#61F063 100%);
  --grad-join:linear-gradient(90deg,#FFAC4D 0%,#FFC17A 100%);
  --grad-queue:linear-gradient(90deg,#D80027 0%,#F74646 100%);
  --skeleton:linear-gradient(90deg,#191c2d 25%,#262b44 50%,#191c2d 75%);
  --hero-bg:radial-gradient(106.1% 62.12% at 13.15% 49.99%,#1e233f 0,#10111e 100%);

  --font:"Google Sans",-apple-system,"Segoe UI",Roboto,sans-serif;
  --mono:ui-monospace,"SF Mono","Roboto Mono",Menlo,Consolas,monospace;
  --fs-12:12px;--fs-13:13px;--fs-14:14px;--fs-16:16px;--fs-20:20px;--fs-24:24px;--fs-28:28px;--fs-32:32px;
  --lh-tight:1.2;--lh:1.45;

  --r-4:4px;--r-6:6px;--r-8:8px;--r-12:12px;--r-16:16px;--r-pill:9999px;
  --gutter:16px;
  --shadow-float:0 8px 24px rgba(0,0,0,.35);

  --safe-top:max(env(safe-area-inset-top,0px),var(--tg-safe-area-inset-top,0px));
  --safe-bottom:max(env(safe-area-inset-bottom,0px),var(--tg-safe-area-inset-bottom,0px));
  --tabbar-h:60px;
  --ease:.2s ease;
}

*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;background:var(--bg);color:var(--t2);font:400 var(--fs-14)/var(--lh) var(--font);-webkit-font-smoothing:antialiased}
body{overflow-x:hidden}
body.locked{overflow:hidden}
#view{padding:calc(var(--safe-top) + 16px) var(--gutter) calc(var(--tabbar-h) + var(--safe-bottom) + 24px);max-width:520px;margin:0 auto}
body.bare #view{padding-bottom:calc(var(--safe-bottom) + 16px)}
a{color:var(--t1);text-decoration:none}
b,strong{font-weight:700;color:var(--t1)}
code{font:700 .95em var(--mono);color:var(--t1);background:var(--s3);padding:1px 6px;border-radius:var(--r-4)}
button{font-family:var(--font);cursor:pointer}
svg{width:20px;height:20px;fill:currentColor;flex:none}
img.silver{width:22px;height:22px;object-fit:contain;flex:none;display:inline-block;vertical-align:middle;filter:drop-shadow(0 1px 2px rgba(0,0,0,.35))}
.balbtn img.silver{width:26px;height:26px}
.reward .bal img.silver{width:36px;height:36px}
.btn img.silver{width:22px;height:22px}
.stat .ico img.silver{width:28px;height:28px}
.onb li img.silver,.onb-list img.silver{width:24px;height:24px}
.grow{flex:1;min-width:0}

/* Заголовки */
.h1{font:700 var(--fs-28)/var(--lh-tight) var(--font);color:var(--t1);letter-spacing:-.56px;margin:8px 0 4px}
.h1.big{font-size:30px;letter-spacing:-.6px;margin:20px 0 10px}
.sub{font:400 var(--fs-14)/var(--lh) var(--font);color:var(--t3);margin:0 0 20px}
.h2{display:flex;align-items:center;gap:8px;font:700 var(--fs-20)/var(--lh-tight) var(--font);color:var(--t1);letter-spacing:-.2px;margin:32px 0 14px}
.h2 .more{margin-left:auto;background:none;border:0;padding:4px 0;font:500 var(--fs-14) var(--font);color:var(--t3);display:flex;align-items:center;gap:4px}
.h2 .more:active{color:var(--t2)}

/* Карточка, ряд списка */
.card{background:var(--s2);border-radius:var(--r-16);padding:16px}
.card+.card{margin-top:12px}
.list{background:var(--s2);border-radius:var(--r-16);padding:4px 16px}
.li{display:flex;align-items:center;gap:12px;min-height:52px;padding:12px 0;color:var(--t2);font:500 var(--fs-14) var(--font)}
.li+.li{border-top:1px solid var(--line)}
.li>svg{color:var(--t3)}
.note{font:400 var(--fs-13)/1.4 var(--font);color:var(--t3);margin:8px 2px 0}
.note.warn{color:var(--orange)}
.note.center{text-align:center}
.note.foot{text-align:center;margin-top:28px}
.mt16{margin-top:16px}.mt12{margin-top:12px}.mt28{margin-top:28px}

/* Кнопки */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 20px;border:2px solid transparent;border-radius:var(--r-12);font:500 var(--fs-16)/1.15 var(--font);color:var(--t1);background:var(--s3);cursor:pointer;transition:background var(--ease),border-color var(--ease),transform .1s;text-align:center}
.btn:active{transform:scale(.98)}
.btn.block{display:flex;width:100%}
.btn.sm{min-height:40px;padding:8px 14px;font-size:var(--fs-14);border-radius:var(--r-8)}
.btn.primary{background:var(--violet);border-color:var(--violet)}
.btn.primary:active{background:var(--violet-press);border-color:var(--violet-press)}
.btn.play{background:var(--green);border-color:var(--green)}
.btn.play:active{background:var(--green-press);border-color:var(--green-press)}
.btn.orange{background:var(--orange-btn);border-color:var(--orange-btn);color:var(--orange-btn-ink);font-weight:700;font-size:18px;min-height:52px;padding:12px 20px 12px 14px;border-radius:var(--r-8)}
.btn.orange svg{width:24px;height:24px;color:var(--orange)}
.btn.orange:active{background:var(--orange-btn-press);border-color:var(--orange-btn-press)}
.btn.secondary{background:transparent;border-width:1px;border-color:var(--line-strong);border-radius:var(--r-12);min-height:48px;font-size:var(--fs-14);color:var(--t1)}
.btn.secondary:active{background:var(--line)}
.btn.secondary.danger{color:#ff8a8a;border-color:rgba(247,70,70,.4)}
.btn:disabled{background:var(--s2);border-color:var(--s2);color:var(--t3);transform:none;cursor:default}
.btn.secondary:disabled{background:transparent;border-color:var(--line)}
.btn:disabled svg{color:var(--t3)}
.reward .btn:disabled{background:transparent;border:1px solid var(--line-strong);color:var(--t2)}
.reward .btn:disabled svg{color:var(--green-live)}

/* Квадратные кнопки как на сайте (копировать, шаг дня, меню) */
.cbtn,.sq,.menubtn{position:relative;width:40px;height:40px;flex:none;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:var(--r-8);background:var(--s3);color:var(--t2);transition:background var(--ease),color var(--ease)}
.cbtn::after,.sq::after{content:"";position:absolute;inset:-4px}
.cbtn:active,.sq:active,.menubtn:active{background:var(--s4)}
.cbtn.done{color:var(--green-live)}

/* Сегмент-контрол как на сайте: темный контейнер, активная фиолетовая пилюля */
.seg{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:6px;background:var(--s3);border-radius:var(--r-16)}
.seg.g2{grid-template-columns:1fr 1fr}
.seg.first-wide button:first-child{grid-column:1/-1}
.seg button{min-width:0;min-height:48px;padding:0 8px;border:0;border-radius:var(--r-12);background:transparent;color:var(--t2);font:400 var(--fs-16)/1 var(--font);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background var(--ease),color var(--ease)}
.seg button:active{background:var(--s4)}
.seg button.on{background:var(--violet);color:#fff}

/* Пилюли, бейджи */
.pill{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:var(--r-8);font:700 var(--fs-12)/1.2 var(--font);background:var(--violet-soft);color:var(--violet-text);white-space:nowrap}
.pill.ok{background:rgba(87,200,120,.14);color:var(--green-live)}
.pill.bad{background:rgba(247,70,70,.14);color:var(--red)}
.pill.soon{background:var(--orange);color:var(--orange-ink);font-weight:500}
.num{min-width:28px;height:28px;padding:0 4px;flex:none;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--r-8);background:var(--violet);color:#fff;font:700 var(--fs-14)/1 var(--font)}
.num.sm{min-width:22px;height:22px;border-radius:var(--r-6);font-size:var(--fs-12)}
.num.lg{min-width:38px;height:36px;font-size:var(--fs-16)}

/* Тумблер */
.sw{position:relative;margin-left:auto;width:44px;height:26px;flex:none}
.sw input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer;z-index:1}
.sw i{position:absolute;inset:0;border-radius:var(--r-pill);background:var(--s5);transition:background var(--ease)}
.sw i::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#d1d4e6;transition:transform var(--ease),background var(--ease)}
.sw input:checked+i{background:var(--violet)}
.sw input:checked+i::after{transform:translateX(18px);background:#fff}
.sw input:disabled+i{opacity:.5}

/* Таб-бар */
#tabs{position:fixed;left:0;right:0;bottom:0;z-index:20;display:grid;grid-template-columns:repeat(5,1fr);height:calc(var(--tabbar-h) + var(--safe-bottom));padding:6px 4px var(--safe-bottom);background:rgba(16,18,28,.92);-webkit-backdrop-filter:blur(50px);backdrop-filter:blur(50px);border-top:1px solid var(--line)}
#tabs button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:0;background:none;color:var(--t3);font:500 10.5px/1 var(--font);letter-spacing:-.1px;transition:color var(--ease);min-width:0;padding:0}
#tabs button svg{width:24px;height:24px}
#tabs button span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
#tabs button.on{color:var(--t1);font-weight:700}
#tabs button.on svg{color:var(--violet)}
#tabs button.on::before{content:"";position:absolute;top:-7px;left:32%;right:32%;height:3px;border-radius:0 0 3px 3px;background:var(--violet)}
body.bare #tabs{display:none}

/* Тост */
#toast{position:fixed;left:16px;right:16px;bottom:calc(var(--tabbar-h) + var(--safe-bottom) + 12px);z-index:40;max-width:488px;margin:0 auto;padding:12px 16px;border-radius:var(--r-12);background:var(--s3);border:1px solid var(--line-strong);color:var(--t1);font:500 var(--fs-14)/1.35 var(--font);box-shadow:var(--shadow-float);opacity:0;transform:translateY(8px);pointer-events:none;transition:opacity var(--ease),transform var(--ease)}
#toast.show{opacity:1;transform:none}
body.bare #toast{bottom:calc(var(--safe-bottom) + 16px)}

/* Скелетон */
.sk{height:190px;border-radius:var(--r-12);background:var(--skeleton);background-size:200% 100%;animation:sk 1.2s linear infinite}
.sk+.sk{margin-top:12px}
.sk.h220{height:220px}.sk.h110{height:110px}.sk.h80{height:80px}
@keyframes sk{to{background-position:-200% 0}}
@media (prefers-reduced-motion:reduce){.sk{animation:none}}

/* Шапка как на сайте: звезда, справа баланс и квадратная кнопка меню, линия снизу */
.top{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;margin:-8px calc(-1*var(--gutter)) 4px;padding:0 var(--gutter) 12px;border-bottom:1px solid var(--line)}
.top .logo{height:34px;width:auto;display:block}
.top .logo-btn{display:flex;align-items:center;min-height:44px;padding:0;border:0;background:none}
.top-r{display:flex;align-items:center;gap:10px}
.balbtn{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 16px 0 12px;border:0;border-radius:var(--r-12);background:var(--s3);color:var(--t1);font:700 var(--fs-16)/1 var(--font);font-variant-numeric:tabular-nums}
.balbtn svg{width:22px;height:22px;color:var(--orange)}
.balbtn:active{background:var(--s4)}
.menubtn{width:44px;height:44px;border-radius:var(--r-12);color:var(--t2)}
.menubtn svg{width:24px;height:24px}

/* Главная: компактный баннер с сайта (GET /api/banner), около 160px */
.promo{position:relative;display:flex;flex-direction:column;border-radius:var(--r-16);overflow:hidden;min-height:156px;padding:14px 16px 14px;margin:16px 0 12px;background:var(--hero-bg);background-size:cover;background-position:72% center}
.promo .pd{font:700 var(--fs-13) var(--font);color:var(--t3)}
.promo .pt{font:700 22px/1.12 var(--font);color:#fff;margin:4px 0 6px;letter-spacing:-.4px}
.promo .px{font:500 var(--fs-13)/1.4 var(--font);color:var(--t-bright);max-width:270px;margin-bottom:12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.promo .btn{margin-top:auto;align-self:flex-start}
.btn.orange.sm{min-height:40px;padding:8px 14px 8px 10px;font-size:15px;border-radius:var(--r-8)}
.btn.orange.sm svg{width:20px;height:20px}
.sk.h150{height:150px}

.giftrow{display:flex;align-items:center;gap:12px;width:100%;padding:14px 16px;border:0;border-radius:var(--r-16);background:var(--s2);text-align:left;color:inherit}
.giftrow:active{background:var(--s3)}
.giftrow .gi{width:44px;height:44px;flex:none;border-radius:var(--r-12);background:rgba(255,172,77,.12);color:var(--orange);display:flex;align-items:center;justify-content:center}
.giftrow .gi svg{width:24px;height:24px}
.giftrow .gt{display:block;font:700 var(--fs-16)/1.25 var(--font);color:var(--t1)}
.giftrow .gs{display:block;font:400 var(--fs-13)/1.35 var(--font);color:var(--t3);margin-top:2px}
.giftrow .chev{color:var(--t3);margin-right:4px}

.giftrow+.giftrow{margin-top:8px}
.giftrow .gi.v{background:var(--violet-soft);color:var(--violet-text)}

/* Сервера как на сайте: ряды без карточек на фоне страницы */
.onl{display:flex;align-items:center;gap:10px;font:400 17px/1.2 var(--font);color:var(--t3);margin-bottom:22px}
.onl b{font-weight:400;color:var(--t1)}
.ring{width:16px;height:16px;flex:none;border-radius:50%;background:radial-gradient(circle,var(--green-live) 0 4px,transparent 4.5px);box-shadow:inset 0 0 0 2px rgba(87,200,120,.45)}
.dayrow{display:flex;align-items:center;gap:16px;margin-bottom:12px}
.dayrow .l{font:700 var(--fs-16) var(--font);color:var(--t3);white-space:nowrap}
.dayrow .sq{width:34px;height:34px;flex:none;border-radius:8px;background:var(--s3);color:var(--t3)}
.dayrow .dv{flex:0 1 auto;min-width:112px;padding:0 4px;text-align:center;font:700 var(--fs-16) var(--font);color:var(--t3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dayrow .dv.on{color:var(--t1)}
.fpill{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:48px;margin-bottom:4px;border:0;border-radius:var(--r-pill);background:var(--s3);color:var(--t1);font:700 var(--fs-16) var(--font)}
.fpill svg{width:20px;height:20px;color:#fff}
.fpill:active{background:var(--s4)}
.fpill .cnt{min-width:22px;height:22px;padding:0 6px;border-radius:var(--r-pill);background:var(--violet);color:#fff;font:700 var(--fs-12)/22px var(--font)}
.found{display:flex;justify-content:space-between;gap:12px;margin:14px 2px 6px;font:500 var(--fs-13) var(--font);color:var(--t4)}
.found .upd{font-variant-numeric:tabular-nums}

.srv{padding:14px 0 20px;border-radius:var(--r-12);transition:box-shadow .4s,background .4s}
.srv+.srv{margin-top:4px}
.srv.hl{background:var(--violet-soft);box-shadow:0 0 0 8px var(--violet-soft)}
.srow{display:flex;align-items:center;gap:12px;min-width:0}
.srv .title{font:400 18px/1.25 var(--font);color:var(--t1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.srv .wl{font:400 var(--fs-13)/1.3 var(--font);color:var(--t3);margin-top:3px;white-space:normal;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.srv .wl.today{color:var(--green-live)}
.srv .wl.soon{color:var(--orange)}
.favbtn{position:relative;width:28px;height:40px;flex:none;display:inline-flex;align-items:center;justify-content:center;border:0;background:none;color:var(--s5);padding:0}
.favbtn svg{width:20px;height:20px}
.favbtn.on{color:var(--violet-text)}
.favbtn:active{color:var(--t2)}
.orow{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:18px 0 22px;font:600 18px var(--font);color:var(--t3)}
.orow .val{color:var(--t3);font-weight:700}
.orow .val b{color:var(--t1)}
.pbar{position:relative;height:10px}
.pbar .pw{position:relative;z-index:2;display:flex;height:10px;border-radius:6px;background:var(--bg-footer);overflow:hidden}
.pbar .pw i{height:100%;flex:none}
.pbar .pw .o{background:var(--grad-online);border-radius:6px 0 0 6px}
.pbar .pw .j{width:10px;background:var(--grad-join)}
.pbar .pw .q{width:10px;background:var(--grad-queue)}
.pbar .pg{position:absolute;z-index:1;left:0;top:0;height:10px;background:var(--grad-online);filter:blur(4px);opacity:.5;border-radius:6px}
.srv .cfail{margin-top:12px}
.srv .cfail .note{margin:0 0 8px}
.srv .cfail input{width:100%;min-height:44px;padding:0 12px;border:1px solid var(--line-strong);border-radius:var(--r-8);background:var(--bg);color:var(--t1);font:500 var(--fs-14) var(--font)}

/* Шторка снизу */
#sheet{position:fixed;inset:0;z-index:30}
#sheet .sh-bg{position:absolute;inset:0;background:rgba(5,6,12,.6);opacity:0;transition:opacity .2s ease}
#sheet .sh{position:absolute;left:0;right:0;bottom:0;max-width:520px;max-height:88vh;margin:0 auto;overflow-y:auto;padding:8px var(--gutter) calc(var(--safe-bottom) + 16px);background:var(--s2);border-radius:20px 20px 0 0;transform:translateY(100%);transition:transform .22s ease}
#sheet.open .sh-bg{opacity:1}
#sheet.open .sh{transform:none}
.sh-handle{display:block;width:44px;height:20px;margin:0 auto 4px;border:0;background:none;position:relative}
.sh-handle::after{content:"";position:absolute;left:4px;right:4px;top:8px;height:4px;border-radius:2px;background:var(--s4)}
.sh-title{font:700 var(--fs-20)/1.2 var(--font);color:var(--t1);margin:4px 0 16px}
#sheet .flabel{margin:20px 0 10px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{min-height:40px;padding:0 14px;border:1px solid var(--line-strong);border-radius:var(--r-pill);background:transparent;color:var(--t2);font:500 var(--fs-14) var(--font)}
.chip.on{background:var(--violet);border-color:var(--violet);color:#fff}
.favrow{display:flex;align-items:center;gap:12px;min-height:52px;margin-top:16px;padding-top:8px;border-top:1px solid var(--line);cursor:pointer;color:var(--t2);font:500 var(--fs-16) var(--font)}
.favrow>span:first-child{display:flex;align-items:center;gap:10px}
.favrow svg{color:var(--violet-text)}
.sh-foot{display:grid;grid-template-columns:1fr 1.6fr;gap:8px;margin-top:16px}
.sh-foot .btn{font-size:15px}
#sheet .btn.primary:disabled{background:var(--s3);border-color:var(--s3)}
#sheet .steps{margin-bottom:20px}

/* Экран привязки Steam */
.gate{display:flex;flex-direction:column;min-height:calc(var(--tg-viewport-stable-height,100vh) - var(--safe-top) - 40px)}
.gate-top{display:flex;align-items:center;min-height:44px;margin-bottom:auto}
.gate-body{padding:24px 0 20px}
.gate-top .logo{height:34px;width:auto}
.gate-ico{width:64px;height:64px;border-radius:var(--r-16);background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;margin-bottom:20px}
.gate-ico svg{width:36px;height:36px}
.gate h1{font:700 30px/1.15 var(--font);color:var(--t1);letter-spacing:-.6px;margin:0 0 8px}
.gate .sub{margin-bottom:24px}
.steps{list-style:none;margin:0 0 28px;padding:0;display:flex;flex-direction:column;gap:14px}
.steps li{display:flex;align-items:center;gap:14px;font:400 var(--fs-16)/1.35 var(--font);color:var(--t1)}
.steps .num{min-width:36px;height:36px;font-size:var(--fs-16)}
.flabel{display:block;font:700 var(--fs-14)/1.4 var(--font);color:var(--t3);margin-bottom:8px}
.code{width:100%;height:60px;padding:0 16px;border:2px solid var(--s4);border-radius:var(--r-12);background:var(--s2);color:var(--t1);font:700 26px/1 var(--mono);letter-spacing:.32em;text-align:center;text-transform:uppercase;outline:none;transition:border-color var(--ease)}
.code::placeholder{color:var(--s4);letter-spacing:.32em}
.code:focus{border-color:var(--violet)}
.code.bad{border-color:var(--red);animation:shake .3s}
@keyframes shake{25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
.ferr{display:flex;align-items:flex-start;gap:8px;margin-top:10px;font:500 var(--fs-14)/1.4 var(--font);color:#ff8a8a}
.ferr svg{width:18px;height:18px;margin-top:1px}
.ferr[hidden]{display:none}
.subbox{margin-top:16px;padding:16px;border-radius:var(--r-16);background:var(--orange-soft);border:1px solid rgba(255,172,77,.3);display:flex;flex-direction:column;gap:10px}
.subt{display:flex;gap:10px;align-items:flex-start;font:500 var(--fs-14)/1.4 var(--font);color:var(--orange);margin-bottom:2px}
.gate #link{margin-top:auto;position:sticky;bottom:calc(var(--safe-bottom) + 16px);background:var(--green);border-color:var(--green);color:#fff}
.gate #link:disabled{background:var(--green);border-color:var(--green);color:#fff;opacity:.4}
.gate #link svg{color:#fff}
.gate .mock{margin-top:14px;padding:10px;border-radius:var(--r-8);border:1px dashed var(--line-strong)}
.empty.gate-msg{padding-top:30vh}

/* Награда */
.reward{background:var(--s2);border-radius:var(--r-16);padding:20px 16px 16px}
.reward .lbl{font:500 var(--fs-14) var(--font);color:var(--t3)}
.reward .bal{display:flex;align-items:center;gap:8px;font:700 var(--fs-32)/1.1 var(--font);color:var(--t1);margin:4px 0 20px;font-variant-numeric:tabular-nums}
.reward .bal svg{width:28px;height:28px;color:var(--orange)}
.reward .bal small{font:500 var(--fs-16) var(--font);color:var(--t3);align-self:flex-end;padding-bottom:3px}
.streak{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin-bottom:8px}
.streak i{height:50px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border-radius:var(--r-8);background:var(--s3);color:var(--t3);font-style:normal;min-width:0}
.streak i .dn{display:flex;align-items:center;justify-content:center;height:16px;font:700 var(--fs-12)/1 var(--font);color:var(--t3)}
.streak i .dv{font:700 var(--fs-13)/1 var(--font);color:var(--t1);font-variant-numeric:tabular-nums;white-space:nowrap}
.streak i.on{background:var(--violet)}
.streak i.on .dn,.streak i.on .dv{color:#fff}
.streak i.today{background:var(--violet-soft);box-shadow:inset 0 0 0 2px var(--violet)}
.streak i.today .dn{color:var(--violet-text)}
.streak i.next{box-shadow:inset 0 0 0 1px var(--s5)}
.streak i.gift{background:rgba(255,172,77,.12);box-shadow:inset 0 0 0 1px rgba(255,172,77,.6)}
.streak i.gift .dn,.streak i.gift .dv{color:var(--orange)}
.streak i.gift.today{box-shadow:inset 0 0 0 2px var(--orange)}
.streak i.gift.on{background:var(--orange);box-shadow:none}
.streak i.gift.on .dn,.streak i.gift.on .dv{color:var(--orange-ink)}
.streak i svg{width:16px;height:16px}
.streak i{height:76px;gap:2px;padding:4px 0}
.mt8{margin-top:8px}
.li.wsrv{width:100%;text-align:left;font:inherit;color:inherit;background:none;border:0;cursor:pointer}
.li.wsrv small,.wsrow small{display:block;font:500 var(--fs-12)/1.3 var(--font);color:var(--t3);margin-top:2px}
.li.wsrv .pill{margin-left:8px}
.wslist{max-height:56vh;overflow-y:auto;margin:0 -4px;padding:0 4px}
.wsrow{display:flex;align-items:center;gap:12px;min-height:52px;padding:6px 0;border-bottom:1px solid var(--s3)}
.wsrow .num{width:32px;height:32px;flex:none;border-radius:var(--r-8);background:var(--violet);color:#fff;display:flex;align-items:center;justify-content:center;font:700 var(--fs-13)/1 var(--font)}
.wsrow.dim{opacity:.55}
.streak i .ci{width:30px;height:30px;object-fit:contain;flex:none;filter:drop-shadow(0 2px 3px rgba(0,0,0,.4))}
.streak i.gift .ci{width:34px;height:34px}
.streak i.on .ci{opacity:.55}
.reward .sday{font:500 var(--fs-14)/1.4 var(--font);color:var(--t3);margin:6px 0 16px}
.reward .sday b{color:var(--t1)}

/* Вывод в промокод */
.card .btn:disabled{background:transparent;border:1px solid var(--line-strong)}
.pinfo code{white-space:nowrap}
.card.wd .txt{font:400 var(--fs-14)/1.45 var(--font);color:var(--t2);margin-bottom:14px}
.promobox{margin-bottom:12px;padding:18px 16px;border-radius:var(--r-16);background:linear-gradient(135deg,rgba(101,66,255,.22),rgba(8,192,255,.08));border:1px solid rgba(101,66,255,.45)}
.promobox .lbl{font:500 var(--fs-14) var(--font);color:var(--t2)}
.pcode{display:flex;align-items:center;gap:12px;margin:10px 0 14px}
.pcode span{flex:1;min-width:0;font:700 28px/1.1 var(--mono);letter-spacing:.06em;color:#fff;overflow-wrap:anywhere;user-select:all;-webkit-user-select:all}
.pcode .cbtn{width:48px;height:48px;background:var(--violet);color:#fff}
.pcode .cbtn:active{background:var(--violet-press)}
.pinfo{display:flex;gap:10px;align-items:flex-start;font:400 var(--fs-14)/1.45 var(--font);color:var(--t1)}
.pinfo svg{color:var(--violet-text);margin-top:1px}
.promobox .note{margin-top:10px}

/* Поддержка */
.card.form textarea{display:block;width:100%;min-height:132px;padding:12px 14px;border:2px solid var(--s3);border-radius:var(--r-12);background:var(--bg);color:var(--t1);font:400 var(--fs-16)/1.45 var(--font);resize:vertical;outline:none}
.card.form textarea:focus{border-color:var(--violet)}
.card.form textarea::placeholder{color:var(--t4)}
.frow2{display:flex;align-items:flex-start;gap:8px;margin:8px 2px 14px}
.frow2 .ferr{margin:0;flex:1}
.frow2 .cnt{margin-left:auto;font:500 var(--fs-12) var(--font);color:var(--t4);font-variant-numeric:tabular-nums;white-space:nowrap}
.done-card{text-align:center;padding:28px 16px 16px}
.done-card .okico{width:56px;height:56px;margin:0 auto 14px;border-radius:50%;background:rgba(87,200,120,.14);color:var(--green-live);display:flex;align-items:center;justify-content:center}
.done-card .okico svg{width:28px;height:28px}
.done-card .ttl{font:700 var(--fs-16)/1.4 var(--font);color:var(--t1)}
.faq{background:var(--s2);border-radius:var(--r-16);padding:0 16px}
.faq details+details{border-top:1px solid var(--line)}
.faq summary{display:flex;align-items:center;gap:12px;min-height:56px;list-style:none;cursor:pointer;font:500 var(--fs-16)/1.3 var(--font);color:var(--t1)}
.faq summary::-webkit-details-marker{display:none}
.faq summary .chev{margin-left:auto;color:var(--t3)}
.faq details[open] summary .chev{transform:rotate(225deg) translate(-2px,-2px)}
.faq p{margin:0 0 16px;font:400 var(--fs-14)/1.5 var(--font);color:var(--t2)}

/* Вайпы на главной: компактно, строка на день и время, номера серверов бейджами */
.wlist{background:var(--s2);border-radius:var(--r-16);padding:0 14px 0 16px}
.wrow2{display:flex;align-items:center;gap:10px;width:100%;min-height:60px;padding:10px 0;border:0;background:none;text-align:left;color:inherit;cursor:pointer}
.wrow2+.wrow2{border-top:1px solid var(--line)}
.wrow2:active{opacity:.75}
.wrow2 .wd{flex:none;width:118px;display:flex;flex-direction:column;gap:3px}
.wrow2 .wd b{font:700 var(--fs-14)/1.2 var(--font);color:var(--t1);white-space:nowrap;font-variant-numeric:tabular-nums}
.wrow2 .wd small{font:500 var(--fs-12)/1.2 var(--font);color:var(--t3)}
.wrow2.today .wd b{color:var(--green-live)}
.wrow2 .wb{flex:1;min-width:0;display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-end}
.wrow2 .num.more{background:var(--s4);color:var(--t2)}
.wrow2 .chev{color:var(--t3);margin:0 2px 0 4px}
i.chev{display:inline-block;width:7px;height:7px;border:solid currentColor;border-width:0 2px 2px 0;transform:rotate(-45deg);margin:0 2px;flex:none;transition:transform var(--ease)}
i.chev.d{transform:rotate(45deg) translate(-2px,-2px)}

/* Профиль */
.pf{display:flex;align-items:center;gap:16px}
.ava{width:64px;height:64px;flex:none;border-radius:var(--r-16);background:var(--s3);overflow:hidden;display:flex;align-items:center;justify-content:center;font:700 var(--fs-24) var(--font);color:var(--t1)}
.ava img{width:100%;height:100%;object-fit:cover}
.pf .name{font:700 var(--fs-20)/1.2 var(--font);color:var(--t1);overflow-wrap:anywhere}
.pf .uname{font:500 var(--fs-13) var(--font);color:var(--t3);margin-top:4px}
.steamrow{display:flex;align-items:center;gap:12px;margin-top:16px;padding:12px;border-radius:var(--r-12);background:var(--s3)}
.steamrow>svg{width:28px;height:28px;color:#fff}
.steamrow .grow{font:500 var(--fs-12) var(--font);color:var(--t3)}
.steamrow b{display:block;font:700 var(--fs-16)/1.3 var(--mono);color:var(--t1);margin-top:2px}
.stats2{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
.stat{display:flex;align-items:center;gap:12px;padding:12px;border-radius:var(--r-12);background:var(--s3);min-width:0}
.stat .ico{width:36px;height:36px;flex:none;border-radius:var(--r-8);background:var(--s2);display:flex;align-items:center;justify-content:center}
.stat .ico.coins{color:var(--orange)}.stat .ico.fire{color:var(--violet-text)}
.stat .v{font:700 var(--fs-20)/1.1 var(--font);color:var(--t1);font-variant-numeric:tabular-nums}
.stat .k{font:500 var(--fs-12)/1.3 var(--font);color:var(--t3)}

/* Пусто и скоро */
.empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:32px 16px;text-align:center;color:var(--t3);font:500 var(--fs-14)/1.4 var(--font)}
.empty svg{width:32px;height:32px;color:var(--t4)}
.empty .btn{margin-top:8px}
.soon{display:flex;gap:12px;align-items:flex-start}
.soon .ico{width:44px;height:44px;flex:none;border-radius:var(--r-12);background:var(--violet-soft);color:var(--violet-text);display:flex;align-items:center;justify-content:center}
.soon .ttl{display:flex;align-items:center;gap:8px;font:700 var(--fs-16) var(--font);color:var(--t1)}
.soon .txt{font:400 var(--fs-13)/1.4 var(--font);color:var(--t3);margin-top:4px}
.card.soon{margin-top:24px;background:transparent;border:1px dashed var(--line-strong)}

/* Онбординг */
.onb{min-height:calc(var(--tg-viewport-stable-height,100vh) - var(--safe-top) - 32px);display:flex;flex-direction:column;padding-bottom:var(--safe-bottom)}
.onb-top{display:flex;align-items:center;justify-content:space-between;margin:0 0 20px}
.onb .logo{height:28px;width:auto;display:block}
.onb .skip{min-height:44px;padding:0 4px 0 12px;border:0;background:none;color:var(--t3);font:500 var(--fs-14) var(--font)}
.onb .art{margin-top:8px;aspect-ratio:4/3;border-radius:var(--r-16);background:var(--hero-bg);overflow:hidden;margin-bottom:24px}
.onb .art img{width:100%;height:100%;object-fit:cover;display:block}
.onb h1{font:700 var(--fs-28)/var(--lh-tight) var(--font);color:var(--t1);letter-spacing:-.56px;margin:0 0 8px}
.onb p{font:400 var(--fs-16)/1.45 var(--font);color:var(--t2);margin:0 0 16px}
.onb .dots{display:flex;justify-content:center;gap:8px;margin:auto 0 16px;padding-top:20px}
.onb .dots i{width:8px;height:8px;border-radius:var(--r-pill);background:var(--s4);transition:width var(--ease),background var(--ease)}
.onb .dots i.on{width:24px;background:var(--violet)}
.onb .li>svg{color:var(--violet-text)}

/* Тиммейты */
.tm-seg button{position:relative;display:flex;align-items:center;justify-content:center;gap:6px}
.tm-seg .cnt{min-width:20px;height:20px;padding:0 6px;border-radius:var(--r-pill);background:var(--orange);color:var(--orange-ink);font:700 var(--fs-12)/20px var(--font)}
.tm-fl{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.tm{background:var(--s2);border-radius:var(--r-16);padding:12px;transition:opacity .2s,transform .2s}
.tm+.tm{margin-top:12px}
.tm.gone{opacity:0;transform:translateX(-24px)}
.tm-top{display:flex;gap:12px;align-items:flex-start}
.tm-media{position:relative;width:96px;height:96px;flex:none;padding:0;border:0;border-radius:var(--r-12);background:var(--hero-bg);overflow:hidden;display:flex;align-items:center;justify-content:center;color:var(--t3)}
.tm-media img{width:100%;height:100%;object-fit:cover;display:block}
.tm-media .sk{position:absolute;inset:0;height:auto;border-radius:0}
.tm-media.ava{font:700 34px/1 var(--font);color:var(--t1);background:var(--s3)}
.tm-media.vid{background:linear-gradient(135deg,#1e233f,#0d0e17)}
.tm-media.vid .play{width:44px;height:44px;border-radius:50%;background:rgba(101,66,255,.9);color:#fff;display:flex;align-items:center;justify-content:center}
.tm-media.vid.busy .play{opacity:.5}
.tm-media.off svg{width:28px;height:28px}
video.tm-media.on{width:100%;height:auto;max-height:60vh;background:#000}
.tm-top:has(video.tm-media.on){flex-direction:column}
.tm-name{display:flex;align-items:center;gap:8px;min-height:24px;font:700 18px/1.2 var(--font);color:var(--t1)}
.tm-name span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tm-meta{display:flex;flex-direction:column;gap:5px;margin-top:8px}
.tm-meta span{display:flex;align-items:center;gap:8px;font:400 var(--fs-13)/1.3 var(--font);color:var(--t3);min-width:0}
.tm-meta svg{width:16px;height:16px;color:var(--t4)}
.tm-meta b{font-weight:500;color:var(--violet-text)}
.tm-meta em{font-style:normal;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.giftrow .gt{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wrow2 .wb{flex-wrap:nowrap}
.tm-desc{margin-top:12px;padding:10px 12px;border-radius:var(--r-12);background:var(--bg);border:1px solid var(--line);font:400 var(--fs-14)/1.45 var(--font);color:var(--t2);overflow-wrap:anywhere;white-space:pre-line}
.tm-desc.sm{margin-top:8px;padding:8px 10px;font-size:var(--fs-13)}
.tm-act{display:grid;grid-template-columns:1.3fr 1fr 40px;gap:8px;margin-top:12px}
.tm-act .btn{min-height:40px;padding:8px 10px}
.tm-act .btn svg{width:18px;height:18px}
.tm-act .tm-rep{width:40px;height:40px;color:var(--t3)}
.tm-own{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
.tm-none{text-align:center;padding:28px 16px 16px}
.tm-none .ico{width:56px;height:56px;margin:0 auto 14px;border-radius:var(--r-16);background:var(--violet-soft);color:var(--violet-text);display:flex;align-items:center;justify-content:center}
.tm-none .ico svg{width:28px;height:28px}
.tm-none .ttl{font:700 var(--fs-20)/1.25 var(--font);color:var(--t1)}
.tm-none .txt{font:400 var(--fs-14)/1.45 var(--font);color:var(--t3);margin:8px 0 18px}
.tm-full{display:block;width:100%;max-height:75vh;object-fit:contain;border-radius:var(--r-12);margin-top:4px}
.likes .lk{align-items:flex-start}
.ava.sm{width:40px;height:40px;border-radius:var(--r-12);font-size:var(--fs-16)}
.lk-h{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.lk-h b{font:700 var(--fs-16)/1.25 var(--font);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lk-h span{flex:none;font:400 var(--fs-12) var(--font);color:var(--t4)}
.lk-u{display:inline-block;margin-top:2px;padding:4px 0;border:0;background:none;color:var(--violet-text);font:500 var(--fs-14) var(--font)}
.lk-n{margin-top:2px;font:400 var(--fs-13) var(--font);color:var(--t4)}
.empty.sm{padding:20px 16px;background:var(--s2);border-radius:var(--r-16)}
.empty.sm svg{width:26px;height:26px}
.flabel .opt{font-weight:400;color:var(--t4)}
.tm-form .flabel{margin:18px 0 10px}
.tm-form .flabel:first-child{margin-top:0}
.tm-form .chip{min-height:38px;padding:0 12px}
.inp{display:block;width:100%;height:48px;padding:0 14px;border:2px solid var(--s3);border-radius:var(--r-12);background:var(--bg);color:var(--t1);font:500 var(--fs-16) var(--font);outline:none}
.inp:focus{border-color:var(--violet)}
textarea.ta{display:block;width:100%;min-height:96px;padding:12px 14px;border:2px solid var(--s3);border-radius:var(--r-12);background:var(--bg);color:var(--t1);font:400 var(--fs-16)/1.45 var(--font);resize:vertical;outline:none}
textarea.ta:focus{border-color:var(--violet)}
#sheet .sub{margin-bottom:14px}
#sheet .ferr{margin-top:12px}
