:root{
  --bg:#0e1116;--panel:#161b22;--border:#30363d;--text:#e6edf3;--muted:#8b949e;
  --accent:#58a6ff;--accent-soft:rgba(88,166,255,.12);--admin:#d29922;
  --ok:#3fb950;--err:#f85149;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--text);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,sans-serif;line-height:1.5}
body{min-height:100vh;display:flex;flex-direction:column}
a{color:var(--accent)}
.topnav{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;border-bottom:1px solid var(--border)}
.topnav .brand{color:var(--text);text-decoration:none;font-weight:700;letter-spacing:-.01em}
.navlinks{display:flex;align-items:center;gap:16px;font-size:.92rem}
.navlinks a{color:var(--muted);text-decoration:none}.navlinks a:hover{color:var(--text)}
.navlinks a.navbtn{color:var(--text);border:1px solid var(--border);padding:5px 14px;border-radius:6px}
.navlinks a.navbtn:hover{border-color:var(--accent);color:var(--accent)}
.inline{display:inline;margin:0}
.linkbtn{background:none;border:0;padding:0;color:var(--muted);font:inherit;cursor:pointer}
.linkbtn:hover{color:var(--text)}.linkbtn.danger:hover{color:var(--err)}
.wrap{width:100%;max-width:760px;margin:0 auto;padding:48px 16px 64px;flex:1}
.wrap.wide{max-width:980px}
.narrow{width:100%;max-width:420px;margin:0 auto;padding:56px 16px;flex:1}
.hero{text-align:center;margin:24px 0 36px}.hero.left{text-align:left;margin-top:0}
.hero h1{font-size:2.6rem;margin:0 0 6px;letter-spacing:-.02em}
.tag{color:var(--muted);margin:0}
section h2,main h2{font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:40px 0 12px;font-weight:600}
.grid{display:grid;grid-template-columns:1fr;gap:10px}
@media (min-width:600px){.grid{grid-template-columns:1fr 1fr}}
a.card,.card{display:block;padding:16px 18px;background:var(--panel);border:1px solid var(--border);border-radius:8px;
  color:var(--text);text-decoration:none;transition:border-color .15s,background .15s,transform .15s}
a.card:hover{border-color:var(--accent);background:var(--accent-soft);transform:translateY(-1px)}
.card .title{font-weight:600;margin-bottom:4px}.card .desc{color:var(--muted);font-size:.9rem}
.card .note{color:var(--muted);font-size:.75rem;margin-top:6px}
.card.disabled{opacity:.7;cursor:default}
.card.feature{display:flex;gap:16px;align-items:center;border-color:#3b3f8f;background:linear-gradient(135deg,#1a1d3a,#161b22)}
.feature-icon{font-size:1.6rem;width:48px;height:48px;border-radius:10px;background:#2b2f6b;display:grid;place-items:center;color:#ffcc33;flex-shrink:0}
.members{margin-top:8px}.members p{color:var(--muted)}
.btnrow{display:flex;gap:10px;flex-wrap:wrap}
.btn{display:inline-block;padding:10px 20px;border-radius:8px;background:#238636;color:#fff;border:1px solid #2ea043;
  font:inherit;font-size:.95rem;text-decoration:none;cursor:pointer}
.btn:hover{background:#2ea043}
.btn.ghost{background:transparent;color:var(--text);border-color:var(--border)}.btn.ghost:hover{border-color:var(--accent);color:var(--accent)}
.btn.sm{padding:5px 12px;font-size:.85rem}
.form{display:flex;flex-direction:column;gap:14px;margin:18px 0}
.form label{display:flex;flex-direction:column;gap:6px;font-size:.9rem;color:var(--muted)}
.form input,.form textarea,select{background:var(--panel);border:1px solid var(--border);border-radius:6px;color:var(--text);
  padding:10px 12px;font:inherit;font-size:16px}
.form input:focus,.form textarea:focus{outline:none;border-color:var(--accent)}
.opt{font-size:.8rem;opacity:.8}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.muted{color:var(--muted)}.err{color:var(--err)}.ok{color:var(--ok)}
.ucard{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:14px 16px;background:var(--panel);
  border:1px solid var(--border);border-radius:8px;margin-bottom:10px}
.ucard.pend{border-color:var(--admin)}.umsg{margin-top:6px;font-style:italic;color:var(--text)}
.uact{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
select{padding:5px 8px;font-size:.85rem}
.utable{width:100%;border-collapse:collapse;font-size:.9rem;display:block;overflow-x:auto}
.utable th,.utable td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border);white-space:nowrap}
.utable th{color:var(--muted);font-weight:600}
code{background:var(--panel);border:1px solid var(--border);padding:1px 6px;border-radius:4px;font-size:.85em}
.foot{text-align:center;color:var(--muted);font-size:.8rem;padding:24px 16px}
.about p{color:var(--text);opacity:.9;margin:0;font-size:1.02rem;line-height:1.65}
.about strong{font-weight:600}
.people{display:grid;grid-template-columns:1fr;gap:16px;margin:24px 0 8px}
@media (min-width:640px){.people{grid-template-columns:1fr 1fr}}
.person{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;
  padding:28px 14px 22px;border:1px solid var(--border);border-radius:16px;overflow:hidden;
  background:radial-gradient(120% 60% at 50% 0%,rgba(88,166,255,.13),transparent 70%),var(--panel)}
.avatar{width:96px;height:96px;border-radius:50%;object-fit:cover;padding:3px;
  background:linear-gradient(135deg,#58a6ff,#8b5cf6);box-shadow:0 8px 24px -10px rgba(88,166,255,.6)}
.pname{margin:14px 0 2px;font-size:1.15rem;font-weight:650;letter-spacing:-.01em}
.about .prole{margin:2px 0 22px;color:var(--muted);opacity:1;font-size:.86rem;line-height:1.4;letter-spacing:.02em}
.sbtns{display:flex;flex-wrap:nowrap;justify-content:center;gap:4px;margin-top:auto;max-width:100%}
.sbtn{display:flex;flex-direction:column;align-items:center;gap:6px;width:50px;flex:0 1 50px;min-width:0;text-decoration:none;color:var(--muted)}
.sicon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;color:var(--fg);
  background:color-mix(in srgb,var(--brand) 15%,transparent);border:1px solid color-mix(in srgb,var(--brand) 40%,transparent);
  transition:background .18s,color .18s,transform .18s,box-shadow .18s}
.sicon svg{width:20px;height:20px;fill:currentColor}
.sicon svg.stroke{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.slabel{font-size:.64rem;letter-spacing:.01em;white-space:nowrap;transition:color .18s}
.sbtn:hover .sicon,.sbtn:focus-visible .sicon{background:var(--brand);color:#fff;transform:translateY(-3px);
  box-shadow:0 10px 22px -8px var(--brand)}
.sbtn:hover .slabel,.sbtn:focus-visible .slabel{color:var(--text)}
.sbtn:focus-visible{outline:none}
.card.feature{margin-top:8px}
section.about + section{margin-top:24px}
