/* Sentro design tokens v6 scale (25.10, research/design-v6-scale.md) on v5 «premium» (24.10, owner: «Макеты v5 ок, внедряйте в сайт»). Spec: research/design-v5.md; source: design/premium/premium.css.
   Primary lock: Hyperliquid /trade discipline (research/ref-hyperliquid/measure.md) — one working size, hierarchy by colour, panels on one grid.
   Quality bar: Revolut ffb5ffe7. Borrowed: Kraken Pro 240a832f (label over value), Wealthsimple 064981bd (order rows), Fey 08ae8676 (preview shadow).
   Every value a component uses comes from here; design/lint.mjs flags any computed size, colour or spacing that is not one of these.
   v8 system (25.10, research/side-panel-v2/system.md, owner: «унификация размеров шрифтов… сетка»): six type sizes, one gutter, no aliases. */

/* Geist + Geist Mono, 400/500 only (latin subsets, @fontsource 5.3.0, SIL OFL 1.1 — fonts/OFL-geist-*.txt). font-display:fallback with a local
   fallback size-adjusted to Geist (Chrome canvas 24.10: Geist/Arial width 1.040; Geist Mono/Menlo .997), so the swap does not move text. */
@font-face{font-family:"Geist";font-style:normal;font-weight:400;font-display:fallback;src:url(fonts/geist-sans-400.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Geist";font-style:normal;font-weight:500;font-display:fallback;src:url(fonts/geist-sans-500.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Geist Mono";font-style:normal;font-weight:400;font-display:fallback;src:url(fonts/geist-mono-400.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Geist Mono";font-style:normal;font-weight:500;font-display:fallback;src:url(fonts/geist-mono-500.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Public Sans";font-style:normal;font-weight:400;font-display:fallback;src:url(fonts/public-sans-400.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Public Sans";font-style:normal;font-weight:500;font-display:fallback;src:url(fonts/public-sans-500.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Public Sans Fallback";src:local("Arial"),local("Helvetica"),local("Liberation Sans");size-adjust:101%;ascent-override:95%;descent-override:22.6%;line-gap-override:0%}
@font-face{font-family:"Geist Fallback";src:local("Arial"),local("Helvetica"),local("Liberation Sans");size-adjust:104%;ascent-override:88.5%;descent-override:21.2%;line-gap-override:0%}
@font-face{font-family:"Geist Mono Fallback";src:local("Menlo"),local("Consolas"),local("DejaVu Sans Mono");size-adjust:99.7%;ascent-override:101.3%;descent-override:29.1%;line-gap-override:0%}

:root{
  color-scheme:dark;
  /* ---------- neutral ramp v7 (25.10, owner: «как dapp.mutexa.io», research/ref-mutexa/dapp.md §3.1): chroma 0, oklch lightness → sRGB ----------
     canvas 12.9 % · header / status 11.5 % · panels (cards) 14 % · raised 19 % · line 24 % · line-2 32 %; no shadows: volume = a 1 px line + 1–3 % lightness */
  --n-hdr:#050505;    /* header and status bar (oklch 11.5 %) */
  --n-0:#070707;      /* canvas: window, gutters (12.9 %) */
  --n-1:#090909;      /* panel / card (14 %) */
  --n-2:#141414;      /* raised: input, segment track, hover surfaces, neutral button (19 %) */
  --n-3:#1a1a1a;      /* pressed, tile without an image, scale track (21.5 %) */
  --n-4:#1f1f1f;      /* selected preset, progress track (24 %) */
  --line:#1f1f1f;                        /* every 1 px line (24 %) */
  --line-strong:#333333;                 /* line on hover, popover edge, vertical separator (32 %) */
  --hover:rgba(255,255,255,.025);        /* row hover: white 2.5 % */
  --grid:#1f1f1f;                        /* chart: the dots of the background grid */
  --scrim:rgba(5,5,5,.78);               /* dialog backdrop */
  --t-1:#ffffff;      /* values, titles (100 %) */
  --t-body:#b5b5b5;   /* running text (76.4 %) */
  --t-2:#8f8f8f;      /* labels, secondary, icons — 5.7:1 on raised */
  --t-3:#808080;      /* eyebrows, unknown «—», axes, disabled (60 %) — 4.7:1 on raised (Mutexa's 45 % subtle fails 4.5:1, so 60 % is the floor here) */
  /* one action colour (Sentro identity): action and selection only */
  --a:#cab16a; --a-hover:#d6bf7c; --a-press:#b89f58; --on-a:#0e1012; --a-tint:rgba(202,177,106,.12);
  /* data colours: direction and risk only */
  --up:#3dbe8b; --down:#ee6d7a; --up-tint:rgba(61,190,139,.12); --down-tint:rgba(238,109,122,.12); --up-vol:rgba(61,190,139,.32); --down-vol:rgba(238,109,122,.32);

  /* ---------- type v8: SIX sizes, each with one line height (research/side-panel-v2/system.md §1). Nothing else is allowed (design/lint.mjs). ---------- */
  --fs-12:12px; --lh-12:16px;   /* eyebrows, axes, status bar, labels over values, chips, timeframes, small buttons, tips, mono addresses / hashes */
  --fs-14:14px; --lh-14:20px;   /* the interface base: values, table rows, board cards, buttons, tabs, menus, nav items, CTA (500) */
  --fs-16:16px; --lh-16:24px;   /* panel and section titles (500), reading (docs, legal), the AI answer and question, text typed into fields */
  --fs-20:20px; --lh-20:28px;   /* docs h3, the logo word, docs h2 on a phone */
  --fs-24:24px; --lh-24:32px;   /* ticker in the instrument header, page titles, docs h2, the chat greeting, theses, docs h1 on a phone */
  --fs-32:32px; --lh-32:40px;   /* docs h1 only */
  --fs-ui:var(--fs-14); --lh-ui:var(--lh-14);   /* the one role that changes on a phone: 14/20 → 16/24 */
  --fs-input:var(--fs-16);                      /* 16 everywhere: iOS Safari zooms a field under 16 px */
  --f:"Public Sans","Public Sans Fallback",system-ui,-apple-system,"Segoe UI",sans-serif;   /* v7: Public Sans for the interface */
  --f-head:"Geist","Geist Fallback",system-ui,sans-serif;                                     /* v7: Geist for titles and theses */
  --f-mono:"Geist Mono","Geist Mono Fallback",ui-monospace,SFMono-Regular,Menlo,monospace;
  --w-r:400; --w-m:500;             /* 500: ticker, section titles, CTA, active segment */
  --tr:-0.005em; --tr-l:-0.01em; --tr-xl:-0.02em;   /* ≤ 16 px · 18–24 px · 32 px */

  /* ---------- space: the 4/8 grid (§2) ---------- */
  --s-0:0; --s-px:1px; --s-half:2px; --s-1:4px; --s-2:8px; --s-3:12px; --s-4:16px; --s-5:20px; --s-6:24px; --s-8:32px; --s-10:40px; --s-12:48px;
  --gutter:8px;   /* v8: ONE gap between panels and around the window, board and token page alike (owner 25.10) */
  --line-col:#1f1f1f;   /* board G: the hairline around each column */
  --stage-new:var(--up); --stage-bond:var(--a); --stage-mig:#6b8cff;   /* board G: the 2 px line on top of each column — New / Almost bonded / Migrated (blue: the one non-system hue, stage only) */
  --pad:12px;     /* panel inner edge — the one vertical every panel shares */

  /* ---------- heights ---------- */
  /* v6 (25.10): nav 56 → 64, kv 24 → 28, ctl 32 → 36, input 40 → 44, cta 36 → 40; new: search 40, ctl-m 28 (14 px controls inside 40 bars), row-l 40 (page tables), chat 56 */
  --h-nav:64px; --h-search:40px; --h-inst:64px; --h-bar:40px; --h-row:28px; --h-row-l:40px; --h-kv:28px; --h-ctl:36px; --h-ctl-m:28px; --h-ctl-s:24px; --h-input:44px; --h-cta:40px; --h-chat:56px; --h-status:24px; --h-card:84px; --h-chip:20px;
  --h-chart:440px;   /* chart panel at 900 px tall; shrinks with the viewport (layout) */
  --h-touch:44px;
  --w-side:336px; --w-tside:352px; --w-read:720px; --w-doc-nav:224px;   /* v6: w-side 320 → 336, the reading column 720, the docs nav 224 */   /* w-tside: the token page's sidebar (owner 24.10 «правый блок … шире»): 352 under 1440, 376 to 1599, 400 from 1600 */
  --w-wcol:74px; --w-menu:300px; --w-dlg:480px; --w-cmd:520px; --w-cmd-min:240px; --w-qr:184px; --w-max:2560px;
  --ico:16px; --ico-s:12px; --ico-h:20px; --tk-s:16px; --tk-m:20px; --tk-l:32px; --tk-pv:40px; --tk-card:56px;   /* ico-h: token-header actions in 36 boxes; ico-hx: the filled X glyph there */

  /* ---------- radii (concentric: inner = outer − inset) ---------- */
  --r-1:3px;   /* v7: segment thumb, chip, preset (3) */
  --r-ctl:4px; /* v7: buttons and fields (4) */
  --r-2:6px;   /* panel, card, dialog, token image (6) */
  --r-3:6px;   /* popover (v7: 6, was 8) */
  --r-round:50%;

  --shadow-pop:0 0 0 1px var(--line-strong);   /* v7: no shadows — a floating layer is a 1 px line-2 edge on a raised surface */
  --n-raise:#141414;                    /* the hover preview's surface: between n-2 and n-3, a layer above the board */
  --shadow-drop:0 0 0 0 transparent;   /* hover preview drop; its 1 px hairline is set on .pv in the stage colour of the card's column (owner 25.10 «обводку цвета панели»; owner 24.10 «ободок») */
  --shadow-raise:0 0 0 1px var(--a),var(--shadow-drop);
  --focus:0 0 0 2px var(--n-1),0 0 0 3px var(--a);

  /* ---------- motion (§7) ---------- */
  --d-1:120ms; --d-2:180ms; --d-3:260ms; --d-flash:600ms;
  --e-std:cubic-bezier(.4,0,.2,1); --e-out:cubic-bezier(.2,.8,.2,1);

  /* ---------- z ---------- */
  --z-base:0; --z-sticky:10; --z-top:20; --z-drop:30; --z-overlay:40; --z-modal:50; --z-toast:60; --z-tip:70;

  /* ---------- v8 additions ---------- */
  --nav-on:#1c1b11;     /* active nav row: warm tint in the accent's hue (oklch .22 .018 100, research/ref-mutexa/dapp.md §3.1) */
  --h-bnav:56px;        /* phone bottom bar */
  --d-blink:1060ms;
}
@media (min-width:1440px){:root{--w-tside:376px}}
@media (min-width:1600px){:root{--w-tside:400px}}
@media (max-width:767px){:root{--h-row:var(--h-touch);
  /* phone: header 56, the base 16/24 (v8 scale) */
  --h-nav:56px; --fs-ui:var(--fs-16); --lh-ui:var(--lh-16)}}
@media (prefers-reduced-motion:reduce){:root{--d-1:0ms;--d-2:0ms;--d-3:0ms;--d-flash:0ms}}
