/* ==========================================================================
   777like — дизайн-система «Signal» v1
   Токены обеих тем + базовые компоненты. Общий файл: модульные стили — в assets/lk/<module>.css
   Шрифты: Unbounded (display) + Onest (UI), OFL-1.1, self-hosted.
   ========================================================================== */

@font-face{font-family:"Unbounded";font-style:normal;font-display:swap;font-weight:200 900;
  src:url(fonts/unbounded-cyrillic-wght-normal.woff2) format("woff2-variations");
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Unbounded";font-style:normal;font-display:swap;font-weight:200 900;
  src:url(fonts/unbounded-latin-wght-normal.woff2) format("woff2-variations");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Onest";font-style:normal;font-display:swap;font-weight:100 900;
  src:url(fonts/onest-cyrillic-wght-normal.woff2) format("woff2-variations");
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Onest";font-style:normal;font-display:swap;font-weight:100 900;
  src:url(fonts/onest-latin-wght-normal.woff2) format("woff2-variations");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+20BD,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* ---------- Токены: тёмная тема (по умолчанию) ---------- */
:root{
  color-scheme:dark;
  --lk-bg:#0B0C15; --lk-bg-2:#07080F; --lk-surface:#141626; --lk-surface-2:#1C1F33; --lk-surface-3:#242842;
  --lk-line:#2A2E48; --lk-line-soft:#1E2136; --lk-line-strong:#666C94; /* рамки полей: ≥3:1 к bg-2/surface/surface-2 (WCAG 1.4.11) */
  --lk-text:#F2F3FA; --lk-muted:#A6ABC8; --lk-subtle:#8A90B0;
  --lk-accent:#8B7CFF; --lk-accent-hover:#A195FF; --lk-on-accent:#0B0C15; --lk-accent-soft:rgba(139,124,255,.16); --lk-accent-line:rgba(139,124,255,.45);
  --lk-link:#B3A9FF;
  --lk-signal:#3EE6A6; --lk-signal-soft:rgba(62,230,166,.14);
  --lk-success:#4ADE9B; --lk-success-bg:rgba(74,222,155,.12);
  --lk-danger:#FF7A8A;  --lk-danger-bg:rgba(255,122,138,.12);
  --lk-warning:#FFC35A; --lk-warning-bg:rgba(255,195,90,.12);
  --lk-info:#7CC4FF;    --lk-info-bg:rgba(124,196,255,.12);
  --lk-glow:radial-gradient(45% 55% at 35% 0%, rgba(118,88,255,.24), transparent 70%), radial-gradient(40% 50% at 70% 10%, rgba(240,51,95,.14), transparent 70%);
  --lk-shadow-sm:0 1px 2px rgba(0,0,0,.4);
  --lk-shadow:0 1px 2px rgba(0,0,0,.35), 0 12px 32px -12px rgba(0,0,0,.55);
  --lk-shadow-lg:0 24px 64px -20px rgba(0,0,0,.7);
  --lk-focus:0 0 0 3px rgba(139,124,255,.55);
  --lk-scrim:rgba(4,5,10,.66);
  --lk-logo-like:var(--lk-text);
  /* бренд 4F-3 «градиентный бабл с искрой»: 777 — удача, like — лайк */
  --lk-brand-a:#7658FF; --lk-brand-b:#F0335F; --lk-spark:#FFD166; --lk-heart:#FF4D73;
  --lk-brand-grad:linear-gradient(135deg,#6D4BFF 0%,#E0224C 100%); /* кнопки: белый текст ≥4.6:1 на обоих концах */
  --lk-brand-grad-hover:linear-gradient(135deg,#6245F5 0%,#CC1F45 100%); /* hover темнее: белый ≥5.4:1 */
  --lk-brand-line:linear-gradient(90deg,var(--lk-brand-a),var(--lk-brand-b));
  --lk-brand-shadow:0 10px 28px -12px rgba(224,34,76,.6), 0 6px 18px -10px rgba(109,75,255,.6);
  /* платформы */
  --lk-p-twitch:#9146FF; --lk-p-youtube:#FF0000; --lk-p-kick:#53FC19; --lk-p-vk:#0077FF; --lk-p-telegram:#26A5E4; /* 03.10: официальные цвета брендов (Simple Icons) */
  --lk-p-tiktok:#F2F3FA; --lk-p-instagram:#FF0069; --lk-p-discord:#5865F2; --lk-p-dzen:#E6E6E6; --lk-p-rutube:#00A1E7; --lk-p-other:#8A90B0;
  --lk-p-twitter:#E7E9EA; --lk-p-facebook:#0866FF; --lk-p-trovo:#19D66B;
  --lk-badge-accent:var(--lk-link); /* #8B7CFF на accent-soft = 4.4:1 → светлее */
  /* форма */
  --lk-r-sm:8px; --lk-r:12px; --lk-r-lg:16px; --lk-r-xl:22px; --lk-pill:999px;
  --lk-font-display:"Unbounded", "Onest", system-ui, sans-serif;
  --lk-font-ui:"Onest", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --lk-ease:cubic-bezier(.2,.7,.2,1);
  --lk-container:1240px;
  --lk-sidebar:256px; --lk-topbar:68px;
}
/* ---------- Светлая тема ---------- */
html[data-theme="light"]{
  color-scheme:light;
  --lk-bg:#F5F6FB; --lk-bg-2:#ECEEF6; --lk-surface:#FFFFFF; --lk-surface-2:#F1F2F9; --lk-surface-3:#E7E9F4;
  --lk-line:#DADDEB; --lk-line-soft:#E8EAF3; --lk-line-strong:#80859F;
  --lk-text:#0E1020; --lk-muted:#4E5470; --lk-subtle:#62688A;
  --lk-accent:#6245F5; --lk-accent-hover:#5236E8; --lk-on-accent:#FFFFFF; --lk-accent-soft:rgba(98,69,245,.10); --lk-accent-line:rgba(98,69,245,.40);
  --lk-link:#4A34D8;
  --lk-signal:#08774F; --lk-signal-soft:rgba(8,119,79,.10);
  --lk-success:#0E7A4F; --lk-success-bg:#E6F6EE;
  --lk-danger:#C8243A;  --lk-danger-bg:#FDECEE;
  --lk-warning:#9A5B00; --lk-warning-bg:#FFF4DE;
  --lk-info:#1463B8;    --lk-info-bg:#E7F1FC;
  --lk-glow:radial-gradient(45% 55% at 35% 0%, rgba(109,75,255,.12), transparent 70%), radial-gradient(40% 50% at 70% 10%, rgba(224,34,76,.08), transparent 70%);
  --lk-brand-a:#6D4BFF; --lk-brand-b:#E0224C; --lk-spark:#E09A00; --lk-heart:#E0224C;
  --lk-brand-grad:linear-gradient(135deg,#6D4BFF 0%,#E0224C 100%); --lk-brand-grad-hover:linear-gradient(135deg,#6245F5 0%,#CC1F45 100%);
  --lk-brand-shadow:0 10px 24px -12px rgba(224,34,76,.45), 0 6px 16px -10px rgba(109,75,255,.45);
  --lk-shadow-sm:0 1px 2px rgba(14,16,32,.06);
  --lk-shadow:0 1px 2px rgba(14,16,32,.05), 0 10px 28px -14px rgba(14,16,32,.18);
  --lk-shadow-lg:0 24px 60px -24px rgba(14,16,32,.28);
  --lk-focus:0 0 0 3px rgba(98,69,245,.35);
  --lk-scrim:rgba(14,16,32,.45);
  --lk-p-kick:#53FC19; --lk-p-tiktok:#000000; --lk-p-dzen:#000000; --lk-p-twitter:#000000; --lk-p-trovo:#0E9F4D; --lk-p-rutube:#0086C3;
  --lk-badge-accent:var(--lk-accent);
}

/* ---------- База ---------- */
.lk, .lk *{box-sizing:border-box}
html.lk-root{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body.lk{margin:0;background:var(--lk-bg);color:var(--lk-text);font:400 15px/1.55 var(--lk-font-ui);
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"ss01","cv11"}
.lk a{color:var(--lk-link);text-decoration:none}
.lk a:hover{text-decoration:underline;text-underline-offset:3px}
.lk :focus-visible{outline:2px solid transparent;outline-offset:2px;box-shadow:var(--lk-focus);border-radius:var(--lk-r-sm)} /* прозрачный outline виден в режиме высокой контрастности (forced-colors) */
.lk ::selection{background:var(--lk-accent);color:var(--lk-on-accent)}
.lk img{max-width:100%;height:auto}
.lk svg.lk-i{width:18px;height:18px;flex:none;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.lk svg.lk-i--lg{width:22px;height:22px}
.lk-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.lk-skip{position:absolute;left:12px;top:-60px;z-index:1000;background:var(--lk-accent);color:var(--lk-on-accent)!important;padding:10px 16px;border-radius:var(--lk-r)}
.lk-skip:focus{top:12px}

/* ---------- Типографика ---------- */
.lk-h1,.lk-h2,.lk-h3,.lk-display{font-family:var(--lk-font-display);letter-spacing:-.02em;line-height:1.12;margin:0;color:var(--lk-text)}
.lk-display{font-weight:700;font-size:clamp(34px,5.4vw,68px);letter-spacing:-.035em;line-height:1.02}
.lk-h1{font-weight:650;font-size:clamp(24px,2.6vw,32px)}
.lk-h2{font-weight:600;font-size:clamp(20px,2vw,26px)}
.lk-h3{font-weight:600;font-size:18px;letter-spacing:-.01em}
.lk-kicker{display:inline-flex;align-items:center;gap:8px;font:700 12px/1 var(--lk-font-ui);letter-spacing:.12em;text-transform:uppercase;color:var(--lk-accent)}
.lk-kicker::before{content:"";flex:none;width:11px;height:11px;background:var(--lk-spark);clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%)}
.lk-lead{font-size:17px;line-height:1.6;color:var(--lk-muted);margin:0}
.lk-muted{color:var(--lk-muted)} .lk-subtle{color:var(--lk-subtle)}
.lk-num,.lk-price{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}
.lk-price{font-family:var(--lk-font-display);font-weight:650;letter-spacing:-.02em}
.lk-hl{color:var(--lk-accent)}
.lk-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92em}

/* ---------- Раскладка ---------- */
.lk-container{width:100%;max-width:var(--lk-container);margin:0 auto;padding:0 20px}
.lk-stack{display:flex;flex-direction:column;gap:16px}
.lk-stack--sm{gap:8px} .lk-stack--lg{gap:28px}
.lk-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.lk-row--between{justify-content:space-between}
.lk-grid{display:grid;gap:16px}
.lk-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.lk-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.lk-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1023px){.lk-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.lk-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.lk-grid-2,.lk-grid-3,.lk-grid-4{grid-template-columns:1fr}}
.lk-page{padding:28px 0 64px}
.lk-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:22px}
.lk-page-head .lk-lead{font-size:15px;margin-top:6px}
.lk-divider{height:1px;background:var(--lk-line-soft);border:0;margin:16px 0}

/* ---------- Кнопки ---------- */
.lk-btn{--h:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--h);padding:0 18px;
  border:1px solid transparent;border-radius:var(--lk-r);font:650 14.5px/1 var(--lk-font-ui);letter-spacing:.005em;cursor:pointer;
  text-decoration:none!important;white-space:nowrap;user-select:none;
  transition:background .16s var(--lk-ease),border-color .16s var(--lk-ease),color .16s,transform .12s var(--lk-ease),box-shadow .16s}
.lk-btn:active{transform:translateY(1px) scale(.99)}
.lk-btn[disabled],.lk-btn.is-disabled{opacity:.5;pointer-events:none}
.lk-btn--primary{--lk-on-accent:#FFFFFF;background:var(--lk-brand-grad) border-box;border-color:transparent;color:#FFFFFF!important;box-shadow:var(--lk-brand-shadow)}
.lk-btn--primary:hover{background:var(--lk-brand-grad-hover) border-box}
/* градиент под прозрачной рамкой: без border-box фон повторялся и у левого края вылезала розовая полоска */
.lk-btn--secondary{background:var(--lk-surface-2);border-color:var(--lk-line);color:var(--lk-text)!important}
.lk-btn--secondary:hover{border-color:var(--lk-accent-line);background:var(--lk-surface-3)}
.lk-btn--ghost{background:transparent;color:var(--lk-text)!important}
.lk-btn--ghost:hover{background:var(--lk-surface-2)}
.lk-btn--danger{background:var(--lk-danger-bg);color:var(--lk-danger)!important;border-color:transparent}
.lk-btn--danger:hover{border-color:var(--lk-danger)}
.lk-btn--signal{background:var(--lk-signal);color:#04110B!important}
html[data-theme="light"] .lk-btn--signal{color:#FFFFFF!important} /* на тёмно-мятном #08774F тёмный текст давал 3.4:1 */
.lk-btn--sm{--h:36px;padding:0 12px;font-size:13.5px;border-radius:10px}
.lk-btn--lg{--h:52px;padding:0 24px;font-size:16px;border-radius:14px}
.lk-btn--block{width:100%}
.lk-btn--icon{padding:0;width:var(--h)}
.lk-btn.is-loading{position:relative;color:transparent!important;pointer-events:none}
.lk-btn.is-loading::after{content:"";position:absolute;width:18px;height:18px;border-radius:50%;border:2px solid currentColor;border-color:var(--lk-on-accent) transparent var(--lk-on-accent) transparent;animation:lk-spin .7s linear infinite}
@keyframes lk-spin{to{transform:rotate(360deg)}}

/* ---------- Карточки ---------- */
.lk-card{background:var(--lk-surface);border:1px solid var(--lk-line-soft);border-radius:var(--lk-r-lg);box-shadow:var(--lk-shadow-sm)}
.lk-card--flat{box-shadow:none}
.lk-card--sunken{background:var(--lk-bg-2);box-shadow:none}
.lk-card--accent{border-color:var(--lk-accent-line);background:linear-gradient(180deg,var(--lk-accent-soft),transparent 60%),var(--lk-surface)}
.lk-card__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--lk-line-soft)}
.lk-card__title{margin:0;font:600 16px/1.3 var(--lk-font-ui);letter-spacing:-.005em}
.lk-card__body{padding:20px}
.lk-card__foot{padding:14px 20px;border-top:1px solid var(--lk-line-soft)}
.lk-icon-tile{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--lk-accent-soft);color:var(--lk-accent)}
.lk-stat{display:flex;flex-direction:column;gap:6px;padding:18px 20px}
.lk-stat__label{font-size:13px;color:var(--lk-muted)}
.lk-stat__value{font:650 26px/1.1 var(--lk-font-display);letter-spacing:-.02em;font-variant-numeric:tabular-nums}

/* ---------- Формы ---------- */
.lk-field{display:flex;flex-direction:column;gap:7px;min-width:0}
.lk-label{font:600 13.5px/1.3 var(--lk-font-ui);color:var(--lk-text)}
.lk-label .lk-req{color:var(--lk-danger);margin-left:2px}
.lk-hint{font-size:12.5px;color:var(--lk-subtle);line-height:1.45;overflow-wrap:anywhere}
.lk-hint--error{color:var(--lk-danger)}
.lk-input,.lk-select,.lk-textarea{width:100%;min-height:46px;padding:11px 14px;background:var(--lk-bg-2);color:var(--lk-text);
  border:1px solid var(--lk-line-strong);border-radius:var(--lk-r);font:400 15px/1.35 var(--lk-font-ui);
  transition:border-color .15s,box-shadow .15s,background .15s;appearance:none;-webkit-appearance:none}
.lk-textarea{min-height:110px;resize:vertical}
.lk-input::placeholder,.lk-textarea::placeholder{color:var(--lk-subtle);opacity:1}
.lk-input:hover,.lk-select:hover,.lk-textarea:hover{border-color:var(--lk-accent)} /* непрозрачная: рамка не теряет контраст 3:1 при наведении */
.lk-input:focus,.lk-select:focus,.lk-textarea:focus{outline:none;border-color:var(--lk-accent);box-shadow:var(--lk-focus);background:var(--lk-surface)}
.lk-input[readonly]{background:var(--lk-surface-2);color:var(--lk-muted)}
.lk-select{padding-right:40px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%238A90B0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}
.lk-input-group{position:relative}
.lk-input-group > .lk-i{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--lk-subtle);pointer-events:none}
.lk-input-group > .lk-input{padding-left:42px}
.lk-check{display:inline-flex;align-items:flex-start;gap:10px;cursor:pointer;font-size:14px;line-height:1.4}
.lk-check input{appearance:none;-webkit-appearance:none;flex:none;width:20px;height:20px;margin:0;border:1.5px solid var(--lk-line-strong);border-radius:6px;background:var(--lk-bg-2);display:grid;place-items:center;cursor:pointer;transition:background-color .15s,border-color .15s}
.lk-check input:checked{background:var(--lk-accent);border-color:var(--lk-accent)}
.lk-check input:checked::after{content:"";width:10px;height:6px;border:2px solid var(--lk-on-accent);border-top:0;border-right:0;transform:rotate(-45deg) translate(1px,-1px)}
.lk-check input:focus-visible{box-shadow:var(--lk-focus)}
.lk-switch{position:relative;display:inline-flex;align-items:center;gap:10px;cursor:pointer}
.lk-switch input{appearance:none;-webkit-appearance:none;width:42px;height:24px;border-radius:99px;background:var(--lk-surface-3);border:1px solid var(--lk-line-strong);margin:0;cursor:pointer;transition:background-color .18s,border-color .18s;position:relative}
.lk-switch input::after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:var(--lk-text);transition:transform .18s var(--lk-ease)}
.lk-switch input:checked{background:var(--lk-accent);border-color:var(--lk-accent)}
.lk-switch input:checked::after{transform:translateX(18px);background:var(--lk-on-accent)}

