/* Цифровой двойник · единая тема. Источник — родная карта и шапка сайта (map.css, app.css).
   Все модули (оболочка, баланс, программы, калькулятор СЛД) берут цвета, шрифты, рамки и радиусы
   только отсюда. Шрифты — Manrope (текст) и Unbounded (марка), как на сайте. */
:root{
  /* фон */
  --tw-void:#050a12;            /* самый глубокий фон (карта, html) */
  --tw-bg:#080f1d;              /* фон панелей вкладок */
  --tw-bg-grad:radial-gradient(ellipse at top right,#12283f 0,transparent 55%),#080f1d;
  --tw-bar:#091323;             /* навигация, верхняя панель */
  --tw-panel:rgba(13,27,44,.95);/* карточки (.record-card) */
  --tw-panel-solid:#0d1b2c;
  --tw-panel-2:#0b1726;         /* таблицы, вложенные блоки */
  --tw-panel-3:#102138;         /* заголовки таблиц, активные строки */
  --tw-field:#0a1728;           /* поля ввода */
  --tw-field-2:#081526;
  --tw-glass:rgba(10,18,32,.72);
  --tw-glass-edge:rgba(140,190,230,.28);
  /* линии и рамки — везде 1px */
  --tw-line:#2b425a;            /* рамка карточек */
  --tw-line-2:#29415b;          /* рамка кнопок-переключателей, полей */
  --tw-line-3:#203249;          /* разделители строк таблиц */
  --tw-line-field:rgba(100,160,210,.35);
  --tw-line-focus:rgba(120,210,255,.7);
  /* текст */
  --tw-text:#e6eef8;
  --tw-text-strong:#eef6ff;
  --tw-muted:#9bb4cc;
  --tw-muted-2:#8da9c0;         /* подписи dt, легенды */
  --tw-label:rgba(150,185,215,.85);/* UPPERCASE-подписи полей */
  /* акценты */
  --tw-gold:#ffc440;            /* активная вкладка, подчёркивание */
  --tw-gold-soft:#e7c36d;       /* кнопка primary, заголовки карточек #f1ddb0 */
  --tw-gold-ink:#f5d78e;        /* текст активного переключателя */
  --tw-gold-edge:#b08e47;       /* рамка активного переключателя */
  --tw-gold-fill:#302919;       /* заливка активного переключателя */
  --tw-cyan:#a0e6ff;            /* ссылки, текстовые кнопки, фокус */
  --tw-cyan-dim:rgba(120,180,210,.28);
  --tw-accent:#5ec8ff;
  --tw-chip:#122e43; --tw-chip-ink:#a2e1f5;
  /* семантика состояния (загрузка зданий) */
  --tw-ok:#4fd18b; --tw-warn:#f2c94c; --tw-high:#f2994a; --tw-over:#ff6b6b; --tw-none:#7d8b99;
  --tw-danger:#ffb9aa;
  /* 2.2.14: текст на акцентной кнопке и мягкие заливки статусов (tools/theme_tokens.js переводит на них прежние цвета) */
  --tw-on-accent:#171c24; --tw-ok-fill:#1f4a35; --tw-over-fill:#3d1c24; --tw-warn-fill:#3a3218;
  --tw-violet:#cdb6f7; --tw-violet-line:#a293ec; --tw-violet-fill:#4a2f5c;   /* НР, ВД, правки пользователя */
  /* тяга */
  --tw-diesel:#ff5a4f; --tw-electric:#4c9bff;
  /* форма */
  --tw-radius:12px;             /* карточки */
  --tw-radius-sm:8px;           /* кнопки, поля */
  --tw-radius-xs:5px;           /* чипы */
  --tw-shadow:0 5px 30px #0006;
  --tw-font:Manrope,system-ui,-apple-system,"Segoe UI",sans-serif;
  --tw-font-display:Unbounded,Manrope,system-ui,sans-serif;
  --tw-fs:13px; --tw-fs-sm:12px; --tw-fs-xs:11px; --tw-fs-h1:22px; --tw-fs-h2:15px;
  color-scheme:dark;
}
/* ===== Стили: реестр — web/assets/theme-init.js (владелец 06.11.2026: Приборы, Обсидиан, Бумага, Неон). По умолчанию Приборы.
   У стиля один выстроенный набор: цвета, материал (--gl-*), геометрия (--rad-*, --edge) и свечение (--glow-*). Экраны берут только токены, поэтому стиль доходит до всех вкладок, окон и графиков.
   html[data-scheme="dark"] — общая основа тёмных стилей, html[data-scheme="light"] — основа светлого; стиль переопределяет только своё.
   Навигация и раскладка одни во всех стилях: меняется материал, а не устройство экрана.
   Обложка --map-image лежит под всеми вкладками. ===== */
html[data-theme]{
  --rad-shell:0px; --rad-lg:4px; --rad-md:3px; --rad-sm:2px; --rad-pill:3px;   /* панели, карточки, поля, мелочи, кнопки */
  --tw-radius:var(--rad-lg); --tw-radius-sm:var(--rad-md); --tw-radius-xs:var(--rad-sm);
  --edge:0px;                                                                   /* зазор панелей от края окна: 0 — вплотную */
  --ring-w:4px; --w-num:300;                                                    /* толщина колец, насыщенность крупных цифр */
  --glow-num:none; --glow-text:none; --glow-dot:0 0 #0000; --glow-bar:0 0 #0000;
  --sh-bar:color-mix(in srgb,var(--tw-gold) 62%,transparent);
  --btn-sh:0 0 #0000; --rail-glow:none; --sheet-bg:var(--tw-bg);
  --void:var(--tw-void);                                                        /* фон под страницами без общей оболочки: вход, настройка */
  --scrim:color-mix(in srgb,var(--tw-void) 70%,transparent);                    /* затемнение под диалогом: страница видна, но отступает */
}
html[data-scheme="dark"]{
  --sh-ink:rgba(0,0,0,.5);   /* цвет тени всплывающих окон и шторок */
  --ease-slide:cubic-bezier(.2,.8,.2,1); --t-slide:.3s; --glint:color-mix(in srgb,var(--tw-gold) 9%,transparent);   /* бегунок переключателей и свет за курсором */
  --flow-ink:rgba(255,255,255,.55);   /* бегущие точки на потоках карты */
  --map-sea:var(--tw-void);           /* цвет моря подложки: виден только на узких экранах, где подложка меньше места */
  --rail-pulse:none;                  /* огонёк по рельсам: inline — включён */
  --tw-bg-grad:var(--gl-fill);
  --tw-gold-soft:#e7c36d; --tw-gold-edge:#b08e47;
  --tw-accent:#5ec8ff; --tw-chip:rgba(150,190,235,.1); --tw-chip-ink:#c4d6e8;
  --tw-ok:#4fd6a0; --tw-warn:#f2c94c; --tw-high:#f7a35a; --tw-over:#ff7b7b; --tw-none:#93a2b1; --tw-danger:#ffb9aa;
  --map-arrow-other:#ff9a8a;
  --tw-on-accent:#171c24; --tw-ok-fill:rgba(79,209,139,.16); --tw-over-fill:rgba(255,107,107,.16); --tw-warn-fill:rgba(242,201,76,.16);
  --tw-violet:#cdb6f7; --tw-violet-line:#a293ec; --tw-violet-fill:rgba(162,147,236,.18);
  --tw-diesel:#ff7a6f; --tw-electric:#6fb0ff;
  --tw-font:Onest,system-ui,-apple-system,"Segoe UI",sans-serif; --tw-font-display:Onest,system-ui,-apple-system,"Segoe UI",sans-serif;
  --on-acc:#171c24; --acc-shadow:rgba(0,0,0,.4);
  --lk-1:#7fd3c7; --lk-2:#f29e8e; --lk-3:#b4a6f0; --lk-4:#9fd37f; --lk-5:#f0b4dd; --lk-6:#8ec5ff; --lk-7:#e3c26b; --lk-tr-0:#ff6f91; --lk-tr-1:#ff9671; --lk-tr-2:#ff5d8f; --lk-tr-3:#ffa28a; --lk-ink:#091824;
  --an-blue:#6fa8ff; --an-red:#ff7b74; --an-green:#3ecf7a; --an-gold:#eac16c; --an-grey:#93a2b1; --an-sky:#71ccf5; --an-steel:#a0b2c8; --an-cyan:#38bdf8; --an-violet:#a78bfa; --an-orange:#fb923c;
  color-scheme:dark;
}
/* Бумага: тушь по бумаге, тонкие линейки, строгие углы */
html[data-scheme="light"]{
  --map-image:url("/assets/map-paper.svg");
  --tw-void:#D9D3C6; --tw-bg:#EFEBE3; --tw-bg-grad:var(--gl-fill);
  --tw-bar:#F2EEE6; --tw-panel:#F8F5EF; --tw-panel-solid:#F8F5EF; --tw-panel-2:#F5F1EA; --tw-panel-3:rgba(164,86,30,.08); --tw-dense:rgba(250,247,241,.92);
  --tw-field:#FBF9F4; --tw-field-2:#F8F5EF; --tw-glass:rgba(245,242,235,.92); --tw-glass-edge:rgba(40,32,20,.2);
  --tw-line:rgba(40,32,20,.24); --tw-line-2:rgba(40,32,20,.2); --tw-line-3:rgba(40,32,20,.13); --tw-line-field:rgba(40,32,20,.3); --tw-line-focus:rgba(164,86,30,.6);
  --tw-text:#26211A; --tw-text-strong:#17140F; --tw-muted:#524C42; --tw-muted-2:#5A5348; --tw-label:#5A5348;
  --tw-gold:#A4561E; --tw-gold-soft:#A4561E; --tw-gold-ink:#7A3F12; --tw-gold-edge:rgba(164,86,30,.45); --tw-gold-fill:rgba(164,86,30,.1);
  --tw-cyan:#7A3F12; --tw-cyan-dim:rgba(164,86,30,.2); --tw-accent:#A4561E; --tw-chip:rgba(40,32,20,.07); --tw-chip-ink:#524C42;
  --tw-ok:#17704C; --tw-warn:#735300; --tw-high:#93440F; --tw-over:#AE2A22; --tw-none:#57616B; --tw-danger:#96301F;
  --map-arrow-other:#C9776A;
  --tw-on-accent:#fff; --tw-ok-fill:rgba(23,112,76,.1); --tw-over-fill:rgba(174,42,34,.1); --tw-warn-fill:rgba(115,83,0,.12);
  --tw-violet:#5E45B0; --tw-violet-line:#7B62D0; --tw-violet-fill:rgba(123,98,208,.12);
  --tw-diesel:#A83322; --tw-electric:#22609F;
  --tw-shadow:0 0 0 1px rgba(40,32,20,.16);
  --tw-font:Onest,system-ui,-apple-system,"Segoe UI",sans-serif; --tw-font-display:Onest,system-ui,-apple-system,"Segoe UI",sans-serif;
  --gl-fill:rgba(245,242,235,.94); --gl-fill-2:rgba(255,253,248,.62);
  --gl-blur:blur(14px);
  --gl-in:0 0 0 1px rgba(40,32,20,.16); --gl-sh:0 0 #0000;
  --sh-ink:rgba(70,50,25,.18);
  --ease-slide:cubic-bezier(.4,0,.2,1); --t-slide:.26s; --glint:color-mix(in srgb,var(--tw-gold) 6%,transparent);
  --flow-ink:rgba(255,255,255,.85); --map-sea:#EFEBE3; --rail-pulse:none;
  --gl-rim:none; --gl-sheen:none;
  --gl-lens-sh:inset 0 0 0 1px rgba(40,32,20,.13);
  --gl-seg:transparent; --gl-on:transparent; --gl-on-sh:inset 0 -2px 0 #A4561E;
  --phase-bg:transparent; --phase-ink:#17140F; --phase-sh:inset 0 -2px 0 #A4561E;
  --acc-grad:linear-gradient(#A4561E,#A4561E); --on-acc:#fff; --acc-shadow:rgba(40,32,20,0);
  --map-rail:rgba(60,50,35,.36); --flow-own:#A4561E; --map-rail-hi:#17140F; --map-rail-casing:#F5F1EA; --map-pt:#524C42; --map-pt-edge:#6F675B; --map-plant:#A4561E; --map-halo:rgba(245,242,235,.9); --map-label:#524C42; --map-flab:#6A635B;
  --logo-grad:radial-gradient(circle at 32% 25%,#7A726A,#3E3934 55%,#24211E); --logo-accent:#D9A06C;
  --lk-1:#0F7068; --lk-2:#B1442C; --lk-3:#5843B4; --lk-4:#3B741C; --lk-5:#A32F79; --lk-6:#1D5EAE; --lk-7:#7A5E00; --lk-tr-0:#BC2349; --lk-tr-1:#AD461C; --lk-tr-2:#B82760; --lk-tr-3:#A4402B; --lk-ink:#FFFFFF;
  --an-blue:#1D5EAE; --an-red:#A62B37; --an-green:#186B43; --an-gold:#7A5E00; --an-grey:#57616B; --an-sky:#0E7A96; --an-steel:#47525E; --an-cyan:#0B7CA8; --an-violet:#5843B4; --an-orange:#93440F;
  color-scheme:light;
}
/* один шрифт во всех кадрах: Onest (владелец 24.10.2026: «везде одинаковые стили текста») */
html[data-theme] body, html[data-theme] body *{font-family:var(--tw-font) !important}
html[data-theme] body{-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums}
/* поля и раскрывающиеся списки — в цвет темы (в старых стилях у них прописана тёмная схема) */
html[data-scheme="light"] :is(select,input,textarea){color-scheme:light!important}
html[data-scheme="dark"] :is(select,input,textarea){color-scheme:dark!important}
/* Приборы: панель самолёта, тонкие линии и риски, янтарный акцент, панели вплотную к краю */
html[data-theme="pribor"]{
  --map-image:url("/assets/map-pribor.svg");
  --tw-void:#060A11; --tw-bg:#0A0F17;
  --tw-bar:#080D15; --tw-panel:#0D141E; --tw-panel-solid:#0C131C; --tw-panel-2:#0A1018; --tw-panel-3:#121B28; --tw-dense:rgba(9,14,22,.9);
  --tw-field:#0B1119; --tw-field-2:#090E15; --tw-glass:rgba(8,13,21,.9); --tw-glass-edge:rgba(150,185,225,.26);
  --tw-line:rgba(150,185,225,.26); --tw-line-2:rgba(150,185,225,.2); --tw-line-3:rgba(150,185,225,.13); --tw-line-field:rgba(150,185,225,.3); --tw-line-focus:rgba(255,196,64,.6);
  --tw-text:#E4EBF3; --tw-text-strong:#F2F6FB; --tw-muted:#A7B6C8; --tw-muted-2:#9AABBF; --tw-label:#A7B6C8;
  --tw-gold:#FFC440; --tw-gold-ink:#FFD777; --tw-gold-fill:rgba(255,196,64,.12);
  --tw-cyan:#A9D6FF; --tw-cyan-dim:rgba(120,180,210,.28);
  --tw-shadow:0 0 0 1px rgba(150,185,225,.14);
  --gl-fill:rgba(8,13,21,.88); --gl-fill-2:rgba(150,190,235,.045);
  --gl-blur:blur(18px) saturate(1.2);
  --gl-in:0 0 0 1px rgba(150,185,225,.14); --gl-sh:0 0 #0000;
  --gl-rim:none; --gl-sheen:none;
  --gl-lens-sh:inset 0 0 0 1px rgba(150,185,225,.13);
  --gl-seg:transparent; --gl-on:transparent; --gl-on-sh:inset 0 -2px 0 #FFC440;
  --phase-bg:transparent; --phase-ink:#F2F6FB; --phase-sh:inset 0 -2px 0 #FFC440;
  --acc-grad:linear-gradient(#FFC440,#FFC440);
  --map-rail:rgba(165,200,240,.42); --flow-own:#FFC440; --map-rail-hi:#DCEBFA; --map-rail-casing:#0A1018; --map-pt:#C8D6E5; --map-pt-edge:#5F7186; --map-plant:#FFC440; --map-halo:rgba(6,10,17,.85); --map-label:#C8D6E5; --map-flab:#9AABBF;
  --logo-grad:radial-gradient(circle at 32% 25%,#3A4A5E,#1A2533 55%,#0C131C); --logo-accent:#FFC440;
}
/* Обсидиан: чёрное стекло, панели парят над картой, цифры с холодным отливом */
html[data-theme="obsidian"]{
  --ease-slide:cubic-bezier(.3,1.35,.45,1); --t-slide:.42s; --glint:rgba(255,255,255,.07);
  --map-image:url("/assets/map-obsidian.svg");
  --rad-shell:14px; --rad-lg:12px; --rad-md:10px; --rad-sm:8px; --rad-pill:10px; --edge:10px; --ring-w:5px; --w-num:300;
  --tw-void:#030304; --tw-bg:#0A0A0C;
  --tw-bar:#0B0B0D; --tw-panel:#141418; --tw-panel-solid:#131316; --tw-panel-2:#0F0F12; --tw-panel-3:#1C1C21; --tw-dense:rgba(14,14,17,.86);
  --tw-field:#101013; --tw-field-2:#0D0D10; --tw-glass:rgba(16,16,19,.72); --tw-glass-edge:rgba(255,255,255,.2);
  --tw-line:rgba(255,255,255,.2); --tw-line-2:rgba(255,255,255,.16); --tw-line-3:rgba(255,255,255,.09); --tw-line-field:rgba(255,255,255,.22); --tw-line-focus:rgba(255,255,255,.55);
  --tw-text:#E9E9EC; --tw-text-strong:#F8F8F9; --tw-muted:#B4B4BB; --tw-muted-2:#A7A7AF; --tw-label:#B4B4BB;
  --tw-gold:#FFC440; --tw-gold-ink:#FFD777; --tw-gold-fill:rgba(255,196,64,.12);
  --tw-cyan:#E4E4EA; --tw-cyan-dim:rgba(255,255,255,.18);
  --tw-shadow:0 18px 60px rgba(0,0,0,.6);
  --sheet-bg:rgba(14,14,17,.74); --btn-sh:inset 0 1px 0 rgba(255,255,255,.3);
  --gl-fill:rgba(16,16,19,.62); --gl-fill-2:rgba(255,255,255,.045);
  --gl-blur:blur(34px) saturate(1.6);
  --gl-in:inset 0 1px 0 rgba(255,255,255,.12),0 0 0 1px rgba(255,255,255,.12); --gl-sh:0 18px 60px rgba(0,0,0,.6);
  --gl-rim:none; --gl-sheen:none;
  --gl-lens-sh:inset 0 0 0 1px rgba(255,255,255,.08),inset 0 1px 0 rgba(255,255,255,.06);
  --gl-seg:rgba(255,255,255,.055); --gl-on:rgba(255,255,255,.12); --gl-on-sh:inset 0 1px 0 rgba(255,255,255,.14);
  --phase-bg:rgba(255,255,255,.14); --phase-ink:#F8F8F9; --phase-sh:inset 0 1px 0 rgba(255,255,255,.16);
  --acc-grad:linear-gradient(170deg,#FFD777,#FFC440 55%,#E9A92A);
  --glow-dot:0 0 22px 2px currentColor;
  --map-rail:rgba(255,255,255,.26); --flow-own:#FFC440; --map-rail-hi:#F4F4F6; --map-rail-casing:#0F0F12; --map-pt:#C7C7CE; --map-pt-edge:#6E6E78; --map-plant:#FFC440; --map-halo:rgba(3,3,4,.85); --map-label:#D2D2D8; --map-flab:#A7A7AF;
  --logo-grad:radial-gradient(circle at 32% 25%,#4A4A52,#1F1F24 55%,#0B0B0D); --logo-accent:#FFC440;
}
/* Неон: ночная синь, рельеф с границами регионов, светящиеся линии и цифры */
html[data-theme="neon"]{
  --ease-slide:cubic-bezier(.3,1.35,.45,1); --t-slide:.38s; --glint:color-mix(in srgb,var(--tw-gold) 16%,transparent);
  --flow-ink:rgba(207,247,255,.85); --map-sea:#081224; --rail-pulse:inline;
  --map-image:url("/assets/map-neon.svg");
  --rad-shell:0px; --rad-lg:8px; --rad-md:6px; --rad-sm:4px; --rad-pill:6px; --ring-w:5px;
  --tw-void:#030814; --tw-bg:#061024;
  --tw-bar:#050D1E; --tw-panel:#0A1730; --tw-panel-solid:#091529; --tw-panel-2:#071122; --tw-panel-3:#0E1F3C; --tw-dense:rgba(6,14,32,.86);
  --tw-field:#081328; --tw-field-2:#060F20; --tw-glass:rgba(5,13,30,.84); --tw-glass-edge:rgba(63,224,255,.4);
  --tw-line:rgba(63,224,255,.4); --tw-line-2:rgba(63,224,255,.3); --tw-line-3:rgba(63,224,255,.18); --tw-line-field:rgba(63,224,255,.4); --tw-line-focus:rgba(63,224,255,.8);
  --tw-text:#E2F2FF; --tw-text-strong:#F0FAFF; --tw-muted:#A9C8E0; --tw-muted-2:#9FC0D9; --tw-label:#A9C8E0;
  --tw-gold:#3FE0FF; --tw-gold-soft:#7BEAFF; --tw-gold-ink:#8FEDFF; --tw-gold-edge:rgba(63,224,255,.55); --tw-gold-fill:rgba(63,224,255,.13);
  --tw-cyan:#8FEDFF; --tw-cyan-dim:rgba(63,224,255,.25); --tw-chip:rgba(63,224,255,.1); --tw-chip-ink:#A9E6F5;
  --tw-ok:#2CF5B0; --tw-warn:#FFD24A; --tw-high:#FFA552; --tw-over:#FF7096;
  --tw-shadow:0 0 34px rgba(63,224,255,.08);
  --sheet-bg:rgba(5,13,30,.93); --btn-sh:0 0 16px rgba(63,224,255,.45); --rail-glow:drop-shadow(0 0 3px rgba(63,224,255,.9));
  --gl-fill:rgba(5,13,30,.82); --gl-fill-2:rgba(63,224,255,.05);
  --gl-blur:blur(16px) saturate(1.5);
  --gl-in:0 0 0 1px rgba(63,224,255,.26); --gl-sh:0 0 34px rgba(63,224,255,.07);
  --gl-rim:none; --gl-sheen:none;
  --gl-lens-sh:inset 0 0 0 1px rgba(63,224,255,.17);
  --gl-seg:transparent; --gl-on:rgba(63,224,255,.1); --gl-on-sh:inset 0 -2px 0 #3FE0FF,0 8px 14px -10px #3FE0FF;
  --phase-bg:rgba(63,224,255,.1); --phase-ink:#F0FAFF; --phase-sh:inset 0 -2px 0 #3FE0FF,0 8px 14px -10px #3FE0FF;
  --acc-grad:linear-gradient(170deg,#7BEAFF,#3FE0FF 55%,#1BB7E6); --on-acc:#031224;
  --glow-num:0 0 20px color-mix(in srgb,currentColor 70%,transparent); --glow-text:0 0 14px rgba(63,224,255,.65); --glow-dot:0 0 14px 3px currentColor,0 0 34px 7px currentColor; --glow-bar:0 0 9px currentColor;
  --map-rail:rgba(95,228,255,.85); --flow-own:#FFD24A; --map-rail-hi:#D8FAFF; --map-rail-casing:#071122; --map-pt:#BFEFFF; --map-pt-edge:#3FE0FF; --map-plant:#FFD24A; --map-halo:rgba(3,8,20,.85); --map-label:#D6EEFF; --map-flab:#9FC0D9;
  --logo-grad:radial-gradient(circle at 32% 25%,#1F6E9E,#0E3A66 55%,#061024); --logo-accent:#3FE0FF;
}
