@import "tailwindcss"; @custom-variant dark (&:where(.dark, .dark *)); @theme { --font-sans: ui-sans-serif, -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Inter, Roboto, "Helvetica Neue", Arial, sans-serif; --font-serif: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Palatino, "Source Serif 4", Georgia, "Times New Roman", serif; --font-mono: ui-monospace, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace; --color-bg: var(--bg); --color-bg-2: var(--bg-2); --color-bg-3: var(--bg-3); --color-fg: var(--fg); --color-fg-2: var(--fg-2); --color-fg-3: var(--fg-3); --color-line: var(--line); --color-line-2: var(--line-2); --color-navy: var(--navy); --color-navy-2: var(--navy-2); --color-burgundy: var(--burgundy); --color-burgundy-2: var(--burgundy-2); --color-accent-fg: var(--accent-fg); --color-ok: var(--ok); --color-warn: var(--warn); --color-bad: var(--bad); --shadow-soft: 0 1px 2px rgb(20 18 14 / 0.04), 0 6px 20px -12px rgb(20 18 14 / 0.14); --shadow-lift: 0 2px 6px rgb(20 18 14 / 0.06), 0 18px 36px -20px rgb(20 18 14 / 0.25); } :root { color-scheme: light; --bg: #faf8f4; --bg-2: #ffffff; --bg-3: #f2eee7; --fg: #1c1b1f; --fg-2: #444349; --fg-3: #6a6873; --line: #e4dfd6; --line-2: #cfc8bc; --navy: #1f3a5f; --navy-2: #2d4f7c; --burgundy: #6b2737; --burgundy-2: #87384a; --accent-fg: #ffffff; --ok: #2f6b3f; --warn: #8a5a13; --bad: #9b2c2c; } .dark { color-scheme: dark; --bg: #15161a; --bg-2: #1d1f25; --bg-3: #24262e; --fg: #ecebe6; --fg-2: #c3c1ba; --fg-3: #8f8d87; --line: #2f323b; --line-2: #3f434e; --navy: #9fbce0; --navy-2: #b9cfe9; --burgundy: #d8919f; --burgundy-2: #e4aab5; --accent-fg: #15161a; --ok: #7fc08f; --warn: #d9b25b; --bad: #e08a8a; } html { scroll-behavior: smooth; } body { background: var(--bg); color: var(--fg); font-family: var(--font-sans); -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; } h1, h2, h3, .serif { font-family: var(--font-serif); letter-spacing: -0.01em; } h1 { font-weight: 500; } h2, h3 { font-weight: 500; } a { text-decoration-thickness: 1px; text-underline-offset: 3px; } .skip-link { position: absolute; left: -999px; top: 0; background: var(--navy); color: var(--accent-fg); padding: .5rem 1rem; z-index: 100; } .skip-link:focus { left: 1rem; top: 1rem; } .container { width: 100%; max-width: 76rem; margin-inline: auto; padding-inline: 1rem; } @media (min-width: 640px) { .container { padding-inline: 1.5rem; } } .prose-academic p { margin-bottom: 1rem; line-height: 1.72; font-size: 1.02rem; } .prose-academic p:last-child { margin-bottom: 0; } mark { background: color-mix(in oklab, var(--navy) 18%, transparent); color: inherit; padding: 0 .1em; border-radius: 2px; } .card { background: var(--bg-2); border: 1px solid var(--line); border-radius: .75rem; box-shadow: var(--shadow-soft); } .chip { display: inline-flex; align-items: center; gap: .3rem; border: 1px solid var(--line); border-radius: 999px; padding: .15rem .6rem; font-size: .78rem; line-height: 1.3; color: var(--fg-2); background: var(--bg-2); white-space: nowrap; } .chip-navy { border-color: color-mix(in oklab, var(--navy) 40%, transparent); color: var(--navy); background: color-mix(in oklab, var(--navy) 7%, transparent); } .chip-burgundy { border-color: color-mix(in oklab, var(--burgundy) 40%, transparent); color: var(--burgundy); background: color-mix(in oklab, var(--burgundy) 7%, transparent); } .btn { display: inline-flex; align-items: center; justify-content: center; gap: .45rem; border-radius: .5rem; padding: .55rem 1rem; font-size: .9rem; font-weight: 500; border: 1px solid var(--line-2); background: var(--bg-2); color: var(--fg); transition: background .15s, border-color .15s; } .btn:hover { background: var(--bg-3); } .btn:focus-visible { outline: 2px solid var(--navy); outline-offset: 2px; } .btn-primary { background: var(--navy); border-color: var(--navy); color: var(--accent-fg); } .btn-primary:hover { background: var(--navy-2); } .btn-sm { padding: .35rem .7rem; font-size: .82rem; } .input { width: 100%; border: 1px solid var(--line-2); border-radius: .5rem; background: var(--bg-2); color: var(--fg); padding: .6rem .85rem; font-size: .95rem; } .input:focus { outline: 2px solid var(--navy); outline-offset: 1px; border-color: var(--navy); } select.input { appearance: auto; } .label { font-size: .72rem; text-transform: uppercase; letter-spacing: .08em; color: var(--fg-3); font-weight: 600; } .meta { font-size: .85rem; color: var(--fg-3); } .kicker { font-size: .78rem; text-transform: uppercase; letter-spacing: .12em; color: var(--burgundy); font-weight: 600; } table.data { width: 100%; border-collapse: collapse; font-size: .9rem; } table.data th { text-align: left; font-weight: 600; color: var(--fg-3); font-size: .75rem; text-transform: uppercase; letter-spacing: .06em; padding: .5rem .6rem; border-bottom: 1px solid var(--line-2); } table.data td { padding: .55rem .6rem; border-bottom: 1px solid var(--line); vertical-align: top; } .hairline { border-top: 1px solid var(--line); } details > summary { cursor: pointer; list-style: none; } details > summary::-webkit-details-marker { display: none; } @media (prefers-reduced-motion: reduce) { * { animation: none !important; transition: none !important; } html { scroll-behavior: auto; } }