:root{
  color-scheme: light dark;
  --bg:#fbfbfa; --fg:#1c1c1e; --muted:#6b6b70;
  --line:#e6e6e3; --accent:#2f6f4f; --card:#ffffff;
}
@media (prefers-color-scheme: dark){
  :root{ --bg:#131417; --fg:#e9e9ea; --muted:#9a9aa0;
         --line:#2a2c31; --accent:#2f6f4f; --card:#1a1c20; }
}
*{box-sizing:border-box}
body{margin:0; background:var(--bg); color:var(--fg);
  font:16px/1.65 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;}
.wrap{width:100%; max-width:52rem; margin-inline:auto; padding-inline:1.25rem}
header.wrap{display:flex; align-items:center; justify-content:space-between;
  gap:1rem; padding-block:1.1rem; border-bottom:1px solid var(--line)}
.brand{font-weight:700; text-decoration:none; color:var(--fg); font-size:1.15rem}
.brand span{color:var(--muted); font-weight:500}
nav{display:flex; gap:1.1rem; flex-wrap:wrap}
nav a{color:var(--muted); text-decoration:none; font-size:.95rem}
nav a:hover,nav a[aria-current]{color:var(--fg)}
main{padding-block:2.2rem 3rem}
.hero h1,main>h1{font-size:1.9rem; line-height:1.2; margin:.2rem 0 .6rem}
.lead{color:var(--muted); font-size:1.08rem; max-width:40rem}
.promo{margin:1.4rem 0; padding:1rem 1.1rem; background:var(--card);
  border:1px solid var(--line); border-left:4px solid var(--accent); border-radius:12px}
.promo p{margin:0; color:var(--muted)}
h2{font-size:1.25rem; margin-top:2.2rem}
a{color:var(--accent)}
.cards{list-style:none; padding:0; margin:1rem 0; display:grid;
  gap:.9rem; grid-template-columns:repeat(auto-fill,minmax(15rem,1fr))}
.cards a{display:block; text-decoration:none; color:inherit; background:var(--card);
  border:1px solid var(--line); border-radius:12px; padding:1rem 1.1rem; transition:border-color .15s}
.cards a:hover{border-color:var(--accent)}
.cards h3{margin:.1rem 0 .35rem; font-size:1.02rem}
.cards p{margin:0 0 .5rem; color:var(--muted); font-size:.92rem}
.cards time,article time{color:var(--muted); font-size:.82rem}
.dot{display:inline-block; width:.62rem; height:.62rem; border-radius:50%;
  background:var(--muted); margin-right:.4rem; vertical-align:middle}
.dot.ok{background:var(--accent)}
table.status{width:100%; border-collapse:collapse; margin:1rem 0}
table.status th,table.status td{text-align:left; padding:.6rem .5rem;
  border-bottom:1px solid var(--line); font-size:.95rem}
table.status th{color:var(--muted); font-weight:600}
.muted{color:var(--muted); font-size:.88rem}
.prose p,.prose li{max-width:42rem}
.prose article{padding-block:1rem; border-bottom:1px solid var(--line)}
pre{background:var(--card); border:1px solid var(--line); border-radius:10px;
  padding:.9rem 1rem; overflow:auto; font-size:.88rem}
code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
:not(pre)>code{background:var(--card); border:1px solid var(--line);
  padding:.05rem .35rem; border-radius:6px; font-size:.85em}
footer.wrap{border-top:1px solid var(--line); padding-block:1.3rem 2rem;
  color:var(--muted); font-size:.88rem}
footer a{color:var(--muted)}
