:root {
  --bg: #08110c;
  --bg-2: #0d1811;
  --surface: rgba(17, 31, 22, .78);
  --surface-strong: #111f16;
  --line: rgba(175, 224, 190, .14);
  --text: #f4f8f5;
  --muted: #9db0a3;
  --green: #2ad46f;
  --green-2: #7cf0a7;
  --shadow: 0 30px 90px rgba(0,0,0,.32);
  --mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  --sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-height: 100vh;
  color: var(--text);
  font-family: var(--sans);
  background:
    radial-gradient(circle at 78% 18%, rgba(42,212,111,.12), transparent 28%),
    radial-gradient(circle at 18% 42%, rgba(42,212,111,.06), transparent 24%),
    linear-gradient(180deg, var(--bg) 0%, #09120d 48%, #07100b 100%);
}
a { color: inherit; text-decoration: none; }
button, a { -webkit-tap-highlight-color: transparent; }

.landing-shell { width: min(1180px, calc(100% - 40px)); margin: 0 auto; }
.landing-nav { height: 84px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.logo { display:flex; align-items:center; gap:12px; font-weight:800; letter-spacing:-.02em; }
.logo-mark { width:42px; height:42px; border-radius:13px; display:grid; place-items:center; background:linear-gradient(145deg, #21b95e, var(--green)); color:#07110b; font-family:var(--mono); font-weight:900; box-shadow:0 10px 30px rgba(42,212,111,.18); }
.logo-name { font-size:1.08rem; }
.nav-links { display:flex; align-items:center; gap:12px; color:var(--muted); font-size:.92rem; }
.nav-links a:hover { color:var(--text); }
.support-nav-cta {
  color:var(--green-2) !important;
  border:1px solid rgba(124,240,167,.34);
  background:rgba(42,212,111,.08);
  padding:9px 13px;
  border-radius:10px;
  font-weight:800;
  box-shadow:inset 0 0 0 1px rgba(42,212,111,.02);
}
.support-nav-cta:hover { background:rgba(42,212,111,.15); border-color:rgba(124,240,167,.52); }
.support-nav-cta.is-current { background:rgba(42,212,111,.16); border-color:rgba(124,240,167,.56); }
.nav-cta { color:#07110b !important; background:var(--green); padding:10px 15px; border-radius:10px; font-weight:800; }

.hero { min-height: 680px; display:grid; grid-template-columns:1.02fr .98fr; gap:64px; align-items:center; padding:76px 0 84px; }
.eyebrow { display:inline-flex; align-items:center; gap:9px; padding:7px 11px; border:1px solid var(--line); border-radius:999px; background:rgba(255,255,255,.025); color:#bfe2ca; font-size:.78rem; font-weight:700; letter-spacing:.08em; }
.eyebrow-dot { width:7px; height:7px; border-radius:50%; background:var(--green); box-shadow:0 0 0 5px rgba(42,212,111,.09); }
.hero h1 { font-size:clamp(3.6rem, 7.5vw, 7rem); line-height:.88; letter-spacing:-.065em; margin:24px 0 26px; max-width:720px; }
.hero h1 span { color:var(--green-2); }
.hero-copy { max-width:650px; color:var(--muted); font-size:1.16rem; line-height:1.75; }
.hero-actions { display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-top:32px; }
.primary-cta, .secondary-cta { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:0 18px; border-radius:11px; font-weight:800; }
.primary-cta { background:var(--green); color:#07110b; box-shadow:0 14px 30px rgba(42,212,111,.16); }
.primary-cta:hover { transform:translateY(-1px); }
.secondary-cta { border:1px solid var(--line); background:rgba(255,255,255,.025); color:#d8e4dc; }
.trust-row { display:flex; gap:18px; flex-wrap:wrap; margin-top:26px; color:#8fa297; font-size:.84rem; }
.trust-item::before { content:'✓'; color:var(--green); font-weight:900; margin-right:7px; }

.preview-wrap { position:relative; }
.preview-glow { position:absolute; inset:12% 10%; background:rgba(42,212,111,.16); filter:blur(70px); border-radius:50%; }
.preview-card { position:relative; border:1px solid var(--line); border-radius:24px; overflow:hidden; background:rgba(11,21,15,.94); box-shadow:var(--shadow); }
.preview-top { display:flex; justify-content:space-between; align-items:center; gap:18px; padding:14px 17px; border-bottom:1px solid var(--line); background:rgba(255,255,255,.018); }
.preview-dots { display:flex; gap:7px; }
.preview-dots span { width:8px; height:8px; border-radius:50%; background:#34463a; }
.preview-state { color:#92dba8; font-size:.78rem; font-weight:700; }
.preview-body { display:grid; grid-template-columns:1fr 1fr; min-height:390px; }
.code-pane { min-width:0; padding:20px; }
.code-pane + .code-pane { border-left:1px solid var(--line); background:rgba(255,255,255,.012); }
.code-label { color:#73877a; font-size:.72rem; font-weight:800; letter-spacing:.09em; margin-bottom:18px; }
pre { margin:0; white-space:pre-wrap; overflow-wrap:anywhere; font-family:var(--mono); font-size:.82rem; line-height:1.75; color:#c5d2c9; }
.k { color:#8edca6; }
.s { color:#f3d68e; }
.b { color:#8ebef3; }
.preview-foot { border-top:1px solid var(--line); padding:13px 17px; display:flex; justify-content:space-between; gap:12px; color:#789080; font-size:.76rem; }

.section { padding:86px 0; }
.section-head { max-width:720px; margin-bottom:34px; }
.section-label { color:var(--green); font-size:.76rem; font-weight:800; letter-spacing:.12em; }
.section h2 { font-size:clamp(2.1rem,4vw,3.4rem); line-height:1.05; letter-spacing:-.045em; margin:12px 0; }
.section-head p { color:var(--muted); line-height:1.7; }
.feature-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.feature { padding:26px; border-radius:18px; border:1px solid var(--line); background:var(--surface); backdrop-filter:blur(12px); }
.feature-icon { width:38px; height:38px; border-radius:11px; display:grid; place-items:center; background:rgba(42,212,111,.1); color:var(--green-2); font-family:var(--mono); font-weight:900; margin-bottom:20px; }
.feature h3 { margin:0 0 9px; font-size:1rem; }
.feature p { margin:0; color:var(--muted); line-height:1.65; font-size:.92rem; }

.privacy-panel { display:grid; grid-template-columns:1.1fr .9fr; gap:40px; align-items:center; padding:34px; border:1px solid var(--line); border-radius:22px; background:linear-gradient(135deg, rgba(42,212,111,.08), rgba(255,255,255,.018)); }
.privacy-panel h2 { margin-top:0; }
.privacy-panel p { color:var(--muted); line-height:1.7; }
.privacy-list { display:grid; gap:10px; }
.privacy-point { padding:12px 14px; border-radius:12px; background:rgba(0,0,0,.18); border:1px solid rgba(255,255,255,.04); color:#cbd8cf; font-size:.9rem; }

.landing-footer { border-top:1px solid var(--line); margin-top:70px; padding:25px 0 34px; display:flex; justify-content:space-between; align-items:flex-end; gap:24px; color:#809287; font-size:.78rem; }
.footer-left { display:flex; flex-direction:column; gap:5px; }
.footer-left strong { color:#c5d1c9; }
.footer-left a { color:#9fe0b3; }
.footer-release { text-align:right; }

.privacy-page { max-width:820px; padding:72px 0 96px; }
.privacy-page h1 { font-size:clamp(2.6rem,6vw,4.8rem); letter-spacing:-.055em; margin:30px 0 18px; }
.privacy-page h2 { margin-top:38px; }
.privacy-page p, .privacy-page li { color:var(--muted); line-height:1.8; }
.privacy-page code { font-family:var(--mono); color:#b7ecc7; }
.back-link { color:#a2e3b6; font-weight:700; }

@media (max-width: 900px) {
  .hero { grid-template-columns:1fr; gap:44px; padding-top:48px; }
  .hero h1 { max-width:650px; }
  .feature-grid { grid-template-columns:1fr; }
  .privacy-panel { grid-template-columns:1fr; }
}
@media (max-width: 640px) {
  .landing-shell { width:min(100% - 24px, 1180px); }
  .landing-nav { height:72px; }
  .nav-links { gap:7px; }
  .nav-links a:not(.nav-cta):not(.support-nav-cta) { display:none; }
  .support-nav-cta, .nav-cta { padding:9px 10px; font-size:.78rem; white-space:nowrap; }
  .hero { padding:40px 0 58px; min-height:auto; }
  .hero h1 { font-size:clamp(3.1rem,17vw,5rem); }
  .preview-body { grid-template-columns:1fr; }
  .code-pane + .code-pane { border-left:0; border-top:1px solid var(--line); }
  .preview-foot { flex-direction:column; }
  .section { padding:62px 0; }
  .landing-footer { flex-direction:column; align-items:flex-start; }
  .footer-release { text-align:left; }
}
