/* СОБРАНО Tools/varianty-sobrat.sh из glass.tokens.css + glass-dark.tokens.css + glass-varianty.src.css. Руками не править. */
/* ── Ночью системы варианты остаются светлыми: дневные значения ролей, которые меняет ночь ── */
@media (prefers-color-scheme:dark){
:root:is([data-ke-var="1"],[data-ke-var="4"]){
 color-scheme:light;
 --ke-canvas: #faf7f2;
 --ke-surface: #ffffff;
 --ke-surface-2: #f1eee8;
 --ke-overlay: #ffffff;
 --ke-ink: #262626;
 --ke-ink-2: #3e3e3e;
 --ke-ink-3: #4d4d4d;
 --ke-ink-accent: #ffffff;
 --ke-rule: #e2ded6;
 --ke-rule-2: #8c8a86;
 --ke-accent: #d01d00;
 --ke-accent-2: #8a6a00;
 --ke-accent-soft: #fff4c2;
 --ke-ok: #126b45;
 --ke-ok-soft: #e7f4ed;
 --ke-warn: #8a5300;
 --ke-warn-soft: #fdf1de;
 --ke-danger: #b3261e;
 --ke-danger-soft: #fdeceb;
 --ke-focus: #d01d00;
 --ke-hover-veil: rgb(208 29 0 / .06);
 --ke-press-veil: rgb(62 62 62 / .10);
 --ke-shadow-1: 0 1px 2px rgb(62 62 62 / .10);
 --ke-shadow-2: 0 24px 48px -26px rgb(62 62 62 / .38), 0 2px 6px rgb(62 62 62 / .06);
 --glass-fill: #ffffff61;
 --glass-fill-dense: #ffffff85;
 --glass-fill-2: #ffffff85;
 --glass-nested: #ffffff8c;
 --glass-field: #ffffffd1;
 --glass-solid: #fcfaf7;
 --glass-hot: #fdd30533;
 --glass-hot-edge: #fdd305d9;
 --glass-hot-solid: #fff4c2;
 --glass-edge: #3e3e3e24;
 --glass-seam: #3e3e3e17;
 --glass-light: #ffffff;
 --glass-light-2: #ffffff99;
 --glass-sheen-c: #ffffff99;
 --glass-shade: #3e3e3e61;
 --glass-shade-2: #3e3e3e0f;
 --glass-header-filter: blur(10px) saturate(190%);
 --glass-rim-hi: #ffffff;
 --glass-rim-lo: #ffffff73;
 --glass-rim-shade: #3e3e3e1f;
 --glass-glow: #ffffffcc;
 --glass-depth: #3e3e3e14;
 --glass-glint: #ffffffa6;
 --glass-veil: #faf7f2f2;
 --glass-btn-fill: #ffffffa6;
 --glass-btn-glint: #ffffff66;
 --glass-btn-shade: #0000002e;
 --glass-bar-glow: none;
 --glass-underline: #f12200;
 --glass-logo-pro: #3e3e3e;
 --glass-btn-1: #d81f00;
 --glass-btn-2: #c01a00;
 --glass-btn-edge: #3e3e3e33;
 --glass-chip: #3e3e3e0f;
 --glass-chip-edge: #3e3e3e24;
 --glass-step-from: #fdd30524;
 --glass-step-to: #f1220017;
 --glass-g1: #fdd30573;
 --glass-g1-at: 4% 4%;
 --glass-g2: #f122003d;
 --glass-g2-at: 96% 42%;
 --glass-g3: #fdd30557;
 --glass-g3-at: 30% 104%;
 --glass-g4: #fdd3054d;
 --glass-g4-at: 38% 58%;
 --glass-grid: #3e3e3e0b;
 --ke-role-road: #3e3e3e;
 --ke-role-road-edge: #3e3e3e;
 --ke-role-road-share: .56;
 --ke-role-trail-light: none;
 --ke-role-street: rgb(62 62 62 / .32);
 --ke-role-island: #ffffff;
 --ke-role-mark-edge: rgb(62 62 62 / .35);
 --ke-role-bot-light: #ffffff;
 --ke-role-bot-shade-draw: drop-shadow(0 8px 18px rgb(0 0 0 / .25));
 --ke-role-part-controller: #8462e0;
 --ke-role-part-drive: #d96f2a;
 --ke-role-part-power: #3dbf8e;
 --ke-role-part-rangefinder: #d69a0f;
 --ke-role-part-sensor: #2a8ab8;
 --ke-role-part-seam: rgb(62 62 62 / .30);
}
}

