/* terminal.css — /terminal, the simple home (docs/FE_HANDOFF_TERMINAL_SIMPLE.md), in the site's own visual
   language: the treasury page's heading (mono eyebrow, Space Grotesk title, one-line lede), its hairline sections,
   its ink button, its contents-list sidebar, Inter body copy, the tokens in src/shared/tokens.css with their dark
   pairs in tokens-dark.css. cognia.fun's global top bar (src/shared/topnav.js) sits above everything; this sheet
   never touches it.

   LAYOUT. Under the bar, a two-column grid: a 232px sticky sidebar (the Terminal group, the Cognia group, the
   identity pill at the foot) and the main column (the page head, the four blocks). Below 1024px the sidebar's
   Terminal group becomes a horizontal chip row under the bar, the Cognia group goes (the bar carries those
   routes), and the pill moves into the page head (terminal.js moves the one pill element). Phone first: the four
   blocks stack, Ask is above the fold at 390px, nothing scrolls sideways, 44px targets on a coarse pointer.

   Every colour is a token or a mix of two; the page-local roles below have a dark pair. Brand-coloured small text
   uses --tm-acc-ink (the brand deepened toward ink, 5.6:1 on paper), never the raw brand. No animation beyond a
   15ms hover tint: the simple home does not move. */

:root{
  --tm-rule: var(--border);                                        /* hairlines                        */
  --tm-tint: var(--divider-warm);                                  /* quiet grounds (tiles, chips)     */
  --tm-acc-ink: color-mix(in srgb, var(--brand) 62%, var(--ink));  /* brand-coloured small text, AA    */
  --tm-btn-bg: var(--ink);
  --tm-btn-fg: var(--paper);
  --tm-card: var(--white);                                         /* a raised card on the paper       */
  --tm-clear: 100px;                                               /* under the fixed glass bar        */
  --tm-side-w: 232px;
}
[data-theme="dark"]{
  --tm-rule: color-mix(in srgb, var(--border) 50%, var(--paper));
  --tm-tint: var(--surface);
  --tm-acc-ink: var(--brand);
  --tm-card: var(--surface);
}

/* ── the frame: sidebar + main ──────────────────────────────────────────────────────────── */
.tm-layout{ width:100%; max-width:1180px; margin:0 auto; }
.tm-main{ width:100%; max-width:920px; margin:0 auto; padding:var(--sp-18) var(--sp-13) var(--sp-22); }
.tm-nav{ position:relative; min-width:0; }
.tm-nav__head{ margin:0 0 var(--sp-9); font:var(--fw-semibold) var(--fs-md)/16px var(--font-mono); letter-spacing:.1em; text-transform:uppercase; color:var(--graphite); }
.tm-nav__head--cognia{ margin-top:var(--sp-18); }
.tm-nav__list{ list-style:none; margin:0; padding:0; }
.tm-nav__list a{
  position:relative; display:flex; align-items:center; gap:var(--sp-9); min-height:32px; padding:5px var(--sp-9) 5px var(--sp-13); box-sizing:border-box;
  border-radius:var(--r-6); font:var(--fs-lg)/18px var(--font-body); color:var(--graphite); text-decoration:none;
  transition:color var(--mrd-duration-fast) var(--mrd-ease-in-out), background-color var(--mrd-duration-fast) var(--mrd-ease-in-out);
}
.tm-nav__list a::before{ content:""; position:absolute; left:0; top:9px; bottom:9px; width:2px; border-radius:1px; background:transparent; }
.tm-nav__list a:hover{ color:var(--ink); background:var(--brand-06); }
.tm-nav__list a.is-active{ color:var(--ink); font-weight:var(--fw-medium); }
.tm-nav__list a.is-active::before{ background:var(--tm-acc-ink); }
.tm-nav__list a:focus-visible{ outline:2px solid var(--brand); outline-offset:1px; }

