.landing{overflow-x:hidden}.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}.reveal.revealed{opacity:1;transform:none}.l-nav{display:flex;align-items:center;gap:26px;padding:14px 5vw;position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--ground) 88%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.l-logo{font-size:22px;font-weight:800;letter-spacing:-.02em;color:var(--ink)}.l-logo span{color:var(--accent)}.l-navlinks{display:flex;gap:22px;margin-left:12px}.l-navlinks a{color:var(--muted);text-decoration:none;font-size:14px}.l-navlinks a:hover{color:var(--accent)}.l-nav .l-cta{margin-left:auto}@media (max-width: 700px){.l-navlinks{display:none}}.l-cta{background:var(--accent);color:#fff;border:none;border-radius:8px;font-weight:600;padding:13px 26px;font-size:16px;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease;box-shadow:0 4px 14px color-mix(in srgb,var(--accent) 35%,transparent)}.l-cta:hover{transform:translateY(-2px);box-shadow:0 8px 22px color-mix(in srgb,var(--accent) 45%,transparent)}.l-cta.small{padding:8px 18px;font-size:14px}.l-cta.big{padding:16px 34px;font-size:17px}.l-ghost{color:var(--accent);font-weight:600;text-decoration:none;padding:13px 10px;font-size:15px}.l-hero{display:grid;grid-template-columns:minmax(320px,1fr) minmax(380px,1.2fr);gap:40px;align-items:center;padding:64px 5vw 40px;max-width:1400px;margin:0 auto;background:radial-gradient(ellipse 60% 50% at 15% 10%,color-mix(in srgb,var(--accent-soft) 70%,transparent),transparent),radial-gradient(ellipse 50% 40% at 90% 80%,color-mix(in srgb,var(--copper-soft) 55%,transparent),transparent)}@media (max-width: 900px){.l-hero{grid-template-columns:1fr}}.l-tag{display:inline-block;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);background:var(--accent-soft);border-radius:999px;padding:5px 14px;margin-bottom:18px}.l-hero h1{font-size:clamp(34px,4.6vw,56px);line-height:1.08;letter-spacing:-.025em;margin:0 0 18px;font-weight:750}.l-hero h1 em{font-style:normal;color:var(--accent);position:relative}.l-hero p{font-size:18px;color:var(--muted);line-height:1.6;max-width:50ch;margin:0 0 26px}.l-hero-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.l-trust{margin-top:20px;font-size:13px;color:var(--faint)}.l-hero-viz{min-width:0}.l-hero-viz svg{width:100%;height:auto;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 8px;box-shadow:0 18px 50px #1428231a}.l-packet{offset-rotate:0deg}.l-pk-a{offset-path:path("M172,96 C240,96 252,138 296,152");animation:l-travel 2.6s linear infinite}.l-pk-b{offset-path:path("M172,176 C220,176 244,166 296,161");animation:l-travel 2.6s linear infinite .9s}.l-pk-c{offset-path:path("M172,256 C240,256 252,184 296,170");animation:l-travel 2.6s linear infinite 1.8s}.l-pk-o1{offset-path:path("M452,160 L536,160");animation:l-travel 1.4s linear infinite .2s}.l-pk-o2{offset-path:path("M452,160 L536,160");animation:l-travel 1.4s linear infinite .9s}.l-pk-r1{offset-path:path("M700,174 L776,174");animation:l-travel 1.2s linear infinite .5s}.l-pk-q{offset-path:path("M842,70 L842,112");animation:l-travel 1.1s linear infinite}.l-pk-ans{offset-path:path("M888,112 L888,70");animation:l-travel 1.1s linear infinite .55s}@keyframes l-travel{0%{offset-distance:0%;opacity:0}8%{opacity:1}88%{opacity:1}to{offset-distance:100%;opacity:0}}.l-scanline{animation:l-scan 2.2s ease-in-out infinite alternate}@keyframes l-scan{0%{transform:translateY(0)}to{transform:translateY(92px)}}.l-gatepulse{animation:l-pulse 2.2s ease-in-out infinite}@keyframes l-pulse{0%,to{opacity:.6}50%{opacity:1}}.l-qline{stroke-dasharray:6 6;animation:l-march .9s linear infinite}.l-auditline{stroke-dasharray:4 5;animation:l-march 1.6s linear infinite}@keyframes l-march{to{stroke-dashoffset:-22}}.l-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;max-width:1100px;margin:30px auto 0;padding:0 5vw}.l-stat{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:22px 20px;text-align:center}.l-stat-n{font-size:40px;font-weight:750;color:var(--accent);letter-spacing:-.02em}.l-stat-l{font-size:13px;color:var(--muted);margin-top:4px}.l-section{max-width:1100px;margin:0 auto;padding:84px 5vw 0}.l-eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:700;color:var(--accent);margin-bottom:8px}.l-section h2{font-size:clamp(26px,3vw,36px);letter-spacing:-.02em;line-height:1.15;margin:0 0 14px;max-width:24ch}.l-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-top:28px}.l-feature{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:24px;transition:transform .22s ease,box-shadow .22s ease}.l-feature:hover{transform:translateY(-4px);box-shadow:0 14px 34px #14282317}.l-feature:nth-child(2){transition-delay:.06s}.l-feature:nth-child(3){transition-delay:.12s}.l-feature:nth-child(5){transition-delay:.06s}.l-feature:nth-child(6){transition-delay:.12s}.l-ficon{font-size:26px;margin-bottom:10px}.l-feature h3{margin:0 0 6px;font-size:17px}.l-feature p{margin:0;color:var(--muted);font-size:14.5px;line-height:1.55}.l-split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}.l-split.l-flip .l-split-text{order:2}.l-split.l-flip .l-split-viz{order:1}@media (max-width: 880px){.l-split{grid-template-columns:1fr}.l-split.l-flip .l-split-text{order:1}.l-split.l-flip .l-split-viz{order:2}}.l-split-text p{color:var(--muted);font-size:16px;line-height:1.65}.l-split-text ul{color:var(--muted);font-size:15px;line-height:1.7;padding-left:20px}.l-split-text li{margin-bottom:6px}.l-maskcard{background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:0 18px 50px #14282314}.l-maskhead{display:flex;justify-content:space-between;gap:10px;padding:12px 18px;background:var(--code-bg);border-bottom:1px solid var(--line);font-size:13px;font-weight:600}.l-maskstate.raw{color:var(--danger)}.l-maskstate.working{color:var(--copper)}.l-maskstate.done{color:var(--accent)}.l-maskrow{display:grid;grid-template-columns:110px 1fr;gap:12px;padding:9px 18px;border-bottom:1px solid var(--line);font-size:14px}.l-maskrow:last-child{border-bottom:none}.l-maskkey{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--faint);padding-top:3px}.l-maskval{transition:color .4s ease}.l-maskval.raw{color:var(--danger)}.l-maskval.safe{color:var(--accent);font-weight:550;animation:l-fadein .45s ease}.l-maskval.keep{color:var(--ink)}@keyframes l-fadein{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}.l-chatcard{background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:0 18px 50px #14282314;min-height:330px}.l-chatbar{display:flex;align-items:center;gap:6px;padding:11px 16px;background:var(--code-bg);border-bottom:1px solid var(--line);font-size:12px;color:var(--faint)}.l-chatbar i{width:9px;height:9px;border-radius:50%;background:var(--line);display:inline-block}.l-chatbar span{margin-left:8px}.l-chatbody{padding:16px 18px}.l-bubble-q{background:var(--accent-soft);border-radius:12px 12px 12px 4px;padding:11px 15px;font-size:15px;margin-bottom:12px;min-height:44px}.l-bubble-q span{display:block;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--accent);margin-bottom:3px}.l-caret{display:inline-block;width:8px;height:15px;background:var(--accent);vertical-align:text-bottom;margin-left:2px;animation:l-blink .85s steps(1) infinite}@keyframes l-blink{50%{opacity:0}}.l-chattable{border-collapse:collapse;font-size:13px;margin:4px 0 10px;animation:l-fadein .5s ease}.l-chattable th{font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--faint);background:var(--code-bg);padding:6px 14px;text-align:left}.l-chattable td{padding:6px 14px;border-bottom:1px solid var(--line)}.l-bubble-a{font-size:14.5px;animation:l-fadein .5s ease}.l-ref{display:block;font-size:12px;color:var(--copper);margin-top:4px}.l-badges{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;margin-top:28px}.l-badge{display:flex;gap:16px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:22px}.l-bicon{font-size:26px}.l-badge h3{margin:0 0 4px;font-size:16px}.l-badge p{margin:0;color:var(--muted);font-size:14px;line-height:1.55}.l-final{max-width:760px;margin:90px auto 0;text-align:center;padding:54px 5vw;background:linear-gradient(135deg,var(--accent-soft),color-mix(in srgb,var(--accent-soft) 40%,var(--ground)));border:1px solid var(--line);border-radius:20px}.l-final h2{font-size:clamp(26px,3vw,34px);letter-spacing:-.02em;margin:0 0 10px}.l-final p{color:var(--muted);max-width:52ch;margin:0 auto 22px}.l-creds{display:flex;gap:14px;justify-content:center;margin-bottom:24px;flex-wrap:wrap}.l-creds div{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 20px}.l-creds span{display:block;font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--faint)}.l-creds code{font-size:16px;font-weight:600;background:none}.l-foot{text-align:center;color:var(--faint);font-size:13px;padding:60px 5vw 40px;line-height:1.7}@media (prefers-reduced-motion: reduce){.l-packet,.l-scanline{display:none}.l-qline,.l-auditline,.l-gatepulse{animation:none}.reveal{opacity:1;transform:none;transition:none}}:root{--ground: #FBFAF6;--surface: #FFFFFF;--ink: #22322D;--muted: #5D6B65;--faint: #8A968F;--line: #E3E0D5;--accent: #0E6F5C;--accent-soft: #E7F1EC;--copper: #A8622A;--copper-soft: #F6EDE2;--danger: #B0392E;--danger-soft: #F7E9E6;--code-bg: #F3F1E9}*{box-sizing:border-box}body{margin:0;background:var(--ground);color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:15px;line-height:1.5}button{font:inherit;cursor:pointer;background:var(--accent);color:#fff;border:none;border-radius:6px;padding:8px 16px}button.ghost{background:transparent;color:var(--accent);border:1px solid var(--accent)}button.small{padding:4px 12px;font-size:13px}button:disabled{opacity:.5;cursor:default}input,select{font:inherit;padding:8px 10px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink);width:100%}input:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}.topbar{display:flex;align-items:center;gap:20px;padding:12px 24px;background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}.brand{font-weight:700;font-size:18px;color:var(--accent);letter-spacing:-.01em}.brand span{color:var(--ink);font-weight:500}.tabs{display:flex;gap:4px}.tabs button{background:transparent;color:var(--muted);border-radius:6px;padding:7px 14px}.tabs button.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.spacer{flex:1}.userchip{font-size:13px;color:var(--muted)}.page{max-width:1200px;margin:0 auto;padding:24px}.grid{display:grid;gap:16px}.kpis{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.charts2{grid-template-columns:repeat(auto-fit,minmax(420px,1fr))}.card{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:16px 18px}.card h3{margin:0 0 4px;font-size:14px;font-weight:600}.card .sub{font-size:12px;color:var(--faint);margin-bottom:10px}.kpi .label{font-size:12px;color:var(--faint);text-transform:uppercase;letter-spacing:.06em}.kpi .value{font-size:26px;font-weight:650;margin-top:4px}.kpi .value small{font-size:14px;color:var(--muted);font-weight:400}table.data{border-collapse:collapse;width:100%;font-size:13px}table.data th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--faint);background:var(--code-bg);padding:7px 10px;white-space:nowrap}table.data td{padding:7px 10px;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums;white-space:nowrap}table.data tr:last-child td{border-bottom:none}.tablewrap{overflow-x:auto}.login-wrap{min-height:100vh;display:grid;place-items:center}.login-card{width:360px}.login-card h2{margin:0 0 2px;color:var(--accent)}.login-card .sub{margin-bottom:18px}.login-card label{display:block;font-size:13px;color:var(--muted);margin:12px 0 4px}.login-card button{width:100%;margin-top:18px}.hint{font-size:12px;color:var(--faint);margin-top:12px}.error{color:var(--danger);font-size:13px;margin-top:10px}.chat-wrap{display:grid;grid-template-rows:1fr auto;height:calc(100vh - 130px);gap:12px}.chat-log{overflow-y:auto;display:flex;flex-direction:column;gap:14px;padding:4px}.msg{max-width:85%}.msg.user{align-self:flex-end;background:var(--accent);color:#fff;border-radius:12px 12px 3px;padding:10px 14px}.msg.bot{align-self:flex-start;width:85%}.msg.bot .card{border-radius:12px 12px 12px 3px}.badge{display:inline-block;font-size:11px;font-weight:600;padding:1px 8px;border-radius:999px}.badge.claude{background:var(--accent-soft);color:var(--accent)}.badge.ollama{background:#e8edf9;color:#1c5cab}.badge.rules{background:var(--copper-soft);color:var(--copper)}.auditref{font-size:11px;color:var(--copper)}.chat-input{display:flex;gap:8px}.chat-input input{flex:1}details.sqlbox{margin-top:8px}details.sqlbox summary{font-size:12px;color:var(--muted);cursor:pointer}details.sqlbox pre{background:var(--code-bg);border:1px solid var(--line);border-radius:6px;padding:10px;font-size:12px;overflow-x:auto;margin:6px 0 0}.suggestions{display:flex;flex-wrap:wrap;gap:8px}.suggestions button{background:var(--surface);color:var(--muted);border:1px solid var(--line);font-size:12px;padding:5px 12px;border-radius:999px}.suggestions button:hover{border-color:var(--accent);color:var(--accent)}.src-row{display:grid;gap:10px;margin-top:10px}.src-row label{font-size:12px;color:var(--muted)}.status-ok{color:#006300;font-size:13px}.status-bad{color:var(--danger);font-size:13px}.pill{font-size:11px;padding:1px 8px;border-radius:999px;background:var(--code-bg);color:var(--muted)}
