/* ZaxSocial · css/tokens-ext.css — addenda-18 aliases, app-only tokens and channel role mapping.
   Owner: U3. Docs: 02-backbone-frontend-b.md §1.1–§1.2, 02-a §4/§9; requirements-addenda item 18.
   Loaded right after tokens.css. Where addenda 18 and design/tokens.css disagree, the design value stands
   and the addenda name is an alias. The literal block at the end is generated by tools/import-design.mjs. */

:root, [data-theme] {
  --zs-dur-page: 380ms;                         /* addenda 18 */
  --zs-ease-decel: var(--zs-ease-decelerate);   /* addenda names → design tokens */
  --zs-ease-accel: var(--zs-ease-accelerate);
  --zs-spring-stiffness: 380; --zs-spring-damping: 34;   /* read by animate.js */
  --zs-reduce-fade: 120ms;
  --zs-dur-wiggle: 600ms;
  --zs-dur-shimmer: 1400ms;                     /* addenda F4 skeleton sweep */
  --zs-dur-ring: 6s;                            /* plan ring loop: design 6 s wins over addenda 8 s (15-C H4) */

  /* Viewport / keyboard (written by U2 viewport.js; safe defaults here) */
  --zs-kb: 0px;
  --zs-vvh: 100dvh;
  --zs-vv-top: 0px;

  /* Shell metrics */
  --zs-sidebar-w: 256px;
  --zs-sidebar-w-collapsed: 76px;
  --zs-rail-w: 72px;
  --zs-content-max: 760px;
  --zs-tabbar-space: calc(var(--zs-tabbar-h) + 12px + var(--zs-safe-bottom));   /* room under phone pages */
  --zs-hit-min: 44px;

  /* Tour / overlay */
  --zs-tour-scrim: var(--zs-scrim);
  --zs-tour-ring: var(--zs-accent);
  --zs-ripple: currentColor;
}
:root, [data-theme="light"] { --zs-statusbar-bg: #FFFFFF; }  /* light standalone iOS strip uses a solid fill */
[data-theme="dark"]         { --zs-statusbar-bg: #0F0F14; }  /* must equal head-script literals (02-a §9) */

html[data-motion="reduce"] { --zs-dur-instant: 0ms; --zs-dur-fast: 0ms; --zs-dur-base: 0ms; --zs-dur-slow: 0ms; --zs-dur-sheet: 0ms; --zs-dur-page: 0ms; }
html[data-motion="reduce"] [data-theme] { --zs-dur-instant: 0ms; --zs-dur-fast: 0ms; --zs-dur-base: 0ms; --zs-dur-slow: 0ms; --zs-dur-sheet: 0ms; --zs-dur-page: 0ms; }

/* Channel palettes: shared chat components read only --zs-ch-* (02-b §1.1). */
[data-channel="wa"] {
  --zs-ch-accent: var(--zs-wa-accent); --zs-ch-bg: var(--zs-wa-bg); --zs-ch-chat-bg: var(--zs-wa-chat-bg);
  --zs-ch-unread: var(--zs-wa-unread); --zs-ch-text: var(--zs-wa-text); --zs-ch-text-2: var(--zs-wa-text-2);
  --zs-ch-pattern: var(--zs-wa-pattern); --zs-switch-on: var(--zs-wa-accent);
}
[data-channel="tg"] {
  --zs-ch-accent: var(--zs-tg-accent); --zs-ch-bg: var(--zs-tg-bg); --zs-ch-chat-bg: var(--zs-tg-chat-bg);
  --zs-ch-unread: var(--zs-tg-unread); --zs-ch-text: var(--zs-tg-text); --zs-ch-text-2: var(--zs-tg-text-2);
  --zs-ch-pattern: var(--zs-tg-pattern); --zs-switch-on: var(--zs-tg-accent);
}
html[data-platform="ios"] [data-channel="tg"] { --zs-ch-accent: var(--zs-tg-accent-ios); }

/* Low-end devices and reduced transparency: solid surfaces instead of glass (02-b §1.1, 00 §8). */
html[data-lowend] { --zs-glass: var(--zs-surface); --zs-glass-strong: var(--zs-surface); }
@media (prefers-reduced-transparency: reduce) {
  :root, [data-theme] { --zs-glass: var(--zs-surface); --zs-glass-strong: var(--zs-surface); }
}

/* @import-design:literals:start (generated by tools/import-design.mjs — do not edit) */
/* Fixed colours the design authored inline in components.css (white ink on gradients, device-like greys).
   They are theme-independent by design; theme-aware values live in tokens.css. */
:root {
--zs-lit-000000:#000;--zs-lit-000000-10:rgba(0,0,0,.1);--zs-lit-000000-12:rgba(0,0,0,.12);--zs-lit-000000-14:rgba(0,0,0,.14);
--zs-lit-000000-15:rgba(0,0,0,.15);--zs-lit-000000-18:rgba(0,0,0,.18);--zs-lit-000000-22:rgba(0,0,0,.22);--zs-lit-000000-25:rgba(0,0,0,.25);
--zs-lit-000000-35:rgba(0,0,0,.35);--zs-lit-000000-38:rgba(0,0,0,.38);--zs-lit-000000-50:rgba(0,0,0,.5);--zs-lit-000000-70:rgba(0,0,0,.7);
--zs-lit-06cf9c:#06CF9C;--zs-lit-0a0a0e:#0A0A0E;--zs-lit-0a0a14-45:rgba(10,10,20,.45);--zs-lit-0a8584:#0A8584;
--zs-lit-0b141a:#0B141A;--zs-lit-0b141a-20:rgba(11,20,26,.2);--zs-lit-0b141a-25:rgba(11,20,26,.25);--zs-lit-0b141a-55:rgba(11,20,26,.55);
--zs-lit-0b141a-85:rgba(11,20,26,.85);--zs-lit-0e8a4f:#0E8A4F;--zs-lit-101028-05:rgba(16,16,40,.05);--zs-lit-101028-10:rgba(16,16,40,.1);
--zs-lit-101028-20:rgba(16,16,40,.2);--zs-lit-111b21:#111B21;--zs-lit-12b05a:#12B05A;--zs-lit-143c3c:#143C3C;
--zs-lit-15151b:#15151B;--zs-lit-16161c:#16161C;--zs-lit-173a29:#173A29;--zs-lit-1a3150:#1A3150;
--zs-lit-1b1730:#1B1730;--zs-lit-1c1c22:#1C1C22;--zs-lit-1d4ed8:#1D4ED8;--zs-lit-1d9a5b:#1D9A5B;
--zs-lit-1f6fd1:#1F6FD1;--zs-lit-1fa855:#1FA855;--zs-lit-202c33-82:rgba(32,44,51,.82);--zs-lit-25d366-10:rgba(37,211,102,.1);
--zs-lit-26364a:#26364A;--zs-lit-2a3f58:#2A3F58;--zs-lit-2a8fdf:#2A8FDF;--zs-lit-2b2440:#2B2440;
--zs-lit-2d2550:#2D2550;--zs-lit-2e5aac:#2E5AAC;--zs-lit-2f6fe4:#2F6FE4;--zs-lit-2fb9f0:#2FB9F0;
--zs-lit-314a66:#314A66;--zs-lit-382213:#382213;--zs-lit-3a2350:#3A2350;--zs-lit-3b4a54:#3B4A54;
--zs-lit-3bc34d:#3BC34D;--zs-lit-3bdc7a:#3BDC7A;--zs-lit-3d2615:#3D2615;--zs-lit-3d5a7a:#3D5A7A;
--zs-lit-45321a:#45321A;--zs-lit-46222e:#46222E;--zs-lit-47b6f2:#47B6F2;--zs-lit-4a3b8f:#4A3B8F;
--zs-lit-5a3bf0:#5A3BF0;--zs-lit-5b3df5:#5B3DF5;--zs-lit-5c3b25:#5C3B25;--zs-lit-5da537:#5DA537;
--zs-lit-5dc452:#5DC452;--zs-lit-5dc452-35:rgba(93,196,82,.35);--zs-lit-6a7175:#6A7175;--zs-lit-6b4529:#6B4529;
--zs-lit-6b4eff-45:rgba(107,78,255,.45);--zs-lit-6b4eff-60:rgba(107,78,255,.6);--zs-lit-6b4eff-75:rgba(107,78,255,.75);--zs-lit-75553d:#75553D;
--zs-lit-767680-12:rgba(118,118,128,.12);--zs-lit-767680-14:rgba(118,118,128,.14);--zs-lit-767680-26:rgba(118,118,128,.26);--zs-lit-767680-30:rgba(118,118,128,.3);
--zs-lit-78be45:#78BE45;--zs-lit-7a3510:#7A3510;--zs-lit-7c3aed:#7C3AED;--zs-lit-7cdca6:#7CDCA6;
--zs-lit-7edcdb:#7EDCDB;--zs-lit-7f7f8c-16:rgba(127,127,140,.16);--zs-lit-8a7a6a:#8A7A6A;--zs-lit-8b47f0:#8B47F0;
--zs-lit-8cc0ff:#8CC0FF;--zs-lit-8e8e93:#8E8E93;--zs-lit-8ec5ff:#8EC5FF;--zs-lit-8edbff:#8EDBFF;
--zs-lit-9a765a:#9A765A;--zs-lit-9b37d6:#9B37D6;--zs-lit-a44d1c:#A44D1C;--zs-lit-b24bf3:#B24BF3;
--zs-lit-b24bf3-60:rgba(178,75,243,.6);--zs-lit-b5a3ff:#B5A3FF;--zs-lit-b95e00:#B95E00;--zs-lit-b9b0dd:#B9B0DD;
--zs-lit-c2569a:#C2569A;--zs-lit-c2b5ff:#C2B5FF;--zs-lit-c3cbd0:#C3CBD0;--zs-lit-c8391a:#C8391A;
--zs-lit-cf4519:#CF4519;--zs-lit-cfd4d6:#CFD4D6;--zs-lit-d24db8:#D24DB8;--zs-lit-d3f4f3:#D3F4F3;
--zs-lit-d6336c:#D6336C;--zs-lit-d7cdbf:#D7CDBF;--zs-lit-d9483b:#D9483B;--zs-lit-d9cfbf:#D9CFBF;
--zs-lit-d9d9d9:#D9D9D9;--zs-lit-d9f7e6:#D9F7E6;--zs-lit-db2777:#DB2777;--zs-lit-dcebff:#DCEBFF;
--zs-lit-dd5322:#DD5322;--zs-lit-dda3ff:#DDA3FF;--zs-lit-de8a1f:#DE8A1F;--zs-lit-dfe5e7:#DFE5E7;
--zs-lit-e39222:#E39222;--zs-lit-e5484d:#E5484D;--zs-lit-e7e1ff:#E7E1FF;--zs-lit-e7e2f7:#E7E2F7;
--zs-lit-ece6dd:#ECE6DD;--zs-lit-f04438-70:rgba(240,68,56,.7);--zs-lit-f06a2a:#F06A2A;--zs-lit-f15c6d:#F15C6D;
--zs-lit-f2a33a:#F2A33A;--zs-lit-f2ebdf:#F2EBDF;--zs-lit-f3b53e:#F3B53E;--zs-lit-f4e1ff:#F4E1FF;
--zs-lit-f5f5f5:#F5F5F5;--zs-lit-f6c04a:#F6C04A;--zs-lit-f6d7a7:#F6D7A7;--zs-lit-fbf8f2:#FBF8F2;
--zs-lit-ff3b30:#FF3B30;--zs-lit-ff5c8a-55:rgba(255,92,138,.55);--zs-lit-ff8a5c:#FF8A5C;--zs-lit-ff9db5:#FF9DB5;
--zs-lit-ff9e6b:#FF9E6B;--zs-lit-ffb257:#FFB257;--zs-lit-ffc071:#FFC071;--zs-lit-ffe0aa-75:rgba(255,224,170,.75);
--zs-lit-ffe2e8:#FFE2E8;--zs-lit-ffe3a3:#FFE3A3;--zs-lit-ffebcf:#FFEBCF;--zs-lit-ffffff:#fff;
--zs-lit-ffffff-03:rgba(255,255,255,.03);--zs-lit-ffffff-06:rgba(255,255,255,.06);--zs-lit-ffffff-08:rgba(255,255,255,.08);--zs-lit-ffffff-10:rgba(255,255,255,.1);
--zs-lit-ffffff-12:rgba(255,255,255,.12);--zs-lit-ffffff-14:rgba(255,255,255,.14);--zs-lit-ffffff-15:rgba(255,255,255,.15);--zs-lit-ffffff-18:rgba(255,255,255,.18);
--zs-lit-ffffff-20:rgba(255,255,255,.2);--zs-lit-ffffff-22:rgba(255,255,255,.22);--zs-lit-ffffff-25:rgba(255,255,255,.25);--zs-lit-ffffff-26:rgba(255,255,255,.26);
--zs-lit-ffffff-32:rgba(255,255,255,.32);--zs-lit-ffffff-35:rgba(255,255,255,.35);--zs-lit-ffffff-70:rgba(255,255,255,.7);--zs-lit-ffffff-72:rgba(255,255,255,.72);
--zs-lit-ffffff-75:rgba(255,255,255,.75);--zs-lit-ffffff-78:rgba(255,255,255,.78);
}
/* @import-design:literals:end */
