@import "tailwindcss" source(none);
@custom-variant dark (&:where(.dark, .dark *));
@source "../../templates";
@source "../../static/js
@source "../../src/web/templates.rs";
:root {
color-scheme: light;
--bg: #fcfcfb;
--surface: #ffffff;
--surface-sunk: #f5f3f0;
--border: #e4e0da;
--border-strong: #c3bcb1;
--text: #16161d;
--text-muted: #5f5a51;
--text-faint: #6a645b;
--accent: #e15a29;
--accent-strong: #c94a1c;
--accent-text: #715329;
--accent-soft: #f5dacf;
--accent-ink: #ffffff;
--ok: #3d6849;
--ok-soft: #e2e8df;
--danger: #c4261c;
--danger-soft: #f7dfdc;
--danger-ink: #ffffff;
--info: #8a3d14;
--disabled: #d3cdcb;
--inactive: #8a8075;
--radius-control: 6px;
--radius-card: 6px;
--shadow-card: 0 1px 0 rgba(27, 31, 36, .04);
--shadow-overlay: 0 8px 24px rgba(27, 31, 36, .12);
}
.dark,
.cooking-overlay {
color-scheme: dark;
--bg: #16161d;
--surface: #1c1c24;
--surface-sunk: #23232c;
--border: #30303b;
--border-strong: #43434f;
--text: #efeae6;
--text-muted: #ada69b;
--text-faint: #948d83;
--accent: #e15a29;
--accent-strong: #c94a1c;
--accent-text: #f08050;
--accent-soft: #3a2820;
--accent-ink: #ffffff;
--ok: #6fb283;
--ok-soft: #1e2a22;
--danger: #ff6b60;
--danger-soft: #2e1b1a;
--danger-ink: #16161d;
--info: #e59a6d;
--disabled: #4a4a55;
--inactive: #8f8880;
--shadow-card: none;
--shadow-overlay: 0 8px 24px rgba(0, 0, 0, .5);
}
@theme inline {
--color-bg: var(--bg);
--color-surface: var(--surface);
--color-sunk: var(--surface-sunk);
--color-line: var(--border);
--color-line-strong: var(--border-strong);
--color-text: var(--text);
--color-muted: var(--text-muted);
--color-faint: var(--text-faint);
--color-accent: var(--accent);
--color-accent-strong: var(--accent-strong);
--color-accent-text: var(--accent-text);
--color-accent-soft: var(--accent-soft);
--color-accent-ink: var(--accent-ink);
--color-ok: var(--ok);
--color-ok-soft: var(--ok-soft);
--color-danger: var(--danger);
--color-danger-soft: var(--danger-soft);
--color-danger-ink: var(--danger-ink);
--color-info: var(--info);
--color-disabled: var(--disabled);
--color-inactive: var(--inactive);
}
@theme {
--text-display: 30px;
--text-display--line-height: 1.2;
--text-display--letter-spacing: -.01em;
--text-title: 18px;
--text-title--line-height: 1.35;
--text-title--letter-spacing: -.005em;
--text-read: 16px;
--text-read--line-height: 1.6;
--text-body: 14px;
--text-body--line-height: 1.5;
--text-ui: 13px;
--text-ui--line-height: 1.4;
--text-meta: 12px;
--text-meta--line-height: 1.4;
--text-label: 11px;
--text-label--line-height: 1.3;
--text-label--letter-spacing: .06em;
--text-xs: var(--text-meta);
--text-xs--line-height: var(--text-meta--line-height);
--text-sm: var(--text-body);
--text-sm--line-height: var(--text-body--line-height);
--text-base: var(--text-read);
--text-base--line-height: var(--text-read--line-height);
--text-lg: var(--text-title);
--text-lg--line-height: var(--text-title--line-height);
--text-2xl: var(--text-display);
--text-2xl--line-height: var(--text-display--line-height);
--text-3xl: var(--text-display);
--text-3xl--line-height: var(--text-display--line-height);
}
body {
font-size: var(--text-body);
line-height: 1.5;
}
@import "./components.css";
@media print {
:root,
.dark,
.cooking-overlay {
color-scheme: light;
--bg: #ffffff;
--surface: #ffffff;
--surface-sunk: #f5f4f2;
--border: #dddad5;
--border-strong: #bbb6ae;
--text: #111111;
--text-muted: #444444;
--text-faint: #666666;
--accent: #a8380c;
--accent-strong: #a8380c;
--accent-text: #a8380c;
--accent-soft: #f7ece5;
--accent-ink: #ffffff;
--ok: #23624a;
--ok-soft: #eaf3ee;
--danger: #96201a;
--danger-soft: #f8eae9;
--danger-ink: #ffffff;
--info: #1f4f86;
--disabled: #cccccc;
--inactive: #767676;
--shadow-card: none;
--shadow-overlay: none;
}
.card,
.btn,
.stepper,
.nav-card,
.recipe-card,
.step-box,
.ingredient-row,
.pantry-item {
border: 1px solid var(--border) !important;
box-shadow: none !important;
}
.card,
.step-box {
break-inside: avoid;
}
}
.cm-editor {
background: var(--surface);
color: var(--text);
}
.cm-editor.cm-editor .cm-gutters {
background: var(--surface-sunk);
border-color: var(--border);
color: var(--text-faint);
}
.cm-editor.cm-editor .cm-activeLineGutter {
background: var(--surface-sunk);
color: var(--text-muted);
}
.cm-editor.cm-editor .cm-activeLine {
background: color-mix(in srgb, var(--surface-sunk) 60%, transparent);
}
.cm-editor.cm-editor .cm-content { caret-color: var(--text); }
.cm-editor.cm-editor .cm-cursor,
.cm-editor.cm-editor .cm-dropCursor {
border-left-color: var(--text);
}
.cm-editor .cm-selectionBackground,
.cm-editor.cm-focused .cm-selectionBackground,
.cm-editor ::selection {
background: color-mix(in srgb, var(--info) 30%, transparent) !important;
}
.cm-editor .cm-cook-ingredient {
color: var(--accent-text);
font-weight: 600;
}
.cm-editor .cm-cook-cookware {
color: var(--ok);
font-weight: 600;
}
.cm-editor .cm-cook-timer {
color: var(--danger);
font-weight: 600;
}
.cm-editor .cm-cook-unit,
.cm-editor .cm-cook-metadata {
color: var(--text-muted);
}
.cm-editor .cm-cook-comment {
color: var(--text-faint);
font-style: italic;
}
.cm-editor .cm-cook-section {
color: var(--text);
font-weight: 700;
font-size: 1.1em;
}
.cm-editor .cm-cook-prep {
color: var(--info);
font-style: italic;
}
.cm-tooltip.cm-tooltip {
background: var(--surface);
color: var(--text);
border: 1px solid var(--border-strong);
border-radius: var(--radius-control);
box-shadow: var(--shadow-overlay);
}
.cm-tooltip.cm-tooltip .cm-tooltip-lint,
.cm-tooltip.cm-tooltip .cm-diagnostic,
.cm-tooltip.cm-tooltip .cm-diagnosticText {
color: var(--text);
background: transparent;
}
.cm-tooltip.cm-tooltip .cm-diagnostic-error { border-left-color: var(--danger); }
.cm-tooltip.cm-tooltip .cm-diagnostic-warning { border-left-color: var(--accent); }
.cm-tooltip.cm-tooltip .cm-diagnostic-info { border-left-color: var(--info); }
.cm-tooltip.cm-tooltip .cm-diagnostic-hint { border-left-color: var(--info); }