/* FROST 5: общий стиль семьи (LIFE AI, HR Landing, Smart Home). Обе концепции берут только эти токены.
   Лестницы подобраны замером по скиллу ui-contrast: тёмная ΔL* ≥ 9 между уровнями, светлая ≥ 4 плюс тень. */
:root{
  --bg:#07080C; --p1:#1B1F28; --p2:#2D323E; --p3:#414756;
  --edge:rgba(255,255,255,.14); --edge2:rgba(255,255,255,.26);
  --fg:#EEF2F7; --mu:#B3BCC9; --fa:#9AA3B2;
  /* лёд — FROST и живое; жёлтый — деньги и одно главное действие; зелёный — сделано; малиновый — тревога */
  --ice:#7FE3FF; --ice-ink:#04151C; --ice-t:#7FE3FF; --ice-soft:rgba(127,227,255,.14);
  --volt:#FCEE0A; --volt-ink:#141300; --volt-t:#FCEE0A; --volt-soft:rgba(252,238,10,.13);
  --gr:#2EE6A0; --gr-soft:rgba(46,230,160,.13); --pk:#FF6B96; --pk-soft:rgba(255,107,150,.14); --or:#FFA53A;
  --seg-off:#414756; --shade:rgba(0,0,0,.55); --scrim:rgba(7,8,12,.86);
  --disp:"Exo 2","Segoe UI",sans-serif; --f:"Manrope","Segoe UI",system-ui,sans-serif; --mono:"JetBrains Mono",Consolas,monospace;
  --r1:16px; --r2:12px; --r3:9px;
  --metal:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,0) 38%);
  --sh:0 1px 0 rgba(255,255,255,.07) inset,0 18px 40px -22px rgba(0,0,0,.8);
  --ease:cubic-bezier(.2,.9,.2,1); --t1:120ms; --t2:260ms; --t3:420ms;
  color-scheme:only dark;
}
/* Светлая — отдельная работа, не инверсия: бумага и тень; жёлтый в ней только заливкой с тёмным текстом */
html.light{
  --bg:#DFE4EB; --p1:#FFFFFF; --p2:#F0F2F6; --p3:#E2E6EC;
  --edge:rgba(14,19,32,.13); --edge2:rgba(14,19,32,.24);
  --fg:#0E1320; --mu:#3F4A5D; --fa:#535D70;
  --ice:#06699A; --ice-ink:#FFFFFF; --ice-t:#055A85; --ice-soft:rgba(6,105,154,.10);
  --volt:#FCEE0A; --volt-ink:#141300; --volt-t:#7A5200; --volt-soft:rgba(252,238,10,.38);
  --gr:#08623C; --gr-soft:rgba(10,112,69,.11); --pk:#B8234F; --pk-soft:rgba(184,35,79,.10); --or:#8A5A00;
  --seg-off:#C3CAD4; --shade:rgba(30,40,70,.22); --scrim:rgba(223,228,235,.9);
  --metal:linear-gradient(180deg,rgba(255,255,255,.7),rgba(255,255,255,0) 40%);
  --sh:0 1px 2px rgba(20,30,60,.08),0 14px 30px -18px rgba(20,30,60,.30);
  /* «only» запрещает браузеру перекрашивать светлую тему (Opera «тёмная тема для страниц», Chrome auto dark) */
  color-scheme:only light;
}
*{box-sizing:border-box;scrollbar-width:none} *::-webkit-scrollbar{display:none}
html,body{margin:0;background:var(--bg);color:var(--fg);font:500 14px/1.45 var(--f);-webkit-font-smoothing:antialiased}
body{background:radial-gradient(900px 600px at 0% -10%,var(--ice-soft),transparent 60%),var(--bg);transition:background-color var(--t2),color var(--t2)}
.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}
.disp{font-family:var(--disp);font-weight:800;font-style:italic;letter-spacing:-.01em;text-transform:uppercase}
/* подпись блока — обычным текстом: моно-капс с разрядкой над каждым блоком читается как шаблон */
.lb{font:700 12px/1.3 var(--f);letter-spacing:0;text-transform:none;color:var(--mu)}
.mu{color:var(--mu)} .fa{color:var(--fa)}
.panel{background:var(--metal),var(--p1);border:1px solid var(--edge);border-radius:var(--r1);box-shadow:var(--sh)}
.sunk{background:var(--p2);border-radius:var(--r2)}
.raise{background:var(--p3);border-radius:var(--r2)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:36px;padding:0 14px;border-radius:var(--r2);border:1px solid var(--edge2);background:var(--p2);color:var(--fg);font:700 13px/1 var(--f);white-space:nowrap;cursor:pointer;transition:transform var(--t1) var(--ease),filter var(--t1),background-color var(--t1)}
/* Наведение действует только там, где указатель умеет наводиться. На телефоне наведения нет: браузер
   вешает :hover после КАСАНИЯ и держит, пока не тапнешь в другое место — кнопка остаётся подсвеченной,
   стрелка уехавшей. Владелец 28.10: «интерфейсы кнопки все былмает». */
