@import "tailwindcss"; @custom-variant dark (&:where(.dark, .dark *)); @theme { --color-primary: #123c36; --color-primary-strong: #082b27; --color-dstu-menu: #2d323e; --color-dstu-menu-accent: #1ee2e7; --color-dstu-menu-line: #e67e22; --color-accent: #d65a3a; --color-accent-dark: #a84028; --color-accent-soft: #f6ddd4; --color-paper: #f5f2ea; --color-surface: #fffdf8; --color-ink: #17201e; --color-muted: #66706d; --color-line: #d9d8d0; --color-success: #247a5a; --color-success-soft: #dceee7; --color-warning: #a96616; --color-warning-soft: #f5e8d0; --color-danger: #b43d3d; --color-danger-soft: #f6dddd; --font-sans: Inter, Arial, sans-serif; --font-serif: Georgia, Cambria, serif; --radius-md: 0.375rem; --radius-lg: 0.75rem; --radius-xl: 1.25rem; --shadow-soft: 0 1.125rem 3.75rem rgb(18 60 54 / 0.08); } :root.dark { --color-primary: #28685e; --color-primary-strong: #071f1c; --color-accent: #ef7858; --color-accent-dark: #ff987d; --color-accent-soft: #47251f; --color-paper: #101614; --color-surface: #18201e; --color-ink: #edf2ef; --color-muted: #a4afab; --color-line: #34403c; --color-success: #6fc29f; --color-success-soft: #19372c; --color-warning: #e9ad5c; --color-warning-soft: #3c2c17; --color-danger: #f08282; --color-danger-soft: #422222; --shadow-soft: 0 1.125rem 3.75rem rgb(0 0 0 / 0.28); color-scheme: dark; } :root { color: var(--color-ink); background: var(--color-paper); font-family: var(--font-sans); font-synthesis: none; text-rendering: optimizeLegibility; } * { box-sizing: border-box; } html { scroll-behavior: smooth; } body { margin: 0; min-width: 20rem; min-height: 100vh; background: var(--color-paper); transition: color 180ms ease, background-color 180ms ease; } body, header, main, footer, aside, section, article, div, input, textarea, select, button { transition-property: color, background-color, border-color; transition-duration: 180ms; transition-timing-function: cubic-bezier(0.2, 0, 0, 1); } button, input, textarea, select { font: inherit; } a { color: inherit; text-decoration: none; } .page-shell { width: min(100% - clamp(2rem, 6vw, 6rem), 80rem); margin-inline: auto; } .page-shell-wide { width: min(100% - clamp(2rem, 5vw, 5rem), 90rem); margin-inline: auto; } ::selection { color: white; background: var(--color-accent); } @view-transition { navigation: auto; } ::view-transition-old(root), ::view-transition-new(root) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.2, 0, 0, 1); } @media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; } }