*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:13px;scroll-behavior:smooth}body{background:#060810;color:#e8eaf0;font-family:Geist Mono,Courier New,monospace;line-height:1.6;min-height:100vh;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;background:none;font-family:inherit;font-size:inherit}input,textarea,select{font-family:inherit;font-size:inherit}img{max-width:100%;display:block}:root{--bg: #060810;--bg1: #0d1018;--bg2: #141824;--bg3: #1c2233;--border: #1e2535;--border2: #2a3448;--text1: #e8eaf0;--text2: #8892aa;--text3: #4a5570;--lime: #b8ff3c;--lime2: #9ee030;--green: #3cffa0;--cyan: #3cd4ff;--amber: #ffb340;--red: #ff4d6a;--blue: #4d8cff;--display: "Bricolage Grotesque", sans-serif;--mono: "Geist Mono", monospace;--radius: 6px;--radius2: 10px;--shadow: 0 2px 16px rgba(0,0,0,.4);--shadow2: 0 8px 40px rgba(0,0,0,.6)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg1)}::-webkit-scrollbar-thumb{background:var(--border2);border-radius:3px}h1,h2,h3,h4{font-family:var(--display);font-weight:800;line-height:1.2}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:var(--radius);font-size:12px;font-weight:600;font-family:var(--mono);transition:all .15s ease;white-space:nowrap;letter-spacing:.3px}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn-lime{background:var(--lime);color:#060810}.btn-lime:hover{background:var(--lime2)}.btn-amber{background:var(--amber);color:#060810}.btn-amber:hover{filter:brightness(1.1)}.btn-outline{border:1px solid var(--border2);color:var(--text2);background:transparent}.btn-outline:hover{border-color:var(--lime);color:var(--lime);background:#b8ff3c0d}.btn-ghost{color:var(--text2);background:transparent}.btn-ghost:hover{color:var(--text1);background:var(--bg2)}.btn-surface{background:var(--bg2);border:1px solid var(--border);color:var(--text1)}.btn-surface:hover{border-color:var(--border2);background:var(--bg3)}.btn-danger{background:#ff4d6a26;border:1px solid rgba(255,77,106,.3);color:var(--red)}.btn-danger:hover{background:#ff4d6a40}.btn-lg{padding:12px 28px;font-size:13px}.btn-sm{padding:6px 12px;font-size:11px}.btn-xs{padding:4px 8px;font-size:10px}.card{background:var(--bg1);border:1px solid var(--border);border-radius:var(--radius2);padding:20px}.card+.card{margin-top:12px}.inp{width:100%;background:var(--bg2);border:1px solid var(--border2);border-radius:var(--radius);color:var(--text1);padding:8px 12px;font-size:12px;transition:border-color .15s;outline:none}.inp:focus{border-color:var(--lime)}.inp::placeholder{color:var(--text3)}.sel{background:var(--bg2);border:1px solid var(--border2);border-radius:var(--radius);color:var(--text1);padding:8px 12px;font-size:12px;outline:none;cursor:pointer}.sel:focus{border-color:var(--lime)}.inp-lbl{display:block;font-size:10px;color:var(--text3);text-transform:uppercase;letter-spacing:.8px;margin-bottom:5px}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:20px;font-size:10px;font-weight:600;letter-spacing:.4px;text-transform:uppercase}.b-lime{background:#b8ff3c26;color:var(--lime);border:1px solid rgba(184,255,60,.3)}.b-green{background:#3cffa01f;color:var(--green);border:1px solid rgba(60,255,160,.25)}.b-cyan{background:#3cd4ff1f;color:var(--cyan);border:1px solid rgba(60,212,255,.25)}.b-amber{background:#ffb3401f;color:var(--amber);border:1px solid rgba(255,179,64,.25)}.b-red{background:#ff4d6a1f;color:var(--red);border:1px solid rgba(255,77,106,.25)}.b-ghost{background:var(--bg2);color:var(--text2);border:1px solid var(--border2)}.sec-lbl{display:block;font-size:10px;color:var(--text3);text-transform:uppercase;letter-spacing:1px;margin-bottom:12px;font-weight:600}.sec-ey{display:inline-block;font-size:10px;color:var(--lime);text-transform:uppercase;letter-spacing:1.5px;font-weight:700;margin-bottom:12px}.loading{display:flex;align-items:center;justify-content:center;color:var(--text3);font-size:12px;padding:40px;gap:8px}.loading:before{content:"";width:14px;height:14px;border:2px solid var(--border2);border-top-color:var(--lime);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{text-align:center;padding:40px 20px;color:var(--text3);font-size:12px;line-height:2}.empty-state a{color:var(--lime)}.error-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:12px;color:var(--text2)}.error-page h1{font-family:var(--display);color:var(--text1)}.toast{position:fixed;bottom:24px;right:24px;background:var(--bg3);border:1px solid var(--border2);color:var(--text1);padding:10px 18px;border-radius:var(--radius);font-size:12px;z-index:9999;transform:translateY(20px);opacity:0;transition:all .2s ease;pointer-events:none;max-width:320px}.toast.show{transform:translateY(0);opacity:1}.nav{display:flex;align-items:center;gap:24px;padding:0 40px;height:56px;background:#060810d9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100}.logotype{font-family:var(--display);font-weight:800;font-size:20px;color:var(--text1);letter-spacing:-1px}.logotype span{color:var(--lime)}.nav-links{display:flex;list-style:none;gap:4px;flex:1}.nav-links a{padding:5px 12px;border-radius:var(--radius);font-size:12px;color:var(--text2);transition:color .15s,background .15s}.nav-links a:hover,.nav-links a.active{color:var(--text1);background:var(--bg2)}.nav-r{display:flex;align-items:center;gap:8px}.footer{border-top:1px solid var(--border);padding:32px 40px;display:flex;align-items:center;gap:24px;flex-wrap:wrap}.foot-copy{font-size:11px;color:var(--text3);flex:1}.foot-links{display:flex;gap:20px}.foot-links a{font-size:11px;color:var(--text3);transition:color .15s}.foot-links a:hover{color:var(--text2)}.hero{padding:80px 40px 60px;max-width:900px;margin:0 auto;text-align:center;position:relative}.hero-dots{position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle,var(--border) 1px,transparent 1px);background-size:28px 28px;opacity:.4;pointer-events:none}.hero-chip{display:inline-flex;align-items:center;gap:6px;background:var(--bg2);border:1px solid var(--border2);padding:4px 14px;border-radius:20px;font-size:10px;color:var(--text2);margin-bottom:28px;letter-spacing:.5px}.chip-dot{width:6px;height:6px;background:var(--lime);border-radius:50%;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.hero-h1{font-family:var(--display);font-size:clamp(48px,8vw,80px);font-weight:800;letter-spacing:-3px;line-height:1;margin-bottom:20px;color:var(--text1)}.hero-h1 em{font-style:normal;color:var(--lime)}.hero-h1 .dim{color:var(--text3)}.hero-p{font-size:14px;color:var(--text2);max-width:540px;margin:0 auto 32px;line-height:1.8}.hero-cta{display:flex;justify-content:center;gap:10px;margin-bottom:48px;flex-wrap:wrap}.term-wrap{background:var(--bg1);border:1px solid var(--border);border-radius:var(--radius2);overflow:hidden;text-align:left;margin:0 auto 48px;max-width:620px;box-shadow:var(--shadow2)}.term-top{background:var(--bg2);border-bottom:1px solid var(--border);padding:10px 14px;display:flex;align-items:center;gap:6px}.tdot{width:10px;height:10px;border-radius:50%}.term-ttl{font-size:10px;color:var(--text3);margin-left:6px}.term-body{padding:20px 24px;font-size:11px;line-height:2;overflow-x:auto;white-space:pre}.tc{color:var(--text3)}.tk{color:var(--lime);font-weight:700}.tv{color:var(--cyan)}.ts{color:var(--green)}.tb,.ty{color:var(--amber)}.cur{display:inline-block;width:7px;height:13px;background:var(--lime);margin-left:2px;vertical-align:middle;animation:blink 1.2s step-end infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--radius2);overflow:hidden;margin-top:0}.met{background:var(--bg1);padding:20px;text-align:center}.met-v{font-family:var(--display);font-size:26px;font-weight:800;color:var(--lime)}.met-l{font-size:10px;color:var(--text3);margin-top:4px;text-transform:uppercase;letter-spacing:.8px}.oss-band{padding:0 40px 80px;max-width:900px;margin:0 auto}.oss-card{display:grid;grid-template-columns:1fr 260px;gap:24px;background:var(--bg1);border:1px solid var(--border);border-radius:14px;padding:36px}.oss-h{font-family:var(--display);font-size:28px;font-weight:800;line-height:1.2;margin-bottom:14px}.oss-p{font-size:12px;color:var(--text2);line-height:1.8;margin-bottom:20px}.oss-list{list-style:none;margin-bottom:24px;display:flex;flex-direction:column;gap:8px}.oss-list li{font-size:12px;color:var(--text2);display:flex;gap:8px}.oss-list li span{color:var(--lime)}.donate-widget{background:var(--bg2);border:1px solid rgba(255,179,64,.2);border-radius:var(--radius2);padding:24px;text-align:center}.auth-wrap{min-height:calc(100vh - 56px);display:flex;align-items:center;justify-content:center;padding:40px 20px;position:relative}.auth-bg-dots{position:fixed;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle,var(--border) 1px,transparent 1px);background-size:28px 28px;opacity:.3;pointer-events:none}.auth-card-outer{width:100%;max-width:420px;position:relative;z-index:1}.auth-card{background:var(--bg1);border:1px solid var(--border);border-radius:var(--radius2);padding:28px;box-shadow:var(--shadow2)}.auth-switch{display:flex;background:var(--bg2);border-radius:var(--radius);padding:3px;margin-bottom:24px;gap:3px}.auth-sw-btn{flex:1;padding:7px;border-radius:4px;font-size:11px;font-weight:600;color:var(--text3);font-family:var(--mono);transition:all .15s}.auth-sw-btn.on{background:var(--bg3);color:var(--text1)}.auth-form{display:flex;flex-direction:column;gap:14px}.form-2col{display:grid;grid-template-columns:1fr 1fr;gap:10px}.auth-err{background:#ff4d6a1a;border:1px solid rgba(255,77,106,.3);color:var(--red);padding:8px 12px;border-radius:var(--radius);font-size:11px}.auth-fine{font-size:10px;color:var(--text3);text-align:center;line-height:1.6}.auth-fine a{color:var(--text2);text-decoration:underline}.app-wrap{display:grid;grid-template-columns:220px 1fr;min-height:100vh}.sb{background:var(--bg1);border-right:1px solid var(--border);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow-y:auto;padding:0 0 16px}.sb-logo{padding:16px 16px 8px;border-bottom:1px solid var(--border);margin-bottom:8px}.sb-sect{padding:8px 8px 4px}.sb-lbl{display:block;font-size:9px;color:var(--text3);text-transform:uppercase;letter-spacing:1px;padding:0 8px;margin-bottom:4px}.nav-a{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:var(--radius);font-size:11px;color:var(--text2);transition:all .12s;margin-bottom:1px}.nav-a:hover{background:var(--bg2);color:var(--text1)}.nav-a.on{background:#b8ff3c1a;color:var(--lime)}.nav-icon{font-size:14px}.sb-support{margin:auto 12px 12px;background:#ffb3400f;border:1px solid rgba(255,179,64,.2);border-radius:var(--radius2);padding:14px;text-align:center}.sb-support-hd{font-weight:700;font-size:12px;color:var(--amber);margin-bottom:6px}.sb-support-p{font-size:10px;color:var(--text3);line-height:1.6;margin-bottom:10px}.sb-user{display:flex;align-items:center;gap:10px;padding:12px 12px 10px;margin:8px 8px 0;border-radius:var(--radius);cursor:pointer;border-top:1px solid var(--border)}.sb-user:hover{background:var(--bg2)}.sb-av{width:28px;height:28px;background:var(--bg3);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:var(--lime);flex-shrink:0}.sb-uname{font-size:11px;font-weight:600}.sb-uorg{font-size:9px;color:var(--text3)}.topbar{height:48px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 24px;background:#06081099;position:sticky;top:0;z-index:10;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.tb-crumb{font-size:11px;color:var(--text3);display:flex;align-items:center;gap:6px}.tb-cur{color:var(--text1)}.tb-sep{color:var(--border2)}.tb-r{display:flex;align-items:center;gap:8px}.main-area{overflow-y:auto;min-height:100vh}.pg{padding:24px;max-width:1100px}.pg-hd{margin-bottom:20px}.pg-ttl{font-family:var(--display);font-size:22px;font-weight:800}.pg-sub{font-size:11px;color:var(--text3);margin-top:4px}.stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:20px}.stat{background:var(--bg1);border:1px solid var(--border);border-radius:var(--radius2);padding:16px}.stat-l{font-size:10px;color:var(--text3);text-transform:uppercase;letter-spacing:.8px;margin-bottom:8px}.stat-v{font-family:var(--display);font-size:28px;font-weight:800}.proj-row{display:flex;align-items:center;gap:12px;padding:10px;border-radius:var(--radius);cursor:pointer;transition:background .12s;border-bottom:1px solid var(--border)}.proj-row:last-of-type{border-bottom:none}.proj-row:hover{background:var(--bg2)}.proj-ico{font-size:18px}.proj-meta{flex:1}.proj-name{font-weight:600;font-size:12px}.proj-det{font-size:10px;color:var(--text3);margin-top:2px}.stepper{display:flex;gap:0;margin-bottom:20px;background:var(--bg1);border:1px solid var(--border);border-radius:var(--radius2);overflow:hidden}.stp{flex:1;padding:10px 12px;font-size:10px;color:var(--text3);display:flex;align-items:center;gap:8px;border-right:1px solid var(--border);text-transform:uppercase;letter-spacing:.5px}.stp:last-child{border-right:none}.stp.now{color:var(--lime);background:#b8ff3c0f}.stp-n{width:18px;height:18px;background:var(--bg3);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;flex-shrink:0}.stp.now .stp-n{background:var(--lime);color:#060810}.log-ta{width:100%;min-height:160px;background:var(--bg2);border:1px solid var(--border2);border-radius:var(--radius);color:var(--text1);padding:12px;font-size:11px;line-height:1.8;resize:vertical;outline:none;font-family:var(--mono);-moz-tab-size:2;tab-size:2}.log-ta:focus{border-color:var(--lime)}.siem-chip{display:inline-flex;align-items:center;gap:6px;background:var(--bg3);border:1px solid var(--border2);border-radius:20px;padding:4px 12px;font-size:11px;font-weight:600}.siem-chip .dot{width:7px;height:7px;border-radius:50%}.field-pills{display:flex;flex-wrap:wrap;gap:6px}.fpill{display:flex;align-items:center;gap:6px;background:var(--bg2);border:1px solid var(--border2);border-radius:var(--radius);padding:4px 10px}.fp-name{font-size:11px;font-weight:600}.fp-type{font-size:9px;color:var(--cyan);text-transform:uppercase;letter-spacing:.5px}.parser-2col{display:grid;grid-template-columns:1fr 280px;gap:12px;margin-top:14px}.code-block{background:var(--bg1);border:1px solid var(--border);border-radius:var(--radius2);overflow:hidden}.code-hdr{background:var(--bg2);border-bottom:1px solid var(--border);padding:8px 14px;display:flex;align-items:center;justify-content:space-between}.code-fname{font-size:11px;color:var(--text2)}.code-body{padding:16px;font-size:10.5px;line-height:1.9;overflow-x:auto;white-space:pre;color:var(--cyan);max-height:280px}.code-example{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;font-size:11px;line-height:1.9;color:var(--cyan);overflow-x:auto;margin:10px 0}.tab-bar{display:flex;gap:4px;margin-bottom:16px;background:var(--bg1);border:1px solid var(--border);padding:4px;border-radius:var(--radius2);width:fit-content}.tab-btn{padding:6px 16px;border-radius:var(--radius);font-size:11px;font-weight:600;color:var(--text3);font-family:var(--mono);transition:all .12s}.tab-btn.on{background:var(--bg3);color:var(--text1)}.tab-btn:hover:not(.on){color:var(--text2)}.rule-layout{display:grid;grid-template-columns:1fr 260px;gap:16px;align-items:start}.sug{background:var(--bg1);border:1px solid var(--border);border-radius:var(--radius2);padding:14px 16px;margin-bottom:10px;transition:border-color .15s,opacity .2s}.sug:hover{border-color:var(--border2)}.sug.acc{border-color:#3cffa04d}.sug-hd{display:flex;align-items:flex-start;gap:12px;margin-bottom:10px}.sug-name{font-weight:700;font-size:12px;margin-bottom:4px}.sug-desc{font-size:11px;color:var(--text2);line-height:1.6}.sug-acts{display:flex;gap:6px;flex-shrink:0}.sug-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.rule-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--border)}.rule-row:last-child{border-bottom:none}.prev-pane{position:sticky;top:70px}.page-content{padding:60px 40px 80px;max-width:980px;margin:0 auto}.page-hero{text-align:center;margin-bottom:56px}.sec-h2{font-family:var(--display);font-size:clamp(28px,4vw,44px);font-weight:800;letter-spacing:-1.5px;margin-bottom:14px}.how-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--radius2);overflow:hidden}.how-step{background:var(--bg1);padding:28px 24px}.how-n{font-size:10px;color:var(--text3);letter-spacing:1px;margin-bottom:16px}.how-ico{font-size:28px;margin-bottom:12px}.how-name{font-family:var(--display);font-size:15px;font-weight:800;margin-bottom:8px}.how-desc{font-size:11px;color:var(--text2);line-height:1.8}.feat-grid-pg{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.feat-pg{background:var(--bg1);border:1px solid var(--border);border-radius:var(--radius2);padding:24px;transition:border-color .15s}.feat-pg:hover{border-color:var(--border2)}.feat-ico{font-size:24px;margin-bottom:12px;display:block}.feat-name{font-family:var(--display);font-size:14px;font-weight:800;margin-bottom:8px}.feat-desc{font-size:11px;color:var(--text2);line-height:1.8}.doc-section{margin-bottom:36px}.doc-section h2{font-family:var(--display);font-size:17px;font-weight:800;color:var(--text1);margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border)}.doc-section p{font-size:12px;color:var(--text2);line-height:1.9;margin-bottom:8px}.doc-section p strong{color:var(--text1)}.doc-section code{background:var(--bg2);border:1px solid var(--border2);padding:1px 6px;border-radius:3px;font-size:11px;color:var(--cyan)}@media (max-width: 900px){.metrics{grid-template-columns:repeat(2,1fr)}.oss-card{grid-template-columns:1fr}.how-grid{grid-template-columns:repeat(2,1fr)}.feat-grid-pg{grid-template-columns:1fr 1fr}.stat-row{grid-template-columns:repeat(2,1fr)}.rule-layout,.parser-2col{grid-template-columns:1fr}}@media (max-width: 640px){.nav{padding:0 16px}.nav-links{display:none}.hero{padding:48px 20px 40px}.page-content{padding:40px 20px 60px}.app-wrap{grid-template-columns:1fr}.sb{display:none}.how-grid,.feat-grid-pg{grid-template-columns:1fr}.stat-row{grid-template-columns:1fr 1fr}.footer{padding:24px 20px}}
