
:root { --bg:#fbfaf7; --fg:#1d1d1b; --muted:#6b6b66; --active:#c8401f; --passive:#1f5fc8; --contrib:#9a9a94; --tile:#ffffff; --line:#e5e3dc; }
@media (prefers-color-scheme: dark) { :root { --bg:#141412; --fg:#ebe9e2; --muted:#9a9a94; --tile:#1d1d1a; --line:#2c2c28; } }
* { box-sizing: border-box; }
body { margin:0; background:var(--bg); color:var(--fg); font: 16px/1.55 Georgia, 'Times New Roman', serif; }
main, .site-header, .site-footer { max-width: 900px; margin: 0 auto; padding: 0 20px; }
.site-header { display:flex; justify-content:space-between; align-items:baseline; padding-top:24px; padding-bottom:12px; border-bottom:1px solid var(--line); }
.brand { font-weight:bold; text-decoration:none; color:var(--fg); font-size:1.15rem; }
nav a { color:var(--muted); text-decoration:none; }
.intro { margin: 20px 0; color: var(--muted); }
.tiles { display:grid; grid-template-columns: repeat(auto-fit, minmax(220px,1fr)); gap:14px; margin: 18px 0; }
.tile { background:var(--tile); border:1px solid var(--line); border-radius:10px; padding:16px 18px; }
.tile h2 { margin:0 0 6px; font-size:0.85rem; letter-spacing:0.06em; text-transform:uppercase; color:var(--muted); }
.active-tile h2 { color: var(--active); } .passive-tile h2 { color: var(--passive); }
.big { font-size:1.9rem; margin:0; font-variant-numeric: tabular-nums; }
.up { color:#1f8a4c; margin:2px 0; } .down { color:#c8401f; margin:2px 0; }
.muted { color:var(--muted); font-size:0.9rem; }
.chart svg { width:100%; height:auto; display:block; }
.chart .active { fill:none; stroke:var(--active); stroke-width:2.5; }
.chart .passive { fill:none; stroke:var(--passive); stroke-width:2.5; }
.chart .contrib { fill:none; stroke:var(--contrib); stroke-width:1.5; stroke-dasharray:4 4; }
.chart .active-dot { fill:var(--active); } .chart .passive-dot { fill:var(--passive); }
.chart .grid { stroke:var(--line); stroke-width:1; }
.chart .tick { fill:var(--muted); font-size:12px; font-family: ui-monospace, Menlo, monospace; }
.legend { color:var(--muted); font-size:0.9rem; margin-top:6px; }
.sw { display:inline-block; width:14px; height:3px; vertical-align:middle; margin:0 6px 0 10px; }
.sw.active { background:var(--active); } .sw.passive { background:var(--passive); } .sw.contrib { background:var(--contrib); }
.posts ul { list-style:none; padding:0; } .posts li { padding:8px 0; border-bottom:1px solid var(--line); }
.posts time { color:var(--muted); font-family: ui-monospace, Menlo, monospace; font-size:0.9rem; margin-right:10px; }
article h1 { font-size:2rem; line-height:1.2; margin: 6px 0 18px; }
article h2 { font-size:1.15rem; margin-top:28px; }
article table { border-collapse:collapse; width:100%; font-variant-numeric: tabular-nums; font-size:0.95rem; }
article th, article td { text-align:left; padding:6px 8px; border-bottom:1px solid var(--line); }
article th { color:var(--muted); font-weight:normal; font-size:0.85rem; text-transform:uppercase; letter-spacing:0.05em; }
a { color: inherit; }
.site-footer { border-top:1px solid var(--line); margin-top:40px; padding-top:16px; padding-bottom:40px; color:var(--muted); font-size:0.9rem; }
