/* styles.css — dark, technical, monospace look for NanoHost */
:root{
  --bg:#0b0f12;
  --panel:#0f1619;
  --muted:#7d8a8f;
  --accent:#00e5a8;
  --accent-2:#3bd1ff;
  --glass: rgba(255,255,255,0.03);
  --card:#0c1214;
  --radius:8px;
  --mono: "Space Mono", "Fira Code", ui-monospace, SFMono-Regular, Menlo, monospace;
  --gap:18px;
}

*{box-sizing:border-box}
html,body{height:100%;}
body{
  margin:0;
  font-family: var(--mono);
  background:linear-gradient(180deg, var(--bg) 0%, #071014 120%);
  color:#d7e6e6;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  line-height:1.5;
  padding-bottom:60px;
}

/* HEADER */
.site-header{
  position:sticky;
  top:0;
  z-index:50;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--gap);
  padding:12px 20px;
  background:linear-gradient(180deg, rgba(0,0,0,0.35), rgba(255,255,255,0.02));
  border-bottom:1px solid rgba(255,255,255,0.03);
  backdrop-filter: blur(4px);
}

.brand{display:flex;flex-direction:column}
.logo{
  font-weight:700;
  letter-spacing:1px;
  color:var(--accent);
  font-size:20px;
}
.subtitle{font-size:11px;color:var(--muted)}

.topnav{display:flex;align-items:center;gap:14px}
.topnav a{
  color:var(--muted); text-decoration:none; font-size:13px;
  padding:8px 10px; border-radius:6px;
}
.topnav a:hover{background:var(--glass); color:var(--accent-2)}

.auth{display:flex;gap:8px; align-items:center}

/* container / sections */
.container{max-width:1100px;margin:28px auto;padding:0 18px}
.panel{
  background: linear-gradient(180deg, rgba(255,255,255,0.01), transparent);
  border-radius:var(--radius);
  padding:18px;
  margin:18px 0;
  border:1px solid rgba(255,255,255,0.03);
  box-shadow: 0 6px 16px rgba(2,6,9,0.6);
}

/* HERO */
.hero{
  display:flex;
  flex-direction:column;
  gap:14px;
  padding:34px;
  align-items:flex-start;
  border-radius:12px;
  background-image: linear-gradient(90deg, rgba(0,255,150,0.02), transparent 30%);
}
.hero h1{font-size:36px;margin:0;color:var(--accent)}
.lead{color:var(--muted);max-width:760px}
.hero-actions{display:flex;gap:12px}
.btn{
  background:transparent;
  color:var(--accent);
  border:1px solid rgba(0,229,168,0.12);
  padding:10px 14px;border-radius:8px;
  cursor:pointer;font-weight:600;
}
.btn:hover{filter:brightness(1.06)}
.btn.hollow{background:transparent;color:var(--muted);border:1px dashed rgba(125,138,143,0.08)}
.btn.primary{background:linear-gradient(90deg,var(--accent),var(--accent-2)); color:#021014; border:none}
.btn.small{padding:6px 10px;font-size:13px}

/* ABOUT */
.features{display:flex;gap:14px;margin-top:12px;flex-wrap:wrap}
.features li{background:rgba(255,255,255,0.02);padding:8px 10px;border-radius:8px;color:var(--muted);font-size:13px}

/* ROADMAP */
.roadmap .stage{margin:10px 0;padding:12px;border-radius:8px;background:rgba(255,255,255,0.01);border:1px solid rgba(255,255,255,0.02)}
.roadmap .tech{background:#041114;padding:10px;border-radius:6px;color:var(--muted);font-size:13px;overflow:auto}

/* PLANS */
.plan-grid{display:grid;grid-template-columns:1fr 1fr; gap:14px}
.plan.card{padding:18px; border-radius:10px;background:linear-gradient(180deg, rgba(255,255,255,0.01), transparent); border:1px solid rgba(255,255,255,0.03)}
.plan h3{margin-top:0;color:var(--accent-2)}
.plan ul{list-style:none;padding:0;margin:10px 0; color:var(--muted)}
.plan li{padding:6px 0;border-bottom:1px dashed rgba(255,255,255,0.02)}
.plan.recommended{box-shadow:0 8px 30px rgba(0,180,150,0.06); border:1px solid rgba(0,220,170,0.08)}

/* CONTACT */
.contact-cards{display:flex;gap:14px;flex-wrap:wrap}
.card.small{flex:1;padding:12px;background:rgba(255,255,255,0.02);border-radius:8px}

/* LOCAL LOGIN */
.local-login .login-forms{display:flex;gap:14px;flex-wrap:wrap}
.auth-form{display:flex;flex-direction:column;gap:8px;min-width:200px}
.auth-form input{
  background:transparent;border:1px solid rgba(255,255,255,0.04);padding:8px;border-radius:6px;color:var(--muted)
}
.auth-status{margin-top:10px;padding:10px;border-radius:6px;background:rgba(255,255,255,0.02);color:var(--accent-2)}

/* FOOTER */
.site-footer{
  position:fixed;left:0;right:0;bottom:0;padding:10px 20px;background:linear-gradient(180deg, rgba(0,0,0,0.5), rgba(0,0,0,0.7));
  display:flex;justify-content:space-between;color:var(--muted);font-size:13px;border-top:1px solid rgba(255,255,255,0.02)
}

/* small screens */
@media (max-width:880px){
  .plan-grid{grid-template-columns:1fr}
  .topnav{display:none}
  .site-header{padding:12px}
}
