:root{
  --bg:#f6f7f9; --text:#1f2937; --muted:#6b7280; --brand:#0ea5e9; --brand-600:#0284c7; --panel:#ffffff; --ring:rgba(2,132,199,.35);
}
@media (prefers-color-scheme: dark){
  :root{ --bg:#0b1220; --text:#e5e7eb; --muted:#9ca3af; --panel:#0f172a; }
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0; background:var(--bg); color:var(--text);
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";
  line-height:1.6;
}
header{
  padding:1.75rem 1rem 1.25rem;
  text-align:center;
  background: linear-gradient(180deg, rgba(14,165,233,.12), transparent 65%);
}
header h1{ margin:0; font-size:clamp(1.5rem,2.2vw + .6rem,2.1rem); font-weight:800; letter-spacing:.2px; }
header p.sub{ margin:.25rem 0 0; color:var(--muted); font-weight:600; }
.nav{
  display:flex; justify-content:center; gap:.5rem; background:#f0f4f8; padding:.6rem;
}
.nav a{
  display:inline-block; padding:.5rem 1rem; border-radius:.6rem; text-decoration:none; font-weight:700; color:var(--text);
}
.nav a:hover{ background:rgba(14,165,233,.15); color:var(--brand-600); }
.nav a.active{ outline:2px solid var(--brand-600); outline-offset:2px; }
.shell{ max-width:1000px; margin:0 auto; padding:1rem; }
.panel{
  background:var(--panel); border:1px solid rgba(2,132,199,.15); border-radius:1rem;
  padding:1.25rem clamp(1rem,2vw,2rem); box-shadow:0 10px 20px rgba(2,6,23,.08);
}
h2{ margin-top:.25rem; font-size:1.35rem; }
a{ color:var(--brand-600); text-decoration:none; }
a:hover{ text-decoration:underline; }
ul.clean{ padding-left:1.1rem; }
ul.clean li{ margin:.35rem 0; }
.kvs{ display:grid; grid-template-columns: repeat(auto-fit,minmax(220px,1fr)); gap:.75rem; margin:1rem 0 .5rem; }
.kv{ background: linear-gradient(180deg, rgba(14,165,233,.08), transparent 80%); border:1px dashed rgba(2,132,199,.25); border-radius:.75rem; padding:.75rem .9rem; }
.kv strong{ display:block; font-size:.85rem; color:var(--muted); }
.kv span{ font-weight:700; font-size:1.05rem; }
.meet-list{ display:grid; gap:.75rem; margin:1rem 0; }
.meet-card{ background:var(--panel); border:1px solid rgba(2,132,199,.15); border-radius:.9rem; padding:1rem; }
.meet-card h3{ margin:.2rem 0 .4rem; }
.badge{ display:inline-block; font-size:.8rem; font-weight:800; background:rgba(14,165,233,.15); padding:.15rem .5rem; border-radius:.5rem; margin-left:.5rem; }
.footer-note{ margin-top:.75rem; color:var(--muted); font-size:.95rem; }