:root{--bg:#f1f1f2;--panel:#fff;--panel-2:#f7f7f8;--ink:#0b0b0c;--ink-2:#2b2b30;--muted:#4a4a52;--faint:#7a7a84;--line:#0b0b0c17;--line-2:#0b0b0c29;--accent:#a3201b;--low:#8d97a1;--low-bg:#eef0f2;--medium:#bf9200;--medium-bg:#fbf1dc;--high:#d13f14;--high-bg:#fde7dc;--critical:#94155a;--critical-bg:#f9e1ea;--ok:#1f7a4d;--warn:#b7790f;--down:#b42318;--imp-0:#f7ece9;--imp-1:#f0c9bf;--imp-2:#e39581;--imp-3:#cc5a43;--imp-4:#9b2418;--rain-0:#eef4fa;--rain-1:#c9dcef;--rain-2:#8db7df;--rain-3:#4d87c4;--rain-4:#1f4f8c;--r-lg:22px;--r-md:14px;--r-sm:10px;--shadow:0 1px 0 #ffffffe6 inset, 0 1px 2px #0b0b0c0a, 0 8px 24px -14px #0b0b0c2e;--ease:cubic-bezier(.2, .7, .2, 1);--header-h:112px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:var(--font-sans), ui-sans-serif, system-ui, sans-serif;-webkit-font-smoothing:antialiased;min-width:1200px;font-size:17.2px;line-height:1.45}a{color:inherit}button,input,select{font:inherit;color:inherit}.mono{font-family:var(--font-mono), ui-monospace, monospace;font-feature-settings:"tnum"}.num{font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.faint{color:var(--faint)}.red{color:var(--accent)}.gate{display:none}@media (max-width:1199px){.app{display:none}body{min-width:0}.gate{text-align:center;place-items:center;min-height:100vh;padding:32px;display:grid}.gate h1{letter-spacing:-.01em;margin:0 0 8px;font-size:25.3px;font-weight:650}}.header{z-index:40;-webkit-backdrop-filter:saturate(1.4)blur(14px);backdrop-filter:saturate(1.4)blur(14px);border-bottom:1px solid var(--line);background:#f7f7f8d1;position:sticky;top:0}.header-inner{grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;max-width:1600px;height:96px;margin:0 auto;padding:0 32px;display:grid}.brand{align-items:center;gap:12px;text-decoration:none;display:flex}.brand-mark{width:52px;height:52px}.brand-name{letter-spacing:-.03em;font-size:34px;font-weight:700;line-height:1}.brand-sub{color:var(--muted);margin-top:3px;font-size:14.9px}.pillnav{background:#ffffff80;border:1.5px solid #0b0b0c73;border-radius:999px;gap:2px;padding:4px;display:flex;box-shadow:inset 0 1px #fffffff2,0 4px 10px -4px #0b0b0c0f,0 18px 40px -22px #0b0b0c2e}.pillnav a{color:var(--muted);transition:background .18s var(--ease), color .18s var(--ease);border-radius:999px;align-items:baseline;gap:6px;padding:9px 20px;font-size:17.2px;text-decoration:none;display:flex}.pillnav a:hover{color:var(--ink);background:#0b0b0c0d}.pillnav a.on{background:var(--ink);color:#fff}.pillnav a .n{font-family:var(--font-mono);opacity:.6;font-size:12.6px}.header-right{justify-content:flex-end;align-items:center;gap:12px;display:flex}.searchpill{cursor:text;width:340px;height:50px;color:var(--faint);transition:border-color .15s var(--ease), box-shadow .15s var(--ease);background:#fff;border:1.5px solid #0b0b0c66;border-radius:999px;align-items:center;gap:10px;padding:0 8px 0 18px;display:flex}.searchpill:hover{border-color:var(--ink);box-shadow:0 6px 18px -12px #0b0b0c66}.searchpill kbd{font-family:var(--font-mono);border:1px solid var(--line-2);color:var(--muted);background:var(--panel-2);border-radius:6px;margin-left:auto;padding:3px 7px;font-size:12.6px}.statusbar{max-width:1600px;height:34px;color:var(--muted);border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;margin:0 auto;padding:0 32px;font-size:14.4px;display:flex}.statusbar .group{white-space:nowrap;align-items:center;gap:14px;display:flex}@media (max-width:1500px){.hide-narrow{display:none}}.dotlabel{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.dot{background:var(--faint);border-radius:50%;flex:none;width:7px;height:7px;transition:background .3s}.dot.ok{background:var(--ok)}.dot.degraded{background:var(--warn)}.dot.down{background:var(--down)}.badge-demo{border:1px solid var(--line-2);color:var(--muted);letter-spacing:.01em;background:#fff;border-radius:999px;padding:2px 8px;font-size:12.6px}.banner{color:#6b4a00;max-width:1600px;animation:fadein .3s var(--ease);background:#fff7e6;border:1px solid #f0d9a8;border-radius:12px;align-items:center;gap:10px;margin:16px auto 0;padding:10px 18px;font-size:16.1px;display:flex}main.page{max-width:1600px;animation:pagein .45s var(--ease) both;margin:0 auto;padding:28px 32px 64px}@keyframes pagein{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}html{scroll-behavior:smooth}@keyframes fadein{0%{opacity:0}to{opacity:1}}.footer{border-top:1px solid var(--line);max-width:1600px;color:var(--muted);grid-template-columns:1.4fr 1fr;gap:32px;margin:0 auto;padding:28px 32px 40px;font-size:14.9px;display:grid}.footer .wordmark{letter-spacing:-.05em;color:#0b0b0c0d;-webkit-user-select:none;user-select:none;margin-top:18px;font-size:138px;font-weight:750;line-height:1}.eyebrow{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);align-items:center;gap:10px;font-size:13.8px;display:flex}.headline{letter-spacing:-.025em;text-wrap:balance;max-width:1100px;margin:8px 0 6px;font-size:39.1px;font-weight:650;line-height:1.12}.lede{color:var(--muted);max-width:900px;margin:0;font-size:17.8px}.pagehead{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:22px;display:flex}.panel{background:var(--panel);border-radius:var(--r-lg);box-shadow:var(--shadow);border:1px solid #0b0b0c0d}.panel-h{justify-content:space-between;align-items:baseline;gap:12px;padding:18px 22px 12px;display:flex}.panel-h h2{letter-spacing:-.01em;margin:0;font-size:19.5px;font-weight:650}.panel-h .q{color:var(--muted);font-size:14.9px}.panel-b{padding:4px 22px 20px}.grid{gap:18px;display:grid}.sect{margin-top:18px}.kpis{grid-auto-columns:1fr;grid-auto-flow:column;display:grid}.kpi{border-left:1px solid var(--line);min-width:0;padding:18px 20px}.kpi:first-child{border-left:0}.kpi .l{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:14.9px;overflow:hidden}.kpi .v{letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin-top:2px;font-size:31px;font-weight:650}.kpi .s{color:var(--faint);white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-size:13.8px;overflow:hidden}.kpi.hot .v{color:var(--accent)}.seg{border:1px solid var(--line-2);background:#fff;border-radius:999px;padding:3px;display:inline-flex}.seg button{cursor:pointer;color:var(--muted);transition:background .18s var(--ease), color .18s var(--ease);background:0 0;border:0;border-radius:999px;padding:6px 14px;font-size:15.5px}.seg button:hover{color:var(--ink)}.seg button.on{background:var(--ink);color:#fff}.select,.input{border:1px solid var(--line-2);background:#fff;border-radius:999px;outline:none;height:38px;padding:0 14px;font-size:15.5px;transition:border-color .15s}.select:hover,.input:hover,.select:focus,.input:focus{border-color:var(--ink)}.select{appearance:none;cursor:pointer;background-image:linear-gradient(45deg, transparent 50%, var(--ink) 50%), linear-gradient(135deg, var(--ink) 50%, transparent 50%);background-position:calc(100% - 17px) 17px,calc(100% - 12px) 17px;background-repeat:no-repeat;background-size:5px 5px;padding-right:30px}.btn{border:1px solid var(--ink);background:var(--ink);color:#fff;cursor:pointer;height:38px;transition:transform .12s var(--ease), opacity .15s;border-radius:999px;padding:0 18px;font-weight:550}.btn:hover{opacity:.88}.btn:active{transform:scale(.98)}.btn.ghost{color:var(--ink);border-color:var(--line-2);background:#fff}.btn.ghost:hover{border-color:var(--ink);opacity:1}.btn:disabled{opacity:.4;cursor:default}.filterbar{box-shadow:var(--shadow);background:#fff;border:1px solid #0b0b0c0d;border-radius:999px;flex-wrap:wrap;align-items:center;gap:8px;padding:10px;display:flex}.table{border-collapse:collapse;width:100%;font-size:16.1px}.table th{text-align:left;color:var(--muted);border-bottom:1px solid var(--line);white-space:nowrap;background:#fff;padding:10px 12px;font-size:14.9px;font-weight:500;position:sticky;top:0}.table th.r,.table td.r{text-align:right}.table th.sort{cursor:pointer;-webkit-user-select:none;user-select:none}.table th.sort:hover{color:var(--ink)}.table td{border-bottom:1px solid var(--line);vertical-align:middle;padding:11px 12px}.table tr:last-child td{border-bottom:0}.table tbody tr{transition:background .15s var(--ease)}.table td.mono,.table td.num{white-space:nowrap}.table tbody tr.click{cursor:pointer}.table tbody tr.click:hover{background:var(--panel-2)}.table tbody tr.sel{background:#f1f1f3}@keyframes rowin{0%{opacity:0}to{opacity:1}}.link{text-underline-offset:3px;-webkit-text-decoration:underline #0b0b0c4d;text-decoration:underline #0b0b0c4d}.link:hover{-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink)}.pill{font-family:var(--font-mono);letter-spacing:.02em;white-space:nowrap;border:1px solid;border-radius:999px;align-items:center;gap:6px;padding:2px 9px;font-size:13.8px;transition:background .3s,color .3s;display:inline-flex}.pill.Low{color:#5f6973;background:var(--low-bg);border-color:#c9cfd5}.pill.Medium{color:#7a5c00;background:var(--medium-bg);border-color:#ecd3a0}.pill.High{color:#b0340f;background:var(--high-bg);border-color:#f4bfa6}.pill.Critical{color:var(--critical);background:var(--critical-bg);border-color:#e9adc4}.tag{background:var(--panel-2);border:1px solid var(--line);color:var(--muted);white-space:nowrap;border-radius:999px;padding:1px 8px;font-size:13.8px;display:inline-block}.bar{background:#ececef;border-radius:99px;height:5px;overflow:hidden}.bar>i{background:var(--ink);height:100%;transition:width .5s var(--ease);border-radius:99px;display:block}.segbar{background:#ececef;border-radius:99px;gap:2px;height:6px;display:flex;overflow:hidden}.segbar>i{height:100%;transition:width .5s var(--ease);display:block}.alerts{margin:0;padding:0;list-style:none}.alerts li{border-top:1px solid var(--line);animation:rowin .3s var(--ease) both;grid-template-columns:10px 1fr 18px;gap:12px;padding:12px 0;font-size:17.2px;display:grid}.alerts li:first-child{border-top:0}.alerts .mk{background:var(--low);border-radius:4px;width:4px;height:18px;margin-top:3px}.alerts .high .mk{background:var(--high)}.alerts .medium .mk{background:var(--medium)}.scrim{z-index:60;animation:fadein .2s var(--ease);background:#0b0b0c2e;position:fixed;inset:0}.drawer{z-index:61;border-radius:var(--r-lg);width:560px;animation:slidein .28s var(--ease);background:#fff;position:fixed;top:12px;bottom:12px;right:12px;overflow:auto;box-shadow:0 30px 80px -30px #0b0b0c73}@keyframes slidein{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:none}}.drawer-h{border-bottom:1px solid var(--line);z-index:1;background:#fff;padding:20px 24px 14px;position:sticky;top:0}.drawer-b{padding:18px 24px 28px}.x{border:1px solid var(--line-2);cursor:pointer;z-index:3;background:#fff;border-radius:50%;width:34px;height:34px;font-size:20.7px;line-height:1;position:absolute;top:16px;right:16px}.x:hover{border-color:var(--ink)}.kv{grid-template-columns:repeat(3,1fr);gap:14px 18px;display:grid}.kv .l{color:var(--muted);font-size:13.8px}.kv .v{font-variant-numeric:tabular-nums;font-size:18.4px;font-weight:600}.h3{letter-spacing:-.005em;margin:22px 0 10px;font-size:16.1px;font-weight:650}.contrib{grid-template-columns:150px 1fr 48px;align-items:center;gap:6px 12px;font-size:15.5px;display:grid}.contrib .d{color:var(--muted);grid-column:1/-1;margin:-2px 0 6px;font-size:14.4px}.palette{z-index:70;width:640px;animation:popin .18s var(--ease);background:#fff;border-radius:18px;position:fixed;top:90px;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 30px 80px -24px #0b0b0c80}@keyframes popin{0%{opacity:0;transform:translate(-50%)translateY(-6px)scale(.99)}to{opacity:1;transform:translate(-50%)}}.palette input{border:0;border-bottom:1px solid var(--line);outline:none;width:100%;padding:18px 22px;font-size:19.5px}.palette .res{max-height:420px;padding:6px;overflow:auto}.palette .grp{font-family:var(--font-mono);color:var(--faint);text-transform:uppercase;letter-spacing:.08em;padding:10px 14px 4px;font-size:12.6px}.palette .it{cursor:pointer;border-radius:10px;justify-content:space-between;gap:12px;padding:9px 14px;display:flex}.palette .it.on,.palette .it:hover{background:var(--panel-2)}.sk{background:linear-gradient(90deg,#ececef 0%,#f6f6f7 50%,#ececef 100%) 0 0/200% 100%;border-radius:8px;animation:1.3s linear infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.empty{text-align:center;color:var(--muted);padding:28px;font-size:16.1px}.chart{position:relative}.chart svg{width:100%;display:block;overflow:visible}.chart .axis text{fill:var(--faint);font-size:12.6px;font-family:var(--font-mono)}.chart .grid line{stroke:#0b0b0c12}.chart .mark{transition:opacity .15s}.chart .hover-mark{opacity:.75}.tip{pointer-events:none;z-index:5;background:var(--ink);color:#fff;white-space:nowrap;border-radius:9px;padding:7px 10px;font-size:14.4px;position:absolute;transform:translate(-50%,calc(-100% - 10px));box-shadow:0 10px 30px -10px #0b0b0c80}.tip .t{opacity:.7;font-size:13.2px}.legend{color:var(--muted);flex-wrap:wrap;gap:14px;font-size:14.4px;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.legend i{border-radius:3px;width:10px;height:10px;display:inline-block}.mapwrap{box-shadow:var(--shadow);background:#e8ecf0;border:1.5px solid #0b0b0c59;border-radius:26px;position:relative;overflow:hidden}.map-legend{z-index:2;color:var(--muted);box-shadow:var(--shadow);white-space:nowrap;background:#ffffffeb;border-radius:999px;align-items:center;gap:12px;padding:8px 16px;font-size:14.9px;display:flex;position:absolute;top:16px;left:50%;transform:translate(-50%)}.map-legend .sw{align-items:center;gap:5px;display:inline-flex}.map-legend .sw i{border:1px solid #0b0b0c14;border-radius:4px;width:14px;height:14px;display:inline-block}.map-ctl{z-index:2;flex-direction:column;gap:8px;display:flex;position:absolute;top:16px;left:16px}.map-tip{z-index:3;pointer-events:none;background:#fff;border-radius:12px;min-width:190px;padding:10px 12px;font-size:14.9px;position:absolute;transform:translate(14px,14px);box-shadow:0 16px 40px -16px #0b0b0c73}.map-tip b{font-size:16.1px}.side{top:calc(var(--header-h) + 34px);max-height:calc(100vh - 150px);position:sticky;overflow:auto}.crumbs{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;font-size:14.9px;display:flex}.crumbs button{cursor:pointer;color:var(--muted);text-underline-offset:3px;background:0 0;border:0;padding:0;-webkit-text-decoration:underline #0b0b0c40;text-decoration:underline #0b0b0c40}.crumbs button:hover{color:var(--ink)}.maplibregl-ctrl-group{box-shadow:var(--shadow)!important;border-radius:12px!important}.maplibregl-ctrl-attrib{font-size:12.6px}input[type=range]{width:100%;accent-color:var(--ink)}.lever{border-top:1px solid var(--line);padding:12px 0}.lever:first-child{border-top:0}.lever .t{justify-content:space-between;margin-bottom:6px;font-size:15.5px;display:flex}.toggle{cursor:pointer;align-items:center;gap:8px;font-size:15.5px;display:inline-flex}.toggle input{accent-color:var(--ink);width:16px;height:16px}.delta-good{color:var(--ok)}.delta-bad{color:var(--down)}.note{color:var(--faint);font-size:13.8px}.table.compact{table-layout:fixed;font-size:14.9px}.table.compact th,.table.compact td{white-space:normal;padding:8px 6px}.table.compact th:first-child,.table.compact td:first-child{width:40%;padding-left:0}.table td.nowrap{white-space:nowrap}.filterbar .select{text-overflow:ellipsis;max-width:168px}.topprogress{opacity:0;height:2px;transition:opacity .25s var(--ease);pointer-events:none;position:absolute;bottom:-1px;left:0;right:0;overflow:hidden}.topprogress.on{opacity:1}.topprogress i{background:var(--accent);width:30%;animation:progress 1.1s var(--ease) infinite;border-radius:2px;position:absolute;top:0;bottom:0}@keyframes progress{0%{left:-30%}to{left:100%}}.refreshing{opacity:.55;transition:opacity .2s var(--ease);pointer-events:none}.fade{transition:opacity .2s var(--ease)}.splash{z-index:100;background:var(--bg);transition:opacity .6s var(--ease), visibility .6s;place-items:center;display:grid;position:fixed;inset:0}.splash.out{opacity:0;visibility:hidden}.splash-inner{animation:splashin .9s var(--ease) both;justify-items:center;gap:18px;display:grid}.splash-inner .brand-mark{width:84px;height:84px;animation:pulse 1.6s var(--ease) infinite}.splash-name{letter-spacing:-.04em;font-size:46px;font-weight:700}.splash-bar{background:#0b0b0c14;border-radius:3px;width:220px;height:3px;position:relative;overflow:hidden}.splash-bar i{background:var(--ink);width:0;animation:fill 2.3s var(--ease) forwards;border-radius:3px;position:absolute;inset:0}@keyframes splashin{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}@keyframes fill{0%{width:0}to{width:100%}}.duo{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}@media (max-width:1700px){.duo{grid-template-columns:minmax(0,1fr)}}.gate-msg{text-align:center;background:var(--bg);place-content:center;justify-items:center;gap:14px;min-height:100vh;padding:32px;display:grid}.gate-msg .gate-mark{width:88px;height:88px;margin-bottom:6px}.gate-msg h1{letter-spacing:-.02em;max-width:520px;margin:0;font-size:26px;font-weight:650}.gate-msg p{color:var(--muted);max-width:460px;margin:0;font-size:17px}.alerts li.go{cursor:pointer;transition:background .15s var(--ease);border-radius:10px}.alerts li.go:hover{background:var(--panel-2)}.alerts li .arrow{opacity:0;color:var(--muted);transition:opacity .15s,transform .15s}.alerts li.go:hover .arrow{opacity:1;transform:translate(3px)}.reveal{opacity:0;transition:opacity .6s var(--ease), transform .6s var(--ease);transform:translateY(18px)}.reveal.in{opacity:1;transform:none}.src-logo{flex:none;display:inline-block;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.src-hero{grid-template-columns:1.1fr 1fr;align-items:center;gap:24px;margin-bottom:22px;display:grid}.src-title{letter-spacing:-.045em;animation:titlein .9s var(--ease) both;margin:0;font-size:74px;font-weight:700;line-height:1}.src-sub{color:var(--muted);animation:titlein .9s .15s var(--ease) both;margin:14px 0 0;font-size:21px}@keyframes titlein{0%{opacity:0;filter:blur(4px);transform:translateY(16px)}to{opacity:1;filter:none;transform:none}}.src-scene{height:230px;box-shadow:var(--shadow);background:linear-gradient(#dfe6ee 0%,#eef1f4 60%,#f4f4f5 100%);border-radius:26px;position:relative;overflow:hidden}.src-cloud{background:#fff;border-radius:60px;height:46px;position:absolute;box-shadow:0 8px 20px -12px #0b0b0c4d}.src-cloud:before,.src-cloud:after{content:"";background:#fff;border-radius:50%;position:absolute}.src-cloud:before{width:54px;height:54px;top:-26px;left:18px}.src-cloud:after{width:40px;height:40px;top:-16px;left:58px}.src-cloud.c1{width:130px;animation:14s linear infinite drift;top:40px}.src-cloud.c2{opacity:.85;width:100px;animation:19s linear -8s infinite drift;top:64px}@keyframes drift{0%{left:-140px}to{left:105%}}.src-drop{opacity:.8;background:#6aa3e0;border-radius:2px;width:2px;height:14px;animation:1s linear infinite fall;position:absolute;top:-10px}@keyframes fall{0%{transform:translateY(0)}to{transform:translateY(190px)}}.src-road{background:#c9ccd1;height:4px;position:absolute;bottom:34px;left:0;right:0}.src-road i{background:repeating-linear-gradient(90deg,#fff 0 18px,#0000 18px 40px);animation:.9s linear infinite dash;position:absolute;inset:0}@keyframes dash{0%{background-position:0 0}to{background-position:-40px 0}}.src-truck{width:74px;animation:7s cubic-bezier(.45,.05,.55,.95) infinite drive;position:absolute;bottom:34px}@keyframes drive{0%{left:6%}45%{left:46%}55%{left:50%}to{left:84%}}.src-truck svg{width:100%;animation:.35s ease-in-out infinite alternate bump;display:block}@keyframes bump{0%{transform:translateY(0)}to{transform:translateY(-1.5px)}}.src-pin{border-radius:50%;width:12px;height:12px;position:absolute;bottom:30px}.src-pin.start{background:#fff;border:3px solid #0b0b0c;left:4%}.src-pin.end{background:#e05a47;animation:1.6s ease-out infinite ping;right:4%}@keyframes ping{0%{box-shadow:0 0 #e05a478c}to{box-shadow:0 0 0 16px #e05a4700}}.src-player{padding:22px 26px 18px}.src-track{grid-template-columns:repeat(7,1fr);gap:8px;display:grid;position:relative}.src-line{background:#e6e6e9;border-radius:3px;height:3px;position:absolute;top:22px;left:7.14286%;right:7.14286%}.src-line b{background:var(--ink);transition:width .7s var(--ease);border-radius:3px;position:absolute;top:0;bottom:0;left:0}.src-line .flow{background:var(--accent);z-index:1;border-radius:50%;width:7px;height:7px;animation:2.6s linear infinite packet;position:absolute;top:-2px}.src-line .flow.f2{background:#4d87c4;animation-delay:-.9s}.src-line .flow.f3{animation-delay:-1.8s}@keyframes packet{0%{left:0}to{left:100%}}.src-node{z-index:2;cursor:pointer;color:var(--muted);background:0 0;border:0;justify-items:center;gap:8px;padding:0;display:grid;position:relative}.src-node .n{width:46px;height:46px;font-family:var(--font-mono);transition:all .35s var(--ease);background:#fff;border:2px solid #d6d6db;border-radius:50%;place-items:center;font-size:16px;display:grid}.src-node .t{text-align:center;font-size:14.5px;line-height:1.25;transition:color .3s}.src-node.done .n{border-color:var(--ink);color:var(--ink)}.src-node.on .n{background:var(--ink);color:#fff;border-color:var(--ink);animation:1.4s ease-out infinite halo;transform:scale(1.14)}.src-node.on .t{color:var(--ink);font-weight:600}@keyframes halo{0%{box-shadow:0 0 #0b0b0c59}to{box-shadow:0 0 0 14px #0b0b0c00}}.src-progress{background:#ececef;border-radius:3px;height:3px;margin:22px 0 6px;overflow:hidden}.src-progress i{background:var(--accent);width:0;height:100%;animation-name:fill;animation-timing-function:linear;animation-fill-mode:forwards;display:block}.src-progress i.paused{animation-play-state:paused}.src-stage{min-height:360px;animation:stagein .6s var(--ease) both;grid-template-columns:1fr 1fr;gap:32px;padding:18px 4px 6px;display:grid}@keyframes stagein{0%{opacity:0;transform:translate(26px)}to{opacity:1;transform:none}}.src-step-n{font-family:var(--font-mono);color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:13px}.src-stage h2{letter-spacing:-.03em;margin:6px 0 4px;font-size:38px;font-weight:700}.src-tag{color:var(--accent);margin-bottom:10px;font-size:14px;display:inline-block}.src-stage p{color:var(--ink-2);max-width:560px;margin:0 0 16px;font-size:18px;line-height:1.5}.src-chips{flex-wrap:wrap;gap:8px;margin-bottom:18px;display:flex}.src-chips span{border:1px solid var(--line-2);opacity:0;animation:chip .5s var(--ease) forwards;background:#fff;border-radius:999px;padding:6px 13px;font-size:14.5px}@keyframes chip{0%{opacity:0;transform:translateY(8px)scale(.96)}to{opacity:1;transform:none}}.src-stats{gap:36px;margin-bottom:14px;display:flex}.src-stats b{letter-spacing:-.02em;font-size:34px;display:block}.src-stats span{color:var(--muted);font-size:14px}.src-uses{align-items:center;gap:12px;display:flex}.src-uses .src-logo{animation:2.4s ease-in-out infinite bob}.src-uses .src-logo:nth-child(2){animation-delay:.3s}.src-uses .src-logo:nth-child(3){animation-delay:.6s}.src-uses .src-logo:nth-child(4){animation-delay:.9s}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.src-stage-r{background:var(--panel-2);border-radius:20px;align-items:center;padding:22px;display:grid;position:relative;overflow:hidden}.src-hint{text-align:right;margin-top:4px}.v-rain{align-items:flex-end;gap:8px;height:250px;padding-bottom:26px;display:flex;position:relative}.v-rain i{height:var(--h);transform-origin:bottom;animation:grow 1.2s var(--ease) both, breathe 3s 1.2s ease-in-out infinite;background:#4d87c4;border-radius:5px 5px 0 0;flex:1}@keyframes grow{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes breathe{0%,to{filter:none}50%{filter:brightness(1.15)}}.v-cap{color:var(--muted);font-size:13px;position:absolute;bottom:0;left:0}.v-feed{height:260px;overflow:hidden;-webkit-mask-image:linear-gradient(#0000,#000 15% 85%,#0000);mask-image:linear-gradient(#0000,#000 15% 85%,#0000)}.v-feed-in{animation:9s linear infinite scrollup}@keyframes scrollup{0%{transform:translateY(0)}to{transform:translateY(-50%)}}.v-ev{box-shadow:var(--shadow);background:#fff;border-radius:10px;justify-content:space-between;margin-bottom:7px;padding:9px 14px;font-size:14.5px;display:flex}.v-lanes{gap:16px;display:grid}.v-lane{grid-template-columns:110px 1fr;align-items:center;gap:12px;font-size:13.5px;display:grid}.v-track{height:26px;box-shadow:inset 0 0 0 1px var(--line);background:#fff;border-radius:8px;position:relative;overflow:hidden}.v-track i{background:var(--ink);border-radius:4px;width:22px;height:14px;animation:2.75s linear infinite msg;position:absolute;top:6px;left:-30px}.v-track i.bad{background:var(--accent)}@keyframes msg{0%{left:-30px}to{left:100%}}.v-spark{grid-template-columns:1fr 120px 1fr;align-items:center;gap:10px;height:240px;display:grid}.v-in{height:200px;position:relative;overflow:hidden}.v-in i{background:var(--ink);border-radius:50%;width:14px;height:14px;animation:2.9s linear infinite into;position:absolute;left:-12px}.v-in i:nth-child(3n){top:30%}.v-in i:nth-child(3n+1){top:50%}.v-in i:nth-child(3n+2){top:70%}.v-in i.bad{background:var(--accent);animation-name:reject}.v-in i.dup{background:#8d97a1;animation-name:merge}@keyframes into{0%{left:-12px}to{left:100%}}@keyframes reject{0%{opacity:1;left:-12px;transform:none}70%{opacity:1;left:80%;transform:none}to{opacity:0;left:85%;transform:translateY(80px)}}@keyframes merge{0%{opacity:1;left:-12px;transform:none}75%{opacity:1;left:85%;transform:none}to{opacity:0;left:92%;transform:scale(.2)}}.v-gate{gap:10px;display:grid}.v-gate span{text-align:center;background:var(--ink);color:#fff;border-radius:12px;padding:12px 8px;font-size:14px;animation:1.5s ease-in-out infinite gatepulse}.v-gate span:nth-child(2){animation-delay:.75s}@keyframes gatepulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.v-wins{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.v-wins i{height:64px;box-shadow:inset 0 0 0 1px var(--line);background:#fff;border-radius:10px;position:relative;overflow:hidden}.v-wins i:after{content:"";animation:2.7s ease-in-out infinite windowfill;animation-delay:inherit;background:#4d87c4;position:absolute;bottom:0;left:0;right:0}@keyframes windowfill{0%{opacity:1;height:0}80%{opacity:1;height:100%}to{opacity:0;height:100%}}.v-store{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.v-db{box-shadow:var(--shadow);background:#fff;border-radius:18px;justify-items:center;gap:10px;padding:26px 10px;font-size:15px;animation:2.6s ease-in-out infinite bob;display:grid;position:relative;overflow:hidden}.v-db i{background:var(--accent);transform-origin:0;height:4px;animation:1.6s ease-in-out infinite write;position:absolute;bottom:0;left:0;right:0}@keyframes write{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.v-screen{box-shadow:var(--shadow);background:#fff;border-radius:16px;overflow:hidden}.v-bar{background:#f0f0f2;gap:6px;padding:10px 12px;display:flex}.v-bar i{background:#d1d1d6;border-radius:50%;width:9px;height:9px}.v-kpis{grid-template-columns:repeat(3,1fr);gap:8px;padding:14px;display:grid}.v-kpis span{color:var(--muted);font-size:12.5px;display:block}.v-kpis b{font-size:24px;animation:2s ease-in-out infinite tick;display:inline-block}@keyframes tick{0%,to{opacity:1}50%{opacity:.55}}.v-map{background:#f6ece9;border-radius:12px;height:150px;margin:0 14px 14px;position:relative}.v-map i{background:var(--high);border-radius:50%;width:10px;height:10px;animation:1.8s ease-out infinite ping;position:absolute}.v-risk{gap:14px;display:grid}.v-risk-score{align-items:baseline;gap:8px;display:flex}.v-risk-score b{letter-spacing:-.03em;font-size:56px}.v-risk-score span{color:var(--muted);font-size:18px}.v-risk-score em{font-style:normal;font-family:var(--font-mono);background:var(--medium-bg);color:#7a5c00;border-radius:999px;margin-left:8px;padding:3px 10px;font-size:14px;transition:all .3s}.v-risk-score em.on{background:var(--high-bg);color:#b0340f}.v-risk-bar{background:#ececef;border-radius:99px;gap:2px;height:14px;display:flex;overflow:hidden}.v-risk-bar i{background:var(--high);height:100%;transition:width .5s var(--ease)}.v-risk-rows{gap:8px;display:grid}.v-risk-rows>div{opacity:.4;grid-template-columns:200px 1fr 60px 40px;align-items:center;gap:12px;font-size:15px;transition:opacity .4s;display:grid}.v-risk-rows>div.on{opacity:1}.v-risk-rows .bar i{background:var(--high)}.src-h2{letter-spacing:-.03em;margin:34px 0 12px;font-size:34px}.src-group{margin-bottom:20px}.src-group-t{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:10px;font-size:13px}.src-grid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:14px;display:grid}.src-card{box-shadow:var(--shadow);transition:transform .25s var(--ease), box-shadow .25s;background:#fff;border-radius:18px;grid-template-columns:56px 1fr;align-items:center;gap:14px;padding:18px;display:grid;position:relative;overflow:hidden}.src-card:after{content:"";width:60%;animation:5.5s ease-in-out infinite sheen;animation-delay:inherit;background:linear-gradient(100deg,#0000,#ffffffbf,#0000);position:absolute;top:0;bottom:0;left:-70%}@keyframes sheen{0%,70%{left:-70%}to{left:130%}}.src-card:hover{transform:translateY(-3px);box-shadow:0 18px 40px -22px #0b0b0c73}.src-card-logo{background:var(--panel-2);border-radius:16px;place-items:center;width:56px;height:56px;animation:3s ease-in-out infinite bob;display:grid}.src-card b{font-size:17px}.src-card p{color:var(--muted);margin:3px 0 0;font-size:14.5px;line-height:1.4}.flow{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:46px 54px;display:grid}.flow-stage{position:relative}.flow-stage:nth-child(n+5){grid-row:2}.flow-stage:nth-child(5){grid-column:4}.flow-stage:nth-child(6){grid-column:3}.flow-stage:nth-child(7){grid-column:2}.flow-stage:nth-child(8){grid-column:1}.flow-head{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);align-items:center;gap:10px;margin-bottom:10px;font-size:13px;display:flex}.flow-n{background:var(--ink);color:#fff;letter-spacing:0;width:26px;height:26px;animation:2.4s ease-out infinite halo;animation-delay:var(--d);border-radius:50%;place-items:center;font-size:12.5px;display:grid}.flow-items{gap:10px;display:grid}.flow-card{box-shadow:var(--shadow);background:#fff;border-radius:16px;grid-template-columns:50px 1fr;align-items:center;gap:12px;padding:14px 16px;animation:3.6s ease-in-out infinite glow;display:grid;position:relative;overflow:hidden}@keyframes glow{0%,80%,to{box-shadow:var(--shadow)}12%{box-shadow:0 0 0 2px var(--accent), 0 14px 30px -18px #a3201b99}}.flow-card:after{content:"";width:50%;animation:3.6s ease-in-out infinite sheen;animation-delay:inherit;background:linear-gradient(100deg,#0000,#fffc,#0000);position:absolute;top:0;bottom:0;left:-60%}.flow-card.small{grid-template-columns:44px 1fr;padding:12px 14px}.flow-logo{background:var(--panel-2);border-radius:14px;place-items:center;width:50px;height:50px;animation:3s ease-in-out infinite bob;display:grid}.flow-card.small .flow-logo{width:44px;height:44px}.flow-card b{font-size:16.5px}.flow-card p{color:var(--muted);margin:2px 0 0;font-size:14px;line-height:1.4}.flow-arrow{width:54px;height:14px;position:absolute;top:96px;left:100%}.flow-arrow .dash{background:repeating-linear-gradient(90deg, var(--ink) 0 6px, transparent 6px 11px);height:2px;animation:.7s linear infinite march;position:absolute;top:6px;left:4px;right:12px}@keyframes march{0%{background-position:0 0}to{background-position:11px 0}}.flow-arrow b{border-left:10px solid var(--ink);border-top:5px solid #0000;border-bottom:5px solid #0000;width:0;height:0;position:absolute;top:2px;right:2px}.flow-arrow .pkt{background:var(--accent);border-radius:50%;width:8px;height:8px;animation:1.6s linear infinite hop;position:absolute;top:3px;left:0}.flow-arrow .pkt.p2{background:#4d87c4}@keyframes hop{0%{opacity:0;left:0}15%{opacity:1}85%{opacity:1}to{opacity:0;left:40px}}.flow-stage:nth-child(n+5) .flow-arrow{left:auto;right:100%;transform:scaleX(-1)}.flow-arrow.turn{width:14px;height:46px;margin:0 0 0 -7px;top:100%;left:50%}.flow-arrow.turn .dash{background:repeating-linear-gradient(180deg, var(--ink) 0 6px, transparent 6px 11px);width:2px;height:auto;animation:.7s linear infinite marchv;inset:4px auto 12px 6px}@keyframes marchv{0%{background-position:0 0}to{background-position:0 11px}}.flow-arrow.turn b{border-left:5px solid #0000;border-right:5px solid #0000;border-top:10px solid var(--ink);border-bottom:0;inset:auto auto 0 2px}.flow-arrow.turn .pkt{animation-name:hopv;top:0;left:3px}@keyframes hopv{0%{opacity:0;top:0}15%{opacity:1}85%{opacity:1}to{opacity:0;top:32px}}.flow-platform{box-shadow:var(--shadow);border:1px dashed var(--line-2);background:#fff;border-radius:22px;margin-top:44px;padding:20px 22px 22px;position:relative}.flow-up{justify-content:space-around;height:34px;display:flex;position:absolute;top:-38px;left:0;right:0}.flow-up i{background:repeating-linear-gradient(0deg, var(--faint) 0 5px, transparent 5px 10px);width:2px;height:100%;animation:.8s linear infinite reverse marchv}.flow-plat-items{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;display:grid}