@media (hover:hover){.btn:hover{filter:brightness(1.08)}}
.btn:active{transform:scale(.985)}
.btn:focus-visible,.sh-tab:focus-visible{outline:2px solid var(--ice);outline-offset:2px}
.btn.pri{background:var(--volt);color:var(--volt-ink);border-color:transparent}
.btn.ice{background:var(--ice);color:var(--ice-ink);border-color:transparent}
.btn.gh{background:transparent}
.tag{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:6px;font:700 11.5px/1 var(--f);background:var(--p3);color:var(--fg);white-space:nowrap}
.tag.ok{background:var(--gr-soft);color:var(--gr)} .tag.warn{background:var(--volt);color:var(--volt-ink)} .tag.crit{background:var(--pk-soft);color:var(--pk)} .tag.ice{background:var(--ice-soft);color:var(--ice-t)}
.dot{width:8px;height:8px;border-radius:2px;background:var(--fa);flex:none} .dot.ok{background:var(--gr)} .dot.warn{background:var(--volt);box-shadow:0 0 0 1px var(--edge2)} .dot.crit{background:var(--pk)} .dot.ice{background:var(--ice)}
.batt{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:3px;height:8px}
.batt i{border-radius:2px;background:var(--seg-off)} .batt i.on{background:var(--ice)} .batt.money i.on{background:var(--volt);box-shadow:inset 0 0 0 1px var(--edge)}
.row{display:flex;align-items:center;gap:10px;min-width:0}
.ell{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
@media (prefers-reduced-motion:reduce){:root{--t2:200ms;--t3:260ms}}
.sh-top{background:var(--scrim)!important}
.lb::first-letter{text-transform:uppercase}

/* Сенсорные экраны любой ширины (планшет, телефон боком): кнопки не ниже 44px. Телефон стоймя уже так живёт (правила ≤600px в страницах),
   поэтому там ничего не меняется; мышь (pointer:fine) остаётся с плотными 36px. Проверено матрицей экранов 09.10 (docs/frost5/RESPONSIVE.md). */
@media (pointer:coarse){ .btn, .ibtn { min-height: 44px; } .ibtn { min-width: 44px; } }

/* Шапка на ВСЕХ страницах и ширинах: только знак, одна страница («Кабинет» / «На сайт») и «Меню» (слово владельца 09.10). Язык и тема живут в маленькой
   панели «Меню» (menu5.js), разделы главной и «⋯» кабинета тоже убраны из шапки. Разметка переключателей остаётся в страницах — ссылки языков
   нужны поиску, а скрипты привязаны к кнопке темы, — поэтому они скрыты стилем, а не вырезаны. */
.top .links, .top .langs:not(.langs-m), .top .lang1, .cabtop .langs:not(.langs-m), .cabtop .lang1, #theme, #themeBtn,
.cabtop .prj, header.top > .pg, header.top > #cnt { display: none !important; }
