/* TechProspect — base tokens and resets */
:root,:root[data-theme="dark"]{
  --bg:#0B1221;
  --bg-2:#0F172A;
  --panel:#111b30;
  --panel-2:#162339;
  --text:#E6EDF7;
  --muted:#94A3B8;
  --line:rgba(255,255,255,.08);
  --brand:#6366F1;
  --brand-2:#22D3EE;
  --accent:#34D399;
  --danger:#F43F5E;
  --radius:16px;
  --radius-lg:22px;
  --shadow:0 10px 30px rgba(2,6,23,.45);
  --max:1180px;
}
:root[data-theme="light"]{
  --bg:#F5F7FB;
  --bg-2:#FFFFFF;
  --panel:#FFFFFF;
  --panel-2:#F1F5F9;
  --text:#0B1221;
  --muted:#475569;
  --line:rgba(15,23,42,.10);
  --shadow:0 10px 30px rgba(15,23,42,.08);
}
:root[data-theme="light"] body{
  background:radial-gradient(1200px 600px at 80% -10%, rgba(99,102,241,.10), transparent 60%),
             radial-gradient(900px 500px at -10% 20%, rgba(34,211,238,.10), transparent 60%),
             var(--bg);
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  background:radial-gradient(1200px 600px at 80% -10%, rgba(99,102,241,.20), transparent 60%),
             radial-gradient(900px 500px at -10% 20%, rgba(34,211,238,.15), transparent 60%),
             var(--bg);
  color:var(--text);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  min-height:100vh;
  display:flex;flex-direction:column;
}
main{flex:1}
img,svg{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul{list-style:none;margin:0;padding:0}

.container{max-width:var(--max);margin:0 auto;padding:0 20px}
.container--narrow{max-width:820px}

.grad{background:linear-gradient(90deg,var(--brand-2),var(--brand));-webkit-background-clip:text;background-clip:text;color:transparent}

/* Accessibility skip link */
.skip-link{position:absolute;top:-40px;left:0;background:var(--brand);color:#fff;padding:10px 14px;z-index:100}
.skip-link:focus{top:0}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  *{animation:none !important;transition:none !important}
}
a:focus-visible, button:focus-visible, summary:focus-visible{outline:2px solid var(--brand-2);outline-offset:2px;border-radius:8px}