/* ВРЕМЕННО: переключатель двух вариантов дизайна (гендиректор, 07.11). Снять: klau-engine/src/varianty.rs.
   Источник — спецификация littlepro_claude_redesign_spec.md §2: вариант 1 «Golden Honey & Amber Glow»
   (data-ke-var="1", по умолчанию) и вариант 4 «Original LittlePro Classic» (data-ke-var="4").
   Прежние варианты 06.11 («Нынешний», Warm EdTech, Bento, Cyber) убраны по слову гендиректора.
   Лист едет на КАЖДУЮ страницу последним, поэтому варианты красят весь сайт: главная, курсы,
   Полигон, кабинет, среда, вход. Знак LittlePro, маскот, названия, дорога и робот на главной —
   не меняются ни в одном варианте (слово гендиректора 07.11).
   Шрифты спецификации (Inter, Plus Jakarta Sans) с чужого адреса не грузим (§11 «наружу 0»):
   заголовки — своё подмножество Noto Sans 700, как было. */

/* ═══ ПЛАШКА ПЕРЕКЛЮЧАТЕЛЯ — в самом верху каждой страницы ═══ */
.ke-var{
  position:relative; z-index:60; display:flex; flex-wrap:wrap; align-items:center; justify-content:center;
  gap:.25rem .5rem; padding:.375rem .75rem;
  background:var(--ke-surface-2); color:var(--ke-ink); border-block-end:1px solid var(--ke-rule);
  font:600 .8125rem/1.3 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif
}
.ke-var-podpis{ color:var(--ke-ink-2) }
.ke-var > a.ke-var-v{
  display:inline-flex; align-items:center; min-height:2.25rem; padding:.125rem .875rem;
  border:1px solid var(--ke-rule-2); border-radius:9999px; background:var(--ke-surface);
  color:var(--ke-ink); text-decoration:none; white-space:nowrap
}
.ke-var > a.ke-var-v:hover{ border-color:var(--ke-accent) }
.ke-var > a.ke-var-v[aria-current]{ background:var(--glass-btn); border-color:transparent; color:var(--ke-ink-accent) }
.ke-var > a.ke-var-v::after{ display:none }
/* Экраны на всё окно (среда, 3D, кабинет: `position:fixed` поверх страницы): плашка — маленькой капсулой
   «1 | 4» в правом нижнем углу (07.11: у верхнего края она закрывала «Привет, Пётр!» и шапку Полигона). */
:root:has(.ke-kab,.ke-coding,[data-ke-3d]) .ke-var{
  position:fixed; inset:auto .5rem .5rem auto; z-index:9999; width:max-content; gap:.25rem;
  padding:.25rem; border:1px solid var(--ke-rule); border-radius:999px; box-shadow:var(--ke-shadow-2)
}
:root:has(.ke-kab,.ke-coding,[data-ke-3d]) .ke-var-podpis{ display:none }
:root:has(.ke-kab,.ke-coding,[data-ke-3d]) .ke-var > a.ke-var-v{ min-height:2.25rem; min-width:2.25rem; justify-content:center; padding:0; font-size:0 }
:root:has(.ke-kab,.ke-coding,[data-ke-3d]) .ke-var > a.ke-var-v[href*="n=1&"]::before{ content:"1"; font-size:.875rem }
:root:has(.ke-kab,.ke-coding,[data-ke-3d]) .ke-var > a.ke-var-v[href*="n=4&"]::before{ content:"4"; font-size:.875rem }
@media (max-width:40rem){ :root:has(.ke-kab) .ke-var{ bottom:calc(72px + .5rem) } }
/* Телефон: одна строка — подпись прячется (имя у меню остаётся в aria-label). */
@media (max-width:29.99rem){ .ke-var{ flex-wrap:nowrap; gap:.375rem } .ke-var-podpis{ display:none } .ke-var > a.ke-var-v{ padding-inline:.625rem } }
@media print{ .ke-var{ display:none } }

/* ═══ ОБЩЕЕ ДВУХ ВАРИАНТОВ: геометрия спецификации §2.1 ═══
   Углы: карточки-герои 28, карточки 20, плашки и поля 14; кнопки, метки, вкладки — капсулы 9999. */
