@tailwind base;
@tailwind components;
@tailwind utilities;
:root {
color-scheme: light dark;
--color-content-bg: 245 239 231;
--color-card-bg: 255 253 249;
--color-surface-raised: 239 230 216;
--color-border: 216 201 180;
--color-border-strong: 196 176 150;
--color-text-primary: 43 28 18;
--color-text-secondary: 110 88 67;
--color-text-muted: 138 116 96;
--color-text-inverse: 255 255 255;
--color-primary: 183 65 14;
--color-primary-hover: 138 47 11;
--color-success: 63 111 42;
--color-warning: 176 125 16;
--color-danger: 194 51 31;
--color-info: 61 107 138;
--color-sidebar-bg: 43 28 18;
--color-sidebar-text: 230 216 200;
--color-sidebar-muted: 165 138 107;
--color-sidebar-accent: 233 185 138;
--color-sidebar-border: 70 49 31;
}
.dark {
--color-content-bg: 32 22 18;
--color-card-bg: 43 28 18;
--color-surface-raised: 56 37 19;
--color-border: 70 49 31;
--color-border-strong: 92 65 38;
--color-text-primary: 240 231 216;
--color-text-secondary: 203 182 156;
--color-text-muted: 165 138 107;
--color-text-inverse: 32 22 18;
--color-primary: 217 119 66;
--color-primary-hover: 232 144 92;
--color-success: 143 191 106;
--color-warning: 217 168 58;
--color-danger: 224 106 82;
--color-info: 123 167 196;
--color-sidebar-bg: 23 16 9;
--color-sidebar-text: 230 216 200;
--color-sidebar-muted: 165 138 107;
--color-sidebar-accent: 233 185 138;
--color-sidebar-border: 56 37 19;
}
@font-face {
font-family: 'Chakra Petch';
font-style: normal;
font-weight: 500;
font-display: swap;
src: url('/fonts/chakra-petch-500.woff2') format('woff2');
}
@font-face {
font-family: 'Chakra Petch';
font-style: normal;
font-weight: 600;
font-display: swap;
src: url('/fonts/chakra-petch-600.woff2') format('woff2');
}
@font-face {
font-family: 'Chakra Petch';
font-style: normal;
font-weight: 700;
font-display: swap;
src: url('/fonts/chakra-petch-700.woff2') format('woff2');
}
@font-face {
font-family: 'IBM Plex Sans';
font-style: normal;
font-weight: 400 700;
font-display: swap;
src: url('/fonts/ibm-plex-sans-var.woff2') format('woff2');
}
@font-face {
font-family: 'IBM Plex Mono';
font-style: normal;
font-weight: 400;
font-display: swap;
src: url('/fonts/ibm-plex-mono-400.woff2') format('woff2');
}
@font-face {
font-family: 'IBM Plex Mono';
font-style: normal;
font-weight: 500;
font-display: swap;
src: url('/fonts/ibm-plex-mono-500.woff2') format('woff2');
}
@font-face {
font-family: 'IBM Plex Mono';
font-style: normal;
font-weight: 600;
font-display: swap;
src: url('/fonts/ibm-plex-mono-600.woff2') format('woff2');
}
@layer base {
body {
@apply bg-foundry-bg font-sans text-foundry-text antialiased;
}
code,
pre,
kbd,
samp {
@apply font-mono;
}
:focus-visible {
@apply outline-none ring-2 ring-foundry-primary ring-offset-2 ring-offset-foundry-bg;
}
}
@layer components {
.btn {
@apply inline-flex items-center justify-center gap-2 rounded border-[1.5px] px-4 py-2 text-sm font-semibold transition-colors;
}
.btn-primary {
@apply border-foundry-primary bg-foundry-primary text-foundry-inverse hover:border-foundry-primary-hover hover:bg-foundry-primary-hover;
}
.btn-secondary {
@apply border-foundry-border-strong bg-foundry-card text-foundry-text hover:border-foundry-primary;
}
.card {
@apply rounded-lg border-[1.5px] border-foundry-border bg-foundry-card p-6;
}
.badge {
@apply inline-block rounded-sm border border-foundry-border-strong px-2 py-0.5 font-mono text-[11px] uppercase tracking-wider text-foundry-secondary;
}
.eyebrow {
@apply font-mono text-xs uppercase tracking-[0.18em] text-foundry-secondary;
}
.prose-block h2 {
@apply mt-12 border-b border-foundry-border pb-2 font-display text-2xl font-semibold tracking-tight first:mt-0;
}
.prose-block h3 {
@apply mt-8 font-display text-xl font-semibold;
}
.prose-block p {
@apply mt-4 max-w-3xl text-foundry-secondary;
}
.prose-block ul {
@apply mt-4 max-w-3xl list-disc space-y-2 pl-6 text-foundry-secondary;
}
.prose-block :not(pre) > code {
@apply rounded-sm border border-foundry-border bg-foundry-card px-1 py-px text-[0.9em] text-foundry-text;
}
.prose-block pre {
@apply mt-4 max-w-3xl overflow-x-auto rounded border-[1.5px] border-foundry-border bg-foundry-raised p-4 text-sm leading-relaxed text-foundry-text;
}
.doc-table {
@apply my-6 overflow-x-auto rounded border-[1.5px] border-foundry-border;
}
table {
@apply w-full border-collapse text-left text-sm;
}
thead {
@apply bg-foundry-card;
}
th {
@apply border-b-[1.5px] border-foundry-border px-3 py-2 font-semibold;
}
td {
@apply border-b border-foundry-border px-3 py-2 align-top;
}
tbody tr:last-child td {
@apply border-b-0;
}
}