/* TowerScope design tokens. One look for every page, taken from the live viewer.
   --tsh-* names are the source of truth and are only used by TowerScope shell code,
   so a page's own :root can never change the shared header, tab bar or footer.
   The short names below them (--bg, --ink, --accent ...) match /assets/ts.css and
   /live/live.css so those files keep working if they load this file. */
:root{
  /* surfaces */
  --tsh-bg:#0b0d12;
  --tsh-surface:rgba(255,255,255,.045);
  --tsh-surface-2:#151821;
  --tsh-surface-3:#1c202a;
  --tsh-glass:rgba(15,18,25,.88);
  --tsh-bar:rgba(11,13,18,.92);
  --tsh-line:rgba(255,255,255,.07);
  --tsh-line-2:rgba(255,255,255,.12);
  /* text */
  --tsh-ink:#eef0f4;
  --tsh-mute:#9aa2b1;
  --tsh-faint:#6b7180;
  /* one accent */
  --tsh-accent:#5b8dd9;
  --tsh-accent-2:#7aa7ff;
  --tsh-accent-soft:rgba(91,141,217,.14);
  --tsh-accent-line:rgba(91,141,217,.45);
  --tsh-on-accent:#0b1220;
  /* status: one meaning each */
  --tsh-ok:#5ed39a;   --tsh-ok-soft:rgba(94,211,154,.14);
  --tsh-warn:#f2b35e; --tsh-warn-soft:rgba(242,179,94,.12);
  --tsh-bad:#ff6b6b;  --tsh-bad-soft:rgba(255,107,107,.10);
  /* type */
  --tsh-font:-apple-system,BlinkMacSystemFont,"Inter",system-ui,"Segoe UI",Roboto,sans-serif;
  --tsh-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --tsh-fs-11:11px; --tsh-fs-12:12px; --tsh-fs-13:13px; --tsh-fs-15:15px; --tsh-fs-17:17px; --tsh-fs-20:20px;
  --tsh-fs-h2:clamp(22px,3vw,30px);
  --tsh-fs-h1:clamp(32px,5.4vw,56px);
  /* space, 4 pt steps */
  --tsh-s1:4px; --tsh-s2:8px; --tsh-s3:12px; --tsh-s4:16px; --tsh-s5:20px; --tsh-s6:24px; --tsh-s8:32px; --tsh-s11:44px; --tsh-s14:56px;
  --tsh-gutter:20px;
  --tsh-max:1120px;
  /* radius */
  --tsh-r-sm:10px; --tsh-r-md:14px; --tsh-r-lg:20px; --tsh-r-pill:999px;
  /* controls: buttons, chips, tabs */
  --tsh-h-chip:36px; --tsh-h-btn:44px; --tsh-h-top:60px; --tsh-h-top-sm:54px;
  /* sheets */
  --tsh-sheet-bg:#151821;
  --tsh-sheet-shadow:0 -12px 40px rgba(0,0,0,.45);
  --tsh-blur:blur(16px);
  /* layers */
  --tsh-z-top:60; --tsh-z-tabbar:70; --tsh-z-sheet:80;
  /* motion */
  --tsh-ease:cubic-bezier(.2,.8,.2,1); --tsh-t:180ms;

  /* short names, same values (ts.css / live.css compatible) */
  --bg:var(--tsh-bg); --surface:var(--tsh-surface); --surface-2:var(--tsh-surface-2); --surface-3:var(--tsh-surface-3);
  --line:var(--tsh-line); --line-2:var(--tsh-line-2);
  --ink:var(--tsh-ink); --mute:var(--tsh-mute); --faint:var(--tsh-faint);
  --accent:var(--tsh-accent); --accent-2:var(--tsh-accent-2); --accent-soft:var(--tsh-accent-soft); --accent-line:var(--tsh-accent-line); --on-accent:var(--tsh-on-accent);
  --ok:var(--tsh-ok); --warn:var(--tsh-warn); --bad:var(--tsh-bad); --plan:#c4b5fd;
  --r-sm:var(--tsh-r-sm); --r-md:var(--tsh-r-md); --r-lg:var(--tsh-r-lg); --r-pill:var(--tsh-r-pill);
  --font:var(--tsh-font); --ease:var(--tsh-ease);
}
@media (max-width:820px){:root{--tsh-gutter:16px}}
@media (prefers-reduced-motion:reduce){:root{--tsh-t:0ms}}
