/* CJ AMS landing. Theme tokens extracted from https://cjandren.com/themes/ (preview.css / tester.js).
   Default theme: Aurora. Seven themes: signal, terminal, paper, aurora, brutal, synth, blueprint.
   System fonts only (no external requests), matching the source themes. */
:root{
  --sans: system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --mono: ui-monospace,"SF Mono","JetBrains Mono",Menlo,Consolas,"Liberation Mono",monospace;
  --serif: "Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,"Times New Roman",serif;
  --pad: clamp(18px,4.5vw,56px);
  --ease: cubic-bezier(.2,.8,.2,1);
  --max: 1240px;
}
/* ---------- theme tokens ---------- */
[data-theme=aurora]{--bg:#07071a;--bg-2:#0e0e2a;--ink:#eef0ff;--ink-2:#a3a8d6;--line:rgba(255,255,255,.14);--card:rgba(255,255,255,.06);--accent:#7c5cff;--c2:#2de2e6;--c3:#ff4fd8;--on-accent:#fff;--fd:var(--sans);--fb:var(--sans);--fl:var(--mono);--wd:750;--track:-.05em;--r:22px;
  --grad:linear-gradient(100deg,var(--ink) 5%,#a08bff 45%,var(--c2) 95%);
  --grad-em:linear-gradient(90deg,#9b82ff,var(--c2),var(--c3));
  --btn-bg:linear-gradient(120deg,#6a48ff,#b0309c);--btn-ink:#fff;--glass:blur(18px) saturate(150%);--shadow:inset 0 1px #ffffff1f,0 20px 60px -30px #000;--bw:1px;
  --fx-blob:1;--fx-trail:rgba(238,240,255,.35);--eyebrow:color-mix(in srgb,var(--accent) 55%,white);color-scheme:dark}
[data-theme=signal]{--bg:#0a0a0c;--bg-2:#111115;--ink:#f4f1ea;--ink-2:#a9a59c;--line:rgba(244,241,234,.12);--card:rgba(255,255,255,.025);--accent:#ff5b1f;--c2:#ff5b1f;--c3:#f4f1ea;--on-accent:#0a0a0c;--fd:var(--sans);--fb:var(--sans);--fl:var(--mono);--wd:900;--track:-.045em;--r:18px;
  --grad:linear-gradient(var(--ink),var(--ink));--grad-em:none;--btn-bg:var(--accent);--btn-ink:#0a0a0c;--glass:none;--shadow:none;--bw:1px;--fx-blob:.25;--fx-trail:rgba(255,91,31,.45);--eyebrow:var(--accent);color-scheme:dark}
[data-theme=terminal]{--bg:#050805;--bg-2:#0a120b;--ink:#d6ffe0;--ink-2:#7fb88c;--line:rgba(120,255,160,.22);--card:rgba(57,255,106,.03);--accent:#39ff6a;--c2:#39ff6a;--c3:#d6ffe0;--on-accent:#050805;--fd:var(--mono);--fb:var(--mono);--fl:var(--mono);--wd:700;--track:-.04em;--r:0px;
  --grad:linear-gradient(var(--ink),var(--ink));--grad-em:linear-gradient(var(--accent),var(--accent));--btn-bg:transparent;--btn-ink:var(--accent);--glass:none;--shadow:none;--bw:1px;--fx-blob:.18;--fx-trail:rgba(57,255,106,.45);--eyebrow:var(--accent);color-scheme:dark}
[data-theme=paper]{--bg:#f2ede3;--bg-2:#e9e2d4;--ink:#161412;--ink-2:#5d574e;--line:rgba(22,20,18,.22);--card:transparent;--accent:#c4281a;--c2:#c4281a;--c3:#161412;--on-accent:#fff;--fd:var(--serif);--fb:var(--serif);--fl:var(--sans);--wd:700;--track:-.035em;--r:0px;
  --grad:linear-gradient(var(--ink),var(--ink));--grad-em:linear-gradient(var(--accent),var(--accent));--btn-bg:var(--ink);--btn-ink:#f2ede3;--glass:none;--shadow:none;--bw:1px;--fx-blob:.12;--fx-trail:rgba(22,20,18,.28);--eyebrow:var(--ink);color-scheme:light}
[data-theme=brutal]{--bg:#fff3c4;--bg-2:#fff;--ink:#111;--ink-2:#3b382f;--line:#111;--card:#fff;--accent:#ff4f9a;--c2:#7cf0c5;--c3:#8ec5ff;--on-accent:#111;--fd:var(--sans);--fb:var(--sans);--fl:var(--sans);--wd:900;--track:-.04em;--r:0px;
  --grad:linear-gradient(#111,#111);--grad-em:none;--btn-bg:#111;--btn-ink:#fff;--glass:none;--shadow:6px 6px 0 #111;--bw:3px;--fx-blob:0;--fx-trail:rgba(17,17,17,.22);--eyebrow:#111;color-scheme:light}
[data-theme=synth]{--bg:#0c0420;--bg-2:#1a0636;--ink:#fdf0ff;--ink-2:#c9a9e6;--line:rgba(253,240,255,.16);--card:rgba(40,10,70,.55);--accent:#ff2e88;--c2:#2de8ff;--c3:#ffd23f;--on-accent:#0c0420;--fd:var(--sans);--fb:var(--sans);--fl:var(--mono);--wd:900;--track:-.04em;--r:6px;
  --grad:linear-gradient(180deg,#fff 0%,#ffe9ff 46%,var(--c3) 56%,#ff7ab5 100%);--grad-em:linear-gradient(180deg,var(--c3) 15%,var(--accent) 85%);--btn-bg:linear-gradient(90deg,var(--c3),var(--accent));--btn-ink:#0c0420;--glass:blur(10px);--shadow:none;--bw:1px;--fx-blob:.8;--fx-trail:rgba(45,232,255,.4);--eyebrow:var(--c2);color-scheme:dark}
[data-theme=blueprint]{--bg:#0d3b73;--bg-2:#0b3363;--ink:#eef5ff;--ink-2:#c3d6ee;--line:rgba(238,245,255,.34);--card:rgba(13,59,115,.6);--accent:#ffd23f;--c2:#ffd23f;--c3:#eef5ff;--on-accent:#0b2340;--fd:var(--sans);--fb:var(--sans);--fl:var(--mono);--wd:800;--track:-.035em;--r:0px;
  --grad:linear-gradient(var(--ink),var(--ink));--grad-em:none;--btn-bg:transparent;--btn-ink:var(--ink);--glass:none;--shadow:none;--bw:1px;--fx-blob:0;--fx-trail:rgba(255,210,63,.35);--eyebrow:var(--accent);color-scheme:dark}

/* ---------- base ---------- */
*,*:before,*:after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;background:var(--bg);color:var(--ink);font:400 17px/1.6 var(--fb);-webkit-font-smoothing:antialiased;overflow-x:hidden;transition:background-color .4s var(--ease),color .4s var(--ease)}
a{color:inherit}
h1,h2,h3,p{margin:0}
button,input,select{font:inherit;color:inherit}
code{font:500 .88em/1 var(--mono);background:color-mix(in srgb,var(--ink) 9%,transparent);padding:.18em .4em;border-radius:6px}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}
::selection{background:var(--accent);color:var(--on-accent)}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--accent);color:var(--on-accent);padding:10px 14px;font-weight:700;border-radius:8px;text-decoration:none}
.skip:focus{top:12px}

/* ---------- background fx ---------- */
.fx-wrap{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.fx-wrap canvas{position:absolute;inset:0;width:100%;height:100%}
.fx-blobs{filter:blur(42px) saturate(140%);transform:scale(1.15);opacity:var(--fx-blob);transition:opacity .6s}
.fx-trails{opacity:.9}
.glow{position:fixed;width:520px;height:520px;left:0;top:0;z-index:0;pointer-events:none;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 22%,transparent),transparent 65%);transform:translate(-50%,-50%) translate(var(--gx,-999px),var(--gy,-999px));opacity:.8;transition:opacity .4s}
[data-theme=paper] .glow,[data-theme=brutal] .glow{opacity:0}
[data-theme=signal] body,[data-theme=blueprint] body{background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:72px 72px;background-attachment:fixed}
[data-theme=signal] body{--line:rgba(244,241,234,.07)}
[data-theme=blueprint] body{background:linear-gradient(rgba(238,245,255,.08) 1px,transparent 1px) 0 0/24px 24px,linear-gradient(90deg,rgba(238,245,255,.08) 1px,transparent 1px) 0 0/24px 24px,linear-gradient(rgba(238,245,255,.15) 1px,transparent 1px) 0 0/120px 120px,linear-gradient(90deg,rgba(238,245,255,.15) 1px,transparent 1px) 0 0/120px 120px,radial-gradient(ellipse 120% 60vh at 50% 0,#12498a,transparent 70%) no-repeat,var(--bg);background-attachment:fixed}
[data-theme=paper] body{background-image:radial-gradient(rgba(22,20,18,.07) 1px,transparent 1.2px);background-size:5px 5px}
[data-theme=synth] body{background:linear-gradient(180deg,#0c0420,#1a0636 60%,#0c0420) fixed,var(--bg)}
[data-theme=terminal] body:after{content:"";position:fixed;inset:0;z-index:90;pointer-events:none;background:repeating-linear-gradient(rgba(0,0,0,.26) 0 1px,transparent 1px 3px),radial-gradient(ellipse at center,transparent 55%,rgba(0,0,0,.5))}

/* ---------- header ---------- */
.bar{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:18px;padding:14px var(--pad);padding-top:max(14px,env(safe-area-inset-top));background:color-mix(in srgb,var(--bg) 55%,transparent);-webkit-backdrop-filter:blur(16px) saturate(150%);backdrop-filter:blur(16px) saturate(150%);border-bottom:var(--bw) solid var(--line)}
.mark{display:inline-flex;align-items:flex-start;gap:4px;font:var(--wd) 21px/1 var(--fd);letter-spacing:-.04em;text-decoration:none;white-space:nowrap}
.mark-ams{background:var(--grad-em,none);-webkit-background-clip:text;background-clip:text}
[data-theme=aurora] .mark-ams,[data-theme=synth] .mark-ams{color:transparent}
.mdot,.kdot{width:7px;height:7px;border-radius:50%;background:var(--accent);flex:none}
[data-theme=aurora] .mdot,[data-theme=aurora] .kdot{background:linear-gradient(135deg,var(--accent),var(--c2))}
[data-theme=synth] .mdot,[data-theme=synth] .kdot{background:var(--c2);box-shadow:0 0 12px var(--c2)}
.nav{display:flex;gap:clamp(12px,2vw,28px);margin-inline:auto;font:500 13px/1 var(--fl);letter-spacing:.06em;text-transform:uppercase}
.nav a{text-decoration:none;color:var(--ink-2);padding:8px 0;transition:color .2s}
.nav a:hover{color:var(--ink)}
.bar-end{display:flex;align-items:center;gap:10px;margin-left:auto}
.nav+.bar-end{margin-left:0}
@media (max-width:900px){.nav{display:none}}

/* theme picker */
.theme-pick{position:relative}
.theme-btn{display:inline-flex;align-items:center;gap:8px;background:var(--card);border:var(--bw) solid var(--line);border-radius:999px;padding:8px 12px;cursor:pointer;font:500 12px/1 var(--fl);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}
.theme-btn:hover{color:var(--ink);border-color:var(--accent)}
.theme-sw{width:16px;height:16px;border-radius:50%;background:conic-gradient(var(--accent),var(--c2),var(--c3),var(--accent));box-shadow:0 0 0 2px var(--bg)}
.theme-pop{position:absolute;right:0;top:calc(100% + 10px);width:min(300px,86vw);padding:14px;background:color-mix(in srgb,var(--bg) 92%,var(--ink));border:var(--bw) solid var(--line);border-radius:min(var(--r),16px);box-shadow:0 24px 60px -20px rgba(0,0,0,.6);z-index:60}
.theme-h{font:500 11px/1.4 var(--fl);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);margin-bottom:10px}
.theme-list{display:grid;gap:4px}
.theme-opt{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:none;border:1px solid transparent;border-radius:10px;padding:8px 10px;cursor:pointer}
.theme-opt:hover{background:var(--card)}
.theme-opt[aria-checked=true]{border-color:var(--accent);background:var(--card)}
.theme-opt .sws{display:flex;margin-left:auto}
.theme-opt .sws i{width:14px;height:14px;border-radius:50%;border:1.5px solid rgba(128,128,128,.5);margin-left:-4px}
.theme-opt .tn{font-weight:650}
.theme-opt .k{font:500 11px/1 var(--mono);color:var(--ink-2)}

/* buttons */
.btn{--bgb:var(--btn-bg);display:inline-flex;align-items:center;justify-content:center;gap:.5em;background:var(--bgb);color:var(--btn-ink);border:var(--bw) solid transparent;border-radius:999px;padding:12px 20px;font:700 15px/1 var(--fb);text-decoration:none;cursor:pointer;white-space:nowrap;transition:transform .25s var(--ease),box-shadow .25s var(--ease),filter .25s;position:relative;isolation:isolate}
.btn:hover{transform:translateY(-2px);filter:brightness(1.08)}
.btn:active{transform:translateY(0)}
.btn-sm{padding:9px 14px;font-size:13px}
.btn-lg{padding:16px 26px;font-size:16px}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.btn-ghost:hover{border-color:var(--accent)}
[data-theme=aurora] .btn:not(.btn-ghost){box-shadow:0 10px 30px -10px #7c5cffaa}
[data-theme=terminal] .btn,[data-theme=blueprint] .btn{border-color:currentColor;border-radius:0}
[data-theme=terminal] .btn:not(.btn-ghost):hover,[data-theme=blueprint] .btn:not(.btn-ghost):hover{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}
[data-theme=paper] .btn{border-radius:0}
[data-theme=brutal] .btn{border-radius:0;border-color:#111;box-shadow:4px 4px 0 var(--accent)}
[data-theme=brutal] .btn:hover{background:var(--accent);color:#111;box-shadow:4px 4px 0 #111;filter:none}
[data-theme=brutal] .btn-ghost{background:#fff;color:#111}
[data-theme=synth] .btn{border-radius:6px}
[data-theme=synth] .btn:not(.btn-ghost):hover{background:var(--c2)}
[data-theme=blueprint] .btn{font-family:var(--mono)}

/* ---------- layout ---------- */
main{position:relative;z-index:1}
.sec,.hero{max-width:var(--max);margin:0 auto;padding:clamp(72px,11vw,140px) var(--pad) 0}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font:500 12px/1.4 var(--fl);letter-spacing:.18em;text-transform:uppercase;color:var(--eyebrow);margin-bottom:18px}
h2{font:var(--wd) clamp(34px,5.4vw,68px)/1 var(--fd);letter-spacing:var(--track);max-width:18ch;text-wrap:balance}
h2 em,.hero-h em{font-style:normal}
h2 em{color:transparent;-webkit-text-stroke:1.5px var(--ink)}
[data-theme=aurora] h2 em,[data-theme=synth] h2 em,[data-theme=aurora] .hero-h em,[data-theme=synth] .hero-h em{-webkit-text-stroke:0;background:var(--grad-em);-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.04em}
[data-theme=terminal] h2 em{-webkit-text-stroke:0;color:var(--ink-2)}
[data-theme=terminal] h2,[data-theme=terminal] .hero-h{text-transform:lowercase}
[data-theme=terminal] h2:before{content:"## ";color:var(--accent)}
[data-theme=paper] h2 em,[data-theme=paper] .hero-h em{-webkit-text-stroke:0;color:var(--accent);font-style:italic}
[data-theme=brutal] h2,[data-theme=brutal] .hero-h{text-transform:uppercase}
[data-theme=brutal] h2 em{-webkit-text-stroke:0;color:#111;background:var(--accent);display:inline-block;padding:0 .12em;border:3px solid #111;margin-top:.08em}
[data-theme=synth] h2,[data-theme=synth] .hero-h{font-style:italic;text-transform:uppercase}
[data-theme=blueprint] h2 em{-webkit-text-stroke:1px var(--ink)}
[data-theme=blueprint] .eyebrow:before{content:"\25c7"}
[data-theme=paper] .eyebrow{border-top:1px solid var(--ink);padding-top:10px;font-weight:700}
[data-theme=brutal] .eyebrow{font-weight:800;letter-spacing:.14em;background:var(--c2);border:3px solid #111;padding:8px 10px;box-shadow:3px 3px #111}
.lede{margin-top:20px;max-width:60ch;color:var(--ink-2);font-size:clamp(17px,1.5vw,20px)}
.lede strong{color:var(--ink)}
h3{font:700 20px/1.2 var(--fd);letter-spacing:-.02em}

/* cards */
.card{position:relative;background:var(--card);border:var(--bw) solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);-webkit-backdrop-filter:var(--glass);backdrop-filter:var(--glass);transition:transform .35s var(--ease),border-color .3s,background .3s,box-shadow .3s}
.card:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .3s;background:radial-gradient(380px circle at var(--mx,50%) var(--my,50%),color-mix(in srgb,var(--accent) 18%,transparent),transparent 60%)}
.card:hover:after{opacity:1}
.card:hover{border-color:color-mix(in srgb,var(--accent) 70%,var(--ink))}
[data-theme=terminal] .card{border-style:dashed}
[data-theme=paper] .card{border:0;border-top:2px solid var(--ink);border-radius:0}
[data-theme=paper] .card:hover{border-color:var(--accent)}
[data-theme=brutal] .card{border-color:#111}
[data-theme=brutal] .card:hover{transform:translate(-3px,-3px);box-shadow:9px 9px 0 #111;border-color:#111}
[data-theme=brutal] .card:after,[data-theme=paper] .card:after{display:none}
[data-theme=synth] .card{border-color:#ff2e8859}
[data-theme=synth] .card:hover{border-color:var(--c2);box-shadow:0 0 0 1px var(--c2),0 0 32px -6px #2de8ff8c}
[data-theme=blueprint] .card:before{content:"";position:absolute;inset:6px;pointer-events:none;background:linear-gradient(var(--ink),var(--ink)) 0 0/14px 1px no-repeat,linear-gradient(var(--ink),var(--ink)) 0 0/1px 14px no-repeat,linear-gradient(var(--ink),var(--ink)) 100% 100%/14px 1px no-repeat,linear-gradient(var(--ink),var(--ink)) 100% 100%/1px 14px no-repeat}
[data-theme=blueprint] .card:hover{border-color:var(--accent)}

/* ---------- hero ---------- */
.hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(32px,5vw,72px);align-items:center;padding-top:clamp(48px,8vw,110px);min-height:min(88vh,900px)}
@media (max-width:980px){.hero{grid-template-columns:1fr;min-height:0}}
.hero-h{font:var(--wd) clamp(44px,7.6vw,104px)/.95 var(--fd);letter-spacing:var(--track);text-wrap:balance}
.hero-h em{display:inline-block}
[data-theme=aurora] .hero-h{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
[data-theme=aurora] .hero-h em{background:var(--grad-em);background-size:200% 100%;animation:sheen 8s linear infinite;-webkit-background-clip:text;background-clip:text}
[data-theme=synth] .hero-h{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
[data-theme=signal] .hero-h em{color:transparent;-webkit-text-stroke:2px var(--ink)}
[data-theme=signal] .hero-h em:after{content:".";color:var(--accent);-webkit-text-stroke:0}
[data-theme=terminal] .hero-h{font-size:clamp(36px,5.6vw,80px);line-height:1.02;text-shadow:0 0 18px color-mix(in srgb,var(--accent) 55%,transparent)}
[data-theme=terminal] .hero-h em{color:var(--accent)}
[data-theme=terminal] .hero-h em:after{content:"\258b";margin-left:.06em;font-size:.62em;vertical-align:.08em;animation:blink 1.05s steps(1) infinite}
[data-theme=paper] .hero-h{font-style:italic}
[data-theme=brutal] .hero-h em{background:var(--accent);border:3px solid #111;box-shadow:6px 6px 0 #111;padding:0 .14em;margin-top:.1em}
[data-theme=blueprint] .hero-h em{color:var(--accent)}
@keyframes sheen{to{background-position:200% 0}}
@keyframes blink{50%{opacity:0}}
.cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.from{margin-top:26px;font:500 13px/1.4 var(--fl);letter-spacing:.06em;color:var(--ink-2);text-transform:uppercase}
.rotator{display:inline-block;color:var(--ink);font-weight:700;margin-left:.3em;min-width:12ch}
.rotator span{display:inline-block;transition:opacity .35s,transform .35s var(--ease)}
.rotator span.out{opacity:0;transform:translateY(-8px)}

/* demo room */
.demo{margin:0;background:color-mix(in srgb,var(--bg) 70%,transparent);border:var(--bw) solid var(--line);border-radius:var(--r);box-shadow:0 40px 100px -40px rgba(0,0,0,.7),inset 0 1px rgba(255,255,255,.08);-webkit-backdrop-filter:blur(20px) saturate(150%);backdrop-filter:blur(20px) saturate(150%);overflow:hidden;position:relative}
[data-theme=aurora] .demo:before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:linear-gradient(140deg,var(--accent),transparent 40%,transparent 60%,var(--c2));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
[data-theme=brutal] .demo{background:#fff;border-color:#111;box-shadow:8px 8px 0 #111}
[data-theme=paper] .demo{background:#faf6ee;border:1px solid var(--ink);box-shadow:none}
.demo-head{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line);font:500 13px/1 var(--mono)}
.demo-dots{display:flex;gap:6px}.demo-dots i{width:10px;height:10px;border-radius:50%;background:var(--line)}
.demo-title{color:var(--ink)}
.demo-live{margin-left:auto;display:inline-flex;align-items:center;gap:6px;color:var(--ink-2);text-transform:uppercase;letter-spacing:.12em;font-size:11px}
.live-dot{width:8px;height:8px;border-radius:50%;background:#3ddc84;box-shadow:0 0 0 0 #3ddc8488;animation:pulse 2s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 8px #3ddc8400}100%{box-shadow:0 0 0 0 #3ddc8400}}
.demo-feed{list-style:none;margin:0;padding:16px;display:flex;flex-direction:column;gap:12px;height:360px;overflow:hidden;justify-content:flex-end;-webkit-mask-image:linear-gradient(transparent,#000 22%);mask-image:linear-gradient(transparent,#000 22%)}
.msg{display:grid;grid-template-columns:32px 1fr;gap:10px;animation:msgIn .45s var(--ease) both}
@keyframes msgIn{from{opacity:0;transform:translateY(12px) scale(.98)}}
.av{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;font:800 13px/1 var(--sans);color:#fff}
[data-theme=brutal] .av,[data-theme=terminal] .av,[data-theme=blueprint] .av,[data-theme=paper] .av{border-radius:0}
.msg-b{font-size:14.5px;line-height:1.45;color:var(--ink-2)}
.msg-b b{color:var(--ink);font-weight:700;margin-right:6px}
.msg-b .role{font:500 10px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);border:1px solid var(--line);border-radius:999px;padding:2px 6px;margin-right:6px;vertical-align:2px}
.msg-b .t{display:block;margin-top:2px;color:var(--ink)}
.msg-b .mention{color:var(--eyebrow);font-weight:600}
.msg.sys .msg-b{font:500 12px/1.4 var(--mono);color:var(--ink-2)}
.msg.sys .av{background:transparent!important;border:1px dashed var(--line);color:var(--ink-2)}
.gatecard{margin-top:8px;border:1px solid color-mix(in srgb,#ffb020 60%,transparent);background:color-mix(in srgb,#ffb020 10%,transparent);border-radius:min(var(--r),14px);padding:12px}
.gatecard .g-h{display:flex;align-items:center;gap:8px;font:600 12px/1 var(--mono);text-transform:uppercase;letter-spacing:.1em;color:#ffb020}
[data-theme=paper] .gatecard .g-h,[data-theme=brutal] .gatecard .g-h{color:#8a4b00}
.gatecard .g-t{color:var(--ink);margin:8px 0 10px;font-size:14.5px}
.gatecard .g-act{display:flex;gap:8px}
.gatecard .btn{padding:9px 14px;font-size:13px}
.gatecard.done{border-color:color-mix(in srgb,#3ddc84 60%,transparent);background:color-mix(in srgb,#3ddc84 10%,transparent)}
.gatecard.done .g-h{color:#3ddc84}
[data-theme=paper] .gatecard.done .g-h,[data-theme=brutal] .gatecard.done .g-h{color:#0b6b35}
.demo-typing{display:flex;gap:4px;padding:0 16px 14px 58px}
.demo-typing span{width:6px;height:6px;border-radius:50%;background:var(--ink-2);animation:dot 1.2s infinite}
.demo-typing span:nth-child(2){animation-delay:.15s}.demo-typing span:nth-child(3){animation-delay:.3s}
.demo-typing[hidden]{display:none}
@keyframes dot{0%,60%,100%{opacity:.25;transform:none}30%{opacity:1;transform:translateY(-3px)}}
.demo-cap{padding:12px 16px;border-top:1px solid var(--line);font-size:12.5px;color:var(--ink-2)}
.burst{position:absolute;pointer-events:none;width:8px;height:8px;border-radius:50%;z-index:5}

/* ---------- how ---------- */
.steps{list-style:none;margin:48px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;counter-reset:s}
@media (max-width:860px){.steps{grid-template-columns:1fr}}
.step{padding:28px}
.step h3{margin:18px 0 10px;font-size:24px}
.step p{color:var(--ink-2)}
.snum{display:block;font:var(--wd) 64px/1 var(--fd);letter-spacing:-.05em;color:transparent;-webkit-text-stroke:1.5px color-mix(in srgb,var(--ink) 45%,transparent)}
[data-theme=aurora] .snum{-webkit-text-stroke:0;background:linear-gradient(135deg,var(--accent),var(--c2));-webkit-background-clip:text;background-clip:text}
[data-theme=brutal] .snum{-webkit-text-stroke:3px #111;color:var(--accent)}
[data-theme=synth] .snum{-webkit-text-stroke:0;background:var(--grad-em);-webkit-background-clip:text;background-clip:text}
[data-theme=terminal] .snum,[data-theme=blueprint] .snum{-webkit-text-stroke:0;color:var(--accent)}
.flow{margin-top:34px;display:flex;align-items:center;flex-wrap:wrap;gap:8px;font:500 12px/1 var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-2)}
.flow span{padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:var(--card)}
.flow span.gate{border-color:#ffb020;color:#ffb020}
[data-theme=paper] .flow span.gate,[data-theme=brutal] .flow span.gate{color:#8a4b00;border-color:#8a4b00}
.flow i{flex:1 1 16px;min-width:16px;height:2px;background:linear-gradient(90deg,var(--line),var(--accent),var(--line));background-size:200% 100%;animation:flow 2.4s linear infinite}
@keyframes flow{to{background-position:-200% 0}}

/* ---------- features ---------- */
.grid{list-style:none;margin:48px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media (max-width:980px){.grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:620px){.grid{grid-template-columns:1fr}}
.feat{padding:26px}
.feat:hover{transform:translateY(-4px)}
.feat h3{margin:16px 0 8px}
.feat p{color:var(--ink-2);font-size:15.5px}
.ico{display:grid;place-items:center;width:44px;height:44px;border-radius:min(var(--r),14px);font:700 18px/1 var(--mono);color:var(--on-accent);background:var(--accent)}
[data-theme=aurora] .ico{background:linear-gradient(135deg,var(--accent),#3aa7d8);color:#fff}
[data-theme=synth] .ico{background:var(--grad-em)}
[data-theme=brutal] .ico{border:3px solid #111}
[data-theme=brutal] .grid li:nth-child(3n+2){background:var(--c3)}
[data-theme=brutal] .grid li:nth-child(3n+3){background:var(--c2)}
[data-theme=brutal] .feat p{color:#111}

/* ---------- pricing ---------- */
.bill{display:inline-flex;margin-top:30px;padding:4px;border:var(--bw) solid var(--line);border-radius:999px;background:var(--card)}
.bill button{border:0;background:none;padding:10px 18px;border-radius:999px;cursor:pointer;font-weight:650;color:var(--ink-2)}
.bill button[aria-pressed=true]{background:var(--ink);color:var(--bg)}
.save{font:600 11px/1 var(--mono);color:var(--eyebrow);margin-left:4px}
.bill button[aria-pressed=true] .save{color:inherit;opacity:.75}
[data-theme=brutal] .bill,[data-theme=brutal] .bill button,[data-theme=terminal] .bill,[data-theme=terminal] .bill button,[data-theme=blueprint] .bill,[data-theme=blueprint] .bill button,[data-theme=paper] .bill,[data-theme=paper] .bill button{border-radius:0}
.tiers{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:16px;align-items:stretch}
@media (max-width:1100px){.tiers{grid-template-columns:repeat(2,1fr)}}
@media (max-width:620px){.tiers{grid-template-columns:1fr}}
.tier{padding:28px 24px;display:flex;flex-direction:column}
.tier h3{font-size:22px}
.price{display:flex;align-items:baseline;gap:6px;margin:14px 0 6px;flex-wrap:wrap}
.amt{font:var(--wd) 46px/1 var(--fd);letter-spacing:-.04em;color:var(--ink)}
.per{color:var(--ink-2);font-size:14px}
.tier-sum{color:var(--ink-2);font-size:14.5px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.tier-sum strong{color:var(--ink)}
.incl{list-style:none;margin:16px 0 24px;padding:0;display:grid;gap:9px;align-content:start;font-size:14.5px;color:var(--ink-2);flex:1}
.incl li{position:relative;padding-left:22px}
.incl li:before{content:"";position:absolute;left:0;top:.5em;width:10px;height:6px;border-left:2px solid var(--eyebrow);border-bottom:2px solid var(--eyebrow);transform:rotate(-45deg)}
.tier .btn{width:100%}
.trial-tag{position:absolute;top:-12px;right:18px;font:700 11px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;padding:7px 10px;border-radius:999px;background:var(--btn-bg);color:var(--btn-ink);border:var(--bw) solid var(--accent)}
[data-theme=terminal] .trial-tag,[data-theme=blueprint] .trial-tag{background:var(--bg);border-radius:0}
[data-theme=brutal] .trial-tag{background:var(--accent);color:#111;border:3px solid #111;border-radius:0}
[data-theme=paper] .trial-tag{border-radius:0}
.tier-hot{border-color:color-mix(in srgb,var(--accent) 75%,transparent)}
[data-theme=aurora] .tier-hot{background:linear-gradient(180deg,rgba(124,92,255,.18),rgba(45,226,230,.06));box-shadow:0 30px 80px -30px #7c5cff99,inset 0 1px #ffffff26}
[data-theme=brutal] .tier-hot{background:var(--c2)}
[data-theme=brutal] .tier .incl,[data-theme=brutal] .tier-sum,[data-theme=brutal] .per{color:#111}
.fine{margin-top:22px;max-width:80ch;font-size:13.5px;color:var(--ink-2)}

/* ---------- security ---------- */
.sec-split{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,5vw,72px);align-items:start}
@media (max-width:900px){.sec-split{grid-template-columns:1fr}}
.sec-split>div:first-child{position:sticky;top:110px}
@media (max-width:900px){.sec-split>div:first-child{position:static}}
.locks{list-style:none;margin:0;padding:0;display:grid;gap:0}
.lock{padding:22px 0 22px 46px;border-top:1px solid var(--line);position:relative}
.lock:last-child{border-bottom:1px solid var(--line)}
.lock:before{content:"";position:absolute;left:0;top:24px;width:26px;height:26px;border-radius:8px;background:var(--accent);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2 4 5v6c0 5 3.4 9.6 8 11 4.6-1.4 8-6 8-11V5l-8-3zm-1.2 14.2-3.5-3.5 1.4-1.4 2.1 2.1 4.6-4.6 1.4 1.4-6 6z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2 4 5v6c0 5 3.4 9.6 8 11 4.6-1.4 8-6 8-11V5l-8-3zm-1.2 14.2-3.5-3.5 1.4-1.4 2.1 2.1 4.6-4.6 1.4 1.4-6 6z'/%3E%3C/svg%3E") center/contain no-repeat}
[data-theme=aurora] .lock:before{background:linear-gradient(135deg,var(--accent),var(--c2))}
.lock h3{margin-bottom:6px}
.lock p{color:var(--ink-2);font-size:15.5px}
[data-theme=brutal] .lock{border-color:#111;border-width:3px}

/* ---------- faq ---------- */
.qs{margin-top:40px;display:grid;gap:10px;max-width:900px}
.q{border:var(--bw) solid var(--line);border-radius:min(var(--r),16px);background:var(--card);-webkit-backdrop-filter:var(--glass);backdrop-filter:var(--glass);transition:border-color .25s}
.q[open]{border-color:color-mix(in srgb,var(--accent) 60%,var(--line))}
.q summary{list-style:none;cursor:pointer;padding:18px 54px 18px 22px;font:650 17px/1.35 var(--fd);position:relative}
.q summary::-webkit-details-marker{display:none}
.q summary:after{content:"";position:absolute;right:22px;top:50%;width:12px;height:12px;margin-top:-8px;border-right:2px solid var(--ink-2);border-bottom:2px solid var(--ink-2);transform:rotate(45deg);transition:transform .3s var(--ease)}
.q[open] summary:after{transform:rotate(-135deg);margin-top:-2px}
.q p{padding:0 22px 20px;color:var(--ink-2);max-width:72ch}
[data-theme=brutal] .q{border-color:#111;box-shadow:4px 4px 0 #111;background:#fff}
[data-theme=paper] .q{border:0;border-top:1px solid var(--ink);border-radius:0;background:none}
[data-theme=terminal] .q summary:before{content:"> ";color:var(--accent)}

/* ---------- waitlist ---------- */
.access{padding-bottom:clamp(72px,10vw,120px)}
.access-card{padding:clamp(28px,5vw,64px);text-align:center;overflow:hidden}
.access-card h2{margin:0 auto}
.access-card .lede{margin:18px auto 0}
[data-theme=aurora] .access-card{background:radial-gradient(120% 140% at 0% 0%,rgba(124,92,255,.32),transparent 55%),radial-gradient(120% 140% at 100% 100%,rgba(45,226,230,.22),transparent 55%),rgba(255,255,255,.05)}
[data-theme=brutal] .access-card{background:var(--c3)}
.wl{margin:30px auto 0;max-width:640px}
.wl-row{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.wl input,.wl select{min-height:50px;padding:0 16px;border-radius:999px;border:var(--bw) solid var(--line);background:color-mix(in srgb,var(--bg) 60%,transparent);color:var(--ink)}
.wl input{flex:1 1 240px}
.wl select{flex:0 0 auto;cursor:pointer}
.wl select option{background:var(--bg);color:var(--ink)}
.wl input::placeholder{color:color-mix(in srgb,var(--ink-2) 80%,transparent)}
.wl input:focus,.wl select:focus{outline:2px solid var(--accent);outline-offset:2px}
.wl input[aria-invalid=true]{border-color:#ff6b6b}
.wl .btn{min-height:50px}
[data-theme=brutal] .wl input,[data-theme=brutal] .wl select,[data-theme=terminal] .wl input,[data-theme=terminal] .wl select,[data-theme=blueprint] .wl input,[data-theme=blueprint] .wl select,[data-theme=paper] .wl input,[data-theme=paper] .wl select{border-radius:0}
[data-theme=brutal] .wl input,[data-theme=brutal] .wl select{background:#fff;border-color:#111}
.wl-msg{min-height:1.6em;margin-top:14px;font-weight:600}
.wl-msg.ok{color:var(--ink)}
.wl-msg.err{color:#ff8a8a}
[data-theme=paper] .wl-msg.err,[data-theme=brutal] .wl-msg.err{color:#b00020}
.wl.sent .wl-row{display:none}
.wl-done{display:inline-flex;align-items:center;gap:10px;padding:14px 20px;border-radius:999px;border:1px solid color-mix(in srgb,#3ddc84 60%,transparent);background:color-mix(in srgb,#3ddc84 12%,transparent)}

/* ---------- footer ---------- */
.foot{position:relative;z-index:1;max-width:var(--max);margin:0 auto;padding:0 var(--pad) max(24px,env(safe-area-inset-bottom));overflow:hidden}
.foot-row{display:flex;flex-wrap:wrap;gap:12px 28px;align-items:center;justify-content:space-between;padding:26px 0;border-top:1px solid var(--line);color:var(--ink-2);font-size:14px}
.big{font:var(--wd) clamp(80px,22vw,300px)/1 var(--fd);padding-bottom:.08em;overflow:visible;letter-spacing:-.06em;color:transparent;-webkit-text-stroke:1px var(--line);text-align:center;user-select:none;margin-top:10px}
[data-theme=aurora] .big{-webkit-text-stroke:0;background:linear-gradient(90deg,#ffffff2e,color-mix(in srgb,var(--accent) 45%,transparent));-webkit-background-clip:text;background-clip:text}
[data-theme=synth] .big{-webkit-text-stroke:0;font-style:italic;text-transform:uppercase;background:repeating-linear-gradient(180deg,var(--c3) 0 .08em,var(--accent) .14em,transparent .14em .17em);-webkit-background-clip:text;background-clip:text;opacity:.85}
[data-theme=brutal] .big{-webkit-text-stroke:3px #111;color:var(--accent);text-transform:uppercase;text-shadow:6px 6px 0 #111}
[data-theme=paper] .big{-webkit-text-stroke:0;color:var(--ink);font-style:italic}

/* ---------- reveal ---------- */
.js .reveal{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease),transform .7s var(--ease);transition-delay:var(--d,0s)}
.js .reveal.in{opacity:1;transform:none}

/* ---------- mobile tweaks ---------- */
@media (max-width:560px){
  .theme-lbl{display:none}
  .bar .btn-sm{padding:9px 12px}
  .demo-feed{height:320px}
  .cta .btn{flex:1 1 100%}
  .wl input,.wl select,.wl .btn{flex:1 1 100%}
  .glow{display:none}
}

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  *,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .js .reveal{opacity:1;transform:none}
  .glow{display:none}
}
@media (forced-colors:active){.hero-h,.hero-h em,h2 em,.mark-ams{color:CanvasText!important;background:none!important;-webkit-text-stroke:0!important}}