/* ---------- Сегменты и чипы ---------- */
.lk-seg{display:inline-flex;padding:4px;gap:4px;background:var(--lk-bg-2);border:1px solid var(--lk-line-soft);border-radius:14px;max-width:100%;overflow-x:auto;scrollbar-width:none}
.lk-seg::-webkit-scrollbar{display:none}
.lk-seg > button,.lk-seg > a{flex:1 0 auto;min-height:38px;padding:0 14px;border:0;border-radius:10px;background:transparent;color:var(--lk-muted);font:600 14px/1 var(--lk-font-ui);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;text-decoration:none!important;transition:background-color .15s,color .15s,box-shadow .15s}
.lk-seg > button:hover,.lk-seg > a:hover{color:var(--lk-text)}
.lk-seg > .is-active,.lk-seg > [aria-pressed="true"],.lk-seg > [aria-selected="true"]{background:var(--lk-surface);color:var(--lk-text);box-shadow:var(--lk-shadow-sm)}
.lk-chips{display:flex;gap:8px;flex-wrap:wrap}
.lk-chips--scroll{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.lk-chips--scroll::-webkit-scrollbar{display:none}
.lk-chip{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:0 14px;border-radius:var(--lk-pill);border:1px solid var(--lk-line);background:var(--lk-surface);color:var(--lk-text);font:600 13.5px/1 var(--lk-font-ui);cursor:pointer;white-space:nowrap;transition:background-color .15s,border-color .15s,color .15s;text-decoration:none!important}
.lk-chip:hover{border-color:var(--lk-accent-line)}
.lk-chip.is-active,.lk-chip[aria-pressed="true"]{background:var(--lk-accent-soft);border-color:var(--lk-accent);color:var(--lk-text)}
.lk-chip__count{font-size:12px;color:var(--lk-subtle);font-variant-numeric:tabular-nums}
.lk-dot{width:8px;height:8px;border-radius:50%;background:var(--lk-p-other);flex:none}
.lk-dot--twitch{background:var(--lk-p-twitch)} .lk-dot--youtube{background:var(--lk-p-youtube)} .lk-dot--kick{background:var(--lk-p-kick);box-shadow:inset 0 0 0 1px rgba(0,0,0,.18)}
.lk-dot--vk{background:var(--lk-p-vk)} .lk-dot--telegram{background:var(--lk-p-telegram)} .lk-dot--tiktok{background:var(--lk-p-tiktok)}
.lk-dot--instagram{background:var(--lk-p-instagram)} .lk-dot--discord{background:var(--lk-p-discord)} .lk-dot--dzen{background:var(--lk-p-dzen)} .lk-dot--rutube{background:var(--lk-p-rutube)}
.lk-dot--twitter{background:var(--lk-p-twitter)} .lk-dot--facebook{background:var(--lk-p-facebook)} .lk-dot--trovo{background:var(--lk-p-trovo)} .lk-dot--other{background:var(--lk-p-other)}
.lk-dot--live{background:var(--lk-signal);box-shadow:0 0 0 0 var(--lk-signal);animation:lk-pulse 2s infinite}
@keyframes lk-pulse{0%{box-shadow:0 0 0 0 var(--lk-signal-soft)}70%{box-shadow:0 0 0 8px transparent}100%{box-shadow:0 0 0 0 transparent}}

/* ---------- Бейджи и алерты ---------- */
.lk-badge{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:var(--lk-pill);font:650 12px/1 var(--lk-font-ui);white-space:nowrap;background:var(--lk-surface-2);color:var(--lk-muted)}
.lk-badge::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.lk-badge--plain::before{display:none}
.lk-badge--success{background:var(--lk-success-bg);color:var(--lk-success)}
.lk-badge--danger{background:var(--lk-danger-bg);color:var(--lk-danger)}
.lk-badge--warning{background:var(--lk-warning-bg);color:var(--lk-warning)}
.lk-badge--info{background:var(--lk-info-bg);color:var(--lk-info)}
.lk-badge--accent{background:var(--lk-accent-soft);color:var(--lk-badge-accent)}
.lk-badge--signal{background:var(--lk-signal-soft);color:var(--lk-signal)}
.lk-alert{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:var(--lk-r);border:1px solid transparent;font-size:14px;line-height:1.5;background:var(--lk-surface-2)}
.lk-alert > .lk-i{margin-top:1px}
.lk-alert--error{background:var(--lk-danger-bg);color:var(--lk-danger);border-color:color-mix(in srgb,var(--lk-danger) 25%,transparent)}
.lk-alert--success{background:var(--lk-success-bg);color:var(--lk-success);border-color:color-mix(in srgb,var(--lk-success) 25%,transparent)}
.lk-alert--warning{background:var(--lk-warning-bg);color:var(--lk-warning);border-color:color-mix(in srgb,var(--lk-warning) 25%,transparent)}
.lk-alert--info{background:var(--lk-info-bg);color:var(--lk-info);border-color:color-mix(in srgb,var(--lk-info) 25%,transparent)}
.lk-alert a{color:inherit;text-decoration:underline}

/* ---------- Таблицы ---------- */
.lk-table-wrap{width:100%;overflow-x:auto;border:1px solid var(--lk-line-soft);border-radius:var(--lk-r-lg);background:var(--lk-surface)}
.lk-table{width:100%;border-collapse:separate;border-spacing:0;font-size:14px}
.lk-table th{position:sticky;top:0;z-index:1;text-align:left;font:650 12px/1.2 var(--lk-font-ui);letter-spacing:.06em;text-transform:uppercase;color:var(--lk-subtle);padding:12px 16px;background:var(--lk-surface);border-bottom:1px solid var(--lk-line-soft);white-space:nowrap}
.lk-table td{padding:14px 16px;border-bottom:1px solid var(--lk-line-soft);vertical-align:middle}
.lk-table tr:last-child td{border-bottom:0}
.lk-table tbody tr{transition:background .12s}
.lk-table tbody tr:hover{background:var(--lk-surface-2)}
.lk-table .is-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
@media (max-width:767px){
  .lk-table--cards thead{display:none}
  .lk-table--cards,.lk-table--cards tbody,.lk-table--cards tr,.lk-table--cards td{display:block;width:100%}
  .lk-table-wrap:has(.lk-table--cards){border:0;background:transparent;overflow:visible}
  .lk-table--cards tr{background:var(--lk-surface);border:1px solid var(--lk-line-soft);border-radius:var(--lk-r-lg);padding:6px 4px;margin-bottom:12px}
  .lk-table--cards td{display:flex;justify-content:space-between;gap:16px;padding:8px 14px;border:0;text-align:right}
  .lk-table--cards td::before{content:attr(data-label);color:var(--lk-subtle);font-size:12.5px;text-align:left;flex:none}
  .lk-table--cards td[data-label=""]::before{display:none}
}
.lk-pagination{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;margin-top:20px}
.lk-pagination a,.lk-pagination span,.lk-pagination li > *{display:inline-grid;place-items:center;min-width:40px;height:40px;padding:0 10px;border-radius:10px;border:1px solid var(--lk-line);background:var(--lk-surface);color:var(--lk-text)!important;text-decoration:none!important}
.lk-pagination .active > *,.lk-pagination .is-active{background:var(--lk-accent);border-color:var(--lk-accent);color:var(--lk-on-accent)!important}

/* ---------- Пустое состояние, скелетон, тост ---------- */
.lk-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:48px 20px;color:var(--lk-muted)}
.lk-empty__icon{display:grid;place-items:center;width:64px;height:64px;border-radius:18px;background:var(--lk-surface-2);color:var(--lk-accent)}
.lk-skel{background:linear-gradient(90deg,var(--lk-surface-2) 25%,var(--lk-surface-3) 37%,var(--lk-surface-2) 63%);background-size:400% 100%;animation:lk-skel 1.3s ease infinite;border-radius:8px;min-height:14px}
@keyframes lk-skel{0%{background-position:100% 50%}100%{background-position:0 50%}}

