:root{--bg:#fafaf9;--bg2:#f2f3f1;--surface:#fff;--surface2:#f6f7f5;--ink:#0a0c0b;--mute:#5d6561;--line:rgba(10,12,11,.09);--line2:rgba(10,12,11,.16);--acc:#059669;--acc2:#10b981;--acc-soft:rgba(16,185,129,.12);--glow:rgba(16,185,129,.22);--shadow:0 1px 2px rgba(10,12,11,.04),0 12px 32px -12px rgba(10,12,11,.12);--nav:rgba(250,250,249,.72);--warn:#b45309;--bad:#dc2626;--r:20px;--ease:cubic-bezier(.2,.8,.2,1)}
[data-theme=dark]{--bg:#060908;--bg2:#0b100e;--surface:#0d1210;--surface2:#111815;--ink:#f1f5f3;--mute:#93a09a;--line:rgba(255,255,255,.08);--line2:rgba(255,255,255,.16);--acc:#34d399;--acc2:#10b981;--acc-soft:rgba(52,211,153,.12);--glow:rgba(16,185,129,.28);--shadow:0 1px 2px rgba(0,0,0,.4),0 24px 48px -16px rgba(0,0,0,.6);--nav:rgba(6,9,8,.7);--warn:#fbbf24;--bad:#f87171}
*{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 16px/1.6 Geist,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;overflow-x:hidden;-webkit-font-smoothing:antialiased;transition:background .4s,color .4s}
[hidden]{display:none !important}
a{color:inherit}
.ic{width:1.15em;height:1.15em;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}
.muted{color:var(--mute)} .small{font-size:13px}
h1,h2,h3{margin:0;letter-spacing:-.035em;line-height:1.05;font-weight:700}
/* background */
.bg{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.orb{position:absolute;border-radius:50%;filter:blur(90px);opacity:.9;animation:float 18s ease-in-out infinite}
.o1{width:520px;height:520px;background:var(--glow);top:-160px;right:-120px}
.o2{width:420px;height:420px;background:var(--acc-soft);bottom:-140px;left:-120px;animation-delay:-8s}
.grid-bg{position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:56px 56px;mask-image:radial-gradient(ellipse 70% 55% at 50% 0%,#000 30%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse 70% 55% at 50% 0%,#000 30%,transparent 75%)}
@keyframes float{0%,100%{transform:translate(0,0)}50%{transform:translate(-30px,40px)}}
/* nav */
.nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px clamp(16px,4vw,48px);background:var(--nav);backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);border-bottom:1px solid var(--line);transition:background .4s}
.brand{display:flex;align-items:center;gap:10px;font-weight:650;letter-spacing:-.02em;text-decoration:none}
.mark{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(135deg,var(--acc2),var(--acc));color:#fff;box-shadow:0 6px 18px -4px var(--glow)}
.mark .ic{width:18px;height:18px}
.links{display:flex;gap:4px}
.links a{padding:8px 12px;border-radius:10px;font-size:14px;color:var(--mute);text-decoration:none;transition:.2s}
.links a:hover{color:var(--ink);background:var(--acc-soft)}
.nav-r{display:flex;align-items:center;gap:8px}
.icon-btn{width:38px;height:38px;border-radius:12px;border:1px solid var(--line);background:var(--surface);color:var(--ink);display:grid;place-items:center;cursor:pointer;transition:.25s var(--ease);position:relative;overflow:hidden}
.icon-btn:hover{border-color:var(--acc);transform:rotate(12deg) scale(1.06)}
.icon-btn .ic{position:absolute;transition:.45s var(--ease);opacity:0}[data-theme=dark] .icon-btn .sun,[data-theme=light] .icon-btn .moon{opacity:1}
[data-theme=dark] .icon-btn .sun{transform:translateY(0) rotate(0)}[data-theme=dark] .icon-btn .moon{transform:translateY(130%) rotate(60deg)}
[data-theme=light] .icon-btn .sun{transform:translateY(-130%) rotate(-60deg)}[data-theme=light] .icon-btn .moon{transform:translateY(0)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:inherit;font-weight:600;border-radius:12px;border:1px solid transparent;padding:11px 18px;cursor:pointer;transition:.25s var(--ease);position:relative}
.btn.sm{padding:8px 14px;font-size:14px}.btn.lg{padding:16px 28px;font-size:17px;border-radius:16px}
.btn.primary{background:linear-gradient(135deg,var(--acc2),var(--acc));color:#fff;box-shadow:0 10px 30px -8px var(--glow),inset 0 1px 0 rgba(255,255,255,.25)}
.btn.primary:hover{transform:translateY(-2px);box-shadow:0 16px 40px -8px var(--glow)}
.btn.primary:hover .ic{transform:translateX(4px)}.btn .ic{transition:.25s var(--ease)}
.btn.ghost{background:var(--surface);border-color:var(--line);color:var(--ink)}.btn.ghost:hover{border-color:var(--acc);transform:translateY(-1px)}
/* reveal */
.rv{opacity:0;transform:translateY(28px) scale(.985);filter:blur(6px);transition:opacity .9s var(--ease),transform .9s var(--ease),filter .9s var(--ease);transition-delay:var(--d,0s)}
.rv.in{opacity:1;transform:none;filter:none}
/* hero */
.hero{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(24px,4vw,64px);align-items:center;max-width:1240px;margin:0 auto;padding:clamp(110px,16vh,150px) clamp(16px,4vw,48px) 60px;min-height:100svh}
.pill{display:inline-flex;align-items:center;gap:10px;padding:7px 14px;border-radius:99px;border:1px solid var(--line);background:var(--surface);font-size:13px;color:var(--mute);box-shadow:var(--shadow)}
.live{width:8px;height:8px;border-radius:50%;background:var(--acc2);box-shadow:0 0 0 0 var(--glow);animation:ping 2s infinite}
@keyframes ping{70%{box-shadow:0 0 0 10px transparent}100%{box-shadow:0 0 0 0 transparent}}
.hero h1{font-size:clamp(40px,6.4vw,84px);margin:22px 0 18px;letter-spacing:-.05em;line-height:.98}
.grad{background:linear-gradient(100deg,var(--acc2),#6ee7b7 45%,var(--acc));background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shine 6s linear infinite}
@keyframes shine{to{background-position:200% center}}
.lede{font-size:clamp(17px,1.6vw,20px);color:var(--mute);max-width:560px;margin:0 0 30px}
.drop{position:relative;display:flex;align-items:center;gap:16px;padding:20px 22px;border-radius:22px;background:var(--surface);cursor:pointer;max-width:560px;border:1px solid var(--line);box-shadow:var(--shadow);transition:.35s var(--ease);isolation:isolate}
.drop::before{content:"";position:absolute;inset:-1px;border-radius:23px;padding:1px;background:conic-gradient(from var(--a,0deg),transparent 0 70%,var(--acc2) 85%,transparent 100%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:spin 5s linear infinite;z-index:-1}
@property --a{syntax:"<angle>";initial-value:0deg;inherits:false}
@keyframes spin{to{--a:360deg}}
.drop:hover,.drop:focus-visible,.drop.over{transform:translateY(-3px);box-shadow:0 24px 50px -16px var(--glow);outline:none;border-color:var(--acc)}
.drop-ic{width:52px;height:52px;border-radius:16px;background:var(--acc-soft);color:var(--acc);display:grid;place-items:center;flex:none;transition:.35s var(--ease)}
.drop-ic .ic{width:24px;height:24px}.drop:hover .drop-ic{transform:translateY(-3px) scale(1.06);background:var(--acc2);color:#fff}
.drop-txt{display:flex;flex-direction:column;flex:1;min-width:0}.drop-txt b{font-size:17px;letter-spacing:-.02em}.drop-txt small{color:var(--mute);font-size:14px}
.drop-go{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;border:1px solid var(--line);transition:.3s var(--ease)}.drop:hover .drop-go{background:var(--ink);color:var(--bg);transform:translateX(4px)}
.err{color:var(--bad);margin:12px 0 0;font-size:14px}
.trust{list-style:none;display:flex;flex-wrap:wrap;gap:8px 20px;padding:0;margin:26px 0 0;color:var(--mute);font-size:14px}
.trust li{display:flex;align-items:center;gap:8px}.trust .ic{color:var(--acc)}
/* 3d scene */
.hero-r{perspective:1400px;display:grid;place-items:center;min-height:460px}
.scene{position:relative;width:min(100%,440px);aspect-ratio:1/1.12;transform-style:preserve-3d;transform:rotateX(var(--rx,8deg)) rotateY(var(--ry,-14deg));transition:transform .25s ease-out}
.layer{position:absolute;border-radius:20px;background:var(--surface);border:1px solid var(--line2);box-shadow:var(--shadow)}
.doc{inset:0 14% 6% 0;padding:24px;overflow:hidden;transform:translateZ(0);display:flex;flex-direction:column;gap:18px}
.doc-h{display:flex;gap:12px;align-items:center}.doc-h i{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--acc2),var(--acc));flex:none}
.doc-h div{flex:1;display:flex;flex-direction:column;gap:8px}
.doc u,.rb i{display:block;height:9px;border-radius:5px;background:var(--line2);text-decoration:none}
.doc u{width:100%}.doc u.m{width:78%}.doc u.s{width:46%}.doc-b{display:flex;flex-direction:column;gap:9px}
.beam{position:absolute;left:0;right:0;height:90px;top:-90px;background:linear-gradient(180deg,transparent,var(--glow) 60%,var(--acc2));opacity:.55;border-bottom:2px solid var(--acc2);animation:scan 3.6s var(--ease) infinite}
@keyframes scan{0%{top:-90px}70%,100%{top:100%}}
.score-c{right:0;top:7%;padding:16px 20px;display:flex;align-items:center;gap:14px;transform:translateZ(90px);animation:bob 6s ease-in-out infinite}
.score-c small{display:block;color:var(--mute);font-size:12px;text-transform:uppercase;letter-spacing:.08em}.score-c b{font-size:34px;letter-spacing:-.04em;line-height:1}.score-c em{font-style:normal;font-size:14px;color:var(--mute);font-weight:500}
.mini-ring{width:58px;height:58px;transform:rotate(-90deg)}.mini-ring circle{fill:none;stroke-width:10}.mini-ring .t{stroke:var(--line2)}.mini-ring .p{stroke:var(--acc2);stroke-linecap:round;stroke-dasharray:314;stroke-dashoffset:90;animation:fillr 2.4s var(--ease) both}
@keyframes fillr{from{stroke-dashoffset:314}}
.rub-c{right:-2%;bottom:24%;width:62%;padding:16px;display:flex;flex-direction:column;gap:12px;transform:translateZ(60px);animation:bob 7s ease-in-out -2s infinite}
.tip-c{left:6%;bottom:0;width:78%;padding:14px 16px;display:flex;gap:12px;align-items:center;font-size:14px;transform:translateZ(120px);animation:bob 5.5s ease-in-out -1s infinite;background:var(--ink);color:var(--bg);border-color:transparent}
.tip-c .ic{color:#34d399;width:22px;height:22px}
@keyframes bob{0%,100%{translate:0 0}50%{translate:0 -10px}}
.rb{display:grid;gap:6px;font-size:13px;color:var(--mute)}.rb i{height:7px;width:100%;background:var(--line);position:relative;overflow:hidden}
.rb i::after{content:"";position:absolute;inset:0;width:var(--w);background:linear-gradient(90deg,var(--acc),var(--acc2));border-radius:5px;transform-origin:left;animation:grow 1.6s var(--ease) both}
@keyframes grow{from{transform:scaleX(0)}}
/* marquee */
.strip{border-block:1px solid var(--line);background:var(--bg2);overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.marq-in{display:flex;gap:56px;width:max-content;padding:20px 0;animation:marq 32s linear infinite}
.marq-in span{display:flex;align-items:center;gap:10px;color:var(--mute);font-weight:550;letter-spacing:-.01em;white-space:nowrap}.marq-in .ic{color:var(--acc)}
@keyframes marq{to{transform:translateX(-50%)}}
/* how */
.how{max-width:1240px;margin:0 auto;padding:clamp(70px,12vw,140px) clamp(16px,4vw,48px);display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(24px,5vw,80px)}
.how-l{position:sticky;top:110px;align-self:start}
.eyebrow{font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--acc);margin:0 0 14px}
.how h2,.feat h2{font-size:clamp(30px,4.2vw,56px);letter-spacing:-.045em}
.sub{color:var(--mute);margin:16px 0 0;max-width:420px}
.rail{margin-top:32px;width:3px;height:140px;background:var(--line);border-radius:3px;overflow:hidden}.rail i{display:block;width:100%;height:calc(var(--p,0)*100%);background:linear-gradient(var(--acc2),var(--acc));transition:height .2s linear}
.how-r{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:18px}
.step{display:grid;grid-template-columns:auto auto 1fr;gap:18px;align-items:start;padding:26px;border-radius:var(--r);border:1px solid var(--line);background:var(--surface);transition:.5s var(--ease);opacity:.45;transform:scale(.97)}
.step.on{opacity:1;transform:none;border-color:var(--acc);box-shadow:0 20px 50px -20px var(--glow)}
.step .n{font:500 13px "Geist Mono",monospace;color:var(--mute);padding-top:6px}
.si{width:46px;height:46px;border-radius:14px;background:var(--acc-soft);color:var(--acc);display:grid;place-items:center}.si .ic{width:22px;height:22px}
.step h3{font-size:22px;margin-bottom:6px}.step p{margin:0;color:var(--mute)}
/* bento */
.feat{max-width:1240px;margin:0 auto;padding:20px clamp(16px,4vw,48px) clamp(70px,10vw,120px)}
.bento{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;margin-top:40px}
.tile{position:relative;padding:26px;border-radius:var(--r);border:1px solid var(--line);background:var(--surface);overflow:hidden;transition:transform .5s var(--ease),border-color .3s,box-shadow .5s var(--ease)}
.tile:hover{transform:translateY(-4px);border-color:var(--line2);box-shadow:var(--shadow)}
.spot::before{content:"";position:absolute;inset:0;background:radial-gradient(360px circle at var(--mx,50%) var(--my,0%),var(--acc-soft),transparent 60%);opacity:0;transition:opacity .3s;pointer-events:none}.spot:hover::before{opacity:1}
.tile-h{display:flex;align-items:center;gap:10px;margin-bottom:10px}.tile-h .ic{color:var(--acc);width:22px;height:22px}.tile-h h3{font-size:20px;letter-spacing:-.03em}
.tile p{color:var(--mute);margin:0 0 18px;font-size:15px}
.t-score{grid-column:span 3;grid-row:span 2}.t-prio{grid-column:span 3}.t-rw{grid-column:span 3}.t-chat{grid-column:span 4}.t-priv{grid-column:span 2}
.demo-bars{display:grid;gap:16px;margin-top:8px}.demo-bars .rb{font-size:14px}.demo-bars .rb i{height:9px}
.demo-list{display:grid;gap:8px}.demo-list div{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-radius:12px;background:var(--surface2);font-size:14px;gap:8px}
.tag{font-size:12px;font-weight:600;padding:3px 10px;border-radius:99px;white-space:nowrap}
.tag.high{background:rgba(220,38,38,.12);color:var(--bad)}.tag.medium{background:rgba(217,119,6,.14);color:var(--warn)}.tag.low{background:var(--acc-soft);color:var(--acc)}
.diff{display:grid;gap:10px;font-size:14px}.diff s{color:var(--mute);padding:10px 12px;border-radius:12px;background:var(--surface2)}.diff b{font-weight:500;padding:10px 12px;border-radius:12px;background:var(--acc-soft);border:1px solid var(--acc-soft)}
.bub{max-width:82%;padding:10px 14px;border-radius:16px;font-size:14px;margin-top:8px}.bub.me{margin-left:auto;background:var(--ink);color:var(--bg);border-bottom-right-radius:4px}.bub.bot{background:var(--surface2);border-bottom-left-radius:4px}
.cta{max-width:1240px;margin:0 auto 70px;padding:clamp(48px,8vw,96px) 24px;text-align:center;border-radius:32px;border:1px solid var(--line);background:radial-gradient(60% 120% at 50% 0%,var(--glow),transparent 70%),var(--surface)}
.cta h2{font-size:clamp(32px,5vw,64px);letter-spacing:-.05em}.cta p{color:var(--mute);margin:14px 0 28px}
.foot{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:24px clamp(16px,4vw,48px) 40px;max-width:1240px;margin:0 auto;color:var(--mute);font-size:14px;border-top:1px solid var(--line)}.foot a{text-decoration:none}.foot a:hover{color:var(--acc)}
/* progress */
.prog{min-height:100svh;display:grid;place-items:center;padding:100px 16px 40px}
.prog-card{width:min(100%,520px);text-align:center}
.scanner{position:relative;width:200px;height:240px;margin:0 auto 34px;perspective:900px}
.scanner .doc{inset:0;transform:rotateY(-16deg) rotateX(6deg);animation:bob 4s ease-in-out infinite}
.scanner .ring{position:absolute;left:50%;top:50%;width:280px;height:280px;margin:-140px;border-radius:50%;border:1px solid var(--acc);opacity:0;animation:pulse 3s ease-out infinite}.scanner .r2{animation-delay:1.5s}
@keyframes pulse{0%{transform:scale(.5);opacity:.6}100%{transform:scale(1.2);opacity:0}}
.prog h2{font-size:34px;margin-bottom:26px}
.steps{list-style:none;margin:0 0 24px;padding:0;display:grid;gap:10px;text-align:left}
.steps li{display:flex;align-items:center;gap:14px;padding:14px 18px;border-radius:16px;border:1px solid var(--line);background:var(--surface);color:var(--mute);transition:.5s var(--ease)}
.dotc{width:26px;height:26px;border-radius:50%;border:1.5px solid var(--line2);display:grid;place-items:center;color:transparent;flex:none;transition:.4s}
.steps li.on{color:var(--ink);border-color:var(--acc);box-shadow:0 12px 30px -14px var(--glow);transform:scale(1.02)}.steps li.on .dotc{border-color:var(--acc);border-top-color:transparent;animation:rot 1s linear infinite}
.steps li.done{color:var(--ink)}.steps li.done .dotc{background:var(--acc2);border-color:var(--acc2);color:#fff}
@keyframes rot{to{transform:rotate(360deg)}}
/* results */
.res{max-width:1240px;margin:0 auto;padding:100px clamp(16px,4vw,48px) 90px}
.res-grid{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:20px;align-items:start}
.res-main{display:grid;gap:16px;min-width:0}
.card{border-radius:var(--r);border:1px solid var(--line);background:var(--surface);padding:clamp(18px,2.4vw,28px);box-shadow:var(--shadow)}
.card-h{display:flex;align-items:center;gap:10px;margin-bottom:18px}.card-h .ic{color:var(--acc);width:22px;height:22px}.card-h h3{font-size:20px}
.score-card{display:flex;align-items:center;gap:clamp(18px,3vw,36px);background:radial-gradient(80% 140% at 0% 0%,var(--acc-soft),transparent 60%),var(--surface)}
.ring-wrap{position:relative;width:clamp(130px,18vw,180px);aspect-ratio:1;flex:none}
.big-ring{width:100%;height:100%;transform:rotate(-90deg)}.big-ring circle{fill:none;stroke-width:11}.big-ring .t{stroke:var(--line2)}
.big-ring .p{stroke:url(#rg);stroke-linecap:round;stroke-dasharray:377;stroke-dashoffset:377;transition:stroke-dashoffset 1.8s var(--ease);filter:drop-shadow(0 0 8px var(--glow))}
.ring-n{position:absolute;inset:0;display:grid;place-content:center;text-align:center}.ring-n b{font-size:clamp(38px,6vw,56px);letter-spacing:-.05em;line-height:1}.ring-n small{color:var(--mute);font-size:13px}
.score-t{min-width:0}.score-t h1{font-size:clamp(26px,3.6vw,42px);margin:4px 0 10px;overflow-wrap:anywhere}.score-t .muted{margin:0}
.stats{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.stat{padding:6px 12px;border-radius:99px;font-size:13px;font-weight:550;border:1px solid var(--line);background:var(--surface2)}.stat.g{color:var(--acc);background:var(--acc-soft);border-color:transparent}.stat.r{color:var(--bad);background:rgba(220,38,38,.1);border-color:transparent}
.cats{display:grid;gap:22px}.cat-h{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:9px;font-weight:600}.cat-h span:first-child{display:flex;align-items:center;gap:10px}.cat-h .ic{color:var(--acc)}.cat-h em{font:500 14px "Geist Mono",monospace;font-style:normal;color:var(--mute)}
.bar{height:9px;border-radius:5px;background:var(--line);overflow:hidden}.bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--acc),var(--acc2));border-radius:5px;transition:width 1.4s var(--ease)}
.cat p{margin:10px 0 0;color:var(--mute);font-size:14.5px}
.prios{display:grid;gap:12px}.prio{padding:18px;border-radius:16px;background:var(--surface2);border:1px solid transparent;transition:.35s var(--ease);display:grid;grid-template-columns:auto 1fr;gap:14px}
.prio:hover{transform:translateX(4px);border-color:var(--acc)}.prio .num{width:32px;height:32px;border-radius:10px;background:var(--acc-soft);color:var(--acc);display:grid;place-items:center;font:600 14px "Geist Mono",monospace}
.prio-h{display:flex;flex-wrap:wrap;gap:8px 10px;align-items:center}.prio-h b{font-size:16.5px;letter-spacing:-.02em}.prio p{margin:6px 0 0;color:var(--mute);font-size:14.5px}.prio .fix{color:var(--ink)}
.rws{display:grid;gap:12px;margin-bottom:12px}.rw{display:grid;grid-template-columns:1fr 1fr;gap:10px}.rw div{padding:14px;border-radius:14px;font-size:14.5px;line-height:1.5}.rw .b{background:var(--surface2);color:var(--mute)}.rw .b::before,.rw .a::before{display:block;font:600 11px "Geist Mono",monospace;letter-spacing:.1em;margin-bottom:6px}.rw .b::before{content:"BEFORE"}.rw .a{background:var(--acc-soft);border:1px solid var(--acc-soft)}.rw .a::before{content:"AFTER";color:var(--acc)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ticks{list-style:none;margin:0;padding:0;display:grid;gap:10px}.ticks li{display:flex;gap:10px;color:var(--ink);font-size:14.5px}.ticks li::before{content:"";width:18px;height:18px;flex:none;margin-top:3px;border-radius:50%;background:var(--acc2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center/12px no-repeat}
.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{padding:7px 13px;border-radius:99px;border:1px solid var(--line2);background:var(--surface2);font:inherit;font-size:13.5px;color:var(--ink);transition:.25s var(--ease)}button.chip{cursor:pointer}button.chip:hover{border-color:var(--acc);background:var(--acc-soft);transform:translateY(-2px)}
.res-chat{position:sticky;top:84px}
.chat{padding:0;display:flex;flex-direction:column;height:min(calc(100svh - 108px),720px);overflow:hidden}
.chat-h{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line)}.chat-h b{display:block;letter-spacing:-.02em}.chat-h small{color:var(--mute);font-size:12.5px}
.av{width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,var(--acc2),var(--acc));color:#fff;display:grid;place-items:center}
.log{flex:1;overflow-y:auto;padding:16px 18px;display:flex;flex-direction:column;gap:10px;scroll-behavior:smooth}
.m{max-width:88%;padding:11px 15px;border-radius:18px;font-size:14.5px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere;animation:pop .45s var(--ease)}
.m.bot{background:var(--surface2);border-bottom-left-radius:5px;align-self:flex-start}.m.me{background:var(--ink);color:var(--bg);border-bottom-right-radius:5px;align-self:flex-end}
.m.typing{color:var(--mute);animation:pulse2 1.2s ease-in-out infinite}@keyframes pulse2{50%{opacity:.4}}@keyframes pop{from{opacity:0;transform:translateY(10px) scale(.96)}}
.quick{padding:0 18px 12px}
#chatForm{display:flex;gap:8px;padding:12px;border-top:1px solid var(--line)}
#msg{flex:1;min-width:0;font:inherit;font-size:15px;padding:12px 16px;border-radius:14px;border:1px solid var(--line2);background:var(--surface2);color:var(--ink);outline:none;transition:.25s}#msg:focus{border-color:var(--acc);box-shadow:0 0 0 4px var(--acc-soft)}
#send{width:46px;border-radius:14px;border:0;background:linear-gradient(135deg,var(--acc2),var(--acc));color:#fff;cursor:pointer;display:grid;place-items:center;transition:.25s var(--ease)}#send:hover:not(:disabled){transform:scale(1.07) rotate(-8deg)}#send:disabled{opacity:.5}
.fab{position:fixed;right:16px;bottom:16px;z-index:40;display:none;align-items:center;gap:8px;padding:13px 18px;border-radius:99px;border:0;background:var(--ink);color:var(--bg);font:inherit;font-weight:600;box-shadow:0 12px 30px -8px rgba(0,0,0,.4);cursor:pointer}
/* responsive */
@media (max-width:980px){
  .hero{grid-template-columns:1fr;min-height:0;padding-top:110px}.hero-r{min-height:380px;order:2}
  .how{grid-template-columns:1fr}.how-l{position:static}.rail{display:none}
  .bento{grid-template-columns:1fr 1fr}.t-score,.t-prio,.t-rw,.t-chat,.t-priv{grid-column:span 2;grid-row:auto}
  .res-grid{grid-template-columns:1fr}.res-chat{position:static}.chat{height:560px}
  .fab{display:flex}.links{display:none}
}
@media (max-width:560px){
  .nav{padding:10px 14px}.btn.sm span{display:none}.btn.sm{padding:9px 11px}
  .hero h1{letter-spacing:-.04em}.drop{padding:16px;gap:12px}.drop-go{display:none}.drop-ic{width:44px;height:44px}
  .scene{width:min(100%,340px)}.hero-r{min-height:330px}.score-c b{font-size:26px}.score-c{padding:12px 14px}.tip-c{font-size:12.5px}
  .step{grid-template-columns:auto 1fr;padding:18px}.step .n{display:none}
  .score-card{flex-direction:column;align-items:flex-start}
  .rw,.two{grid-template-columns:1fr}.prio{grid-template-columns:1fr}.prio .num{display:none}
  .bento{grid-template-columns:1fr}.t-score,.t-prio,.t-rw,.t-chat,.t-priv{grid-column:auto}
  .foot{flex-direction:column}.cta{margin-inline:12px;border-radius:24px}.res{padding-top:84px;padding-bottom:100px}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none !important;transition-duration:.01ms !important}.rv{opacity:1;transform:none;filter:none}html{scroll-behavior:auto}}

/* queue */
.queue{margin:0 0 22px;padding:20px;border-radius:20px;border:1px solid var(--line);background:var(--surface);text-align:left;box-shadow:var(--shadow)}
.q-top{display:flex;justify-content:space-between;gap:16px}.q-top small{display:block;color:var(--mute);font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.q-top b{font-size:clamp(32px,8vw,44px);letter-spacing:-.05em;line-height:1.1;font-variant-numeric:tabular-nums}.q-eta{text-align:right}.q-eta b{color:var(--acc)}
.q-track{display:flex;gap:6px;margin:16px 0 12px;flex-wrap:wrap}.q-track i{width:14px;height:14px;border-radius:5px;background:var(--line2);transition:.5s var(--ease)}
.q-track i.you{background:var(--acc2);box-shadow:0 0 0 4px var(--acc-soft);transform:scale(1.15)}.q-track i.run{background:var(--acc);animation:pulse2 1.2s infinite}
.q-note{margin:0;color:var(--mute);font-size:13.5px}
.sr-file{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;overflow:hidden}
