/* ============================================================
   newsomo · design tokens (Sprint #471)
   Єдине джерело правди для кольорів, шрифтів, spacing.
   Підключається першим до інших стилів.
   Всі сторінки мають використовувати ТІЛЬКИ ці змінні.
   ============================================================ */

:root {
  /* ===== Brand ===== */
  --teal-accent:   #0A8D9C;
  --teal-deep:     #0F6E56;
  --teal-700:      #086874;
  --teal-300:      #6FBFC8;
  --teal-surface:  #E1F5EE;

  /* ===== Ink (text hierarchy) ===== */
  --ink-900: #1A1A1A;  /* H1/H2 */
  --ink-700: #33322E;  /* sub-heads */
  --ink-500: #5F5E5A;  /* body */
  --ink-400: #87857E;  /* muted/meta */

  /* ===== Paper (surfaces) ===== */
  --paper:      #FBFAF7;  /* page background */
  --paper-card: #FFFFFF;  /* раtsed cards */
  --paper-sunk: #F1EEE7;  /* recessed/grouped backgrounds */

  /* ===== Lines / borders ===== */
  --line:        #ECE7DD;
  --line-strong: #D8D4C8;

  /* ===== Semantic colors ===== */
  --up:     #0F6E56;
  --down:   #B4533A;
  --warn:   #B5852A;
  --live:   #C2410C;
  --danger: #C0392B;

  /* ===== Category accents ===== */
  --g1: #2D7D5F;  /* зелений — оборона, безпека */
  --g2: #5B5FA8;  /* фіолетовий — політика */
  --g3: #C28524;  /* золотий — економіка */
  --g4: #B23A3A;  /* червоний — breaking, удари */

  /* ===== Tier badges ===== */
  --tier-general:     #0A8D9C;
  --tier-specialized: #6553D0;

  /* ===== Fonts ===== */
  --serif: ui-serif, 'PT Serif', 'Times New Roman', Georgia, 'Noto Serif', serif;
  --sans:  -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'Segoe UI', system-ui, Roboto, 'Helvetica Neue', Arial, sans-serif;
  --mono:  'SF Mono', ui-monospace, 'JetBrains Mono', Menlo, monospace;

  /* ===== Type scale (iOS 26 aligned) ===== */
  --fs-h1:    32px;
  --fs-h2:    22px;
  --fs-h3:    18px;
  --fs-body:  15px;     /* TODO: підняти до 16-17px для iOS HIG compliance */
  --fs-meta:  12px;
  --fs-tiny:  11px;
  --lh-tight: 1.2;
  --lh-base:  1.5;
  --lh-loose: 1.6;

  /* ===== Spacing (4pt grid) ===== */
  --sp-1:  4px;
  --sp-2:  8px;
  --sp-3:  12px;
  --sp-4:  16px;
  --sp-5:  24px;
  --sp-6:  32px;
  --sp-7:  48px;

  /* ===== Corner radius ===== */
  --r-sm:   6px;
  --r-md:   12px;
  --r-lg:   16px;
  --r-xl:   22px;
  --r-pill: 999px;

  /* ===== Materials (iOS 26 Liquid Glass approximation) =====
     Використовуй у combination з backdrop-filter: blur(X) saturate(180%) */
  --mat-ultra-thin: rgba(251, 250, 247, .42);
  --mat-thin:       rgba(251, 250, 247, .65);
  --mat-regular:    rgba(251, 250, 247, .78);
  --mat-thick:      rgba(251, 250, 247, .88);

  /* ===== Shadows ===== */
  --shadow-soft:   0 1px 2px rgba(0,0,0,.04), 0 4px 12px rgba(0,0,0,.04);
  --shadow-card:   0 1px 1.5px rgba(0,0,0,.08), 0 6px 18px rgba(0,0,0,.06);
  --shadow-float:  0 8px 24px rgba(0,0,0,.10);
  --shadow-sheet:  0 -8px 32px rgba(0,0,0,.18);

  /* ===== Edge lighting (Liquid Glass detail) ===== */
  --edge-top:    inset 0 1px 0 rgba(255, 255, 255, .55);
  --edge-bottom: inset 0 -1px 0 rgba(0, 0, 0, .04);

  /* ===== Semantic aliases (еталон · design standard) =====
     Канонічні імена, якими малюється скло на всіх екранах.
     Мапляться на сирі токени вище → тема-залежні, єдине джерело. */
  --bg:            var(--paper);
  --bg-card:       var(--paper-card);
  --bg-sunk:       var(--paper-sunk);
  --bg-tint:       var(--teal-surface);
  --fg1:           var(--ink-900);
  --fg2:           var(--ink-500);
  --fg3:           var(--ink-400);
  --border:        var(--line);
  --border-strong: var(--line-strong);
  --on-accent:     #FFFFFF;
  --accent-deep:   var(--teal-deep);
  --accent-press:  var(--teal-700);

  /* ===== Type shorthands (еталон) ===== */
  --t-display: 700 30px/1.18 var(--serif);
  --t-h1:      700 24px/1.22 var(--serif);
  --t-h2:      700 19px/1.28 var(--serif);
  --t-h3:      600 16px/1.35 var(--sans);
  --t-body:    400 16px/1.55 var(--sans);
  --t-body-sm: 400 14px/1.5  var(--sans);
  --t-meta:    400 13px/1.45 var(--sans);
  --t-label:   600 11px/1.2  var(--sans);
  --t-mono:    400 13px/1.5  var(--mono);

  /* ===== Glass helpers (еталон) ===== */
  --glass-hl:   var(--edge-top);
  --glass-blur: blur(20px) saturate(160%);
  --sh-card:    var(--shadow-card);
  --sh-pop:     var(--shadow-float);
}