/* ---------- Сводка (sticky / sheet) ---------- */
.lk-summary{position:sticky;top:calc(var(--lk-topbar) + 20px)}
.lk-summary__total{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.lk-summary__total .lk-price{font-size:30px}
.lk-summary__row{display:flex;justify-content:space-between;gap:12px;font-size:14px;padding:6px 0;color:var(--lk-muted)}
.lk-summary__row b{color:var(--lk-text);font-weight:600;font-variant-numeric:tabular-nums}
.lk-strike{text-decoration:line-through;color:var(--lk-subtle);font-size:.6em;margin-right:6px}
@media (max-width:1023px){
  .lk-summary--sheet{position:fixed;left:0;right:0;bottom:calc(64px + env(safe-area-inset-bottom));top:auto;z-index:60;border-radius:18px 18px 0 0;margin:0;box-shadow:var(--lk-shadow-lg)}
}

/* ---------- Логотип ---------- */
.lk-logo{display:inline-flex;align-items:center;height:38px;color:var(--lk-text);text-decoration:none!important}
.lk-logo svg{height:100%;width:auto;display:block}
.lk-logo .lk-logo__a{stop-color:var(--lk-brand-a)}
.lk-logo .lk-logo__b{stop-color:var(--lk-brand-b)}
.lk-logo .lk-logo__spark{fill:var(--lk-spark)}
.lk-logo .lk-logo__like{fill:var(--lk-logo-like)}

/* ---------- Переключатель темы ---------- */
.lk-theme-toggle{position:relative}
.lk-theme-toggle .lk-i--sun{display:none}
html[data-theme="light"] .lk-theme-toggle .lk-i--sun{display:block}
html[data-theme="light"] .lk-theme-toggle .lk-i--moon{display:none}

/* ---------- Motion ---------- */
.lk-js .lk-reveal{opacity:0;transform:translateY(10px);transition:opacity .5s var(--lk-ease),transform .5s var(--lk-ease)} /* только с JS: без него контент виден */
.lk-js .lk-reveal.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .lk *,.lk *::before,.lk *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .lk-js .lk-reveal{opacity:1;transform:none}
}

@media (forced-colors:active){.lk .lk-input:focus-visible,.lk .lk-select:focus-visible,.lk .lk-textarea:focus-visible{outline:2px solid Highlight;outline-offset:2px}}

/* 05.10 (аудит): светлая тема — бейдж «signal» на строке таблицы при наведении давал 4.37:1 */
html[data-theme="light"] .lk-badge--signal{color:#06603F}
