/* Substitutes: no brand font files were supplied. Newsreader (serif — headlines, prose; a contemporary Times) + Instrument Sans (UI controls) + Space Mono (labels/metadata). Alternatives considered: Instrument Serif, Source Serif 4. from Google Fonts. Display "Machina" letterforms are SVG glyphs in assets/machina-type/. */
@import url("https://fonts.googleapis.com/css2?family=Instrument+Sans:ital,wght@0,400..700;1,400..700&family=Space+Mono:wght@400;700&family=Newsreader:ital,opsz,wght@0,6..72,400..600;1,6..72,400..600&family=Instrument+Serif:ital@0;1&display=swap");

:root{
/* haze blues, pulled from the Machina cover */
--haze-100:#e4eff5;
--haze-200:#c9dde8;
--haze-300:#aaccdd;
--haze-400:#86b4cd;
--haze-500:#6699bb;
--haze-600:#52778d;
--haze-700:#446677;
--haze-800:#2f4a58;
/* inks */
--ink-900:#111111;
--ink-800:#1a2323;
--ink-700:#223333;
--ink-600:#3a4a4a;
--ink-500:#5a6a6a;
/* semantic — dark default (the cover is a dark object) */
--bg:var(--ink-900);
--bg-raised:var(--ink-800);
--surface-card:var(--ink-700);
--surface-inset:#0b0e0e;
--text-body:var(--haze-200);
--text-strong:var(--haze-100);
--text-muted:var(--haze-500);
--text-on-accent:var(--ink-900);
--accent:var(--haze-300);
--accent-hover:var(--haze-100);
--accent-press:var(--haze-400);
--accent-deep:var(--haze-700);
--border:rgba(170,204,221,.18);
--border-strong:rgba(170,204,221,.42);
--focus-ring:var(--haze-300);
--danger:#c96a5a;
--success:#7fb59a;
--warning:#c9b26a;
/* light scope */
}
[data-theme="light"]{
--bg:var(--haze-100);
--bg-raised:#ffffff;
--surface-card:#ffffff;
--surface-inset:var(--haze-200);
--text-body:var(--ink-700);
--text-strong:var(--ink-900);
--text-muted:var(--haze-600);
--text-on-accent:var(--haze-100);
--accent:var(--ink-700);
--accent-hover:var(--ink-900);
--accent-press:var(--ink-600);
--accent-deep:var(--haze-500);
--border:rgba(34,51,51,.16);
--border-strong:rgba(34,51,51,.4);
--focus-ring:var(--haze-600);
}

:root{
--font-serif:"Newsreader","Times New Roman",Times,serif;
--font-serif-alt:"Instrument Serif","Times New Roman",Times,serif; /* candidate; swap into --font-serif to adopt */
--font-sans:"Instrument Sans",system-ui,sans-serif;
--font-mono:"Space Mono",ui-monospace,monospace;
/* display = Machina SVG glyphs (assets/machina-type); fallback wordmark type */
--font-display-fallback:var(--font-serif);
--text-xs:11px;--text-sm:13px;--text-md:15px;--text-lg:18px;--text-xl:24px;--text-2xl:34px;--text-3xl:52px;--text-4xl:80px;
--leading-tight:1.05;--leading-snug:1.2;--leading-body:1.5;
--tracking-caps:.14em;--tracking-tight:-.02em;
--weight-regular:400;--weight-medium:500;--weight-semibold:600;
}
body{font-family:var(--font-serif);font-size:var(--text-md);line-height:var(--leading-body);color:var(--text-body);background:var(--bg);-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:var(--font-serif);font-weight:400;letter-spacing:var(--tracking-tight);line-height:var(--leading-tight)}
button,input,select,label{font-family:var(--font-sans)}
a{color:var(--accent);text-decoration:none;border-bottom:1px solid var(--border-strong)}
a:hover{color:var(--accent-hover);border-bottom-color:var(--accent-hover)}

:root{
--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:96px;
--radius-none:0;--radius-sm:2px;--radius-md:4px;--radius-pill:999px;
--container:1200px;--gutter:var(--space-5);
--control-h-sm:32px;--control-h-md:40px;--control-h-lg:48px;
}

:root{
/* flat system: hairlines over shadows. one soft shadow for floating layers only */
--shadow-float:0 12px 40px rgba(0,0,0,.55);
--shadow-none:none;
--grain:url("assets/haze-texture.jpg");/* @kind other */
--fade-up:linear-gradient(to top,rgba(17,17,17,.92) 0%,rgba(17,17,17,0) 60%);/* @kind other */
--fade-down:linear-gradient(to bottom,rgba(17,17,17,.85) 0%,rgba(17,17,17,0) 55%);/* @kind other */
--duotone-blend:multiply;/* @kind other */
--ease-out:cubic-bezier(.2,.7,.2,1);/* @kind other */
--dur-fast:120ms;/* @kind other */--dur-base:220ms;/* @kind other */--dur-slow:480ms;/* @kind other */
--blur-glass:12px;
}

