/* Backrooms: No Limits — tokens. One concern: custom properties only. */
@font-face{font-family:"Plex Sans";src:local("IBM Plex Sans"),url("../fonts/IBMPlexSans-Regular.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Plex Sans";src:local("IBM Plex Sans Medium"),url("../fonts/IBMPlexSans-Medium.woff2") format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Plex Mono";src:local("IBM Plex Mono"),url("../fonts/IBMPlexMono-Regular.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Plex Mono";src:local("IBM Plex Mono Medium"),url("../fonts/IBMPlexMono-Medium.woff2") format("woff2");font-weight:500;font-display:swap}
/* Fonts: IBM Plex Sans + Mono, SIL OFL 1.1. Drop the 4 woff2 files into /fonts. */
:root{
/* colour: surface */
--bg-void:#0b0a07;--bg-base:#11100a;--bg-surface:#181610;--bg-raised:#211e14;--bg-overlay:#2a2619;
/* colour: line */
--line-1:#2c281a;--line-2:#40391f;--line-strong:#7a6e34;
/* colour: text */
--text-1:#efe9c9;--text-2:#bdb68f;--text-3:#948e6e;--text-disabled:#6f6a50;--text-on-accent:#14120a;
/* colour: accent (fluorescent wallpaper yellow) + dream (haze) */
--accent:#e0cf55;--accent-hover:#ecdd6e;--accent-press:#c9b940;--accent-dim:#a89a33;--accent-bg:rgba(224,207,85,.10);
--dream:#9fd8e3;--dream-2:#e3a9cf;--dream-bg:rgba(159,216,227,.10);
/* colour: signal */
--signal-ok:#8fd6a4;--signal-warn:#e8b04a;--signal-danger:#ee7b6b;--signal-info:#9fd8e3;
--signal-danger-bg:rgba(238,123,107,.12);--signal-ok-bg:rgba(143,214,164,.10);--signal-warn-bg:rgba(232,176,74,.10);
/* colour: category marks (shape + colour) */
--cat-normal:#d8d0a0;--cat-danger:#ee7b6b;--cat-dreamcore:#e3a9cf;--cat-puzzle:#9fd8e3;--cat-fun:#b6dd7a;
/* colour: status */
--st-local:#bdb68f;--st-draft:#d8b8ff;--st-review:#e8b04a;--st-published:#8fd6a4;--st-rejected:#ee7b6b;
/* focus */
--focus-ring:0 0 0 2px var(--bg-base),0 0 0 4px var(--dream);
/* typography */
--font-sans:"Plex Sans","IBM Plex Sans","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
--font-mono:"Plex Mono","IBM Plex Mono",ui-monospace,"Cascadia Mono",Consolas,"Courier New",monospace;
--fs-11:11px;--fs-12:12px;--fs-13:13px;--fs-14:14px;--fs-16:16px;--fs-20:20px;--fs-28:28px;--fs-40:40px;
--lh-tight:1.15;--lh-snug:1.35;--lh-body:1.5;
--ls-label:.14em;--ls-wide:.32em;--ls-tight:-.01em;
/* spacing (4px grid) */
--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-7:48px;--sp-8:64px;
/* layout */
--container:1380px;--topbar-h:56px;--sidebar-w:264px;--touch-min:40px;
/* radii: sharp, institutional */
--r-0:0;--r-1:2px;--r-2:4px;--r-pill:999px;
/* elevation */
--shadow-1:0 1px 0 rgba(0,0,0,.5);
--shadow-2:0 8px 24px rgba(0,0,0,.55);
--shadow-3:0 20px 60px rgba(0,0,0,.75);
--glow-accent:0 0 18px rgba(224,207,85,.28);
--glow-dream:0 0 22px rgba(159,216,227,.22);
/* z layers */
--z-base:0;--z-sticky:100;--z-topbar:200;--z-drawer:300;--z-modal:400;--z-toast:500;--z-filter:900;
/* motion */
--dur-instant:80ms;--dur-fast:140ms;--dur-base:220ms;--dur-slow:480ms;--dur-ambient:6s;
--ease-out:cubic-bezier(.2,.7,.2,1);--ease-in-out:cubic-bezier(.65,0,.35,1);--ease-linear:linear;
/* filters */
--vignette:.55;--scan-alpha:.035;--grain-alpha:.06;--bloom-alpha:.07;
}
