/* Basic reset and variables */
:root{
  --bg:#f7fafc;
  --card:#ffffff;
  --accent:#2563eb;
  --text:#0f172a;
  --muted:#475569;
  --radius:10px;
  --max-width:1100px;
}
/* Dark theme variables applied when `.theme-dark` is on the root */
body.theme-dark{
  --bg:#071022;
  --card:#0f1724;
  --accent:#2b8cff;
  --text:#e6eef8;
  --muted:#94a3b8;
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
  background:var(--bg);
  color:var(--text);
  line-height:1.5;
}
.container{max-width:var(--max-width);margin:0 auto;padding:1.25rem}
.site-header{background:#023C88;color:#fff}
.site-header .container{display:flex;align-items:center;justify-content:space-between}
.header-inner{display:flex;align-items:center;justify-content:space-between}
.brand{font-weight:700;color:inherit;text-decoration:none;display:inline-flex;align-items:center}
.logo{height:60px;display:block;transform:translateX(-100px);transition:transform .25s ease}
.theme-toggle{background:transparent;border:0;color:inherit;font-size:1.05rem;padding:.25rem .5rem;border-radius:6px;cursor:pointer}
.theme-toggle[aria-pressed="true"]{background:rgba(255,255,255,.08)}
.left{display:flex;align-items:center;gap:.75rem}
.auth{display:flex;gap:.5rem;align-items:center}
.auth a{color:#fff;text-decoration:none;font-weight:600;padding:.25rem .5rem;border-radius:6px}
.auth .signup{background:rgba(255,255,255,.12)}
.nav-toggle{display:none;background:none;border:0;font-size:1.25rem;color:inherit}
.site-nav a{margin-left:1rem;color:rgba(255,255,255,.95);text-decoration:none}
.hero{padding:4rem 0;background:linear-gradient(180deg,#ffffff00,#ffffff);text-align:center}
.hero h1{font-size:clamp(1.5rem,3vw,2.25rem);margin:0 0 .5rem}
.hero p{color:var(--muted);margin:0 0 1rem}
.btn{display:inline-block;background:var(--accent);color:white;padding:.6rem 1rem;border-radius:8px;text-decoration:none}
.features{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;padding:2rem 0}
.features article{background:var(--card);padding:1rem;border-radius:var(--radius);box-shadow:0 1px 3px rgba(2,6,23,.06)}
.site-footer{padding:1rem 0;color:var(--muted);text-align:center}
.about,.contact{padding:2rem 0}
form{display:flex;flex-direction:column;gap:.5rem;max-width:420px}
input[type="email"]{padding:.5rem;border-radius:6px;border:1px solid #e6eef8}
@media (max-width:800px){
  .features{grid-template-columns:1fr}
  .nav-toggle{display:inline-block}
  .site-nav{display:none}
  .site-nav.show{display:flex;flex-direction:column;gap:.5rem;position:absolute;top:64px;right:1rem;background:var(--card);padding:1rem;border-radius:8px;box-shadow:0 6px 18px rgba(2,6,23,.08)}
  .site-header .container{position:relative}
  .logo{transform:translateX(0)}
}