/* ── the identity pill + its menu ───────────────────────────────────────────────────────── */
.tm-ident{ position:relative; min-width:0; }
.tm-pill{
  display:inline-flex; align-items:center; gap:var(--sp-7); max-width:100%; min-height:36px; padding:var(--sp-3) var(--sp-11) var(--sp-3) var(--sp-7);
  border:1px solid var(--border); border-radius:var(--r-full); background:var(--paper); color:var(--ink); cursor:pointer;
  font:var(--fw-medium) var(--fs-base)/16px var(--font-body); text-align:left;
  transition:border-color var(--mrd-duration-fast) var(--mrd-ease-in-out), background-color var(--mrd-duration-fast) var(--mrd-ease-in-out);
}
.tm-pill:hover{ border-color:var(--brand-55); background:var(--brand-06); }
.tm-pill:focus-visible{ outline:2px solid var(--brand); outline-offset:2px; }
.tm-pill__dot{ flex:none; width:22px; height:22px; border-radius:var(--r-circle); background:var(--tm-tint); color:var(--graphite); display:inline-grid; place-items:center; }
.tm-pill__dot svg{ width:12px; height:12px; }
.tm-pill--ident .tm-pill__dot{ background:var(--brand); color:var(--on-brand, var(--white)); }
.tm-pill__t{ min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.tm-pill__chev{ flex:none; width:12px; height:12px; color:var(--graphite); }
.tm-menu{
  position:absolute; left:0; bottom:calc(100% + var(--sp-5)); z-index:40; min-width:220px; max-width:min(300px, calc(100vw - 32px)); margin:0; padding:var(--sp-5);
  list-style:none; border:1px solid var(--tm-rule); border-radius:var(--r-9); background:var(--tm-card); box-shadow:var(--sh-2);
}
.tm-menu[hidden]{ display:none; }
.tm-head__pill .tm-menu{ top:calc(100% + var(--sp-5)); bottom:auto; left:auto; right:0; }
.tm-menu__item{
  display:flex; align-items:center; gap:var(--sp-9); width:100%; min-height:36px; padding:var(--sp-5) var(--sp-9); border:0; border-radius:var(--r-6); background:none; color:var(--ink);
  font:var(--fs-lg)/18px var(--font-body); text-align:left; cursor:pointer;
}
.tm-menu__item:hover{ background:var(--brand-08); }
.tm-menu__item svg{ width:14px; height:14px; flex:none; color:var(--graphite); }
.tm-menu__item:focus-visible{ outline:2px solid var(--brand); outline-offset:-2px; }
.tm-menu__name{ margin:0; padding:var(--sp-5) var(--sp-9) var(--sp-7); font:var(--fs-md)/16px var(--font-mono); color:var(--graphite); border-bottom:1px solid var(--tm-rule); margin-bottom:var(--sp-3); overflow-wrap:anywhere; }

/* ── the page head: the treasury heading ────────────────────────────────────────────────── */
.tm-head{ display:flex; align-items:flex-start; justify-content:space-between; gap:var(--sp-15); max-width:896px; }
.tm-head__copy{ min-width:0; }
.tm-eyebrow{ font:var(--fw-bold) var(--fs-sm)/16px var(--font-mono); letter-spacing:var(--ls-12); text-transform:uppercase; color:var(--tm-acc-ink); margin:0 0 var(--sp-9); }
.tm-title{ font-family:var(--font-display); font-size:clamp(32px, 4.2vw, 43px); font-weight:var(--fw-medium); line-height:1.05; letter-spacing:-.035em; color:var(--ink); margin:0; }
.tm-lede{ margin:var(--sp-11) 0 0; max-width:688px; font-size:var(--fs-2xl); line-height:24px; color:var(--graphite); }
.tm-head__pill{ display:block; flex:none; }   /* the pill lives in the head at every width (2026-10-13, no sidebar) */

/* ── the blocks: a hairline, the H2, its one line, the body ─────────────────────────────── */
.tm-blocks{ max-width:52rem; min-width:0; }
.tm-block{ padding:var(--sp-18) 0 var(--sp-20); border-top:1px solid var(--tm-rule); min-width:0; scroll-margin-top:var(--tm-clear); }
.tm-blocks > .tm-block:first-child{ margin-top:var(--sp-18); }
.tm-block__head{ margin-bottom:var(--sp-15); max-width:720px; }
.tm-h2{ margin:0; font:var(--fw-medium) var(--fs-21)/1.2 var(--font-display); letter-spacing:-.03em; color:var(--ink); }
.tm-h3{ margin:0; font:var(--fw-medium) var(--fs-17)/1.3 var(--font-display); letter-spacing:-.02em; color:var(--ink); overflow-wrap:anywhere; }
.tm-sub{ margin:var(--sp-7) 0 0; max-width:33em; font-size:var(--fs-xl); line-height:22px; color:var(--graphite); }
.tm-lead{ margin:0 0 var(--sp-9); max-width:39em; font-size:var(--fs-xl); line-height:1.55; color:var(--ink); }
.tm-help{ margin:var(--sp-9) 0 0; max-width:39em; font-size:var(--fs-base-p); line-height:1.6; color:var(--graphite); }
.tm-footnote{ margin:var(--sp-9) 0 0; max-width:39em; font-size:var(--fs-md); line-height:1.55; color:var(--graphite); }
.tm-footnote a, .tm-link{ color:var(--tm-acc-ink); text-decoration:underline; text-underline-offset:3px; }
.tm-empty{ margin:0; padding:var(--sp-9) 0; max-width:35em; font-size:var(--fs-xl); line-height:1.6; color:var(--graphite); }
.tm-section{ margin-top:var(--sp-18); padding-top:var(--sp-15); border-top:1px dashed var(--tm-rule); }
.tm-mono{ font-family:var(--font-mono); font-size:var(--fs-base); overflow-wrap:anywhere; }

/* ── the field kit ──────────────────────────────────────────────────────────────────────── */
.tm-form{ display:grid; gap:var(--sp-9); }
.tm-field{ display:grid; gap:var(--sp-5); min-width:0; }
.tm-label{ font:var(--fw-medium) var(--fs-sm)/16px var(--font-mono); letter-spacing:var(--ls-10); text-transform:uppercase; color:var(--graphite); }
.tm-input, .tm-textarea{
  width:100%; min-width:0; padding:var(--sp-9) var(--sp-11); border:1px solid var(--border); border-radius:var(--r-8); background:var(--tm-card); color:var(--ink);
  font:var(--fs-16)/1.45 var(--font-body);   /* 16px: no zoom on iOS */
  transition:border-color var(--mrd-duration-fast) var(--mrd-ease-in-out);
}
.tm-textarea{ resize:vertical; min-height:72px; }
.tm-input:focus-visible, .tm-textarea:focus-visible{ outline:2px solid var(--brand); outline-offset:0; border-color:var(--brand-55); }
.tm-input[readonly]{ color:var(--graphite); background:var(--tm-tint); }
.tm-err{ margin:0; font-size:var(--fs-base); line-height:1.5; color:var(--danger-text); }
.tm-err:empty{ display:none; }
.tm-dd{ display:grid; gap:var(--sp-7); padding:var(--sp-11) var(--sp-13); border:1px dashed var(--border); border-radius:var(--r-8); }
.tm-dd .tm-help{ margin:0; }
.tm-dd__row{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:var(--sp-7); }

/* ── buttons: the treasury's ink button, a quiet one, a small one ───────────────────────── */
.tm-acts{ display:flex; flex-wrap:wrap; align-items:center; gap:var(--sp-9) var(--sp-11); margin-top:var(--sp-7); }
.tm-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:var(--sp-5); min-height:40px; padding:0 var(--sp-15);
  border:1px solid var(--border); border-radius:var(--pf-r-4); background:var(--paper); color:var(--ink); text-decoration:none; cursor:pointer;
  font:var(--fw-medium) var(--fs-lg)/1 var(--font-body);
  transition:background-color var(--mrd-duration-fast) var(--mrd-ease-in-out), opacity var(--mrd-duration-fast) var(--mrd-ease-in-out), border-color var(--mrd-duration-fast) var(--mrd-ease-in-out);
}
.tm-btn svg{ width:14px; height:14px; flex:none; }
.tm-btn:hover{ border-color:var(--brand-55); background:var(--brand-06); }
.tm-btn--ink{ border-color:transparent; background:var(--tm-btn-bg); color:var(--tm-btn-fg); }
.tm-btn--ink:hover{ border-color:transparent; background:var(--tm-btn-bg); opacity:.86; }
.tm-btn--sm{ min-height:32px; padding:0 var(--sp-11); font-size:var(--fs-base); }
.tm-btn:active{ opacity:.6; }
.tm-btn[disabled]{ opacity:.5; cursor:not-allowed; }
.tm-btn[aria-busy="true"]{ cursor:progress; }
.tm-btn:focus-visible{ outline:2px solid var(--brand); outline-offset:2px; }
.tm-textbtn{ border:0; background:none; padding:0; color:var(--graphite); font:var(--fs-base)/1 var(--font-body); text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.tm-textbtn:hover{ color:var(--tm-acc-ink); }

/* ── rows: a tile, the title, one meta line, chips, the text, an action on the right ────── */
.tm-rows{ display:grid; gap:var(--sp-7); }
.tm-rows__group{ margin:var(--sp-9) 0 0; font:var(--fw-semibold) var(--fs-sm)/16px var(--font-mono); letter-spacing:var(--ls-10); text-transform:uppercase; color:var(--tm-acc-ink); }
.tm-rows__group:first-child{ margin-top:0; }
.tm-row{ display:grid; grid-template-columns:32px minmax(0,1fr) auto; gap:var(--sp-11); align-items:start; padding:var(--sp-11) var(--sp-13); border:1px solid var(--tm-rule); border-radius:var(--r-9); background:var(--tm-card); min-width:0; }
.tm-row.is-shared{ border-color:color-mix(in srgb, var(--ok) 45%, var(--tm-rule)); }
.tm-row__tile{ display:grid; place-items:center; width:32px; height:32px; border-radius:var(--r-7); background:var(--tm-tint); color:var(--graphite); }
.tm-row__tile svg{ width:15px; height:15px; }
.tm-row__main{ min-width:0; display:grid; gap:var(--sp-3); }
.tm-row__title{ margin:0; font:var(--fw-medium) var(--fs-xl)/1.35 var(--font-body); color:var(--ink); white-space:normal; overflow-wrap:anywhere; }
.tm-row__meta{ margin:0; display:flex; flex-wrap:wrap; gap:var(--sp-3) var(--sp-9); font:var(--fs-md)/16px var(--font-mono); color:var(--graphite); }
.tm-row__meta .tm-chip{ font-size:var(--fs-sm); }
.tm-row__end{ display:flex; align-items:center; gap:var(--sp-5); min-width:0; }
.tm-text{ margin:var(--sp-3) 0 0; font-size:var(--fs-base-p); line-height:1.55; color:var(--graphite); overflow-wrap:anywhere; }
.tm-use{ color:var(--ok-text); }
.tm-chips{ display:flex; flex-wrap:wrap; gap:var(--sp-3) var(--sp-5); margin-top:var(--sp-3); }
.tm-chip{
  display:inline-flex; align-items:center; min-height:22px; padding:0 var(--sp-7); border:1px solid var(--border); border-radius:var(--r-full);
  background:var(--paper); color:var(--ink); font:var(--fw-medium) var(--fs-md)/16px var(--font-mono); letter-spacing:var(--ls-05); white-space:nowrap;
}
.tm-chip--ok{ color:var(--ok-text); border-color:var(--ok); }
.tm-helped{ display:flex; flex-wrap:wrap; align-items:center; gap:var(--sp-7) var(--sp-9); margin-top:var(--sp-13); }
.tm-helped .tm-help{ margin:0; }
.tm-out:empty, .tm-flow:empty{ display:none; }
.tm-out{ margin-top:var(--sp-15); }

/* ── notes: the error box, the raised preview card ──────────────────────────────────────── */
.tm-error{ display:flex; align-items:flex-start; gap:var(--sp-9); margin:0 0 var(--sp-11); padding:var(--sp-11) var(--sp-13); border:1px solid color-mix(in srgb, var(--danger) 45%, var(--tm-rule)); border-radius:var(--r-9); background:color-mix(in srgb, var(--danger) 6%, var(--paper)); color:var(--ink); font-size:var(--fs-base-p); line-height:1.5; }
.tm-error svg{ width:16px; height:16px; flex:none; margin-top:1px; color:var(--danger-text); }
.tm-error b{ display:block; font-weight:var(--fw-semibold); }
.tm-note{ display:flex; align-items:flex-start; gap:var(--sp-9); margin-top:var(--sp-11); padding:var(--sp-11) var(--sp-13); border:1px solid var(--tm-rule); border-radius:var(--r-9); background:var(--tm-card); color:var(--ink); font-size:var(--fs-base-p); line-height:1.5; }
.tm-note--warn{ border-color:color-mix(in srgb, var(--warn) 55%, var(--tm-rule)); }
.tm-note svg{ width:16px; height:16px; flex:none; margin-top:1px; color:var(--graphite); }
.tm-note__c{ min-width:0; display:grid; gap:var(--sp-3); }
.tm-note__t{ margin:0; font-weight:var(--fw-semibold); }
.tm-note__b{ margin:0; color:var(--graphite); }
.tm-note__msg{ margin:var(--sp-5) 0 0; padding:var(--sp-9); max-height:160px; overflow:auto; border-radius:var(--r-6); background:var(--tm-tint); font:var(--fs-md)/1.5 var(--font-mono); white-space:pre-wrap; overflow-wrap:anywhere; color:var(--ink); }
.tm-wallets{ display:flex; flex-wrap:wrap; gap:var(--sp-7); margin-top:var(--sp-7); }
.tm-wallet__ic{ width:16px; height:16px; border-radius:var(--r-3); }
.tm-preview{ display:grid; gap:var(--sp-11); }
.tm-card{ padding:var(--sp-13) var(--sp-15); border:1px solid var(--tm-rule); border-radius:var(--r-9); background:var(--tm-card); display:grid; gap:var(--sp-5); }
.tm-card .tm-help{ margin:0; }

/* ── earnings: the line, the wallet, the Telegram card ──────────────────────────────────── */
.tm-earn-line{ margin:0; font:var(--fw-medium) var(--fs-19)/1.35 var(--font-display); letter-spacing:-.02em; color:var(--ink); max-width:36em; }
.tm-addr{ display:flex; flex-wrap:wrap; align-items:center; gap:var(--sp-7) var(--sp-9); margin:0; }
.tm-copy{ display:inline-flex; align-items:center; gap:var(--sp-5); min-height:32px; padding:0 var(--sp-7); border:1px solid var(--border); border-radius:var(--pf-r-4); background:var(--paper); color:var(--graphite); font:var(--fs-base)/1 var(--font-body); cursor:pointer; }
.tm-copy svg{ width:13px; height:13px; }
.tm-copy:hover{ border-color:var(--brand-55); background:var(--brand-06); color:var(--ink); }
.tm-copy.is-done{ color:var(--ok-text); border-color:var(--ok); }
.tm-tg{ display:grid; gap:var(--sp-9); }
.tm-tg__panel{ display:grid; gap:var(--sp-11); margin-top:var(--sp-7); padding:var(--sp-15); border:1px solid var(--tm-rule); border-radius:var(--r-9); background:var(--tm-card); }
.tm-tg__head{ display:flex; justify-content:space-between; align-items:baseline; gap:var(--sp-11); flex-wrap:wrap; }
.tm-tg__count{ margin:0; font:var(--fs-sm)/16px var(--font-mono); color:var(--graphite); }
.tm-tg__panel.is-expired .tm-tg__count{ color:var(--danger-text); }
.tm-tg__panel.is-expired .tm-tg__code{ color:var(--graphite); text-decoration:line-through; }
.tm-tg__codebox{ display:flex; align-items:center; gap:var(--sp-11); flex-wrap:wrap; }
.tm-tg__code{ flex:1 1 220px; padding:var(--sp-11) var(--sp-13); font:var(--fw-medium) var(--fs-21)/1.2 var(--font-mono); letter-spacing:var(--ls-08); color:var(--ink); background:var(--tm-tint); border-radius:var(--r-6); user-select:all; word-break:break-all; }
.tm-tg__steps{ margin:0; padding-left:1.4em; display:grid; gap:var(--sp-5); font-size:var(--fs-base-p); line-height:1.5; color:var(--ink); }

/* ── the dialogs (share preview, keep these notes, sign in): the native <dialog> ─────────── */
.tm-dialog{ width:min(560px, calc(100vw - 32px)); max-height:calc(100dvh - 32px); margin:auto; padding:0; border:1px solid var(--tm-rule); border-radius:var(--r-12); background:var(--tm-card); color:var(--ink); box-shadow:var(--sh-2); overflow:auto; }
.tm-dialog::backdrop{ background:var(--scrim-modal); }
.tm-dialog__card{ display:grid; gap:var(--sp-15); padding:var(--sp-18); }
.tm-dialog__head{ display:flex; align-items:flex-start; justify-content:space-between; gap:var(--sp-11); }
.tm-dialog__head .tm-h2{ font-size:var(--fs-19); }
.tm-dialog__x{ flex:none; width:36px; height:36px; display:grid; place-items:center; border:1px solid var(--border); border-radius:var(--r-circle); background:var(--paper); color:var(--graphite); cursor:pointer; }
.tm-dialog__x svg{ width:14px; height:14px; }
.tm-dialog__x:hover{ color:var(--ink); border-color:var(--brand-55); }
.tm-dialog__body{ display:grid; gap:var(--sp-11); min-width:0; }
.tm-dialog__foot{ display:flex; flex-wrap:wrap; justify-content:flex-end; gap:var(--sp-9); }
.tm-dialog__foot:empty{ display:none; }
.tm-key{ padding:var(--sp-11) var(--sp-13); border:1px solid var(--tm-rule); border-radius:var(--r-8); background:var(--tm-tint); }
.tm-key code{ display:block; font:var(--fw-medium) var(--fs-lg)/1.5 var(--font-mono); color:var(--ink); overflow-wrap:anywhere; user-select:all; }
.tm-pair{ display:flex; flex-wrap:wrap; gap:var(--sp-9); }

/* ── toasts ─────────────────────────────────────────────────────────────────────────────── */
.tm-toasts{ position:fixed; left:50%; bottom:calc(20px + env(safe-area-inset-bottom, 0px)); z-index:60; display:grid; gap:var(--sp-7); width:min(420px, calc(100vw - 32px)); transform:translateX(-50%); pointer-events:none; }
.tm-toast{ padding:var(--sp-11) var(--sp-13); border:1px solid var(--tm-rule); border-radius:var(--r-9); background:var(--tm-card); color:var(--ink); box-shadow:var(--sh-2); font-size:var(--fs-base-p); line-height:1.45; pointer-events:auto; }
.tm-toast--ok{ border-color:var(--ok); }
.tm-toast--neg{ border-color:var(--danger); }
.tm-toast b{ display:block; font-weight:var(--fw-semibold); }

/* ── skeletons (the proof frame's, in the rows' shape) ──────────────────────────────────── */
.tm-skel{ display:grid; gap:var(--sp-7); }

/* ── under 1024px: the sidebar is a chip row under the bar; the pill moves into the head ─── */
/* the chip row: phones only (under 1024px the bar's items fold into MENU, so the page gives the four blocks a row of its own) */
.tm-chips{ display:none; }
@media (max-width:1023px){
  .tm-chips{ display:flex; gap:var(--sp-5); position:sticky; top:var(--topnav-h, 0px); z-index:30; margin:0 calc(-1 * var(--sp-13)) var(--sp-13); padding:var(--sp-7) var(--sp-13); background:var(--paper); overflow-x:auto; scrollbar-width:none; -webkit-overflow-scrolling:touch; }
  .tm-chips::-webkit-scrollbar{ display:none; }
  .tm-chips a{ flex:none; display:inline-flex; align-items:center; min-height:36px; padding:0 var(--sp-13); border:1px solid var(--border); border-radius:var(--r-full); background:var(--paper); color:var(--ink-2, var(--muted)); font-size:var(--fs-sm); text-decoration:none; }
  .tm-chips a.is-active{ color:var(--ink); border-color:var(--tm-acc-ink); font-weight:var(--fw-medium); }
  .tm-chips a:focus-visible{ outline:2px solid var(--brand); outline-offset:1px; }
}
@media (max-width:599px){
  .tm-head{ flex-direction:column; gap:var(--sp-11); }
  .tm-lede{ font-size:var(--fs-xl); line-height:21px; }
  .tm-dd__row{ grid-template-columns:minmax(0,1fr); }
  .tm-row{ grid-template-columns:28px minmax(0,1fr); }
  .tm-row__tile{ width:28px; height:28px; }
  .tm-row__end{ grid-column:2; }
  .tm-blocks > .tm-block:first-child{ margin-top:var(--sp-15); }
  .tm-block{ padding:var(--sp-15) 0 var(--sp-18); }
  .tm-dialog__card{ padding:var(--sp-15); }
}
@media (pointer:coarse), (max-width:599px){
  .tm-btn, .tm-copy, .tm-pill, .tm-menu__item{ min-height:44px; }
  .tm-btn--sm{ min-height:40px; }
}
@media (prefers-reduced-motion: reduce){
  .tm-nav__list a, .tm-pill, .tm-btn, .tm-input, .tm-textarea{ transition:none !important; }
}

/* ── Browse (2026-10-13): the network under the Ask field, in the page's own rows ─────────────────────────────── */
.tm-browse{ margin-top:var(--sp-15); display:grid; gap:var(--sp-11); min-width:0; }
.tm-filters{ display:grid; gap:var(--sp-7); }
.tm-filters__row{ display:flex; flex-wrap:wrap; align-items:center; gap:var(--sp-5); }
.tm-filters__k{ font:var(--fw-semibold) var(--fs-sm)/16px var(--font-mono); letter-spacing:var(--ls-10); text-transform:uppercase; color:var(--graphite); margin-right:var(--sp-3); min-width:44px; }
.tm-filter{ display:inline-flex; align-items:center; gap:6px; min-height:32px; padding:0 var(--sp-11); border:1px solid var(--tm-rule); border-radius:var(--r-full); background:var(--paper); color:var(--graphite); font:inherit; font-size:var(--fs-sm); cursor:pointer; }
.tm-filter svg{ width:14px; height:14px; }
.tm-filter[aria-pressed="true"]{ color:var(--ink); border-color:var(--tm-acc-ink); font-weight:var(--fw-medium); }
.tm-filter:focus-visible{ outline:2px solid var(--brand); outline-offset:1px; }
.tm-filter--map{ margin-left:auto; }
.tm-filters__sel{ display:inline-flex; }
.tm-select{ min-height:32px; padding:0 var(--sp-9); border:1px solid var(--tm-rule); border-radius:var(--r-full); background:var(--paper); color:var(--ink); font:inherit; font-size:var(--fs-sm); max-width:240px; }
.tm-browse__count{ margin:0; font-size:var(--fs-sm); color:var(--graphite); }
.tm-browse__more{ justify-content:center; }
.tm-row--net{ cursor:default; }
.tm-row__title{ margin:0; padding:0; border:0; background:none; font:inherit; font-weight:var(--fw-medium); color:var(--ink); text-align:left; cursor:pointer; overflow-wrap:anywhere; }
.tm-row__title:hover{ text-decoration:underline; }
.tm-row__title:focus-visible{ outline:2px solid var(--brand); outline-offset:2px; border-radius:4px; }
.tm-row__sum{ margin:0; font-size:var(--fs-sm); color:var(--graphite); line-height:var(--lh-relaxed, 1.5); overflow-wrap:anywhere; }
.tm-row__meta{ margin:0; display:flex; flex-wrap:wrap; gap:var(--sp-7); font:var(--fs-xs, 12px)/16px var(--font-mono); letter-spacing:.02em; color:var(--graphite); }
.tm-row__chev{ align-self:center; color:var(--graphite); }
.tm-row__chev svg{ width:16px; height:16px; transform:rotate(-90deg); }
.tm-skel{ height:56px; border-radius:var(--r-7); background:var(--tm-tint); }
.tm-map{ position:fixed; left:0; right:0; top:var(--topnav-h, 80px); bottom:0; z-index:40; display:grid; grid-template-rows:auto minmax(0,1fr); background:var(--paper); }
.tm-map__bar{ display:flex; align-items:center; justify-content:space-between; gap:var(--sp-9); padding:var(--sp-7) var(--sp-13); border-bottom:1px solid var(--tm-rule); }
.tm-map__bar .tm-help{ margin:0; }
.tm-map__canvas{ position:relative; min-height:0; overflow:hidden; }   /* a full-width layer under the bar: the graph places its labels from the window origin, so a boxed canvas drifts */
html.tm-map-open{ overflow:hidden; }
.tm-card__sum{ margin:0 0 var(--sp-11); line-height:var(--lh-relaxed, 1.55); }
.tm-card__sec{ margin:var(--sp-11) 0 0; }
.tm-card__sec p{ margin:var(--sp-3) 0 0; }
.tm-card__steps{ margin:var(--sp-3) 0 0; padding-left:1.25rem; display:grid; gap:var(--sp-3); }
@media (max-width:1023px){ .tm-map, .tm-filter--map{ display:none; } }
