:root{
  --bg:#070b1a;--panel:#0f1633;--panel-2:#0b122b;--text:#eef2ff;--muted:#a7b3dc;--line:#1f274a;
  --brand:#66e0c3;--brand-2:#6aa9ff;--accent:#ffd166;--rose:#ff7aa2;--violet:#9a7bff;--emph-border:#2a3770;
}
/* Light theme */
:root[data-theme='light']{
  --bg:#f7f9fc; --panel:#ffffff; --panel-2:#f3f6fb; --text:#0b1430; --muted:#5a6a8b; --line:#d8e0ed;
  --brand:#1aa986; --brand-2:#2f6ee2; --accent:#c28b00; --rose:#c5426a; --violet:#6a57d5; --emph-border:#c7d7ff;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:radial-gradient(1200px 800px at 60% -10%, rgba(154,123,255,.12), transparent), linear-gradient(180deg,var(--bg),#060a18);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,"Helvetica Neue",Arial}
/* Light background override for smoother paper look */
:root[data-theme='light'] body{ background:linear-gradient(180deg,#ffffff,var(--bg)); }
.orbs{position:fixed;inset:-20vh -20vw auto -20vw;pointer-events:none;z-index:0;filter:saturate(120%) blur(32px);opacity:.5}
.orbs .orb{position:absolute;border-radius:999px;mix-blend-mode:screen}
.orbs .a{width:36vw;height:36vw;background:radial-gradient(circle,#6aa9ff,transparent 60%);top:0;left:0;animation:float 24s ease-in-out infinite}
.orbs .b{width:28vw;height:28vw;background:radial-gradient(circle,#66e0c3,transparent 60%);top:10vh;left:40vw;animation:float 26s ease-in-out infinite reverse}
.orbs .c{width:24vw;height:24vw;background:radial-gradient(circle,#9a7bff,transparent 60%);top:-6vh;left:70vw;animation:float 30s ease-in-out infinite}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(4vh)}}
.nav{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;border-bottom:1px solid var(--line);background:rgba(8,12,28,.55);backdrop-filter:saturate(120%) blur(8px);position:sticky;top:0;z-index:10}
:root[data-theme='light'] .nav{ background:rgba(255,255,255,.75) }
.menu-toggle{display:none;background:var(--panel-2);border:1px solid var(--line);color:var(--text);border-radius:8px;padding:6px 10px;cursor:pointer}
.brand{font-weight:800;letter-spacing:.4px}
.nav a{color:var(--text);text-decoration:none;margin:0 10px;opacity:.9}
.nav a:hover{opacity:1}
.btn{background:linear-gradient(90deg,var(--brand),var(--brand-2));color:#071225;border:none;border-radius:10px;padding:10px 14px;font-weight:800;cursor:pointer;box-shadow:0 6px 22px rgba(102,224,195,.25)}
.btn.ghost:hover{background:rgba(0,0,0,.03)}
.btn.ghost{background:transparent;border:1px solid var(--line);color:var(--text)}
.btn.small{ padding:8px 12px; font-size:14px }
/* Light theme button polish: ensure ghost buttons aren't dark */
:root[data-theme='light'] .btn.ghost{ background:#fff; color:var(--text); border:1px solid var(--line) }
:root[data-theme='light'] .menu-toggle{ background:#fff; color:var(--text); border-color:var(--line) }
/* Light theme: make glass surfaces bright */
:root[data-theme='light'] .glass{ background:rgba(255,255,255,.85) !important; border-color: var(--line) }
:root[data-theme='light'] .card{ background:linear-gradient(180deg,#ffffff,#fbfdff) }
:root[data-theme='light'] .btn{ box-shadow:0 6px 22px rgba(47,110,226,.18) }
:root[data-theme='light'] .cta .btn.ghost{ background:#fff; color:var(--text); border:1px solid var(--line) }
:root[data-theme='light'] .nav a.btn.ghost{ background:#fff }
/* Round header logo */
.brand img{ border-radius: 10px }
.container{max-width:1140px;margin:0 auto;padding:24px}
.announcement{display:flex;align-items:center;gap:10px;margin:14px 0 0;color:var(--muted)}
.badge{background:linear-gradient(90deg,var(--brand),var(--brand-2));color:#071225;font-weight:800;border-radius:999px;padding:4px 10px;font-size:12px}
.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;padding:56px 0;position:relative;z-index:1}
.hero h1{font-size:52px;line-height:1.03;margin:0 0 12px}
.hero p{color:var(--muted);font-size:18px;margin:0 0 12px}
.lead{max-width:680px}
.cta{display:flex;flex-wrap:wrap;gap:8px}
.cta .btn{margin:0}
.card{background:linear-gradient(180deg,var(--panel),var(--panel-2));border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:0 10px 36px rgba(0,0,0,.12)}
.glass.card{background:rgba(15,22,48,.6)}
.showcase img{display:block;width:100%;height:auto;border-radius:12px}
.card.emph{border-color:var(--emph-border);box-shadow:0 20px 60px rgba(106,169,255,.18)}
.grid{display:grid;gap:16px;grid-template-columns:repeat(3,1fr);margin:26px 0}
.pricing .price{font-size:34px;font-weight:900}
.footer{display:flex;justify-content:space-between;align-items:center;padding:22px 24px;border-top:1px solid var(--line);color:var(--muted)}
.hidden{display:none}
.demo .screen{background:var(--panel-2);border:1px solid var(--line);border-radius:12px;height:260px;display:flex;flex-direction:column;overflow:hidden}
.demo .bar{display:flex;gap:6px;padding:8px;background:var(--panel);border-bottom:1px solid var(--line)}
.demo .bar span{width:10px;height:10px;border-radius:50%;background:#2b3a7a}
.demo .pane{flex:1;background:repeating-linear-gradient(45deg,#0f1a44,#0f1a44 10px,#0d163a 10px,#0d163a 20px)}
.caption{color:#a8b3de;font-size:14px;margin-top:8px}

/* Trust bar */
.trust{position:relative;overflow:hidden;opacity:.9}
.trust .label{color:#8da0d8;font-weight:700;margin-right:8px;white-space:nowrap}
.trust .rail{display:flex;align-items:center;gap:28px;flex-wrap:nowrap;will-change:transform;animation:trust-scroll 22s linear infinite}
.trust:hover .rail{animation-play-state:paused}
.trust img{height:22px;opacity:.85;filter:grayscale(100%);flex:0 0 auto}
.trust img:hover{opacity:1;filter:none}
.trust span{display:none}
@keyframes trust-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.trust span{color:#8da0d8;font-weight:700;margin-right:2px}

/* Feature icons */
.icon{width:38px;height:38px;border-radius:10px;display:inline-grid;place-items:center;background:linear-gradient(135deg,var(--brand-2),var(--brand));color:#061027;margin-bottom:8px}
.icon.lock{background:linear-gradient(135deg,var(--violet),var(--brand-2))}
.icon.chat{background:linear-gradient(135deg,var(--rose),var(--accent))}
.icon.file{background:linear-gradient(135deg,#6af,#6ecf)}

/* Testimonials (carousel) */
.testimonials{position:relative;overflow:hidden;margin:26px 0;border-radius:16px}
.testimonials .track{display:flex;transition:transform .4s ease;will-change:transform}
.quote{min-width:100%;background:linear-gradient(180deg,var(--panel),var(--panel-2));border:1px solid var(--line);border-radius:16px;padding:16px}
.carousel-dots{position:absolute;left:50%;bottom:8px;transform:translateX(-50%);display:flex;gap:6px;z-index:2}
.carousel-dots button{width:8px;height:8px;border-radius:50%;border:1px solid var(--line);background:var(--panel-2);opacity:.85;cursor:pointer}
.carousel-dots button.active{background:linear-gradient(90deg,var(--brand),var(--brand-2));border:none;opacity:1}
.who{display:flex;align-items:center;gap:10px;margin-top:12px;color:#aeb9e1}
.avatar{width:32px;height:32px;border-radius:50%;background:var(--panel);display:grid;place-items:center;font-weight:800;color:var(--text)}

.section{padding:40px 0}
.section.bg{
  /* Subtle, even backdrop for feature/pricing sections */
  background:
    radial-gradient(900px 400px at 15% 10%, rgba(102,224,195,.045), transparent),
    radial-gradient(700px 300px at 85% 20%, rgba(106,169,255,.05), transparent);
  border:1px solid var(--line);
  border-radius:16px;
  padding:20px;
}
.pricing-head{display:flex;justify-content:space-between;align-items:center;margin:8px 0 16px}
.pricing{grid-template-columns:repeat(2,1fr)}
.toggle{display:flex;align-items:center;gap:10px;color:var(--muted)}
.switch{position:relative;display:inline-block;width:44px;height:24px}
.switch input{opacity:0;width:0;height:0}
.slider{position:absolute;cursor:pointer;inset:0;background:var(--line);border-radius:999px;transition:.2s}
.slider:before{content:"";position:absolute;height:18px;width:18px;left:4px;top:3px;background:#fff;border-radius:50%;transition:.2s}
.switch input:checked + .slider{background:linear-gradient(90deg,var(--brand),var(--brand-2))}
.switch input:checked + .slider:before{transform:translateX(20px)}

@media (max-width: 860px){
  .hero{grid-template-columns:1fr}
  .grid{grid-template-columns:1fr}
  /* carousel on mobile keeps single slide; no grid override needed */
  .testimonials .track{gap:0}
  .trust{justify-content:center}
  .hero h1{font-size:36px}
  .container{padding:16px}
  .menu-toggle{display:inline-block}
  .nav{padding:12px 16px}
  .nav nav{display:none;position:absolute;right:16px;top:56px;background:rgba(8,12,28,.95);border:1px solid var(--line);border-radius:12px;padding:10px 12px;box-shadow:0 10px 30px rgba(0,0,0,.45)}
  .nav.open nav{display:block}
  .nav nav a{display:block;margin:8px 0}
  .cta .btn{display:inline-block;margin:6px 6px 0 0}
}

/* Light-specific mobile menu panel */
:root[data-theme='light'] .nav nav{ background:rgba(255,255,255,.97) }

/* Add-ons grid inherits pricing layout */
.addons .card p{color:var(--muted)}

/* ===== Prettier registration form ===== */
#reg-form{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:16px 18px;
  align-items:start;
}

#reg-form label{
  display:block;
  font-weight:700;
  font-size:13px;
  letter-spacing:.2px;
  color:var(--muted);
}

/* Inputs */
#reg-form input,
#reg-form select,
#reg-form textarea{
  width:100%;
  margin-top:8px;
  padding:12px 14px;
  border-radius:12px;
  border:1px solid var(--line);
  background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.00)),
             rgba(15,22,48,.55);
  color:var(--text);
  outline:none;
  transition:border-color .15s ease, box-shadow .15s ease, background .15s ease, transform .02s ease;
  box-shadow:0 6px 18px rgba(0,0,0,.14) inset;
}

/* Light theme: inputs should be bright on paper-like background */
:root[data-theme='light'] #reg-form input,
:root[data-theme='light'] #reg-form select,
:root[data-theme='light'] #reg-form textarea{
  background:#fff;
  box-shadow:none;
}

#reg-form textarea{ resize:vertical; min-height:110px }

/* Hover / focus */
#reg-form input:hover,
#reg-form select:hover,
#reg-form textarea:hover{
  background:rgba(15,22,48,.65);
}

#reg-form input:focus-visible,
#reg-form select:focus-visible,
#reg-form textarea:focus-visible{
  border-color:color-mix(in oklab, var(--brand-2) 70%, var(--brand));
  box-shadow:0 0 0 3px color-mix(in oklab, var(--brand) 25%, transparent);
}

/* Select arrow */
#reg-form select{
  appearance:none;
  background-image:
     linear-gradient(45deg, transparent 50%, var(--muted) 50%),
     linear-gradient(135deg, var(--muted) 50%, transparent 50%);
  background-position:
     calc(100% - 16px) 52%,
     calc(100% - 11px) 52%;
  background-size:6px 6px, 6px 6px;
  background-repeat:no-repeat;
}

/* Make long elements span full width */
#reg-form textarea,
#reg-form button,
#reg-form #reg-msg{
  grid-column:1 / -1;
}

/* Submit button = full-width, elevated */
#reg-form .btn{
  width:100%;
  padding:14px 16px;
  font-size:16px;
  border-radius:12px;
  box-shadow:0 14px 40px rgba(106,169,255,.22);
}

/* Subtle success/error messaging */
#reg-form #reg-msg{
  min-height:18px;
  font-size:13px;
  color:#9aa8d4; /* default info */
}
#reg-form #reg-msg.error{ color:crimson }
#reg-form #reg-msg.success{ color:#6ae0c2 }

/* Light theme tweaks */
:root[data-theme='light'] #reg-form input,
:root[data-theme='light'] #reg-form select,
:root[data-theme='light'] #reg-form textarea{
  background:linear-gradient(180deg, rgba(0,0,0,.015), rgba(0,0,0,.0)), #fff;
  box-shadow:0 2px 0 rgba(0,0,0,.02) inset;
}

/* Mobile: single column */
@media (max-width: 860px){
  #reg-form{ grid-template-columns:1fr; gap:14px }
}
