:root{color-scheme:light dark;--bg: #0c0f14;--surface: #151a22;--surface2: #1c2330;--border: #2a3344;--text: #e8edf5;--muted: #8b97ab;--accent: #5b8cff;--accent2: #3dd6c3;--danger: #ff6b7a;--radius: 12px;--font: "DM Sans", system-ui, sans-serif}*{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:var(--font);background:radial-gradient(1200px 600px at 10% -10%,#1a2540 0%,transparent 55%),radial-gradient(900px 500px at 90% 0%,#132a2a 0%,transparent 50%),var(--bg);color:var(--text)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button,input{font-family:inherit}.app-shell{max-width:1100px;margin:0 auto;padding:1.5rem 1.25rem 3rem}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.brand-mark{font-weight:700;letter-spacing:-.02em;font-size:1.25rem}.nav-links{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.card{background:linear-gradient(180deg,var(--surface) 0%,var(--surface2) 100%);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem 1.35rem;box-shadow:0 12px 40px #00000059}h1{font-size:1.5rem;margin:0 0 .5rem;letter-spacing:-.02em}h2{font-size:1.1rem;margin:0 0 .75rem;color:var(--muted);font-weight:500}.muted{color:var(--muted);font-size:.9rem}.row{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center}.input{background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:.65rem .85rem;color:var(--text);min-width:200px}.input:focus{outline:2px solid rgba(91,140,255,.35);border-color:var(--accent)}.btn{border:none;border-radius:10px;padding:.65rem 1rem;font-weight:600;cursor:pointer;background:linear-gradient(135deg,var(--accent),#7c5cff);color:#fff}a.btn{text-decoration:none;display:inline-block}a.btn:hover{text-decoration:none;filter:brightness(1.06)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-ghost{background:transparent;border:1px solid var(--border);color:var(--text)}.btn-danger{background:linear-gradient(135deg,#c44,var(--danger))}.table{width:100%;border-collapse:collapse;font-size:.95rem}.table th,.table td{text-align:left;padding:.65rem .5rem;border-bottom:1px solid var(--border)}.table th{color:var(--muted);font-weight:500;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}.pill{display:inline-block;padding:.2rem .55rem;border-radius:999px;font-size:.75rem;background:#3dd6c31f;color:var(--accent2);border:1px solid rgba(61,214,195,.35)}.error{color:var(--danger);font-size:.9rem}.chart-wrap{width:100%;height:320px;margin-top:.5rem}.chart-wrap--with-legend{height:380px}.chart-view-toggle{display:inline-flex;gap:.35rem;flex-wrap:wrap;align-items:center;margin-bottom:.65rem}.chart-wrap .recharts-legend-item-text{color:var(--muted)!important;font-size:.8rem!important}.auth-grid{max-width:420px;margin:3rem auto}.auth-grid .card{padding:1.75rem}.auth-grid label{display:block;font-size:.85rem;color:var(--muted);margin-bottom:.35rem}.auth-grid .input{width:100%;margin-bottom:1rem}.btn-sm{padding:.45rem .85rem;font-size:.9rem}.landing{max-width:1200px;margin:0 auto;padding:1rem 1.25rem 4rem;--landing-copy-width: min(54rem, 100%)}.landing-nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:.75rem 0 1.5rem;border-bottom:1px solid var(--border);margin-bottom:2.5rem}.landing-logo{font-weight:700;font-size:1.2rem;letter-spacing:-.02em;color:var(--text);text-decoration:none}.landing-logo:hover{text-decoration:none;color:var(--accent)}.landing-nav-links{display:flex;align-items:center;gap:1rem 1.25rem;flex-wrap:wrap}.landing-nav-links a{color:var(--muted);font-size:.95rem}.landing-nav-links a:hover{color:var(--text)}.landing-link-muted{color:var(--muted)}.landing-hero{text-align:center;padding:.5rem 0 2.5rem}.landing-eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;color:var(--accent2);margin:0 0 1rem}.landing-title{font-size:clamp(1.75rem,4vw,2.35rem);line-height:1.15;margin:0 auto 1rem;max-width:var(--landing-copy-width)}.landing-highlight{background:linear-gradient(135deg,var(--accent),#9d7cff);-webkit-background-clip:text;background-clip:text;color:transparent}.landing-lead{color:var(--muted);font-size:1.05rem;max-width:var(--landing-copy-width);margin:0 auto 1.75rem;line-height:1.55}.landing-hero-cta{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}.landing-section{margin-bottom:3.5rem}.landing-section-title{font-size:1.35rem;color:var(--text);margin:0 0 .5rem;text-align:center}.landing-section-sub{text-align:center;max-width:var(--landing-copy-width);margin:0 auto 1.5rem;line-height:1.5}.landing-features{display:grid;align-items:stretch}.landing-features--six{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-top:1.25rem}@media (max-width: 900px){.landing-features--six{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 520px){.landing-features--six{grid-template-columns:1fr}}.landing-feature{display:flex;flex-direction:column;min-height:0}.landing-product .landing-feature--tile.card{padding:1rem 1.1rem}.landing-feature--tile h3{margin:0 0 .45rem;font-size:.92rem;line-height:1.25;letter-spacing:-.01em}.landing-feature--tile p{margin:0;font-size:.82rem;line-height:1.42;flex:1}.landing-demo-card{margin-top:1rem}.landing-demo-hint{margin:0 auto .75rem;font-size:.88rem;line-height:1.5;max-width:var(--landing-copy-width);text-align:center}.landing-demo-caption{margin:0 0 .5rem;font-size:.95rem}.landing-chart{min-height:300px}.geo-chart-tooltip{background:#151a22;border:1px solid var(--border);border-radius:10px;padding:.75rem 1rem;min-width:14rem;box-shadow:0 8px 24px #00000059}.geo-chart-tooltip-title{margin:0 0 .5rem;font-size:.8rem;font-weight:600;color:var(--text)}.geo-chart-tooltip-avg{margin:0 0 .65rem;font-size:.9rem;color:var(--muted)}.geo-chart-tooltip-avg strong{color:var(--accent);font-size:1rem}.geo-chart-tooltip-llm{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem;font-size:.85rem}.geo-chart-tooltip-llm li{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.25rem 0;border-bottom:1px solid rgba(42,51,68,.6)}.geo-chart-tooltip-llm li:last-of-type{border-bottom:none}.geo-chart-tooltip-score{font-variant-numeric:tabular-nums;font-weight:600;color:var(--text)}.geo-chart-tooltip-hint{margin:.65rem 0 0;font-size:.72rem}.landing-demo-chart-cta{display:flex;justify-content:center;margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--border)}.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem;margin-top:1.5rem;align-items:stretch}.pricing-card{position:relative;display:flex;flex-direction:column;padding:1.5rem 1.35rem}.pricing-card--featured{border-color:#5b8cff73;box-shadow:0 16px 48px #5b8cff1f}.pricing-badge{position:absolute;top:.85rem;right:1rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--accent);font-weight:600}.pricing-name{margin:0 0 .35rem;font-size:1.2rem;color:var(--text)}.pricing-desc{margin:0 0 1rem;font-size:.9rem;min-height:2.6rem}.pricing-price{font-size:1.75rem;font-weight:700;letter-spacing:-.03em;margin:0 0 1rem}.pricing-price--free{font-size:1.65rem;background:linear-gradient(135deg,var(--accent2),#5b8cff);-webkit-background-clip:text;background-clip:text;color:transparent}.pricing-period{font-size:.95rem;font-weight:500;color:var(--muted)}.pricing-features{margin:0 0 1.25rem;padding-left:1.15rem;flex:1;color:var(--muted);font-size:.92rem;line-height:1.55}.pricing-features li{margin-bottom:.4rem}.pricing-cta{margin-top:auto}.billing-card--current{border-color:#6eb77b73}.billing-current-label{margin:0 0 .75rem;font-size:.82rem;color:#6eb77b;text-transform:uppercase;letter-spacing:.04em;font-weight:600}.landing-footer{text-align:center;padding-top:2rem;border-top:1px solid var(--border);font-size:.9rem}.landing-footer p{margin:.35rem 0}.landing-footer-roadmap{font-size:.82rem;max-width:var(--landing-copy-width);margin-left:auto!important;margin-right:auto!important;line-height:1.45}.landing-footer-canonical{color:var(--muted);text-decoration:none}.landing-footer-canonical:hover{color:var(--accent);text-decoration:underline}
