:root { --bg: #f4f3ef; --fg: #15151a; --muted: #5b5b66; --card: #fff; --line: #dedcd5; --accent: #3b3bd8; color-scheme: light dark; }
@media (prefers-color-scheme: dark) { :root { --bg: #111114; --fg: #f1f0ec; --muted: #a3a3ad; --card: #1b1b20; --line: #2c2c33; --accent: #9c9cff; } }
* { box-sizing: border-box; }
body { margin: 0; background: var(--bg); color: var(--fg); font: 16px/1.5 system-ui, -apple-system, Segoe UI, sans-serif; }
header, main, footer { max-width: 1200px; margin: 0 auto; padding: 0 16px; }
header { padding-top: 48px; }
h1 { font-size: clamp(28px, 5vw, 44px); margin: 0 0 8px; letter-spacing: -0.02em; }
header p { color: var(--muted); max-width: 60ch; margin: 0; }
.wave { font-size: 14px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--muted); margin: 48px 0 16px; font-weight: 600; }
.grid { list-style: none; padding: 0; margin: 0; display: grid; gap: 20px; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); }
.card { background: var(--card); border: 1px solid var(--line); border-radius: 14px; overflow: hidden; display: flex; flex-direction: column; }
.card > a { color: inherit; text-decoration: none; display: block; flex: 1; }
.card > a:focus-visible, .deep a:focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; }
.card img, .noshot { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; object-position: top; border-bottom: 1px solid var(--line); background: var(--line); }
.meta { padding: 16px 18px 8px; }
.tag { font-size: 12px; color: var(--muted); font-variant-numeric: tabular-nums; }
.meta h2 { margin: 4px 0 6px; font-size: 22px; }
.meta p { margin: 0 0 10px; color: var(--muted); font-size: 15px; }
.go { color: var(--accent); font-weight: 600; font-size: 15px; }
.deep { display: flex; flex-wrap: wrap; gap: 4px 14px; padding: 4px 18px 16px; font-size: 14px; }
.deep a { color: var(--muted); }
footer { padding: 48px 16px; color: var(--muted); }
footer a { color: var(--accent); }
