@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;550;650&family=JetBrains+Mono:wght@500;700&display=swap');
:root{color-scheme:dark light;--ground:#0f1117;--paper:#f2f3f6;--pad:#1c2029;--line:#2a2f3a;--muted:#9198a8;--indigo:#7a7cff;--faded:#4f4fe8;--rose:#f0719b;--rose-faded:#aa4769;--orchid:#be7aff;--orchid-faded:#7f4faf;--amber:#e5a93f;--max:1180px}
@media(prefers-color-scheme:light){:root{--ground:#f3f4f8;--paper:#171925;--pad:#e7e9f1;--line:#cfd2dd;--muted:#5f6574;--indigo:#4548ff;--faded:#6b6de5;--rose:#c92862;--rose-faded:#b16480;--orchid:#8d31de;--orchid-faded:#8f68ad;--amber:#97620a}}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ground);color:var(--paper);font:400 17px/1.55 Inter,system-ui,sans-serif}a{color:inherit}a:hover{color:var(--indigo)}.wrap{width:min(var(--max),calc(100% - 40px));margin:auto}.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;z-index:10;background:var(--paper);color:var(--ground);padding:8px 12px}.top{height:76px;display:flex;align-items:center;border-bottom:1px solid var(--line)}.top .wrap{display:flex;align-items:center}.wordmark{display:inline-flex;align-items:center;gap:8px;text-decoration:none;font:700 18px/1 JetBrains Mono,monospace;letter-spacing:-.02em}.mark{display:inline-block;width:16px;height:16px;color:var(--indigo);position:relative;flex:none}.mark:before,.mark:after{content:"";position:absolute;left:2px;top:2px;background:currentColor}.mark:before{width:12px;height:4px}.mark:after{width:4px;height:12px}.mark.sm{width:12px;height:12px}.mark.sm:before{left:1px;top:1px;width:10px;height:3px}.mark.sm:after{left:1px;top:1px;width:3px;height:10px}.nav{margin-left:auto;display:flex;align-items:center;gap:26px}.nav a{font:500 13px JetBrains Mono,monospace;text-decoration:none}.key{border:1px solid var(--indigo);padding:9px 13px;color:var(--indigo)!important}.hero{min-height:calc(100vh - 76px);display:grid;grid-template-columns:1.1fr .9fr;gap:80px;align-items:center;padding:80px 0}.eyebrow,.label{font:500 12px/1.4 JetBrains Mono,monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}h1,h2,h3,p{margin-top:0}h1{font:650 clamp(48px,7vw,88px)/.98 Inter,sans-serif;letter-spacing:-.055em;max-width:850px;margin:18px 0 28px}h2{font:650 clamp(34px,5vw,62px)/1.02 Inter,sans-serif;letter-spacing:-.045em;margin:14px 0 20px}h3{font:650 22px/1.15 Inter,sans-serif;letter-spacing:-.025em}.lede{font-size:20px;color:var(--muted);max-width:720px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}.button{display:inline-block;text-decoration:none;font:700 12px JetBrains Mono,monospace;letter-spacing:.08em;text-transform:uppercase;padding:13px 17px;border:1px solid var(--line)}.button.primary{background:var(--indigo);border-color:var(--indigo);color:var(--ground)}.stage{background:var(--pad);border:1px solid var(--line);padding:28px}.stage pre{margin:0;white-space:pre-wrap;font:500 13px/1.75 JetBrains Mono,monospace;color:var(--muted)}.stage .lit{color:var(--paper)}.stage .sel{color:var(--indigo)}.aimbox{height:240px;display:grid;place-items:center;border:1px solid var(--line);background:var(--pad);margin-bottom:16px}.aim{width:128px;height:128px;position:relative;color:var(--faded);animation:aim 5s steps(1,end) infinite}.aim:before,.aim:after{content:"";position:absolute;left:16px;top:16px;background:currentColor}.aim:before{width:96px;height:32px}.aim:after{width:32px;height:96px}@keyframes aim{0%{transform:rotate(0);color:var(--faded)}8.333%{transform:rotate(90deg)}16.666%{transform:rotate(180deg)}25%{transform:rotate(270deg)}33.333%{transform:rotate(0);color:var(--indigo)}83.333%{transform:rotate(0);color:var(--faded)}}@media(prefers-reduced-motion:reduce){.aim{animation:none;color:var(--indigo)}}section{padding:100px 0;border-top:1px solid var(--line)}.truths{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line)}.truth{padding:30px;border-right:1px solid var(--line)}.truth:last-child{border:0}.truth b{display:block;font:700 12px JetBrains Mono,monospace;color:var(--indigo);margin-bottom:14px}.funnel{text-align:center;padding:120px 20px}.funnel p{font:650 clamp(34px,5.5vw,68px)/1.05 Inter,sans-serif;letter-spacing:-.045em;max-width:980px;margin:auto}.product-hero{padding:100px 0 70px}.product-hero li,.product-hero code{overflow-wrap:anywhere}.split{display:grid;grid-template-columns:.75fr 1.25fr;gap:80px;align-items:start}.route-list{display:grid;gap:12px}.route{border:1px solid var(--line);padding:22px;display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:18px}.route .rmark{width:40px;height:40px;position:relative;color:var(--indigo)}.rmark:before,.rmark:after{content:"";position:absolute;left:5px;top:5px;background:currentColor}.rmark:before{width:30px;height:10px}.rmark:after{width:10px;height:30px}.route.b .rmark{transform:rotate(90deg);color:var(--rose-faded)}.route.c .rmark{transform:rotate(270deg);color:var(--orchid-faded)}.route strong{font:700 13px JetBrains Mono,monospace}.route small{color:var(--muted)}.selected{border-color:var(--indigo)}.selected .rmark{color:var(--indigo)}.release{transform:rotate(180deg)}.proofbar{border-left:4px solid var(--amber);padding:4px 0 4px 24px;color:var(--amber);font:500 13px/1.6 JetBrains Mono,monospace}.score{width:100%;border-collapse:collapse;font:500 14px JetBrains Mono,monospace}.score th,.score td{text-align:left;padding:18px 14px;border-bottom:1px solid var(--line)}.score th{color:var(--muted)}.score td:first-child{color:var(--paper)}.pending{color:var(--amber)}.tiers{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line)}.tier{padding:38px}.tier:first-child{border-right:1px solid var(--line)}.tier ul{padding:0;list-style:none}.tier li{padding:10px 0;border-bottom:1px solid var(--line);color:var(--muted)}footer{border-top:1px solid var(--line);padding:32px 0}.foot{display:flex;align-items:center}.company{margin-left:auto;color:var(--amber);font:500 12px JetBrains Mono,monospace}.fine{color:var(--muted);font-size:14px}.notfound{min-height:70vh;display:grid;place-items:center;text-align:center}
@media(max-width:800px){.nav a:not(.key){display:none}.hero,.split{grid-template-columns:1fr;gap:42px}.hero{padding:60px 0}.truths,.tiers{grid-template-columns:1fr}.truth,.tier:first-child{border-right:0;border-bottom:1px solid var(--line)}section{padding:72px 0}.route{grid-template-columns:44px 1fr}.route small{display:none}.score{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.score th,.score td{white-space:nowrap}}
.console{max-width:960px}.console h1{font-size:clamp(40px,6vw,64px)}.panel{border:1px solid var(--line);background:var(--pad);padding:24px;margin:24px 0}section.panel{padding:24px}.panel-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 20px;margin-bottom:8px}.panel-head h3{margin:0}.panel-head .fine{margin:0}.row{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:12px}.console input,.console select{flex:1 1 220px;min-width:0;background:var(--ground);color:var(--paper);border:1px solid var(--line);padding:12px 14px;font:500 14px JetBrains Mono,monospace}.console input:focus,.console select:focus,.button:focus-visible{outline:2px solid var(--indigo);outline-offset:2px}.console .label{display:block;margin-bottom:4px}button.button{cursor:pointer;background:transparent;color:var(--paper)}button.button.primary{color:var(--ground)}button.button:disabled{opacity:.5;cursor:not-allowed}.button.small{padding:7px 10px;font-size:11px}.actions.tight{margin-top:12px}.keys{margin-top:8px}.keys td{padding:12px 10px;overflow-wrap:anywhere}.keys .acts{display:flex;gap:8px;justify-content:flex-end}.msg{min-height:1.5em;font:500 13px/1.6 JetBrains Mono,monospace;color:var(--muted)}.msg.bad{color:var(--rose)}.secret{margin:12px 0 0;padding:14px;background:var(--ground);border:1px solid var(--indigo);font:500 14px JetBrains Mono,monospace;white-space:pre-wrap;overflow-wrap:anywhere;user-select:all}.linkish{background:transparent;font:500 13px JetBrains Mono,monospace;cursor:pointer}@media(max-width:800px){.keys th:nth-child(2),.keys td:nth-child(2){display:none}.keys .acts{flex-direction:column}}
/* legal pages (rendered by legal/ kit) + footer legal links */
.legal-links{display:flex;gap:18px;margin-left:24px}.legal-links a{font:500 12px JetBrains Mono,monospace;color:var(--muted);text-decoration:none}.legal-links a:hover{color:var(--indigo)}
.legal{padding:80px 0 100px;max-width:820px}.legal h1{font-size:clamp(40px,6vw,64px)}
.legal-frame{border-left:4px solid var(--amber);padding:4px 0 4px 20px;color:var(--muted);font-size:15px;overflow-wrap:anywhere}.legal-frame code{font:500 12px JetBrains Mono,monospace;color:var(--paper)}
.legal-docs{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0 48px}.legal-docs a{font:500 12px JetBrains Mono,monospace;text-decoration:none;border:1px solid var(--line);padding:7px 11px;color:var(--muted)}.legal-docs a[aria-current]{border-color:var(--indigo);color:var(--indigo)}
.legal-body{overflow-wrap:break-word}.legal-body h2{font-size:clamp(24px,3vw,32px);letter-spacing:-.03em;margin:48px 0 16px;scroll-margin-top:24px}.legal-body h3{margin:32px 0 12px}.legal-body .anchor{text-decoration:none}.legal-body p,.legal-body li{color:var(--paper)}.legal-body .dim{color:var(--muted)}.legal-body a:not(.anchor){color:var(--indigo)}.legal-body li{margin:6px 0}.legal-body code{font:500 14px JetBrains Mono,monospace}
.legal-body table{width:100%;border-collapse:collapse;font-size:15px;margin:16px 0 24px;display:block;overflow-x:auto}.legal-body th,.legal-body td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}.legal-body th{color:var(--muted);font-weight:550}
@media(max-width:800px){.foot{flex-wrap:wrap;gap:12px}.legal-links{margin-left:0;width:100%}.legal{padding:56px 0 72px}}
/* grouped navigation (v9): one native <details> per group, no JS. /login and
   /console run style-src 'self', so this lives here and nowhere inline. */
.top:has(.wave-nav-groups){height:auto;min-height:76px}
.top .wrap:has(>.wave-nav-groups){flex-wrap:wrap;gap:8px 20px;padding:14px 0}
.wave-nav-groups{--wn-font:'JetBrains Mono',monospace;--wn-bg:#11121c;--wn-accent:#797cfb;--wn-quiet:#a3a5b5;--wn-ink:#f2f3f6;--wn-rule:#8588aa38;--wn-wash:#777bff12;--wn-panel:#141622ec;display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:2px;margin-left:auto;min-width:0;position:relative;z-index:50}
@media(prefers-color-scheme:light){.wave-nav-groups{--wn-bg:#f3f4f8;--wn-accent:#4548ff;--wn-quiet:#4f5563;--wn-ink:#171925;--wn-rule:#5f657433;--wn-wash:#4548ff10;--wn-panel:#fbfbfdf2}}
.wave-nav-group{position:relative;min-width:0}
.wave-nav-group summary{list-style:none;display:flex;align-items:center;gap:7px;min-height:44px;padding:0 10px;border:1px solid transparent;border-radius:5px;color:var(--wn-quiet);font:500 12px/1.25 var(--wn-font);letter-spacing:.015em;cursor:pointer;white-space:nowrap;transition:color .16s ease,background .16s ease,border-color .16s ease}
.wave-nav-group summary::-webkit-details-marker{display:none}
.wave-nav-group summary:after{content:'⌄';font-size:12px;opacity:.75;transform:translateY(-2px)}
.wave-nav-group[open] summary:after{content:'⌃';color:var(--wn-accent);opacity:1;transform:translateY(2px)}
.wave-nav-group.here summary{color:var(--wn-ink)}
.wave-nav-group summary:hover,.wave-nav-group[open] summary{color:var(--wn-ink);background:var(--wn-wash);border-color:var(--wn-rule)}
.wave-nav-group summary:focus-visible,.wave-nav-group nav a:focus-visible{outline:2px solid var(--wn-accent);outline-offset:2px}
.wave-nav-group nav{position:absolute;top:calc(100% + 6px);left:0;width:max-content;min-width:210px;max-width:min(286px,calc(100vw - 32px));max-height:calc(100vh - 120px);overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;padding:6px;background:var(--wn-panel);border:1px solid var(--wn-rule);border-radius:6px;box-shadow:0 18px 44px #0009;backdrop-filter:blur(12px)}
.wave-nav-groups nav{background:#141622ec}
@media(prefers-color-scheme:light){.wave-nav-groups nav{background:var(--wn-panel);box-shadow:0 18px 44px #1719252e}}
.wave-nav-group:not([open]) nav{display:none}
.wave-nav-group:nth-last-child(-n+2) nav{left:auto;right:0}
.wave-nav-group nav a{display:flex;align-items:center;min-height:44px;padding:8px 10px;border-radius:3px;color:var(--wn-ink);font:500 12px/1.4 var(--wn-font);text-decoration:none}
.wave-nav-group nav a+a{border-top:1px solid var(--wn-rule)}
.wave-nav-group nav a:hover,.wave-nav-group nav a[aria-current=page]{background:var(--wn-wash);color:var(--wn-accent)}
@media(max-width:800px){.top .wrap:has(>.wave-nav-groups){padding:8px 0 0;row-gap:4px}.top .wrap>.key{margin-left:auto}.wave-nav-groups{order:3;width:100%;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:12px;row-gap:0}.wave-nav-group{position:static}.wave-nav-group summary{justify-content:space-between;white-space:normal;font-size:11px;padding:0 1px;border:0;border-bottom:1px solid var(--wn-rule);border-radius:0;background:transparent}.wave-nav-group summary:hover,.wave-nav-group[open] summary{background:transparent;border-color:var(--wn-accent)}.wave-nav-group:nth-last-child(-n+2) summary{border-bottom:0}.wave-nav-group nav,.wave-nav-group:nth-last-child(-n+2) nav{left:0;right:0;width:auto;max-width:none;top:calc(100% + 4px)}}
/* example labs (policies, receipts, standby): computed in the page, never sent */
.status-pill,.example{display:inline-block;font:500 11px/1.4 JetBrains Mono,monospace;letter-spacing:.06em;color:var(--amber);border:1px solid var(--amber);padding:3px 8px;white-space:nowrap}
.product-hero .status-pill{margin-bottom:6px}
.lab-section{padding:0 0 100px;border-top:0}
.lab{border:1px solid var(--line);background:var(--pad);min-width:0}
.lab:not(.ready){padding:24px}
.lab-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;padding:12px 18px;border-bottom:1px solid var(--line);border-top:1px solid var(--line);font:500 12px/1.4 JetBrains Mono,monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.lab>.lab-head:first-child{border-top:0}
.lab-head .example{text-transform:none}
.lab-ctl{display:flex;flex-wrap:wrap;gap:18px 36px;padding:18px}
.lab-ctl .label,.lab-pad .label{margin:0 0 10px}
.opts{display:flex;flex-wrap:wrap;gap:8px}
.opt{min-height:44px;padding:9px 12px;background:transparent;color:var(--muted);border:1px solid var(--line);font:500 12px JetBrains Mono,monospace;cursor:pointer}
.opt[aria-pressed=true]{color:var(--indigo);border-color:var(--indigo);background:var(--pad);box-shadow:inset 0 0 0 1px var(--indigo)}.opt[aria-pressed=true]:before{content:"\2713\00a0"}
.opt:disabled{opacity:.45;cursor:not-allowed}
.opt:focus-visible,.lab textarea:focus-visible,.soon summary:focus-visible{outline:2px solid var(--indigo);outline-offset:2px}
.lab-grid2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border-top:1px solid var(--line)}
.lab-grid2>*+*{border-left:1px solid var(--line)}
.lab-col{min-width:0}
.lab-col>.lab-head:first-child{border-top:0}
.lab-pad{padding:18px;min-width:0}
.lab-pad h3{margin:0 0 6px}
.lab-change strong{font:500 14px/1.5 JetBrains Mono,monospace;color:var(--indigo)}
.lab-change .fine{margin:8px 0 0}
.gates{margin:14px 0 0}
.gates div{display:grid;grid-template-columns:96px minmax(0,1fr);gap:8px;padding:10px 0;border-bottom:1px solid var(--line);font:500 12px/1.45 JetBrains Mono,monospace}
.gates dt{color:var(--muted)}.gates dd{margin:0}
.gates .changed dd{color:var(--amber)}
.tscroll{overflow-x:auto;min-width:0;overscroll-behavior-x:contain;background:linear-gradient(to right,var(--pad) 30%,transparent) left/40px 100% no-repeat local,linear-gradient(to left,var(--pad) 30%,transparent) right/40px 100% no-repeat local,radial-gradient(farthest-side at 0 50%,var(--line),transparent) left/14px 100% no-repeat scroll,radial-gradient(farthest-side at 100% 50%,var(--line),transparent) right/14px 100% no-repeat scroll}
.lab-table{font-size:12px}
.lab-table th,.lab-table td{padding:12px;white-space:nowrap}
.lab-table td.pass{color:var(--indigo)}.lab-table td.out{color:var(--rose)}
.verdict{padding:18px;display:grid;gap:6px;border-top:1px solid var(--line)}
.verdict strong{font:700 16px/1.3 JetBrains Mono,monospace;color:var(--paper);overflow-wrap:anywhere}
.verdict span{font:500 12px/1.5 JetBrains Mono,monospace;color:var(--muted)}
.verdict .label{margin:0}
.verdicts .verdict{border-top:0}
.verdicts{border-top:1px solid var(--line)}
.lab-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:0 18px 18px}
.lab-pad .lab-actions,.lab-actions.lab-pad{padding:18px 0 0}
.lab-actions.lab-pad{padding:18px}
.lab .button{min-height:44px}
.lab textarea{display:block;width:100%;min-height:190px;resize:vertical;background:var(--ground);color:var(--paper);border:1px solid var(--line);padding:12px 14px;font:500 13px/1.6 JetBrains Mono,monospace}
.lab-hint{font:500 11px/1.6 JetBrains Mono,monospace;margin:10px 0 18px}
.lab .msg{margin:12px 0 0}
.lab-code{margin:0;padding:18px;overflow-x:auto;font:500 12px/1.65 JetBrains Mono,monospace;color:var(--muted);white-space:pre}
.ranks .rank{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 18px;border-bottom:1px solid var(--line);font:500 13px JetBrains Mono,monospace}
.rank span{color:var(--muted)}.rank strong{font-weight:700;overflow-wrap:anywhere}.rank small{display:block;font-weight:500;color:var(--muted);margin-top:4px}
.rank em{font-style:normal;color:var(--indigo)}.rank.out em,.rank.out span{color:var(--rose)}.rank.out strong{color:var(--muted)}
.cmp-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);gap:16px;padding:14px 18px;border-bottom:1px solid var(--line);font:500 13px/1.5 JetBrains Mono,monospace}
.cmp-row b,.cmp-row small{display:block;overflow-wrap:anywhere}.cmp-row small{color:var(--muted);font-size:11px}
.cmp-row.changed>div:first-child b{color:var(--amber)}
.lab-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;border-top:1px solid var(--line)}
.lab-meta div{padding:14px 18px;min-width:0}.lab-meta div+div{border-left:1px solid var(--line)}
.lab-meta dt{font:500 11px JetBrains Mono,monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.lab-meta dd{margin:6px 0 0;font:500 13px/1.45 JetBrains Mono,monospace;overflow-wrap:anywhere}
.steps{list-style:none;margin:0;padding:0}
.steps li{display:grid;grid-template-columns:100px minmax(0,1fr);gap:4px 12px;padding:14px 18px;border-bottom:1px solid var(--line);font:500 13px/1.45 JetBrains Mono,monospace}
.steps li span{color:var(--muted);font-size:11px;grid-row:span 2}.steps li b{overflow-wrap:anywhere}.steps li em{font-style:normal;color:var(--muted);font-size:12px}
.steps li.pass em,.steps li.next em{color:var(--indigo)}.steps li.out em{color:var(--rose)}
.lab-after{display:flex;flex-wrap:wrap;gap:12px 28px;align-items:flex-start;justify-content:space-between;margin-top:20px}
.lab-after .fine{max-width:620px;margin:0}
.soon summary{list-style:none;cursor:pointer}.soon summary::-webkit-details-marker{display:none}
.soon p{margin:12px 0 0;max-width:420px;font:500 12px/1.6 JetBrains Mono,monospace;color:var(--amber)}
.lab-links{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:28px;font:500 13px JetBrains Mono,monospace}
.lab-links a{color:var(--indigo)}
@media(max-width:800px){.lab-section{padding-bottom:72px}.lab-grid2,.lab-meta{grid-template-columns:minmax(0,1fr)}.lab-grid2>*+*,.lab-meta div+div{border-left:0;border-top:1px solid var(--line)}.cmp-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.cmp-row>div:first-child{grid-column:1/-1}.steps li{grid-template-columns:78px minmax(0,1fr)}}
.truth-note{display:block;margin-top:14px;padding-top:14px;border-top:1px solid var(--line);font:500 12px/1.6 JetBrains Mono,monospace;color:var(--muted)}
.proof-empty{margin:0 0 24px}
.docs-toc{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:28px;font:500 13px JetBrains Mono,monospace}.docs-toc a{color:var(--indigo)}
.docs section{padding:72px 0}.docs h2{font-size:clamp(28px,4vw,44px);scroll-margin-top:24px}.docs h3{margin:36px 0 12px}.docs p,.docs li{max-width:760px}.docs li{margin:6px 0;color:var(--muted)}
.docs code{font:500 .86em JetBrains Mono,monospace;color:var(--paper);overflow-wrap:anywhere}.docs .stage{margin:20px 0;overflow-x:auto}.docs .stage pre{white-space:pre;color:var(--muted)}
.docs .score{font-size:13px}.docs .score th,.docs .score td{padding:12px 14px;vertical-align:top}.docs .score td{color:var(--muted)}.docs .score td:first-child{white-space:nowrap}
@media(max-width:800px){.docs section{padding:56px 0}.docs .stage{padding:18px}}
