/* Odyssi Styles — nature-inspired, no external dependencies */
:root{
  --bg-1:#052019;
  --bg-2:#0b3f33;
  --bg-3:#146356;
  --fg:#e9f7f4;
  --muted:#bfe7dd;
  --accent:#67e8a6;
  --card:#0e2b23;
  --card-border:rgba(255,255,255,.08);
  --shadow:0 10px 30px rgba(0,0,0,.35)
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
  color:var(--fg);
  background: radial-gradient(1200px 800px at 10% -10%, var(--bg-3), transparent 60%),
              radial-gradient(900px 600px at 110% 10%, #0b2e27, transparent 55%),
              linear-gradient(180deg,var(--bg-1), var(--bg-2));
  overflow-x:hidden;
}
a{color:var(--accent);text-decoration:none}
.section{padding:4rem 1rem;max-width:1100px;margin:0 auto}
.site-header{
  position:sticky;top:0;z-index:10;
  display:flex;align-items:center;justify-content:space-between;
  padding:.9rem 1rem;background:rgba(0,0,0,.35);backdrop-filter: blur(6px); border-bottom:1px solid var(--card-border)
}
.brand{display:flex;gap:.6rem;align-items:center;font-weight:700;letter-spacing:.2px}
.site-header nav a{margin-left:1rem;opacity:.9}
.hero{padding:7rem 1rem 4rem;max-width:1100px;margin:0 auto;text-align:center}
.hero h1{font-size: clamp(2rem, 4vw + .5rem, 3.2rem);margin:.2rem 0 1rem}
.hero p{max-width:800px;margin:0 auto 1.5rem;opacity:.95;line-height:1.5}
.accent{color:var(--accent)}
.btn{display:inline-block;padding:.85rem 1.15rem;border-radius:999px;border:1px solid var(--card-border);box-shadow:var(--shadow)}
.btn.primary{background:linear-gradient(180deg,#1e8a73,#146356);color:white;border-color:transparent}
.btn.ghost{background:transparent}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem;margin-top:1.5rem}
.card{background:var(--card);border:1px solid var(--card-border);border-radius:16px;padding:1rem;box-shadow:var(--shadow)}
.pill-list{display:flex;gap:.6rem;flex-wrap:wrap;list-style:none;padding:0;margin:1rem 0 0}
.pill-list li{padding:.55rem .9rem;border:1px solid var(--card-border);border-radius:999px;background:rgba(255,255,255,.03)}
.site-footer{padding:2rem 1rem;text-align:center;opacity:.8}
.tiny{opacity:.7;font-size:.85rem}
.offline{margin-top:1rem;font-size:.9rem;opacity:.85}

/* background canvas occupies screen */
.bg{position:fixed;inset:0;z-index:-1;pointer-events:none}
#bg-canvas{width:100%;height:100%;display:block}


/* Accessibility: skip link */
.skip{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip:focus{left:1rem;top:1rem;width:auto;height:auto;z-index:9999;background:#000;color:#fff;padding:.5rem .75rem;border-radius:8px}
.footer-links{display:flex;gap:1rem;justify-content:center;margin-top:.75rem;opacity:.9}
.footer-links a{opacity:1}


/* Signup form */
.signup-form{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap;margin-top:1rem}
.signup-form input[type="email"]{min-width:260px;padding:.8rem 1rem;border-radius:12px;border:1px solid var(--card-border);background:rgba(255,255,255,.06);color:var(--fg)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}


/* Demo form */
.demo-form{max-width:760px;margin:1rem auto;display:grid;gap:.8rem}
.demo-row{display:grid;gap:.35rem}
.demo-row input[type="text"], .demo-row textarea{
  padding:.8rem 1rem;border-radius:12px;border:1px solid var(--card-border);
  background:rgba(255,255,255,.06);color:var(--fg)
}
.demo-actions{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center;margin-top:.4rem}
