:root{--paper:#f7f8fa;--surface:#fff;--surface-2:#eef1f6;--ink:#0b1020;--ink-soft:#4a5568;--ink-faint:#7c879a;--rule:#d9dee8;--rule-soft:#e8ecf3;--wave-1:#1e4fd8;--wave-2:#3b82f6;--wave-3:#6d5ce7;--accent:#1e4fd8;--accent-bg:#e6ecfb;--ok:#1e6b48;--ok-bg:#dff0e7;--warn:#8a5a0e;--warn-bg:#f6ebd3;--bad:#9b2c2c;--bad-bg:#f6e1e1;--gradient:linear-gradient(135deg, #1e4fd8 0%, #3b82f6 55%, #6d5ce7 100%);--band:#0b1020;--band-2:#111834;--band-ink:#e8ecf5;--band-soft:#aab3c6;--band-rule:#e8ecf524;--radius:10px;--display:"IBM Plex Sans", ui-sans-serif, system-ui, sans-serif}@media (prefers-color-scheme:dark){:root{--paper:#0e1322;--surface:#151b2e;--surface-2:#1b2238;--ink:#e8ecf5;--ink-soft:#aab3c6;--ink-faint:#7c879a;--rule:#2a3350;--rule-soft:#212a44;--accent:#7fa7f5;--accent-bg:#172552;--ok:#7cc9a0;--ok-bg:#12301f;--warn:#e1b15c;--warn-bg:#33260f;--bad:#e58f8f;--bad-bg:#3a1b1b}}*{box-sizing:border-box}html,body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:IBM Plex Sans,ui-sans-serif,system-ui,sans-serif;font-size:16px;line-height:1.6}a{color:var(--accent);text-underline-offset:2px;text-decoration-thickness:1px}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:3px}code{background:var(--surface-2);border-radius:3px;padding:1px 5px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.9em}.wrap{max-width:1120px;margin:0 auto;padding:0 24px}.serif{font-family:"Source Serif 4",Georgia,serif}.mono{font-family:IBM Plex Mono,ui-monospace,monospace}.eyebrow{letter-spacing:.13em;text-transform:uppercase;color:var(--ink-faint);font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:500}header.site{z-index:20;border-bottom:1px solid var(--rule);background:color-mix(in srgb, var(--surface) 86%, transparent);-webkit-backdrop-filter:saturate(160%)blur(10px);position:sticky;top:0}header.site .wrap{justify-content:space-between;align-items:center;gap:24px;height:64px;display:flex}header.site .actions{align-items:center;gap:10px;display:flex}header.site .actions .cta{padding:8px 14px;font-size:14px}header.site .actions .cta.secondary{margin-left:0}header.site .logo{color:var(--ink);letter-spacing:-.01em;align-items:center;gap:10px;font-weight:600;text-decoration:none;display:flex}header.site .logo picture{display:flex}header.site .logo img{width:auto;height:30px}header.site nav{gap:22px;font-size:14.5px;display:flex}header.site nav a{color:var(--ink-soft);text-decoration:none}header.site nav a:hover{color:var(--ink)}header.site nav a[aria-current=page]{color:var(--ink);box-shadow:inset 0 -2px 0 var(--accent);padding-bottom:2px;font-weight:600}.hero{padding-top:72px;padding-bottom:40px}.hero h1{font-family:var(--display);letter-spacing:-.035em;text-wrap:balance;max-width:16ch;margin:0 0 18px;font-size:clamp(38px,5.8vw,64px);font-weight:700;line-height:1.02}.hero p.lede{color:var(--ink-soft);max-width:60ch;margin:0 0 26px;font-size:19px}.cta{border-radius:8px;align-items:center;gap:8px;padding:12px 20px;font-size:15px;font-weight:600;text-decoration:none;transition:transform .12s,box-shadow .12s;display:inline-flex}.cta:hover{transform:translateY(-1px);box-shadow:0 8px 24px #1e4fd82e}.cta.primary{background:var(--gradient);color:#fff}.cta.secondary{border:1px solid var(--rule);color:var(--ink);background:var(--surface);margin-left:10px}.stats{background:var(--rule-soft);border:1px solid var(--rule-soft);border-radius:var(--radius);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1px;margin:36px 0 56px;display:grid;overflow:hidden}.stats div{background:var(--surface);padding:16px 18px}.stats .n{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-family:IBM Plex Mono,monospace;font-size:26px;font-weight:600}.stats .l{color:var(--ink-faint);font-size:13px}section.block{margin:56px 0}section.block h2{font-family:var(--display);letter-spacing:-.03em;text-wrap:balance;max-width:24ch;margin:0 0 10px;font-size:clamp(28px,3.4vw,38px);font-weight:700;line-height:1.1}section.block p.sub{color:var(--ink-soft);max-width:64ch;margin:0 0 22px}table.vendors{border-collapse:collapse;width:100%;font-size:14.5px}table.vendors th{text-align:left;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);border-bottom:1px solid var(--ink);padding:0 12px 10px 0;font-family:IBM Plex Mono,monospace;font-size:10.5px;font-weight:500}table.vendors td{border-bottom:1px solid var(--rule-soft);vertical-align:middle;padding:12px 12px 12px 0}table.vendors td a{font-weight:600;text-decoration:none}.scroller{overflow-x:auto}.chip{letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;border-radius:3px;padding:3px 8px;font-family:IBM Plex Mono,monospace;font-size:10.5px;font-weight:600;display:inline-block}.chip.ok{background:var(--ok-bg);color:var(--ok)}.chip.warn{background:var(--warn-bg);color:var(--warn)}.chip.bad{background:var(--bad-bg);color:var(--bad)}.chip.neutral{background:var(--surface-2);color:var(--ink-soft)}.chip.accent{background:var(--accent-bg);color:var(--accent)}.pillars{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;display:grid}.pillar{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);padding:24px}.pillar h3{font-family:var(--display);letter-spacing:-.02em;margin:0 0 6px;font-size:20px;font-weight:600}.pillar p{color:var(--ink-soft);margin:0;font-size:15px}.profile-head{border-bottom:1px solid var(--rule);flex-wrap:wrap;align-items:baseline;gap:14px 18px;padding:48px 0 24px;display:flex}.profile-head h1{font-family:var(--display);letter-spacing:-.03em;margin:0;font-size:42px;font-weight:700}.profile-head .meta{color:var(--ink-faint);font-size:14px}.facts{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;margin:28px 0;display:grid}.fact{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);flex-direction:column;gap:8px;padding:18px 20px;display:flex}.fact .k{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);font-family:IBM Plex Mono,monospace;font-size:10.5px}.fact .v{letter-spacing:-.01em;font-size:20px;font-weight:600}.fact blockquote{border-left:2px solid var(--wave-2);color:var(--ink-soft);margin:4px 0 0;padding:0 0 0 12px;font-family:"Source Serif 4",Georgia,serif;font-size:15px;line-height:1.5}.fact .src{color:var(--ink-faint);flex-wrap:wrap;gap:10px;font-size:12.5px;display:flex}.chain{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.chain .col h4{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);margin:0 0 8px;font-family:IBM Plex Mono,monospace;font-size:13px}.chain ul{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.chain li{background:var(--surface);border:1px solid var(--rule-soft);border-radius:4px;padding:8px 12px;font-size:14.5px}.chain li small{color:var(--ink-faint);font-size:12px;display:block}.notice{background:var(--warn-bg);color:var(--warn);border-radius:6px;margin:20px 0;padding:12px 16px;font-size:14.5px}.empty{background:var(--surface-2);color:var(--ink-soft);border-radius:6px;padding:28px}.docs li,.changes li{border-bottom:1px solid var(--rule-soft);padding:10px 0;font-size:14.5px}.docs,.changes{margin:0;padding:0;list-style:none}footer.site{border-top:1px solid var(--rule);color:var(--ink-faint);background:var(--surface);margin-top:96px;padding:40px 0 48px;font-size:13.5px}footer.site .wrap{grid-template-columns:1.6fr repeat(4,1fr);gap:28px;display:grid}footer.site .brand{color:var(--ink);align-items:center;gap:10px;margin-bottom:8px;font-weight:600;display:flex}footer.site .brand picture{display:flex}footer.site .brand img{width:auto;height:26px}footer.site h4{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);margin:0 0 10px;font-family:IBM Plex Mono,monospace;font-size:10.5px;font-weight:500}footer.site ul{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}footer.site a{color:var(--ink-soft);text-decoration:none}footer.site a:hover{color:var(--ink)}footer.site .fine{border-top:1px solid var(--rule-soft);flex-wrap:wrap;grid-column:1/-1;justify-content:space-between;gap:12px 24px;margin-top:8px;padding-top:16px;display:flex}@media (max-width:760px){footer.site .wrap{grid-template-columns:1fr 1fr}}@media (max-width:860px){header.site nav{display:none}}@media (max-width:640px){.cta.secondary{margin-top:10px;margin-left:0}header.site .actions .cta.secondary{display:none}}.prose{max-width:760px;padding:48px 0 24px}.prose h1{font-family:var(--display);letter-spacing:-.03em;margin:0 0 18px;font-size:40px;font-weight:700;line-height:1.1}.prose h2{font-family:var(--display);letter-spacing:-.02em;margin:40px 0 10px;font-size:26px;font-weight:600}.prose h3{margin:28px 0 8px;font-size:18px}.prose p,.prose li{color:var(--ink-soft);font-size:16px}.prose ul,.prose ol{padding-left:22px}.prose li{margin:4px 0}.prose pre{background:var(--ink);color:#e8ecf5;border-radius:6px;padding:14px 16px;font-size:13px;overflow-x:auto}.prose pre code{color:inherit;font-size:inherit;background:0 0;padding:0}.prose table{border-collapse:collapse;width:100%;margin:14px 0 22px;font-size:14.5px}.prose th{text-align:left;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);border-bottom:1px solid var(--ink);padding:0 12px 8px 0;font-family:IBM Plex Mono,monospace;font-size:10.5px;font-weight:500}.prose td{border-bottom:1px solid var(--rule-soft);vertical-align:top;padding:9px 12px 9px 0}.prose strong{color:var(--ink)}@media (prefers-color-scheme:dark){.prose pre{background:#0a0e1a}}.band{background:radial-gradient(1200px 600px at 78% 20%, #3b82f638, transparent 60%), radial-gradient(800px 500px at 15% 90%, #6d5ce72e, transparent 60%), var(--band);color:var(--band-ink);border-bottom:1px solid var(--band-rule)}.band .hero{padding-top:84px;padding-bottom:56px}.band .hero-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:40px;display:grid}.band .hero h1{color:var(--band-ink)}.band .hero p.lede{color:var(--band-soft)}.band .eyebrow{color:#7fa7f5}.band .cta.secondary{color:var(--band-ink);border-color:var(--band-rule);background:0 0}.band .fine{color:var(--band-soft);margin-top:16px;font-size:13px}.band .fine a{color:var(--band-ink)}.graph{filter:drop-shadow(0 0 24px #3b82f640);width:100%;height:auto;display:block}.graph .links line{stroke-dasharray:6 8;animation:6s linear infinite flow}@keyframes flow{to{stroke-dashoffset:-140px}}@media (prefers-reduced-motion:reduce){.graph .links line{animation:none}}@media (max-width:900px){.band .hero-grid{grid-template-columns:1fr}.graph{max-width:520px;margin:0 auto}}.strip{background:var(--band-2);color:var(--band-soft);border-bottom:1px solid var(--band-rule)}.strip .wrap{letter-spacing:.02em;flex-wrap:wrap;gap:8px 36px;padding:14px 24px;font-family:IBM Plex Mono,monospace;font-size:13.5px;display:flex}.strip b{color:var(--band-ink);font-weight:600}.cards{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px;display:grid}.card{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);flex-direction:column;display:flex;overflow:hidden}.card .preview{background:var(--surface-2);border-bottom:1px solid var(--rule);align-items:center;min-height:172px;padding:18px;display:flex}.card .body{padding:20px 22px 22px}.card h3{font-family:var(--display);letter-spacing:-.02em;margin:0 0 6px;font-size:20px;font-weight:600}.card p{color:var(--ink-soft);margin:0;font-size:15px}.mock{background:var(--surface);border:1px solid var(--rule);border-radius:8px;width:100%;padding:12px 14px;font-size:13px;box-shadow:0 10px 30px #0b102014}.mock .k{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);font-family:IBM Plex Mono,monospace;font-size:10px}.mock .row{border-bottom:1px solid var(--rule-soft);justify-content:space-between;gap:10px;padding:6px 0;display:flex}.mock .row:last-child{border-bottom:0}.mock blockquote{border-left:2px solid var(--wave-2);color:var(--ink-soft);margin:6px 0 0;padding-left:10px;font-family:"Source Serif 4",Georgia,serif;font-size:13px;line-height:1.45}.mock .diff-add{color:var(--ok)}.mock .diff-del{color:var(--bad);text-decoration:line-through}.mock .ok{color:var(--ok);font-weight:600}section.block .eyebrow{margin-bottom:8px;display:block}.cost{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;display:grid}.cost .pillar{border-left:3px solid var(--bad)}.cta-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.cta-row .cta.secondary{margin-left:0}.code-block{background:var(--band);color:var(--band-ink);border-radius:var(--radius);white-space:pre;padding:14px 16px;font-family:IBM Plex Mono,monospace;font-size:13px;display:block;overflow-x:auto}.devbar{background:var(--warn-bg);color:var(--warn);text-align:center;padding:6px 12px;font-size:13px}.devbar a{color:inherit;font-weight:600}.page-head{padding:40px 0 8px}.page-head h1{font-family:var(--display);letter-spacing:-.03em;max-width:26ch;margin:8px 0 12px;font-size:clamp(30px,3.6vw,42px);font-weight:700;line-height:1.08}.page-head .lede{color:var(--ink-soft);max-width:66ch;margin:0 0 14px;font-size:17px}.page-head .muted{margin:0 0 6px}.field{border:1px solid var(--rule);background:var(--surface);width:100%;color:var(--ink);font:inherit;border-radius:6px;margin:6px 0 14px;padding:10px 12px;display:block}.field.mono{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:13px}.field.code{letter-spacing:.2em;font:18px IBM Plex Mono,ui-monospace,monospace}select.field{width:auto;min-width:200px}textarea.field{resize:vertical}button.cta{cursor:pointer;font:inherit;border:0}button.cta.secondary{border:1px solid var(--rule)}.cta-row .cta{margin:0}.muted{color:var(--ink-faint);font-size:13.5px}.range{color:var(--ink-faint);flex-wrap:wrap;align-items:center;gap:14px;font-size:13.5px;display:flex}.range b{color:var(--ink)}.range .sep{background:var(--rule);width:1px;height:14px}.stats .of{color:var(--ink-faint);font-size:15px;font-weight:500}.panel{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);margin:0 0 18px;padding:22px 24px}.panel h2{font-family:var(--display);letter-spacing:-.02em;margin:0 0 6px;font-size:20px;font-weight:600}.panel .sub{color:var(--ink-soft);margin:0 0 14px;font-size:14.5px}.two-col{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:18px;margin:0 0 18px;display:grid}.two-col .panel{margin:0}.rows{margin:0;padding:0;list-style:none}.rows li{border-bottom:1px solid var(--rule-soft);justify-content:space-between;align-items:flex-start;gap:16px;padding:10px 0;font-size:14.5px;display:flex}.rows li:last-child{border-bottom:0}.rows li a{font-weight:600;text-decoration:none}.rows .muted{margin-top:2px;display:block}.days{white-space:nowrap;color:var(--ink-soft);text-align:right;font-size:13.5px}.days.urgent{color:var(--bad);font-weight:600}.days small{color:var(--ink-faint);font-weight:400;display:block}.empty{margin:18px 0}.dash{grid-template-columns:236px minmax(0,1fr);min-height:calc(100vh - 64px);display:grid}.dash aside{border-right:1px solid var(--rule);background:var(--surface);flex-direction:column;gap:22px;padding:22px 16px;display:flex}.dash-org{flex-direction:column;gap:8px;display:flex}.dash-org-name{letter-spacing:-.01em;font-size:16px;font-weight:700}.dash-org select{border:1px solid var(--rule);background:var(--surface);width:100%;color:var(--ink);font:inherit;border-radius:6px;padding:8px 10px}.dash-org .cta{align-self:flex-start;margin:0;padding:6px 12px;font-size:13px}.dash-plan{color:var(--ink-faint);align-items:center;gap:8px;font-size:12.5px;display:flex}.dash-nav{flex-direction:column;gap:2px;display:flex}.dash-nav a{color:var(--ink-soft);border-radius:6px;padding:8px 10px;text-decoration:none;display:block}.dash-nav a span{font-size:14.5px;font-weight:600;display:block}.dash-nav a small{color:var(--ink-faint);font-size:12px;display:block}.dash-nav a:hover{background:var(--surface-2);color:var(--ink)}.dash-nav a[aria-current=page]{background:var(--accent-bg);color:var(--accent)}.dash-nav a[aria-current=page] small{color:var(--accent);opacity:.8}.dash-user{color:var(--ink-faint);word-break:break-all;margin-top:auto;font-size:12.5px}.dash-user button{color:var(--ink-soft);font:inherit;cursor:pointer;background:0 0;border:0;margin-top:4px;padding:0;font-size:12.5px;text-decoration:underline}.dash-main{min-width:0;padding:8px 36px 48px}.dash-main .page-head{padding-top:28px}.dash-main .stats{margin:22px 0}@media (max-width:860px){.dash{grid-template-columns:minmax(0,1fr)}.dash aside{border-right:0;border-bottom:1px solid var(--rule);gap:8px;min-width:0;padding:10px 16px 0}.dash-org{flex-flow:wrap;align-items:center;gap:10px}.dash-org select{width:auto;max-width:60vw}.dash-nav{scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-direction:row;gap:2px;margin:0 -16px;padding:0 12px;overflow-x:auto}.dash-nav::-webkit-scrollbar{display:none}.dash-nav a{white-space:nowrap;border-radius:0;flex:none;padding:10px}.dash-nav a span{font-size:14px}.dash-nav a small{display:none}.dash-nav a[aria-current=page]{box-shadow:inset 0 -2px 0 var(--accent);background:0 0}.dash-user{display:none}.dash-main{padding:0 16px 40px}.dash-main .page-head{padding-top:18px}}.changes{flex-direction:column;gap:14px;display:flex}.change{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);padding:18px 22px}.change.handled{opacity:.72}.change-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.change-head .vendor{margin-right:8px;font-size:17px;font-weight:700;text-decoration:none}.change-head .chip{vertical-align:middle;margin-right:6px}.diff{flex-direction:column;gap:6px;margin:12px 0 0;padding:0;font-size:14.5px;list-style:none;display:flex}.diff .add{color:var(--ok)}.diff .del{color:var(--bad)}.diff blockquote{border-left:2px solid var(--wave-2);color:var(--ink-soft);margin:6px 0 0;padding-left:10px;font-family:"Source Serif 4",Georgia,serif;font-size:14px;line-height:1.5}.change-foot{border-top:1px solid var(--rule-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;padding-top:12px;display:flex}.change-foot .days{text-align:left;white-space:normal}.change-foot .cta{padding:8px 14px;font-size:13.5px}.objection{margin-top:12px}.objection summary{cursor:pointer;color:var(--accent);font-size:13.5px}.objection pre{white-space:pre-wrap;background:var(--surface-2);border-radius:6px;margin:8px 0 0;padding:12px 14px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:12.5px}header.site .actions .signin{color:var(--ink-soft);margin-right:4px;font-size:14.5px;text-decoration:none}header.site .actions .signin:hover{color:var(--ink)}.menu,.burger{position:relative}.menu summary,.burger summary{cursor:pointer;align-items:center;list-style:none;display:flex}.menu summary::-webkit-details-marker{display:none}.burger summary::-webkit-details-marker{display:none}.avatar{background:var(--gradient);color:#fff;letter-spacing:.02em;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:13px;font-weight:700;display:inline-flex}.menu-panel,.burger-panel{background:var(--surface);border:1px solid var(--rule);z-index:30;border-radius:10px;flex-direction:column;min-width:220px;padding:8px;display:flex;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 16px 40px #0b102024}.menu-panel a,.menu-panel button,.burger-panel a{color:var(--ink);text-align:left;font-size:14.5px;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;width:100%;padding:8px 10px;text-decoration:none;display:block}.menu-panel a:hover,.menu-panel button:hover,.burger-panel a:hover{background:var(--surface-2)}.menu-panel form{border-top:1px solid var(--rule-soft);margin:4px 0 0;padding-top:4px}.menu-who{color:var(--ink-faint);border-bottom:1px solid var(--rule-soft);word-break:break-all;margin-bottom:4px;padding:6px 10px 10px;font-size:12.5px}.burger{display:none}.burger summary{flex-direction:column;gap:4px;padding:8px}.burger summary span{background:var(--ink);border-radius:2px;width:20px;height:2px;display:block}@media (max-width:860px){.burger{display:block}header.site .actions .cta.primary{display:none}}.auth-page{background:radial-gradient(900px 400px at 50% -10%,#3b82f61a,#0000 60%);justify-content:center;align-items:flex-start;min-height:calc(100vh - 64px);padding:48px 20px 64px;display:flex}.auth-wrap{width:100%;max-width:440px}.auth-wrap.wide{max-width:640px}.auth-card{background:var(--surface);border:1px solid var(--rule);border-radius:14px;padding:30px 30px 24px;box-shadow:0 20px 50px #0b102014}.auth-logo{color:var(--ink);align-items:center;gap:8px;margin-bottom:18px;font-weight:700;text-decoration:none;display:inline-flex}.auth-logo picture{display:flex}.auth-logo img{width:auto;height:26px}.auth-card h1{font-family:var(--display);letter-spacing:-.03em;margin:0 0 6px;font-size:26px;font-weight:700}.auth-sub{color:var(--ink-soft);margin:0 0 18px;font-size:14.5px;line-height:1.55}.auth-providers{flex-direction:column;gap:10px;display:flex}.auth-btn{border:1px solid var(--rule);background:var(--surface);color:var(--ink);border-radius:8px;justify-content:center;align-items:center;gap:10px;padding:11px 14px;font-size:15px;font-weight:600;text-decoration:none;transition:background .12s,transform .12s;display:flex}.auth-btn:hover{background:var(--surface-2);transform:translateY(-1px)}.auth-or{color:var(--ink-faint);text-transform:uppercase;letter-spacing:.1em;align-items:center;gap:12px;margin:18px 0 12px;font-size:12.5px;display:flex}.auth-or:before,.auth-or:after{content:"";background:var(--rule);flex:1;height:1px}.auth-form label{color:var(--ink-soft);margin-top:4px;font-size:13px;font-weight:600;display:block}.auth-form .field{margin:6px 0 12px}.auth-form .cta{justify-content:center;width:100%}.auth-fine{color:var(--ink-faint);text-align:center;margin:16px 0 0;font-size:13px}.auth-legal{color:var(--ink-faint);text-align:center;max-width:380px;margin:16px auto 0;font-size:12.5px;line-height:1.5}.auth-dev{border-top:1px solid var(--rule-soft);margin-top:18px;padding-top:10px}.auth-dev summary{cursor:pointer;color:var(--ink-faint);font-size:12.5px}.auth-dev .auth-form{margin-top:8px}.picker .field{margin:10px 0}.picker-selected{flex-wrap:wrap;align-items:center;gap:6px;min-height:32px;display:flex}.picker-chip{border:1px solid var(--accent);background:var(--accent-bg);color:var(--accent);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font:600 13px IBM Plex Sans,system-ui,sans-serif;display:inline-flex}.picker-chip span{opacity:.7}.picker-count{margin-left:auto}.picker-list{border:1px solid var(--rule);border-radius:8px;max-height:320px;margin:0;padding:0;list-style:none;overflow-y:auto}.picker-item{border:0;border-bottom:1px solid var(--rule-soft);width:100%;font:inherit;color:var(--ink);text-align:left;cursor:pointer;background:0 0;align-items:center;gap:12px;padding:9px 12px;display:flex}.picker-list li:last-child .picker-item{border-bottom:0}.picker-item:hover{background:var(--surface-2)}.picker-item.on{background:var(--accent-bg)}.picker-item:disabled{opacity:.45;cursor:not-allowed}.picker-avatar{background:var(--surface-2);width:30px;height:30px;color:var(--ink-soft);border-radius:8px;flex:none;justify-content:center;align-items:center;font:700 11px IBM Plex Mono,monospace;display:inline-flex}.picker-item.on .picker-avatar{background:var(--accent);color:#fff}.picker-name{flex:1;min-width:0;font-size:14.5px;font-weight:600}.picker-name small{color:var(--ink-faint);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:400;display:block;overflow:hidden}.dropzone{border:1.5px dashed var(--rule);background:var(--surface-2);cursor:pointer;text-align:center;color:var(--ink-soft);border-radius:10px;flex-direction:column;align-items:center;gap:4px;margin:6px 0 16px;padding:22px;font-size:14.5px;display:flex}.dropzone:hover{border-color:var(--accent)}.dropzone input{opacity:0;width:1px;height:1px;position:absolute}.dropzone b{color:var(--accent)}.dropzone small{color:var(--ink-faint);font-size:12.5px}.skeleton{padding-top:28px}.sk{background:linear-gradient(90deg, var(--surface-2), var(--rule-soft), var(--surface-2));background-size:200% 100%;border-radius:6px;animation:1.4s linear infinite shimmer}.sk-eyebrow{width:140px;height:11px;margin-bottom:14px}.sk-h1{width:60%;height:34px;margin-bottom:12px}.sk-h2{width:40%;height:20px;margin-bottom:12px}.sk-line{width:90%;height:12px;margin:8px 0}.sk-n{width:50px;height:26px;margin-bottom:6px}.sk-l{width:90px;height:11px}@keyframes shimmer{to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.sk{animation:none}}.livedot{background:var(--ink-faint);vertical-align:middle;border-radius:50%;width:8px;height:8px;margin-left:6px;display:inline-block}.livedot.live{background:var(--ok);box-shadow:0 0 0 3px var(--ok-bg)}.livedot.reconnecting{background:var(--warn)}table.feed td code{font-size:13px}table.feed tr.fp td{color:var(--ink-soft)}.navdrop{position:relative}.navdrop summary{cursor:pointer;color:var(--ink-soft);list-style:none}.navdrop summary::-webkit-details-marker{display:none}.navdrop summary:after{content:" ▾";font-size:11px}.navdrop[open] summary,.navdrop summary:hover{color:var(--ink)}.navdrop-panel{z-index:30;background:var(--surface);border:1px solid var(--rule);border-radius:10px;flex-direction:column;gap:2px;min-width:280px;padding:8px;display:flex;position:absolute;top:28px;left:-12px;box-shadow:0 16px 40px #0b102024}.navdrop-panel a{color:var(--ink);border-radius:6px;flex-direction:column;padding:8px 10px;font-size:14px;text-decoration:none;display:flex}.navdrop-panel a:hover{background:var(--surface-2)}.navdrop-panel a b{font-weight:600}.navdrop-panel a span{color:var(--ink-faint);font-size:12.5px}.navdrop-group{border-top:1px solid var(--rule-soft);flex-direction:column;gap:2px;margin-top:4px;padding-top:4px;display:flex}.flow{grid-template-columns:repeat(4,1fr);gap:14px;margin-top:22px;display:grid}.flow-node{border:1px solid var(--rule);background:var(--surface);border-radius:10px;padding:16px}.flow-node .k{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:6px;font-family:IBM Plex Mono,monospace;font-size:11px;display:block}.flow-node b{margin-bottom:6px;font-size:16px;display:block}.flow-node p{color:var(--ink-soft);margin:0;font-size:14px;line-height:1.5}.flow-wide{border-style:dashed;grid-column:1/-1}.finding{border:1px solid var(--rule);border-left:4px solid var(--bad);background:var(--surface);border-radius:10px;margin-top:22px;padding:20px 22px}.finding-head{flex-wrap:wrap;align-items:center;gap:12px;font-size:17px;display:flex}.finding>p{color:var(--ink-soft);margin:10px 0 14px}.finding-grid{grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:16px;display:grid}.finding-grid .k{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:6px;font-family:IBM Plex Mono,monospace;font-size:11px;display:block}.finding-grid ul{margin:0;padding:0;font-size:14.5px;line-height:1.7;list-style:none}.products{grid-template-columns:repeat(5,1fr);gap:14px;margin-top:22px;display:grid}.product{border:1px solid var(--rule);background:var(--surface);border-radius:10px;flex-direction:column;padding:18px 16px;display:flex}.product .k{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);font-family:IBM Plex Mono,monospace;font-size:11px}.product h3{margin:8px 0;font-size:16px}.product p{color:var(--ink-soft);flex:1;margin:0 0 12px;font-size:14px;line-height:1.55}.product a{font-size:14px;font-weight:600;text-decoration:none}.tree,.tree ul{margin:0;padding:0;list-style:none}.tree{margin-top:22px;font-size:15px}.tree ul{border-left:2px solid var(--rule);margin-left:18px;padding-left:14px}.tree li{padding:4px 0}.tree li li:before{content:"↳ ";color:var(--ink-faint)}.chain{margin:22px 0 0;padding:0;list-style:none}.chain li{padding:0 0 18px 26px;position:relative}.chain li:before{content:"";background:var(--accent);border-radius:50%;width:9px;height:9px;position:absolute;top:6px;left:6px}.chain li:not(:last-child):after{content:"";background:var(--rule);width:1px;position:absolute;top:18px;bottom:-2px;left:10px}.chain li b{display:block}.chain li span{color:var(--ink-faint);font-family:IBM Plex Mono,monospace;font-size:13px}.origins{grid-template-columns:repeat(4,1fr);gap:14px;margin-top:22px;display:grid}.origins div{border:1px solid var(--rule);background:var(--surface);border-radius:10px;padding:14px}.origins p{color:var(--ink-soft);margin:8px 0 0;font-size:14px}.block.final{text-align:center;padding:48px 0 8px}.block.final .cta-row{justify-content:center}.two-col .mock{margin-top:22px}@media (max-width:900px){.flow,.products,.origins,.finding-grid{grid-template-columns:1fr 1fr}.navdrop-panel{box-shadow:none;position:static}}@media (max-width:560px){.flow,.products,.origins,.finding-grid{grid-template-columns:1fr}}header.site .logo-tag{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);border:1px solid var(--rule);border-radius:999px;margin-left:8px;padding:2px 7px;font-family:IBM Plex Mono,monospace;font-size:10.5px;font-weight:500}header.site .backlink{color:var(--ink-soft);font-size:13.5px;text-decoration:none}header.site .backlink:hover{color:var(--ink)}footer.site.portal{margin-top:48px;padding:18px 0}footer.site.portal .wrap{justify-content:space-between;align-items:center;gap:16px;display:flex}footer.site.portal nav{gap:16px;display:flex}footer.site.portal nav a{color:var(--ink-soft);text-decoration:none}footer.site.portal nav a:hover{color:var(--ink)}@media (max-width:860px){header.site .burger-panel{display:flex}header.site .burger[open] summary span:nth-child(2){opacity:0}}@media (max-width:640px){header.site .backlink{display:none}}.choices{flex-direction:column;gap:8px;margin-top:6px;display:flex}.choices label{cursor:pointer;align-items:flex-start;gap:10px;font-size:14.5px;line-height:1.45;display:flex}.choices input{margin-top:4px}.demo-banner{background:var(--accent-bg);color:var(--accent);border-bottom:1px solid var(--rule);grid-column:1/-1;padding:8px 20px;font-size:13.5px}.demo-banner a{color:inherit;font-weight:600}.dash.viewer form button,.dash.viewer form input:not([type=hidden]),.dash.viewer form select,.dash.viewer form textarea{pointer-events:none;opacity:.5}.map{margin:0}.map svg{width:100%;height:auto;display:block}.map .scroller{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius)}.map .scroller svg{min-width:760px}.map .col-title{fill:var(--ink-faint);letter-spacing:1.5px;font-family:IBM Plex Mono,monospace;font-size:10.5px}.map .edge{fill:none;stroke-linecap:round}.map .edge.tool,.map .edge.mcp{stroke:var(--wave-1);stroke-opacity:.55}.map .edge.api_key,.map .edge.network{stroke:var(--wave-2);stroke-opacity:.6;stroke-dasharray:5 6}.map .edge.check,.map .edge.action{stroke:var(--accent);stroke-opacity:.55}.map .edge.subprocessor{stroke:var(--ink-faint);stroke-opacity:.35}.map .edge.flag{stroke:var(--bad);stroke-opacity:.85}.map .node circle{stroke:var(--surface);stroke-width:2px}.map .node.device circle{fill:var(--wave-1)}.map .node.agent circle,.map .node.submodule circle{fill:var(--wave-3)}.map .node.vendor circle{fill:var(--ink-soft)}.map .node.downstream circle{fill:var(--ink-faint)}.map .node.warn circle{fill:#d97706}.map .node.bad circle{fill:var(--bad)}.map .label{fill:var(--ink);font-family:IBM Plex Sans,system-ui,sans-serif;font-size:12.5px;font-weight:600}.map .sub{fill:var(--ink-faint);font-family:IBM Plex Mono,monospace;font-size:9.5px}.map .node a{text-decoration:none}.map-legend{color:var(--ink-faint);flex-wrap:wrap;gap:6px 18px;margin:10px 0 0;padding:0;font-size:12.5px;list-style:none;display:flex}.map-legend li:before{content:"";border-top:2px solid var(--wave-1);vertical-align:middle;width:18px;height:0;margin-right:6px;display:inline-block}.map-legend li.api_key:before,.map-legend li.network:before{border-top-style:dashed;border-color:var(--wave-2)}.map-legend li.check:before,.map-legend li.action:before{border-color:var(--accent)}.map-legend li.subprocessor:before{border-color:var(--ink-faint)}.map-legend li.flag:before{border-color:var(--bad)}.map-legend li.warn:before{background:#d97706;border:0;border-radius:50%;width:10px;height:10px}.map-legend li.bad:before{background:var(--bad);border:0;border-radius:50%;width:10px;height:10px}.map-hero{filter:drop-shadow(0 0 24px #3b82f640)}.map-hero .col-title{fill:#8a94ad}.map-hero .label{fill:#e8ecf5;font-size:12px}.map-hero .sub{fill:#aab3c6;font-size:9px}.map-hero .node circle{stroke:#0b1020}.map-hero .node.vendor circle{fill:#7fa7f5}.map-hero .node.downstream circle{fill:#6d5ce7}.map-hero .edge.tool,.map-hero .edge.mcp,.map-hero .edge.check,.map-hero .edge.action{stroke:#6d9bff}.map-hero .edge.api_key,.map-hero .edge.network{stroke:#9b83ff}.map-hero .edge.subprocessor{stroke:#6d5ce7;stroke-opacity:.5}.map-hero .edge{stroke-dasharray:6 8;animation:6s linear infinite flow}@media (prefers-reduced-motion:reduce){.map-hero .edge{animation:none}}
