:root{--bg:#0b0d14;--bg-2:#0f131e;--surface:#151a28;--surface-2:#1a2032;--line:#ffffff14;--line-strong:#ffffff26;--ink:#e9ecf3;--muted:#969db0;--muted-2:#6a7185;--brand:#2c3e50;--accent:#10b981;--accent-2:#059669;--accent-3:#22d3ee;--green:#34d399;--red:#f87171;--amber:#fbbf24;--radius:14px;--maxw:860px;--sans:var(--font-geist-sans),-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;--display:var(--font-grotesk),var(--font-geist-sans),sans-serif;--mono:var(--font-geist-mono),ui-monospace,"SF Mono",Menlo,Consolas,monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;line-height:1.6;overflow-x:hidden}a{color:var(--accent-3);text-decoration:none}a:hover{color:#67e8f9}h1,h2,h3{font-family:var(--display);letter-spacing:-.02em;color:var(--ink);margin:0;line-height:1.2}h1{margin:0 0 8px;font-size:24px}h2{margin:0 0 6px;font-size:17px}.container{max-width:var(--maxw);margin:0 auto;padding:26px 18px 60px}.card{background:linear-gradient(180deg,var(--surface),var(--bg-2));border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:inset 0 1px #ffffff08,0 18px 40px -28px #000c}.card+.card{margin-top:16px}.muted{color:var(--muted);font-size:13.5px}.eyebrow{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin:0 0 12px;font-size:11.5px;font-weight:500}.nav{z-index:40;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);background:#0b0d14b8;align-items:center;gap:20px;height:62px;padding:0 20px;display:flex;position:sticky;top:0}.nav .brand{font-family:var(--display);letter-spacing:-.01em;color:var(--ink);align-items:center;gap:10px;margin-right:6px;font-size:17px;font-weight:700;display:flex}.nav .brand .mark{color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent-2));border-radius:8px;place-items:center;width:28px;height:28px;font-size:15px;display:grid;box-shadow:0 0 18px #10b9818c}.nav b{font-family:var(--display);color:var(--ink);font-weight:700}.nav a{color:var(--muted);cursor:pointer;font-size:14px;font-weight:500;text-decoration:none;transition:all .15s}.nav a:hover{color:var(--ink)}.nav .sp{flex:1}.btn{font:inherit;cursor:pointer;white-space:nowrap;color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent-2));border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:11px 18px;font-size:14.5px;font-weight:600;transition:all .18s;display:inline-flex;box-shadow:0 6px 20px -8px #10b981b3}.btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 26px -8px #10b981d9}.btn:disabled{opacity:.5;cursor:default;box-shadow:none}.btn.alt{color:var(--ink);border:1px solid var(--line-strong);box-shadow:none;background:#ffffff0d}.btn.alt:hover:not(:disabled){background:#ffffff1a}.btn.danger{background:linear-gradient(135deg,#ef4444,#b91c1c);box-shadow:0 6px 20px -8px #ef444499}label{color:var(--ink);margin:16px 0 6px;font-size:13px;font-weight:600;display:block}input,select,textarea{font:inherit;width:100%;color:var(--ink);border:1px solid var(--line-strong);background:#ffffff08;border-radius:9px;padding:11px 13px;transition:all .15s}input::placeholder,textarea::placeholder{color:var(--muted-2)}input:focus,select:focus,textarea:focus{border-color:var(--accent);background:#ffffff0d;outline:none;box-shadow:0 0 0 3px #10b9812e}input[type=file]{cursor:pointer;padding:9px 12px}input[type=file]::file-selector-button{font:inherit;border:1px solid var(--line-strong);cursor:pointer;color:var(--ink);background:#ffffff0f;border-radius:8px;margin-right:12px;padding:8px 14px;font-size:13px;font-weight:600;transition:all .15s}input[type=file]::file-selector-button:hover{border-color:var(--accent);background:#ffffff1f}textarea{resize:vertical;min-height:90px}.err{border:1px solid #f871714d;border-left:3px solid var(--red);color:#fecaca;background:#f871711a;border-radius:9px;padding:11px 14px;font-size:14px}.ok{border:1px solid #34d3994d;border-left:3px solid var(--green);color:#bbf7d0;background:#34d3991a;border-radius:9px;padding:11px 14px;font-size:14px}.bar{background:#ffffff12;border-radius:5px;height:6px;margin:16px 0;overflow:hidden}.bar>i{background:linear-gradient(90deg,var(--accent),var(--accent-3));border-radius:5px;width:35%;height:100%;animation:1.1s ease-in-out infinite slide;display:block}@keyframes slide{0%{margin-left:-35%}to{margin-left:100%}}.row{flex-wrap:wrap;gap:10px;display:flex}.track{background:#ffffff0f;border-radius:6px;height:6px;overflow:hidden}.track>i{border-radius:6px;height:100%;transition:width .35s;display:block}.navcap{color:var(--muted);align-items:center;gap:9px;display:flex}.navcap .lbl{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;font-size:10.5px}.navcap .track{width:84px}.navcap .pct{font-family:var(--mono);color:var(--ink);font-variant-numeric:tabular-nums;font-size:12px}@media (max-width:620px){.navcap .lbl{display:none}}ul.hist{margin:0;padding:0;list-style:none}ul.hist li{border:1px solid var(--line);cursor:pointer;background:#ffffff05;border-radius:11px;margin-bottom:11px;padding:14px 16px;transition:all .16s}ul.hist li:hover{border-color:var(--line-strong);background:#ffffff0b;transform:translateY(-1px)}ul.hist li b{color:var(--ink)}.badge{color:#fff;letter-spacing:.03em;vertical-align:middle;border-radius:6px;padding:3px 10px;font-size:11.5px;font-weight:700;display:inline-block}.chip{cursor:pointer;border:1px solid var(--line-strong);color:var(--muted);background:#ffffff0a;border-radius:999px;padding:7px 14px;font-size:13.5px;font-weight:600;transition:all .15s}.chip:hover{color:var(--ink)}.chip.on{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;border-color:#0000}.report-paper{color:#1a1a1a;border:1px solid var(--line);background:#f4f5f7;border-radius:12px;padding:18px 20px;box-shadow:0 18px 50px -28px #000000e6}.report-paper a{color:#1c4e80}.consent{z-index:60;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--line);background:#0f131ee6;align-items:center;gap:14px;padding:13px 18px;font-size:13px;display:flex;position:fixed;bottom:0;left:0;right:0}.consent a{color:var(--accent-3)}.glow{filter:blur(90px);opacity:.5;pointer-events:none;border-radius:50%;position:absolute}.grid-bg{pointer-events:none;opacity:.55;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:52px 52px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(75% 60% at 50% 30%,#000 30%,#0000 75%);mask-image:radial-gradient(75% 60% at 50% 30%,#000 30%,#0000 75%)}.shell{flex-direction:column;min-height:100vh;display:flex}.topbar{z-index:40;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);background:#0b0d14b3;position:sticky;top:0}.topbar-inner{align-items:center;gap:14px;max-width:1080px;height:64px;margin:0 auto;padding:0 22px;display:flex}.logo{font-family:var(--display);color:var(--ink);align-items:center;gap:11px;font-size:19px;font-weight:700;display:flex}.logo .mark{color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent-2));border-radius:9px;place-items:center;width:30px;height:30px;font-size:16px;display:grid;position:relative}.logo .mark:after{content:"";border-radius:9px;position:absolute;inset:0;box-shadow:0 0 22px #10b98199}.logo small{font-family:var(--sans);letter-spacing:.05em;color:var(--muted-2);text-transform:uppercase;margin-top:-2px;font-size:11px;font-weight:500;display:block}.topbar .sp{flex:1}.topbar a.navlink{color:var(--muted);font-size:14.5px;font-weight:500}.topbar a.navlink:hover{color:var(--ink)}.hero{text-align:center;padding:90px 20px 70px;position:relative;overflow:hidden}.hero .inner{z-index:2;max-width:760px;margin:0 auto;position:relative}.pill{color:var(--muted);border:1px solid var(--line-strong);background:#ffffff0a;border-radius:999px;align-items:center;gap:9px;margin-bottom:26px;padding:7px 15px;font-size:13px;font-weight:500;display:inline-flex}.pill .dot{background:var(--green);width:7px;height:7px;box-shadow:0 0 10px var(--green);border-radius:50%}.hero h1{max-width:760px;margin:0 auto 20px;font-size:clamp(34px,5.5vw,56px);font-weight:700;line-height:1.1}.hero h1 .grad{background:linear-gradient(120deg,var(--accent-3),var(--accent),var(--accent-2));color:#0000;-webkit-background-clip:text;background-clip:text}.hero p.lead{color:var(--muted);max-width:560px;margin:0 auto 32px;font-size:clamp(16px,2.1vw,19px)}.hero-cta{flex-wrap:wrap;justify-content:center;gap:13px;display:flex}.btn-lg{border-radius:12px;padding:14px 26px;font-size:16px}.hero-meta{color:var(--muted-2);flex-wrap:wrap;justify-content:center;gap:24px;margin-top:38px;font-size:13px;display:flex}.hero-meta span{align-items:center;gap:7px;display:flex}.hero-meta .ck{color:var(--accent)}.features{grid-template-columns:repeat(4,1fr);gap:16px;max-width:980px;margin:0 auto;padding:10px 20px 90px;display:grid}.feat{background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:20px}.feat .fi{background:#10b9811f;border:1px solid #10b98147;border-radius:10px;place-items:center;width:38px;height:38px;margin-bottom:13px;font-size:18px;display:grid}.feat h3{font-size:15px;font-weight:600;font-family:var(--sans);margin-bottom:5px}.feat p{color:var(--muted);margin:0;font-size:13px;line-height:1.5}@media (max-width:820px){.features{grid-template-columns:1fr 1fr}}@media (max-width:520px){.features{grid-template-columns:1fr}}.auth-wrap{flex:1;justify-content:center;align-items:flex-start;padding:72px 18px 90px;display:flex;position:relative;overflow:hidden}.auth-card{z-index:2;width:100%;max-width:420px;position:relative}.auth-card .card{padding:30px}.auth-head{text-align:center;margin-bottom:8px}.auth-head .mark{color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent-2));border-radius:13px;place-items:center;width:46px;height:46px;margin-bottom:14px;font-size:22px;display:inline-grid;box-shadow:0 8px 26px -8px #10b981b3}.auth-foot{text-align:center;color:var(--muted);margin-top:22px;font-size:13.5px}.auth-foot a{color:var(--accent-3);cursor:pointer;font-weight:600}footer.site{border-top:1px solid var(--line);text-align:center;color:var(--muted-2);background:var(--bg);padding:26px 20px;font-size:12.5px}footer.site a{color:var(--muted)}.app-hud{position:relative}.app-tex{z-index:-1;pointer-events:none;background-image:radial-gradient(circle at 18% 12%,#10b98129,#0000 38%),radial-gradient(circle at 85% 8%,#22d3ee21,#0000 40%),radial-gradient(circle at 60% 85%,#0596691a,#0000 45%),radial-gradient(#ffffff12 1px,#0000 1px);background-size:auto,auto,auto,24px 24px;position:fixed;inset:0}.app-hud h1 .grad{background:linear-gradient(120deg,var(--accent-3),var(--accent));color:#0000;-webkit-background-clip:text;background-clip:text}.so-hud{position:relative}.so-intro{z-index:2;margin-bottom:26px;position:relative}.so-intro h1:before{content:"◉";color:var(--accent);-webkit-text-fill-color:var(--accent)}.chat{z-index:2;flex-direction:column;gap:18px;display:flex;position:relative}.msg{gap:12px;max-width:100%;display:flex}.msg .av{color:#fff;border-radius:9px;flex:none;place-items:center;width:32px;height:32px;font-size:14px;font-weight:700;display:grid}.msg.ai .av{background:linear-gradient(135deg,var(--accent),var(--accent-2));box-shadow:0 0 18px #10b98180}.msg.user .av{color:var(--accent-3);background:#22d3ee1f;box-shadow:0 0 14px #22d3ee40}.msg .bubble{padding:13px 16px;font-size:14.5px;line-height:1.6}.msg.ai .bubble{background:radial-gradient(120% 140% at 0 0,#10b9811a,#10b98105 60%);border-radius:4px 16px 16px;box-shadow:-2px 0 #10b9818c,0 20px 50px -34px #000000e6}.msg.user{flex-direction:row-reverse}.msg.user .bubble{background:linear-gradient(200deg,#22d3ee14,#ffffff05 60%);border-radius:16px 4px 16px 16px;box-shadow:2px 0 #22d3ee8c,0 12px 30px -24px #000000e6}.msg .bubble p{margin:0 0 8px}.msg .bubble p:last-child{margin:0}.thumbs{flex-wrap:wrap;gap:8px;margin-top:11px;display:flex}.thumbs .thumb{border:1px solid var(--line-strong);background:#000;border-radius:9px;width:74px;height:74px;position:relative;overflow:hidden}.thumbs .thumb img{object-fit:cover;width:100%;height:100%;display:block}.thumbs .thumb button{color:#fff;cursor:pointer;background:#0009;border:none;border-radius:6px;width:20px;height:20px;padding:0;font-size:13px;line-height:1;position:absolute;top:2px;right:2px}.thumbs .thumb button:hover{background:#ef4444e6}.composer{z-index:5;margin-top:8px;padding-top:16px;position:sticky;bottom:0}.composer:before{content:"";z-index:-1;pointer-events:none;background:linear-gradient(180deg,transparent,var(--bg) 32%);position:absolute;inset:-8px -18px -60px}.composer .box{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--line);background:linear-gradient(#1a2032b8,#0f131eb8);border-radius:16px;padding:14px 16px;transition:all .18s;box-shadow:0 24px 60px -40px #000}.composer .box:focus-within{border-color:#10b98180;box-shadow:0 0 0 3px #10b9811f,0 24px 60px -40px #000}.composer textarea{resize:none;background:0 0;border:none;min-height:24px;max-height:260px;padding:2px;line-height:1.55;overflow-y:auto}.composer textarea:focus{box-shadow:none;background:0 0}.composer .tools{align-items:center;gap:10px;margin-top:8px;display:flex}.composer .tools .sp{flex:1}.iconbtn{cursor:pointer;border:1px solid var(--line-strong);width:40px;height:40px;color:var(--muted);background:#ffffff0a;border-radius:10px;place-items:center;font-size:17px;transition:all .15s;display:inline-grid}.iconbtn:hover{color:var(--ink);border-color:var(--accent)}.confirm-line{color:var(--muted);align-items:flex-start;gap:9px;margin-top:12px;font-size:12.5px;line-height:1.4;display:flex}.confirm-line input{width:auto;accent-color:var(--accent);cursor:pointer;flex:none;margin:3px 0 0}.typing{align-items:center;gap:5px;display:inline-flex}.typing i{background:var(--accent);border-radius:50%;width:7px;height:7px;animation:1.2s infinite blink;box-shadow:0 0 8px #10b98199}.typing i:nth-child(2){animation-delay:.2s}.typing i:nth-child(3){animation-delay:.4s}@keyframes blink{0%,60%,to{opacity:.25}30%{opacity:1}}
@font-face{font-family:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(../media/32687112bd2dd8db-s.1gepa_7fcx9fm.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(../media/28868e710e86be81-s.2eksvhm1z0jwa.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(../media/0c89a48fa5027cee-s.p.2cyn07wtgehh0.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(../media/32687112bd2dd8db-s.1gepa_7fcx9fm.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(../media/28868e710e86be81-s.2eksvhm1z0jwa.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(../media/0c89a48fa5027cee-s.p.2cyn07wtgehh0.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(../media/32687112bd2dd8db-s.1gepa_7fcx9fm.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(../media/28868e710e86be81-s.2eksvhm1z0jwa.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(../media/0c89a48fa5027cee-s.p.2cyn07wtgehh0.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk Fallback;src:local(Arial);ascent-override:89.71%;descent-override:26.62%;line-gap-override:0.0%;size-adjust:109.69%}.space_grotesk_b6aeab05-module__DEnV2G__className{font-family:Space Grotesk,Space Grotesk Fallback;font-style:normal}.space_grotesk_b6aeab05-module__DEnV2G__variable{--font-grotesk:"Space Grotesk", "Space Grotesk Fallback"}
@font-face{font-family:GeistSans;src:url(../media/Geist_Variable-s.p.0mrjj4bg00-he.woff2)format("woff2");font-display:swap;font-weight:100 900}@font-face{font-family:GeistSans Fallback;src:local(Arial);ascent-override:94.56%;descent-override:27.76%;line-gap-override:0.0%;size-adjust:106.28%}.geistsans_d5a4f12f-module__Ur3q_a__className{font-family:GeistSans,GeistSans Fallback}.geistsans_d5a4f12f-module__Ur3q_a__variable{--font-geist-sans:"GeistSans", "GeistSans Fallback"}
@font-face{font-family:GeistMono;src:url(../media/GeistMono_Variable.p.3ms9vq719j3f8.woff2)format("woff2");font-display:swap;font-weight:100 900}.geistmono_157ca88a-module__iaM1Ya__className{font-family:GeistMono,ui-monospace,SFMono-Regular,Roboto Mono,Menlo,Monaco,Liberation Mono,DejaVu Sans Mono,Courier New,monospace}.geistmono_157ca88a-module__iaM1Ya__variable{--font-geist-mono:"GeistMono", ui-monospace, SFMono-Regular, Roboto Mono, Menlo, Monaco, Liberation Mono, DejaVu Sans Mono, Courier New, monospace}
