/* public/styles.css */
:root{
  --bg:#0f2236;
  --bg2:#172a40;
  --ink:#e8eef7;
  --muted:#a8b3c7;
  --brand:#8b5cf6; /* purple for button */
  --chip:#213a57;
  --card:#10263c;
  --stroke:#2b3e55;
  --good:#31c48d;
  --warn:#f0b429;
  --bad:#f98080;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  color:var(--ink);
  font:16px/1.4 system-ui,-apple-system,Segoe UI,Roboto,Inter,Arial,sans-serif;
  background:
    radial-gradient(1200px 500px at 50% 360px, rgba(124,58,237,.35), transparent 60%),
    linear-gradient(180deg, var(--bg) 0%, var(--bg2) 100%);
  background-attachment: fixed;
}

.page{min-height:100%; display:flex; flex-direction:column}

/* Tagline */
.tagline{
  margin:18px auto 8px;
  text-align:center;
  letter-spacing:.2px;
  font-weight:700;
  font-size:22px;
}
.tagline .accent{color:#a5f3fc}

/* Hero */
.hero{display:flex; flex-direction:column; align-items:center; gap:14px; margin-top:4px}
.logo-wrap{
  position:relative;
  margin-top:6px;
}
.logo-wrap::before{
  /* centered glow, tightly hugging the logo */
  content:"";
  position:absolute; inset:0;
  translate:0 6px; /* tiny nudge so the glow is right behind */
  background: radial-gradient(closest-side, rgba(124,58,237,.5), transparent 70%);
  filter: blur(12px);
  z-index:0;
}
.logo{
  position:relative;
  width:min(62vw, 860px);
  height:auto;
  display:block;
  z-index:1;
}

/* Search */
.search{width:min(950px, 92vw); display:flex; flex-direction:column; gap:10px}
.helper{margin:0; text-align:center; color:var(--muted)}
.bar{
  display:flex; gap:10px;
  background:rgba(255,255,255,.04);
  border:1px solid var(--stroke);
  border-radius:14px;
  padding:10px;
  backdrop-filter: blur(6px);
  box-shadow: 0 8px 24px rgba(0,0,0,.25);
}
.bar input{
  flex:1;
  background:transparent;
  border:0;
  color:var(--ink);
  font-size:16px;
  padding:10px 12px;
  outline:none;
}
.bar button{
  background:linear-gradient(90deg,#7c3aed, #8b5cf6 60%, #a78bfa);
  color:white; border:0; padding:12px 18px;
  border-radius:10px; font-weight:700; cursor:pointer;
}
.bar button:hover{opacity:.95}
.chips{display:flex; gap:8px; justify-content:center; flex-wrap:wrap}
.chip{
  background:var(--chip);
  border:1px solid var(--stroke);
  padding:6px 10px;
  border-radius:999px;
  color:var(--ink);
  font-size:13px;
}

/* Why cards */
.why{margin:28px auto 18px; width:min(1100px, 94vw)}
.grid{
  display:grid; gap:14px;
  grid-template-columns: repeat(2, 1fr);
}
.card{
  background:var(--card);
  border:1px solid var(--stroke);
  padding:14px 16px;
  border-radius:14px;
}
.card-title{font-weight:800; margin-bottom:6px}
.legend{
  margin-top:14px;
  background:var(--card);
  border:1px solid var(--stroke);
  border-radius:14px;
  padding:12px 14px;
  display:flex; align-items:center; gap:14px; flex-wrap:wrap
}
.legend-title{font-weight:800}
.legend-rows{display:flex; gap:14px; color:var(--muted)}

/* Results */
.results{width:min(1200px,95vw); margin:18px auto 22px}
.cols{display:grid; gap:18px; grid-template-columns: 300px 1fr}
.summary{
  background:var(--card);
  border:1px solid var(--stroke);
  border-radius:14px; padding:14px 16px;
}
.summary h2, .desc h2{margin:0 0 10px}
.summary ul{list-style:none; padding:0; margin:0}
.summary li{padding:5px 0; border-bottom:1px dashed var(--stroke)}
.summary li:last-child{border-bottom:0}
.desc{
  background:var(--card);
  border:1px solid var(--stroke);
  border-radius:14px; padding:14px 16px;
}
.desc-body{white-space:pre-wrap}

/* Actions */
.actions{display:flex; justify-content:flex-end; margin-top:12px}
.actions .ghost{
  background:transparent; color:var(--ink);
  border:1px solid var(--stroke); padding:10px 14px;
  border-radius:10px; cursor:pointer;
}

/* Footer */
.foot{margin:10px 0 20px; text-align:center; color:var(--muted)}

/* Responsive */
@media (max-width: 900px){
  .grid{grid-template-columns: 1fr}
  .cols{grid-template-columns: 1fr}
  .logo{width:min(85vw, 760px)}
}