:root:is([data-ke-var="1"],[data-ke-var="4"]){
  --ke-r-1:14px; --ke-r-2:20px; --ke-r-3:28px;
  --ke-ease:cubic-bezier(.22,1,.36,1); --ke-fast:.18s; --ke-base:.32s;
}
/* Фон — многослойные тёплые свечения варианта, один неподвижный слой (как в «Стекле»). */
:root:is([data-ke-var="1"],[data-ke-var="4"]) body::before{ background:var(--glass-bg) }
/* Шапка — плавающая капсула 64 px (§3.1 п.2); на телефоне строк две — угол 28. */
:root:is([data-ke-var="1"],[data-ke-var="4"]) body > header:is(.ke-wrap,.ke-head){ min-height:4rem; border-radius:var(--ke-r-3) }
@media (min-width:48rem){
  :root:is([data-ke-var="1"],[data-ke-var="4"]) body > header:is(.ke-wrap,.ke-head){ border-radius:9999px; padding-inline:var(--ke-s-5) }
}
@supports (corner-shape:squircle){
  @media (min-width:48rem){
    :root:is([data-ke-var="1"],[data-ke-var="4"]) body > header:is(.ke-wrap,.ke-head){ border-radius:9999px; corner-shape:round }
  }
}
/* Кнопки-капсулы: md 44 px по умолчанию, lg 54 px в первом экране и у главных призывов (§2.1). */
:root:is([data-ke-var="1"],[data-ke-var="4"]) .ke-btn{ border-radius:9999px; font-weight:600; letter-spacing:-.01em; transition:background-color var(--ke-fast) var(--ke-ease),border-color var(--ke-fast) var(--ke-ease),box-shadow var(--ke-fast) var(--ke-ease),transform var(--ke-fast) var(--ke-ease) }
:root:is([data-ke-var="1"],[data-ke-var="4"]) .ke-btn-solid{ box-shadow:var(--glass-btn-ten) }
:root:is([data-ke-var="1"],[data-ke-var="4"]) .ke-btn-solid:is(:hover,:focus-visible){ box-shadow:var(--glass-btn-ten-2) }
:root:is([data-ke-var="1"],[data-ke-var="4"]) :is(.ke-hero,.lp-geroy) .ke-btn{ min-height:3.375rem; padding-inline:2rem; font-size:1rem }
/* Меню разделов главной — стеклом варианта (структура и прилипание — в ui.css плагина). */
:root:is([data-ke-var="1"],[data-ke-var="4"]) .lp-menyu{ background:var(--glass-fill-2); border-color:var(--glass-edge) }
:root:is([data-ke-var="1"],[data-ke-var="4"]) .lp-menyu > a:not(.ke-btn):hover{ background:var(--glass-chip) }
@media (max-width:47.99rem){ :root:is([data-ke-var="1"],[data-ke-var="4"]) .lp-beydzh{ border-radius:var(--ke-r-2) } }
/* Поля ввода — угол 14 (§2.1 «инпуты, строки расписания»). */
:root:is([data-ke-var="1"],[data-ke-var="4"]) .ke-input{ border-radius:var(--ke-r-1) }
/* Метки и вкладки — капсулы; бейдж — градиент варианта. */
:root:is([data-ke-var="1"],[data-ke-var="4"]) :is(.ke-tag,.lp-tab,.lp-filtr label,.lp-tegi > *){ border-radius:9999px }
:root:is([data-ke-var="1"],[data-ke-var="4"]) .lp-beydzh{ background:var(--glass-badge); border-radius:9999px; color:var(--ke-ink) }
/* Карточки — тёплая тень варианта; горячая карточка — свечение варианта. */
:root:is([data-ke-var="1"],[data-ke-var="4"]) :is(.ke-card,.ke-panel,.ke-defs){ box-shadow:var(--glass-highlight), var(--ke-shadow-2) }
:root:is([data-ke-var="1"],[data-ke-var="4"]) .ke-card-hot{ background:var(--glass-card-glow) }
/* Кабинет красит свой слой литералами (`.ke-kab`): здесь только фон и чернила. */
:root:is([data-ke-var="1"],[data-ke-var="4"]) .ke-kab{ background:var(--glass-bg); color:var(--ke-ink) }

