@font-face { font-family:'Space Grotesk'; src:url('./fonts/SpaceGrotesk.ttf') format('truetype'); font-weight:300 700; font-style:normal; font-display:swap; }
@font-face { font-family:'Instrument Serif'; src:url('./fonts/InstrumentSerif.ttf') format('truetype'); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:'JetBrains Mono'; src:url('./fonts/JetBrainsMono.ttf') format('truetype'); font-weight:100 800; font-style:normal; font-display:swap; }
@font-face { font-family:'Pretendard Variable'; src:url('./fonts/PretendardVariable.woff2') format('woff2'); font-weight:100 900; font-style:normal; font-display:swap; }

/* Cakie AI. These semantic roles also feed the retained Shadow components. */
:root, :root[data-theme='dark'] {
  color-scheme:dark;
  --font-ui:'Space Grotesk','Pretendard Variable',Pretendard,'Apple SD Gothic Neo',sans-serif;
  --font-display:'Instrument Serif','Pretendard Variable',serif;
  --font-mono:'JetBrains Mono','Pretendard Variable',monospace;
  --brand-cherry:#EF4B3C; --brand-green:#3ECF74; --brand-green-hover:#52D983; --brand-green-press:#34B765;
  --brand-cream:#F0EDE7; --ink:#121211; --warning:#E8B33C;
  --text-primary:#F7F5F1; --text-secondary:rgba(247,245,241,0.72);
  --text-tertiary:rgba(247,245,241,0.48); --text-quaternary:rgba(247,245,241,0.34);
  --text-disabled:rgba(247,245,241,0.22); --text-on-accent:#0E1A12;
  --bg-window:rgba(24,24,23,0.62); --bg-sidebar:rgba(12,12,11,0.42);
  --card-1:rgba(255,255,255,0.05); --card-2:rgba(255,255,255,0.07); --card-3:rgba(255,255,255,0.10);
  --hud-background:rgba(38,38,36,0.95); --popover:rgba(38,38,36,0.97); --notification-background:rgba(38,38,36,0.98);
  --state-hover:rgba(255,255,255,0.06); --state-press:rgba(255,255,255,0.10); --state-selected:rgba(255,255,255,0.09);
  --border-hair:rgba(255,255,255,0.08); --border-strong:rgba(255,255,255,0.16);
  --glass-edge:inset 0 1px 0 rgba(255,255,255,0.08); --shadow-window:0 24px 60px rgba(0,0,0,0.5);
  --blur-window:blur(40px) saturate(1.5); --blur-sidebar:blur(30px); --blur-popover:blur(30px);
  --radius-window:16px; --radius-card:12px; --radius-control:9px; --radius-pill:999px;
  --space-1:4px; --space-2:6px; --space-3:8px; --space-4:12px; --space-5:14px;
  --space-6:16px; --space-7:18px; --space-8:22px; --space-9:26px;
  --type-1:11px; --type-2:12px; --type-3:13px; --type-4:14px; --type-5:16px;
  --type-6:21px; --type-7:30px; --type-8:46px; --type-9:68px;
}
:root[data-theme='light'] {
  color-scheme:light;
  --brand-cherry:#C9302A; --brand-green:#1C7E3F; --brand-green-hover:#176B35; --brand-green-press:#125529;
  --brand-cream:#1B1B1A; --ink:#FAF9F6; --warning:#B8841F;
  --text-primary:#1B1B1A; --text-secondary:rgba(18,18,17,0.70);
  --text-tertiary:rgba(18,18,17,0.60); --text-quaternary:rgba(18,18,17,0.42); --text-disabled:rgba(18,18,17,0.26); --text-on-accent:#FFFFFF;
  --bg-window:rgba(250,249,246,0.72); --bg-sidebar:rgba(255,255,255,0.46);
  --card-1:rgba(255,255,255,0.55); --card-2:rgba(255,255,255,0.72); --card-3:rgba(255,255,255,0.88);
  --popover:rgba(252,251,249,0.97); --notification-background:rgba(250,249,246,0.98); --hud-background:rgba(252,251,249,0.95);
  --state-hover:rgba(18,18,17,0.05); --state-press:rgba(18,18,17,0.09); --state-selected:rgba(18,18,17,0.07);
  --border-hair:rgba(18,18,17,0.10); --border-strong:rgba(18,18,17,0.18);
  --glass-edge:inset 0 1px 0 rgba(255,255,255,0.7); --shadow-window:0 24px 60px rgba(18,18,17,0.16);
}
:root, :root[data-theme='dark'], :root[data-theme='light'] {
  --capture-accent:var(--brand-cherry);
  --accent:var(--brand-green); --accent-hover:var(--brand-green-hover);
  --surface-canvas:var(--bg-window); --surface:var(--card-1); --surface-card:var(--card-1); --surface-elevated:var(--card-2);
  --dialog-background:var(--popover); --scrim:rgba(0,0,0,0.72);
  --stroke-default:var(--border-strong); --stroke-muted:var(--border-hair); --text-strong:var(--text-primary);
  --radius-panel:var(--radius-card); --radius-floating:var(--radius-window);
  --button-primary-bg:var(--brand-green); --button-primary-hover-bg:var(--brand-green-hover);
  --button-primary-fg:var(--text-on-accent); --button-primary-border:transparent; --button-primary-border-hover:transparent;
  --button-secondary-bg:var(--state-selected); --button-secondary-hover-bg:var(--state-hover);
  --button-secondary-fg:var(--text-primary); --button-secondary-border:var(--border-strong); --button-secondary-border-hover:var(--border-strong);
  --button-tertiary-bg:var(--state-selected); --button-tertiary-hover-bg:var(--state-hover);
  --button-tertiary-fg:var(--text-primary); --button-tertiary-border:var(--border-strong); --button-tertiary-border-hover:var(--border-strong);
  --button-outline-bg:var(--state-selected); --button-outline-hover-bg:var(--state-hover);
  --button-outline-fg:var(--text-primary); --button-outline-border:var(--border-strong); --button-outline-border-hover:var(--border-strong);
  --button-ghost-bg:transparent; --button-ghost-hover-bg:var(--state-hover); --button-ghost-fg:var(--text-secondary);
  --button-ghost-border:transparent; --button-ghost-border-hover:transparent;
  --button-danger-bg:var(--state-selected); --button-danger-hover-bg:var(--state-hover);
  --button-danger-fg:var(--brand-cherry); --button-danger-border:var(--border-strong); --button-danger-border-hover:var(--border-strong);
  --button-brand-outline-bg:var(--state-selected); --button-brand-outline-hover-bg:var(--state-hover);
  --button-brand-outline-fg:var(--text-primary); --button-brand-outline-border:var(--border-strong); --button-brand-outline-border-hover:var(--border-strong);
  --input-bg:var(--card-2); --input-border:var(--border-strong); --input-border-hover:var(--border-strong); --input-border-focus:var(--text-secondary);
  --status-warning-primary:var(--warning); --status-warning-secondary:var(--warning);
  --status-error-primary:var(--warning); --status-error-secondary:var(--warning);
  --status-success-primary:var(--text-secondary); --status-success-secondary:var(--text-secondary); --status-info:var(--text-secondary);
  --on-progress:var(--text-secondary); --focus-ring-color:var(--border-strong); --focus-ring:0 0 0 3px var(--border-strong);
  --rich-code-bg:var(--card-2); --rich-timestamp-bg:var(--card-2); --rich-blockquote-bg:var(--card-1);
  --control-height-default:38px; --control-padding-x:13px;
}
