/* INFEREST design tokens (P77 "Arcade accent, fintech chassis"). Source of truth for colour, type, space, radius and motion.
   Loaded after arcade.css: it re-points the legacy arcade variables at the new system so every old rule inherits it.
   Rules: amber = ZAP / money / the one primary action. Cyan = interactive and links. Green = backed / done. Red = paused / danger.
   Press Start 2P only for the wordmark, page titles and badges (>= 20px for titles). Geist for reading, Geist Mono (tabular) for numbers. */
/* Preloaded in index.html. Optional keeps a slow response from causing a late layout swap. */
@font-face{font-family:P2;src:url(fonts/PressStart2P-Regular.ttf) format("truetype");font-display:optional}
@font-face{font-family:Geist;src:url(fonts/Geist.ttf) format("truetype");font-weight:100 900;font-display:optional}
@font-face{font-family:GeistMono;src:url(fonts/GeistMono.ttf) format("truetype");font-weight:100 900;font-display:optional}
/* Measured from the bundled faces and local macOS fallbacks with fontTools. */
@font-face{font-family:P2Fallback;src:local("Menlo Regular"),local("Menlo-Regular");size-adjust:166.099%;ascent-override:60.205%;descent-override:0%;line-gap-override:0%}
@font-face{font-family:GeistFallback;src:local("Helvetica Neue");size-adjust:102.515%;ascent-override:98.035%;descent-override:28.776%;line-gap-override:0%}
@font-face{font-family:GeistMonoFallback;src:local("Menlo Regular"),local("Menlo-Regular");size-adjust:99.659%;ascent-override:100.844%;descent-override:29.601%;line-gap-override:0%}
:root{
 /* colour: measured on --c-bg #0B0D12 — text 15.9:1, muted 8.3:1, amber 10.6:1, cyan 12.4:1, green 10.2:1, red 6.1:1; ink-on-amber 10.6:1 */
 --c-bg:#0B0D12;--c-surface:#141821;--c-surface-2:#1B2030;--c-line:#2A3040;--c-line-strong:#3A4258;
 --c-text:#E8ECF4;--c-muted:#A3ADC2;--c-faint:#7F8AA3;
 --c-zap:#FFB000;--c-zap-ink:#0B0D12;--c-cyan:#2EE6F6;--c-ok:#3DDC84;--c-bad:#FF5C5C;
 /* type */
 --f-display:P2,P2Fallback,ui-monospace,monospace;--f-ui:Geist,GeistFallback,system-ui,-apple-system,Segoe UI,sans-serif;--f-num:GeistMono,GeistMonoFallback,ui-monospace,monospace;
 --fs-xs:12px;--fs-sm:14px;--fs-md:16px;--fs-lg:18px;--fs-xl:22px;--fs-2xl:clamp(22px,2.4vw,30px);--fs-hero:clamp(22px,3.4vw,48px);--fs-num:clamp(28px,3.6vw,44px);
 /* space and shape */
 --s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--s-8:64px;
 --r-1:6px;--r-2:10px;--r-3:14px;--bw:1px;--pixel-shadow:4px 4px 0 0 #000;
 --container:1180px;--tap:44px;--nav-h:64px;--tab-h:64px;
 /* motion */
 --m-fast:120ms;--m-ui:200ms;--m-ease:cubic-bezier(.2,0,0,1);

 /* legacy arcade variables, re-pointed (arcade.css rules keep working) */
 --bg:var(--c-bg);--deep:var(--c-surface);--glass-1:var(--c-bg);--glass-2:var(--c-bg);--glass-3:var(--c-bg);
 --ink:var(--c-text);--ink-svc:var(--c-text);--amber:var(--c-zap);--cyan:var(--c-cyan);--green:var(--c-ok);--red:var(--c-bad);--salmon:var(--c-bad);
 --accent:var(--c-zap);--info:var(--c-cyan);--ok:var(--c-ok);--err:var(--c-bad);--warn:var(--c-zap);
 --dim:var(--c-muted);--dim2:var(--c-faint);--line:var(--c-line);--line-2:var(--c-line);--line-3:var(--c-line-strong);
 --panel:var(--c-surface);--panel-2:var(--c-surface-2);--panel-3:var(--c-surface);
 --glow-ink:none;--glow-ink-soft:none;--glow-amber:none;--glow-cyan:none;--glow-green:none;--glow-red:none;
 --p2:var(--f-display);--vt:var(--f-num);
 --t-micro:12px;--t-hud:13px;--t-menu:13px;--t-small:12px;--t-label:14px;--t-press:14px;--t-title:var(--fs-2xl);
 --t-display:var(--fs-hero);--t-display-2:clamp(22px,3vw,40px);--t-display-3:clamp(20px,2.6vw,32px);
 --v-sm:14px;--v-md:15px;--v-body:16px;--v-lg:18px;--track:.04em;--track-wide:.08em;
 --sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;
 --col:min(100%,var(--container));--col-wide:min(100%,var(--container));--rule:1px;--hair:1px;
}
