
:root{
  --bg:#0b0f14; --fg:#e9eef5; --muted:#b7c0cc; --card:#121923; --border:#253245;
  --link:#7ab7ff; --accent:#ff4d4d; --accent2:#ffb3b3;
}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial;background:var(--bg);color:var(--fg)}
a{color:var(--link);text-decoration:none}
a:hover{text-decoration:underline}
.topbar{
  display:flex;justify-content:space-between;align-items:center;gap:16px;
  padding:16px 24px;border-bottom:1px solid var(--border);
  background:rgba(11,15,20,.94); position:sticky; top:0; backdrop-filter:blur(8px);
}
.brandline{display:flex;flex-direction:column;gap:4px}
.brandtitle{font-weight:900;letter-spacing:.2px}
.brandtitle .accent{color:var(--accent)}
.brandsub{font-size:13px;color:var(--muted)}
.brandsub a{color:var(--accent2);font-weight:700}
.nav{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}
.nav a{padding:8px 10px;border-radius:10px;border:1px solid transparent;color:var(--fg)}
.nav a:hover{border-color:var(--border);text-decoration:none}
.shell{max-width:1250px;margin:0 auto;padding:16px}
.layout{display:grid;grid-template-columns:280px 1fr;gap:16px}
@media (max-width: 980px){ .layout{grid-template-columns:1fr} .sidebar{order:2} }
.sidebar{border:1px solid var(--border);border-radius:16px;padding:14px;background:rgba(18,25,35,.35)}
.sidebar h3{margin:6px 0 10px 0}
.sidebar a{display:block;padding:10px 10px;border-radius:12px}
.sidebar a:hover{background:rgba(18,25,35,.75);text-decoration:none;border:1px solid var(--border)}
.hero{border:1px solid var(--border);border-radius:18px;padding:18px;background:linear-gradient(180deg, rgba(18,25,35,.9), rgba(18,25,35,.45))}
.kicker{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.pill{display:inline-flex;gap:8px;align-items:center;padding:8px 10px;border:1px solid var(--border);border-radius:999px;color:var(--muted);font-size:12px;background:rgba(14,20,29,.6)}
.pill strong{color:var(--fg)}
h1,h2{margin:10px 0 10px 0}
.muted{color:var(--muted);margin:0 0 10px 0}
.search{display:flex;gap:10px;align-items:center;margin-top:12px}
.search input{
  flex:1;padding:12px;border-radius:12px;border:1px solid var(--border);
  background:#0e141d;color:var(--fg)
}
.search button{
  padding:12px 12px;border-radius:12px;border:1px solid var(--border);
  background:#0e141d;color:var(--fg);cursor:pointer
}
.search button:hover{border-color:var(--accent)}
.notice{border:1px solid var(--border);border-radius:16px;padding:14px;background:rgba(14,20,29,.55);margin-top:12px}
.notice strong{color:var(--accent2)}
.grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(330px, 1fr));gap:14px;margin-top:14px}
.card{
  border:1px solid var(--border);border-radius:16px;padding:14px;background:rgba(18,25,35,.55);
  display:flex;flex-direction:column;gap:8px;min-height:150px
}
.card:hover{border-color:var(--accent);text-decoration:none}
.badges{display:flex;flex-wrap:wrap;gap:8px}
.badge{font-size:12px;border:1px solid var(--border);border-radius:999px;padding:4px 8px;color:var(--muted)}
.badge.primary{border-color:var(--accent);color:var(--fg)}
.meta{color:var(--muted);font-size:12px;display:flex;gap:10px;flex-wrap:wrap}
.section{margin-top:16px}
.prose{border:1px solid var(--border);border-radius:18px;padding:18px;background:rgba(18,25,35,.4)}
.prose h2{margin-top:0}
.callout{
  border-left:4px solid var(--accent);
  padding:12px 12px; background:rgba(14,20,29,.55); border-radius:12px; margin:12px 0;
}
.callout a{color:var(--accent2);font-weight:800}
.footer{border-top:1px solid var(--border);padding:12px 24px;color:var(--muted);font-size:12px}
.small{font-size:12px;color:var(--muted)}


/* Mobile nav compaction: reduce header height without changing layout structure */
@media (max-width: 720px){
  .topbar{
    padding: 10px 14px;
    gap: 10px;
  }
  .nav{
    gap: 6px;
  }
  .nav a{
    padding: 6px 8px;
    font-size: 12px;
    line-height: 1.2;
  }
  .brandline{
    gap: 2px;
  }
  .brandsub{
    font-size: 11px;
  }
}