/* ============================================================
   Per-vertical theme overrides (накладається на body.theme-X)
   ============================================================ */
:root,
.theme-ua    { --accent: var(--teal-accent); --accent-2: var(--teal-deep);     --line-soft: #EAE6DD; }
.theme-pl    { --accent: #DC143C;            --accent-2: #B71C2C;              --line-soft: #E8E2D8; }
.theme-nrk   { --accent: #5B5FA8;            --accent-2: #3E4280;              --line-soft: #EAE6DD; }
.theme-recovery { --accent: #C28524;         --accent-2: #8E5F18;              --line-soft: #EAE6DD; }
.theme-politech { --accent: #5B5FA8;         --accent-2: #3E4280;              --line-soft: #EAE6DD; }
.theme-drones   { --accent: #2D7D5F;         --accent-2: #1E5A42;              --line-soft: #EAE6DD; }
.theme-mediation{ --accent: #5B7BA3;         --accent-2: #3F5B7C;              --line-soft: #EAE6DD; }
.theme-books    { --accent: #8C6F4D;         --accent-2: #62492D;              --line-soft: #EAE6DD; }
.theme-cherkasy { --accent: #4A8062;         --accent-2: #2F5A40;              --line-soft: #EAE6DD; }
.theme-avia     { --accent: #4D7FA8;         --accent-2: #2F5A7C;              --line-soft: #EAE6DD; }


/* ============================================================
   22.07 · Sprint #486 (v3) · Теми: dark · beige · pink · violet.
   Змінні перевизначаються на html І body (вертикальні .theme-X
   живуть на body і інакше затіняють). Поверхневі overrides —
   через [data-theme] (присутність атрибута = будь-яка не-світла
   тема, майбутні теми підхопляться автоматично).
   ============================================================ */
html[data-theme="beige"], html[data-theme="beige"] body {
  --paper:#F3EDE2; --paper-card:#FAF6ED; --paper-sunk:#EAE2D2;
  --line:#E0D7C5; --line-strong:#CFC4AD; --line-soft:#E0D7C5;
  --bg-card:#FAF6ED; --fg1:#2E2B25; --fg2:#6A6459; --fg3:#948C7D;
  --gradient-bg:none;
}
html[data-theme="pink"], html[data-theme="pink"] body {
  --paper:#F9EFF1; --paper-card:#FEF8F9; --paper-sunk:#F2E4E8;
  --line:#ECD8DE; --line-strong:#DCC2CB; --line-soft:#ECD8DE;
  --bg-card:#FEF8F9; --fg1:#322A2D; --fg2:#6E6065; --fg3:#97878D;
  --gradient-bg:none;
}
html[data-theme="dark"], html[data-theme="dark"] body {
  --paper:#171614; --paper-card:#201F1C; --paper-sunk:#121110;
  --line:#34322D; --line-strong:#45423B; --line-soft:#34322D;
  --ink-900:#F2F1ED; --ink-700:#D6D4CE; --ink-500:#A5A39C; --ink-400:#7C7A73;
  --ink:#F2F1ED; --ink-soft:#A5A39C;
  --bg-card:#201F1C; --fg1:#F2F1ED; --fg2:#A5A39C; --fg3:#7C7A73;
  --gradient-bg:none;
}
html[data-theme="violet"], html[data-theme="violet"] body {
  --paper:#1D1430; --paper-card:#2B1D4A; --paper-sunk:#150E24;
  --line:#44336E; --line-strong:#59458E; --line-soft:#44336E;
  --ink-900:#F4EFFD; --ink-700:#DFD5F3; --ink-500:#B3A5D6; --ink-400:#8B7DAF;
  --ink:#F4EFFD; --ink-soft:#B3A5D6;
  --bg-card:#2B1D4A; --fg1:#F4EFFD; --fg2:#B3A5D6; --fg3:#8B7DAF;
  --gradient-bg:linear-gradient(180deg, rgba(139,92,246,.10) 0%, transparent 45%);
}

/* Хардкоджені світлі поверхні → var(--paper) у будь-якій темі.
   Аватари (.av) свідомо білі — логотипи джерел. */
html[data-theme] body,
html[data-theme] .ns-phone,
html[data-theme] .ns-status,
html[data-theme] .ns-app .screen,
html[data-theme] .ns-app .scr {
  background: var(--paper) !important;
}
html[data-theme] .box { background: var(--paper-sunk) !important; }
html[data-theme] .nsm-modal-card { background: var(--paper-card) !important; }
html[data-theme] .ns-app .crow .nm { color: var(--ink-900); }
html[data-theme="dark"] input, html[data-theme="dark"] textarea,
html[data-theme="violet"] input, html[data-theme="violet"] textarea {
  color: var(--ink-900);
}

/* Нижнє меню — скло в тон теми */
html[data-theme="dark"]   #newsomo-bnav { background: rgba(23,22,20,.92)   !important; }
html[data-theme="violet"] #newsomo-bnav { background: rgba(29,20,48,.92)   !important; }
html[data-theme="beige"]  #newsomo-bnav { background: rgba(243,237,226,.94) !important; }
html[data-theme="pink"]   #newsomo-bnav { background: rgba(249,239,241,.94) !important; }

/* 22.07 · #486.3 · сторінка сюжету: картки матеріалів були білі хардкодом —
   світлий текст тонув. У темах картка = paper-card, фото-підложка = sunk. */
html[data-theme] .mcard { background: var(--paper-card) !important; border-color: var(--line) !important; }
html[data-theme] .cb { background: var(--paper-card) !important; }
html[data-theme] .img-wrap { background: var(--paper-sunk) !important; }