/* Роли вариантов — только на экране и без «больше контраста»: там действует запасной вид темы. */
@media screen and (prefers-contrast:no-preference){
/* ═══ 1. GOLDEN HONEY & AMBER GLOW (data-theme="golden-honey") ═══
   Чернила и действие углублены до AA там, где цвет спецификации текстом не читается:
   приглушённый #8C735B → #6B5442 (4,5+ к холсту), действие текстом #D97706 → #B45309. */
:root[data-ke-var="1"]{
  --ke-canvas:#FDF8EE; --ke-surface:#FFFDF8; --ke-surface-2:#F7EBD4; --ke-overlay:#FFFFFF;
  --ke-ink:#261C14; --ke-ink-2:#5C4738; --ke-ink-3:#6B5442; --ke-ink-accent:#FFFFFF;
  --ke-rule:#EEDFC5; --ke-rule-2:#9C8163;
  --ke-accent:#B45309; --ke-accent-2:#9A3412; --ke-accent-soft:#FEF3C7; --ke-focus:#B45309;
  --ke-hover-veil:rgb(217 119 6 / .08); --ke-press-veil:rgb(146 64 14 / .10);
  --ke-shadow-1:0 1px 2px rgb(146 64 14 / .08);
  --ke-shadow-2:0 18px 42px -12px rgb(146 64 14 / .11), 0 2px 6px rgb(146 64 14 / .05);
  --glass-fill:#FFFDF8E6; --glass-fill-dense:#FFFDF8E6; --glass-fill-2:#FFFBF0E0; --glass-nested:#FFFFFFCC;
  --glass-field:#FFFFFFF2; --glass-solid:#FFFDF8;
  --glass-edge:#B4530921; --glass-seam:#B4530914; --glass-chip:#B453090F; --glass-chip-edge:#B4530926;
  --glass-hot:#FEF3C7E0; --glass-hot-edge:#D9770673; --glass-hot-solid:#FEF3C7;
  --glass-shade:#92400E40; --glass-shade-2:#92400E0D; --glass-rim-shade:#B453091F; --glass-depth:#B4530912;
  --glass-veil:#FDF8EEF2; --glass-underline:#D97706; --glass-btn-edge:#B4530938;
  --glass-step-from:#FBBF2433; --glass-step-to:#EA580C1F;
  --glass-btn:linear-gradient(135deg,#F08C0A 0%,#E2580C 48%,#C2410C 100%);
  --glass-btn-ten:inset 0 1px 0 #ffffff59, 0 12px 26px -6px rgb(234 88 12 / .38);
  --glass-btn-ten-2:inset 0 1px 0 #ffffff59, 0 16px 32px -6px rgb(234 88 12 / .48);
  --glass-badge:linear-gradient(90deg,#FDE68A 0%,#FED7AA 100%);
  --glass-card-glow:linear-gradient(135deg,#FEF3C7E0 0%,#FFEDD5B8 100%);
  --glass-bg:
    radial-gradient(circle at 8% 12%, rgb(251 191 36 / .30) 0%, transparent 42%),
    radial-gradient(circle at 92% 18%, rgb(251 146 60 / .22) 0%, transparent 46%),
    radial-gradient(circle at 50% 55%, rgb(254 240 138 / .32) 0%, transparent 55%),
    radial-gradient(circle at 15% 88%, rgb(245 158 11 / .18) 0%, transparent 45%),
    linear-gradient(180deg, #FFFDF7 0%, #FDF6E7 50%, #FBF0D9 100%);
}
:root[data-ke-var="1"] [data-ke-lens]{ background:radial-gradient(circle at 15% 20%, rgb(251 191 36 / .35) 0%, transparent 48%), radial-gradient(circle at 85% 25%, rgb(249 115 22 / .22) 0%, transparent 52%), linear-gradient(135deg, #FFFBEBE6 0%, #FEF3C7E6 55%, #FFEDD5E6 100%) }

/* ═══ 4. ORIGINAL LITTLEPRO CLASSIC (data-theme="classic-original") — «как было раньше» ═══
   Кремовый #FAF7F2 в инженерную клетку 28 px #EAE8E3, жёлтое свечение слева, розово-персиковое справа,
   красные капсулы #D61E00 и ярко-жёлтые плашки #FFF748. */
:root[data-ke-var="4"]{
  --ke-canvas:#FAF7F2; --ke-surface:#FFFFFF; --ke-surface-2:#F5F0E6; --ke-overlay:#FFFFFF;
  --ke-ink:#141413; --ke-ink-2:#3E3C38; --ke-ink-3:#57534D; --ke-ink-accent:#FFFFFF;
  --ke-rule:#E5E0D6; --ke-rule-2:#8C8780;
  --ke-accent:#D61E00; --ke-accent-2:#8A6A00; --ke-accent-soft:#FFF9AE; --ke-focus:#D61E00;
  --ke-hover-veil:rgb(214 30 0 / .06); --ke-press-veil:rgb(20 20 19 / .10);
  --ke-shadow-1:0 1px 2px rgb(20 20 19 / .08);
  --ke-shadow-2:0 14px 34px -10px rgb(20 20 19 / .08), 0 2px 6px rgb(20 20 19 / .04);
  --glass-fill:#FFFFFFF2; --glass-fill-dense:#FFFFFFF2; --glass-fill-2:#FFFDF9EB; --glass-nested:#FFFFFFD9;
  --glass-field:#FFFFFF; --glass-solid:#FFFFFF;
  --glass-edge:#1414131A; --glass-seam:#14141312; --glass-chip:#1414130D; --glass-chip-edge:#14141324;
  --glass-hot:#FFF748; --glass-hot-edge:#E6D800; --glass-hot-solid:#FFF748;
  --glass-shade:#14141333; --glass-shade-2:#1414130A;
  --glass-veil:#FAF7F2F2; --glass-underline:#D61E00; --glass-btn-edge:#14141329;
  --glass-step-from:#FBEA9C55; --glass-step-to:#F8C7BC40;
  --glass-btn:linear-gradient(135deg,#E62E00 0%,#D61E00 60%,#B81800 100%);
  --glass-btn-ten:inset 0 1px 0 #ffffff40, 0 10px 22px -6px rgb(214 30 0 / .38);
  --glass-btn-ten-2:inset 0 1px 0 #ffffff40, 0 14px 28px -6px rgb(214 30 0 / .48);
  --glass-badge:linear-gradient(90deg,#FFFF49 0%,#FBEA9C 100%);
  --glass-card-glow:linear-gradient(135deg,#FFF9AE 0%,#FFF275 55%,#FFE863 100%);
  --glass-bg:
    radial-gradient(circle at 8% 12%, rgb(251 234 156 / .82) 0%, transparent 38%),
    radial-gradient(circle at 95% 24%, rgb(248 199 188 / .72) 0%, transparent 40%),
    radial-gradient(circle at 42% 88%, rgb(250 239 194 / .78) 0%, transparent 45%),
    linear-gradient(to right, rgb(224 219 209 / .55) 1px, transparent 1px) 0 0 / 28px 28px,
    linear-gradient(to bottom, rgb(224 219 209 / .55) 1px, transparent 1px) 0 0 / 28px 28px,
    #FAF7F2;
}
:root[data-ke-var="4"] [data-ke-lens]{ background:radial-gradient(circle at 12% 18%, rgb(251 234 156 / .65) 0%, transparent 48%), radial-gradient(circle at 88% 30%, rgb(248 199 188 / .55) 0%, transparent 50%), linear-gradient(180deg, rgb(255 255 255 / .92) 0%, rgb(250 247 242 / .94) 100%) }

}

/* ═══ ЗАПАСНЫЕ РЕЖИМЫ ═══ */
@media (prefers-reduced-transparency:reduce){
  :root:is([data-ke-var="1"],[data-ke-var="4"]){ --glass-fill:var(--glass-solid); --glass-fill-dense:var(--glass-solid); --glass-fill-2:var(--glass-solid); --glass-hot:var(--glass-hot-solid) }
}
@media (prefers-reduced-motion:reduce){
  :root:is([data-ke-var="1"],[data-ke-var="4"]) .ke-btn{ transition:none }
}
@media (forced-colors:active){
  .ke-var > a.ke-var-v[aria-current]{ forced-color-adjust:auto; border:2px solid CanvasText }
}

/* Регистрация (§5.1): блок ФИО — отдельной карточкой с подписью. */
:root:is([data-ke-var="1"],[data-ke-var="4"]) fieldset.ke-fio{ margin:0; padding:var(--ke-s-4); border:1px solid var(--ke-rule); border-radius:var(--ke-r-2); background:var(--ke-surface-2) }
:root:is([data-ke-var="1"],[data-ke-var="4"]) fieldset.ke-fio > legend{ padding-inline:var(--ke-s-2) }
