:root{--bg: #08080f;--bg-elev: #0d0e1c;--surface: rgba(255, 255, 255, .04);--surface-strong: rgba(255, 255, 255, .07);--surface-glass: rgba(10, 12, 24, .65);--border: rgba(255, 255, 255, .08);--border-strong: rgba(255, 255, 255, .16);--text: #eef0f8;--text-muted: #a4a9c1;--text-dim: #6b7089;--brand-1: #7c6bff;--brand-2: #4ea1ff;--brand-3: #22d3a6;--brand-glow: rgba(124, 107, 255, .35);--gradient: linear-gradient(120deg, #7c6bff 0%, #4ea1ff 55%, #22d3a6 100%);--gradient-soft: linear-gradient( 120deg, rgba(124, 107, 255, .18), rgba(78, 161, 255, .14) 55%, rgba(34, 211, 166, .12) );--danger: #ff6b6b;--warn: #f5b144;--success: #22d3a6;--font-display: "Space Grotesk", ui-sans-serif, system-ui, -apple-system, sans-serif;--font-body: "Inter", ui-sans-serif, system-ui, -apple-system, sans-serif;--fs-hero: clamp(2.4rem, 1.4rem + 4.5vw, 5rem);--fs-h2: clamp(1.6rem, 1rem + 2.4vw, 2.6rem);--fs-h3: clamp(1.15rem, .9rem + 1vw, 1.4rem);--fs-lead: clamp(1rem, .85rem + .7vw, 1.2rem);--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sp-10: 40px;--sp-12: 48px;--sp-16: 64px;--sp-20: 80px;--sp-24: 96px;--r-sm: 8px;--r-md: 14px;--r-lg: 20px;--r-xl: 28px;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:15px;line-height:1.55;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}button{font-family:inherit}.aurora{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;overflow:hidden;pointer-events:none}.aurora:before,.aurora:after{content:"";position:absolute;width:55vw;height:55vw;border-radius:50%;filter:blur(120px);opacity:.55;animation:floaty 24s var(--ease-in-out) infinite}.aurora:before{background:radial-gradient(circle at 30% 30%,#7c6bff 0%,transparent 60%);top:-15%;left:-10%}.aurora:after{background:radial-gradient(circle at 70% 70%,#22d3a6 0%,transparent 60%);bottom:-25%;right:-10%;animation-delay:-12s}.aurora .grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:44px 44px;mask-image:radial-gradient(ellipse at 50% 30%,rgba(0,0,0,.9),transparent 70%);-webkit-mask-image:radial-gradient(ellipse at 50% 30%,rgba(0,0,0,.9),transparent 70%)}@keyframes floaty{0%,to{transform:translate(0) scale(1)}50%{transform:translate(6vw,-4vw) scale(1.1)}}.container{width:100%;max-width:1180px;margin-inline:auto;padding-inline:clamp(20px,4vw,40px)}.section{padding-block:clamp(60px,8vw,120px)}.nav{position:sticky;top:0;z-index:20;backdrop-filter:saturate(180%) blur(14px);-webkit-backdrop-filter:saturate(180%) blur(14px);background:linear-gradient(180deg,#08080fbf,#08080f66);border-bottom:1px solid var(--border)}.nav-inner{display:flex;align-items:center;justify-content:space-between;padding-block:14px}.brand{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:700;font-size:1.1rem;letter-spacing:-.01em}.brand-mark{width:28px;height:28px;border-radius:8px;background:var(--gradient);box-shadow:0 0 24px var(--brand-glow);position:relative}.brand-mark:after{content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;border-radius:6px;background:#08080f}.brand-mark:before{content:"";position:absolute;top:6px;right:6px;bottom:6px;left:6px;border-radius:3px;background:var(--gradient)}.nav-links{display:flex;gap:26px;font-size:.9rem;color:var(--text-muted)}.nav-links a{transition:color .25s var(--ease-out)}.nav-links a:hover{color:var(--text)}@media (max-width: 640px){.nav-links{display:none}}.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;border-radius:999px;font-weight:600;font-size:.92rem;cursor:pointer;border:1px solid transparent;transition:transform .25s var(--ease-out),background .25s var(--ease-out),box-shadow .25s var(--ease-out);text-decoration:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--gradient);color:#0b0c14;box-shadow:0 8px 30px -12px var(--brand-glow),0 0 0 1px #ffffff14 inset}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 12px 40px -14px var(--brand-glow),0 0 0 1px #ffffff1f inset}.btn-ghost{background:transparent;color:var(--text);border-color:var(--border-strong)}.btn-ghost:hover:not(:disabled){background:var(--surface)}.btn-danger{background:transparent;color:var(--danger);border-color:#ff6b6b59}.btn-danger:hover:not(:disabled){background:#ff6b6b14}.hero{padding-block:clamp(80px,12vw,160px);position:relative}.hero-eyebrow{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:999px;background:var(--surface-strong);border:1px solid var(--border);color:var(--text-muted);font-size:.8rem;letter-spacing:.02em;margin-bottom:24px;animation:fadeUp .9s var(--ease-out) both}.hero-eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--success);box-shadow:0 0 10px var(--success)}.hero h1{font-family:var(--font-display);font-size:var(--fs-hero);line-height:1.05;letter-spacing:-.03em;font-weight:700;margin:0 0 28px;max-width:18ch;animation:fadeUp 1s .05s var(--ease-out) both}.hero h1 .accent{background:var(--gradient);-webkit-background-clip:text;background-clip:text;color:transparent;background-size:200% 100%;animation:fadeUp 1s .05s var(--ease-out) both,shift 8s var(--ease-in-out) infinite}.hero p{font-size:var(--fs-lead);color:var(--text-muted);max-width:55ch;margin:0 0 40px;animation:fadeUp 1s .15s var(--ease-out) both}.hero-cta{display:flex;flex-wrap:wrap;gap:12px;animation:fadeUp 1s .25s var(--ease-out) both}.hero-mock{margin-top:72px;border-radius:var(--r-xl);border:1px solid var(--border);background:linear-gradient(180deg,var(--surface-strong),transparent 90%);padding:24px;box-shadow:0 40px 80px -40px #000c;animation:fadeUp 1.1s .35s var(--ease-out) both}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes shift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;padding:24px;border-radius:var(--r-lg);border:1px solid var(--border);background:var(--surface)}.stat{padding:16px 8px;border-right:1px solid var(--border)}.stat:last-child{border-right:none}@media (max-width: 720px){.stat{border-right:none;border-bottom:1px solid var(--border)}.stat:last-child{border-bottom:none}}.stat-value{font-family:var(--font-display);font-size:clamp(1.6rem,1.2rem + 1vw,2.2rem);font-weight:700;background:var(--gradient);-webkit-background-clip:text;background-clip:text;color:transparent;letter-spacing:-.02em}.stat-label{color:var(--text-muted);font-size:.85rem;margin-top:4px}.section-header{max-width:640px;margin-bottom:48px}.section-eyebrow{color:var(--brand-2);font-size:.85rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;margin-bottom:12px}h2{font-family:var(--font-display);font-size:var(--fs-h2);font-weight:700;letter-spacing:-.02em;line-height:1.1;margin:0 0 16px}.section-sub{font-size:var(--fs-lead);color:var(--text-muted);margin:0}.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}.step{padding:28px;border-radius:var(--r-lg);border:1px solid var(--border);background:var(--surface);transition:transform .4s var(--ease-out),border-color .4s var(--ease-out),background .4s var(--ease-out);position:relative;overflow:hidden}.step:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--gradient-soft);opacity:0;transition:opacity .4s var(--ease-out);pointer-events:none}.step:hover{transform:translateY(-4px);border-color:var(--border-strong)}.step:hover:before{opacity:1}.step-num{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;background:var(--surface-strong);border:1px solid var(--border);margin-bottom:20px;position:relative;z-index:1}.step h3{font-family:var(--font-display);font-size:var(--fs-h3);font-weight:600;margin:0 0 8px;position:relative;z-index:1}.step p{color:var(--text-muted);margin:0;position:relative;z-index:1}.demo-grid{display:grid;grid-template-columns:1fr;gap:24px}@media (min-width: 1024px){.demo-grid{grid-template-columns:1.2fr 1fr;align-items:start}}.card{padding:28px;border-radius:var(--r-lg);border:1px solid var(--border);background:var(--surface);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.card h3{font-family:var(--font-display);margin:0 0 6px;font-size:1.15rem;font-weight:600}.card-sub{color:var(--text-muted);font-size:.9rem;margin:0 0 20px}.upload-zone{display:flex;flex-direction:column;gap:12px;padding:24px;border:1.5px dashed var(--border-strong);border-radius:var(--r-md);background:#ffffff04;align-items:flex-start;transition:border-color .3s var(--ease-out),background .3s var(--ease-out)}.upload-zone:hover{border-color:var(--brand-1);background:#7c6bff0d}.upload-zone input[type=file]{color:var(--text-muted);font-size:.9rem}.upload-hint{color:var(--text-dim);font-size:.8rem}.upload-actions{display:flex;gap:10px;flex-wrap:wrap}.status-line{margin-top:12px;color:var(--text-muted);font-size:.85rem;min-height:1.2em}.status-line.error{color:var(--danger)}.status-line.success{color:var(--success)}.table-wrap{overflow-x:auto;border-radius:var(--r-md);border:1px solid var(--border);margin-top:20px}table{width:100%;border-collapse:collapse;font-size:.88rem}thead th{text-align:left;padding:12px 14px;color:var(--text-dim);font-weight:500;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;border-bottom:1px solid var(--border);background:#ffffff05}tbody td{padding:12px 14px;border-bottom:1px solid var(--border);color:var(--text);vertical-align:middle}tbody tr:last-child td{border-bottom:none}tbody tr{transition:background .2s var(--ease-out)}tbody tr:hover td{background:#ffffff06}.amt{font-variant-numeric:tabular-nums;font-family:var(--font-display);font-weight:500}.amt.neg{color:#ff9494}.amt.pos{color:var(--success)}.pill{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.72rem;border:1px solid;font-weight:500;white-space:nowrap}.pill.awaiting{background:transparent;color:var(--text-dim);border-color:var(--border)}.empty-row td{text-align:center;color:var(--text-dim);padding:40px 20px}.chart-card{min-height:320px}.chart{display:flex;flex-direction:column;gap:14px;margin-top:8px}.chart-row{display:grid;grid-template-columns:130px 1fr 90px;align-items:center;gap:12px;font-size:.88rem}.chart-label{color:var(--text-muted)}.chart-track{height:10px;border-radius:999px;background:#ffffff0d;overflow:hidden;position:relative}.chart-fill{height:100%;border-radius:999px;animation:barGrow .8s var(--ease-out) both;box-shadow:0 0 12px currentColor}.chart-amount{text-align:right;font-variant-numeric:tabular-nums;font-family:var(--font-display);color:var(--text)}.chart-empty{color:var(--text-dim);text-align:center;padding:40px 0;font-size:.9rem;line-height:1.6}.chart-empty strong{color:var(--text);font-weight:500}@keyframes barGrow{0%{width:0!important;opacity:.5}to{opacity:1}}.tech-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.tech-tile{padding:22px;border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface);transition:border-color .3s var(--ease-out)}.tech-tile:hover{border-color:var(--border-strong)}.tech-tile .kbd{display:inline-block;font-family:var(--font-display);font-size:.75rem;padding:3px 8px;border-radius:6px;background:var(--surface-strong);color:var(--text-muted);border:1px solid var(--border);margin-bottom:12px}.tech-tile h4{font-family:var(--font-display);font-size:1rem;margin:0 0 6px;font-weight:600}.tech-tile p{color:var(--text-muted);margin:0;font-size:.88rem}.footer{border-top:1px solid var(--border);padding-block:32px;color:var(--text-dim);font-size:.85rem}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease-out),transform .8s var(--ease-out)}.reveal.in{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}.aurora:before,.aurora:after{animation:none}}
