:root{--color-bg: #fafafa;--color-surface: #ffffff;--color-fg: #1a1a1a;--color-muted: #555555;--color-accent: #2d6cdf;--color-accent-fg: #ffffff;--color-border: #e2e4e8;--space-1: .25rem;--space-2: .5rem;--space-3: 1rem;--space-4: 1.5rem;--space-5: 2rem;--space-6: 3rem;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: 1rem;--font-sans: ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-serif: "Georgia", "Iowan Old Style", serif;--font-mono: ui-monospace, "SF Mono", Menlo, monospace;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 2px 8px rgba(0, 0, 0, .06);--max-width: 70ch}@media(prefers-color-scheme:dark){:root:not([data-theme]){--color-bg: #0f1115;--color-surface: #181b22;--color-fg: #ececec;--color-muted: #9aa0a6;--color-accent: #6ea1ff;--color-accent-fg: #0f1115;--color-border: #2a2e36;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 2px 8px rgba(0, 0, 0, .5)}}[data-theme=dark]{--color-bg: #0f1115;--color-surface: #181b22;--color-fg: #ececec;--color-muted: #9aa0a6;--color-accent: #6ea1ff;--color-accent-fg: #0f1115;--color-border: #2a2e36;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 2px 8px rgba(0, 0, 0, .5)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}html{color-scheme:light dark}body{background:var(--color-bg);color:var(--color-fg);font-family:var(--font-sans);line-height:1.6;-webkit-font-smoothing:antialiased}img,picture,svg,video{display:block;max-width:100%;height:auto}a{color:var(--color-accent);text-decoration:underline;text-decoration-thickness:.08em;text-underline-offset:.15em}a:hover{text-decoration-thickness:.16em}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3,h4,h5,h6{line-height:1.2;margin-block:var(--space-4) var(--space-2)}p,ul,ol{margin-block:0 var(--space-3)}ul,ol{padding-inline-start:var(--space-4)}.skip-link{position:absolute;inset-inline-start:var(--space-2);inset-block-start:var(--space-2);background:var(--color-accent);color:var(--color-accent-fg);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);text-decoration:none;transform:translateY(-200%);transition:transform .15s ease;z-index:1000}.skip-link:focus{transform:translateY(0)}:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-sm)}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}main{display:block;max-width:var(--max-width);margin-inline:auto;padding:var(--space-4) var(--space-3)}header>nav{display:flex;gap:var(--space-3);padding:var(--space-3);border-bottom:1px solid var(--color-border)}header>nav a{text-decoration:none}header>nav a.active{font-weight:600}footer{padding:var(--space-4) var(--space-3);border-top:1px solid var(--color-border);color:var(--color-muted);text-align:center}.card-list,.article-list,.list{list-style:none;padding:0;display:grid;gap:var(--space-3)}.card-list a,.article-list a,.list a{display:block;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);text-decoration:none;color:inherit}.card-list a:hover,.article-list a:hover,.list a:hover{box-shadow:var(--shadow-md)}.meta{color:var(--color-muted);font-size:.9em}.tag{display:inline-block;padding:.1em .5em;margin-inline-end:var(--space-1);background:var(--color-border);border-radius:var(--radius-sm);font-size:.85em}.ranking{padding:0;counter-reset:rank;list-style:none}.ranking>li{padding:var(--space-3);border-bottom:1px solid var(--color-border)}.rank{color:var(--color-accent);font-family:var(--font-mono);margin-inline-end:var(--space-2)}.prose{font-family:var(--font-serif)}.prose pre{background:var(--color-surface);border:1px solid var(--color-border);padding:var(--space-3);border-radius:var(--radius-md);overflow-x:auto}.prose code{font-family:var(--font-mono)}
