:root{color-scheme:dark;--bg:#0b0e12;--band:#0f131a;--card:#141922;--border:#1f2630;--text:#f3f7fa;--muted:#9aa5b4;--accent:#22d3ee;--link:#67e8f9;--on-accent:#061116;--warn-bg:#201b13;--warn-border:#8b6c38;--shadow:0 20px 50px #0009;--sans:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono:ui-monospace, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace}@media (prefers-color-scheme:light){:root{color-scheme:light;--bg:#fff;--band:#f4f7f9;--card:#fff;--border:#d9e0e7;--text:#0b0e12;--muted:#4a5563;--accent:#0e7490;--link:#0e7490;--on-accent:#fff;--warn-bg:#fdf6ea;--warn-border:#d9b779;--shadow:0 20px 50px #0b0e1222}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font:16px/1.6 var(--sans);-webkit-font-smoothing:antialiased;margin:0}a{color:var(--link);text-underline-offset:2px}a:hover{text-decoration-thickness:2px}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}h1,h2,h3{letter-spacing:-.02em;margin:0;line-height:1.2}h2{margin-bottom:1.25rem;font-size:clamp(1.5rem,3vw,2rem)}h3{font-size:1.05rem}p{margin:0 0 1rem}code{font-family:var(--mono);overflow-wrap:anywhere;font-size:.9em}.wrap{width:min(1120px,100%);margin:0 auto;padding:0 16px}@media (width>=720px){.wrap{padding:0 32px}}.skip{background:var(--card);border:1px solid var(--border);z-index:10;border-radius:6px;padding:8px 12px;position:absolute;top:-48px;left:16px}.skip:focus{top:12px}.masthead{border-bottom:1px solid var(--border)}.masthead__row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 24px;padding-top:14px;padding-bottom:14px;display:flex}.brand{color:var(--text);letter-spacing:-.02em;align-items:center;gap:8px;font-size:1.15rem;font-weight:650;text-decoration:none;display:inline-flex}.brand__mark{fill:none;width:22px;height:22px;stroke:var(--accent);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.nav{flex-wrap:wrap;gap:4px 18px;display:flex}.nav a{color:var(--muted);padding:4px 0;font-size:.95rem;text-decoration:none}.nav a:hover{color:var(--text)}.eyebrow{color:var(--accent);font:600 .75rem var(--mono);letter-spacing:.12em;text-transform:uppercase;margin-bottom:.75rem}.hero{padding:56px 0 64px}.hero__grid{align-items:center;gap:48px;display:grid}@media (width>=960px){.hero__grid{grid-template-columns:1.05fr 1fr}.hero{padding:88px 0 96px}}.hero h1{letter-spacing:-.035em;font-size:clamp(2rem,5vw,3.1rem)}.lede{color:var(--muted);max-width:36em;margin-top:1.25rem;font-size:1.15rem}.hint{color:var(--muted);margin-top:1rem;font-size:.9rem}.actions{flex-wrap:wrap;gap:12px;margin-top:1.75rem;display:flex}.button{border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;min-height:46px;padding:0 20px;font-weight:600;text-decoration:none;display:inline-flex}.button--primary{background:var(--accent);color:var(--on-accent)}.button--primary:hover{filter:brightness(1.08)}.button--secondary{color:var(--text);border-color:var(--accent)}.button--secondary:hover{background:color-mix(in srgb, var(--accent) 12%, transparent)}.button--quiet{min-height:38px;color:var(--text);border-color:var(--border);padding:0 14px;font-weight:500}.button--quiet:hover{border-color:var(--muted)}.mock{min-width:0;margin:0}.mock figcaption{color:var(--muted);margin-top:14px;font-size:.85rem}.mock__window{color:#f3f7fa;box-shadow:var(--shadow);background:#0b0e12;border:1px solid #1f2630;border-radius:12px;padding-bottom:74px;position:relative;overflow:hidden}.mock__bar{border-bottom:1px solid #1f2630;gap:6px;padding:10px 12px;display:flex}.mock__bar span{background:#2a3240;border-radius:50%;width:10px;height:10px}.mock__body{grid-template-columns:1fr 1fr;gap:10px;padding:16px;display:grid}.mock__card{background:#141922;border:1px solid #1f2630;border-radius:8px;flex-direction:column;gap:6px;min-width:0;padding:14px;display:flex}.mock__label{color:#22d3ee;font:600 .6rem var(--mono);letter-spacing:.12em;text-transform:uppercase}.mock__id{font:600 clamp(1rem, 2.6vw, 1.35rem) var(--mono);letter-spacing:.04em;white-space:nowrap;margin-bottom:6px}.mock__field{font:.8rem var(--mono);color:#8995a5;white-space:nowrap;background:#0f131a;border:1px solid #1f2630;border-radius:5px;padding:6px 8px;overflow:hidden}.mock__field--id{color:#f3f7fa}.mock__button{text-align:center;color:#061116;background:#22d3ee;border-radius:5px;margin-top:2px;padding:6px;font-size:.8rem;font-weight:600}.mock__toolbar{white-space:nowrap;background:#141922;border:1px solid #2a3240;border-radius:999px;align-items:center;gap:10px;width:max-content;max-width:calc(100% - 24px);padding:8px 8px 8px 14px;font-size:.72rem;display:flex;position:absolute;bottom:16px;left:50%;overflow:hidden;transform:translate(-50%)}.mock__dot{background:#22d3ee;border-radius:50%;flex:none;width:7px;height:7px}.mock__mono{font-family:var(--mono)}.mock__badge{color:#9fe3c1;font-family:var(--mono)}.mock__tools{color:#c3cad5;font-family:var(--mono);text-overflow:ellipsis;min-width:0;overflow:hidden}.mock__disconnect{color:#fff;font:600 .68rem var(--mono);background:#df3d4b;border-radius:5px;flex:none;padding:4px 9px}@media (width<=520px){.mock__body{grid-template-columns:1fr}.mock__tools{display:none}}section{padding:64px 0}.band{background:var(--band);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.section-lede{color:var(--muted);max-width:46em}.diagram{margin:0 0 32px}.diagram svg{width:100%;max-width:760px;height:auto;margin:0 auto;display:block}.diagram__box{fill:var(--card);stroke:var(--border);stroke-width:1.5px}.diagram__box--relay{stroke:var(--accent)}.diagram__title{fill:var(--text);font:600 17px var(--sans);text-anchor:middle}.diagram__note,.diagram__label{fill:var(--muted);font:13px var(--mono);text-anchor:middle}.diagram__label--accent{fill:var(--accent)}.diagram__line{fill:none;stroke:var(--muted);stroke-width:1.5px}.diagram__line--direct{stroke:var(--accent);stroke-dasharray:6 5}.diagram__arrowhead{fill:var(--muted)}.steps{counter-reset:step;gap:20px;margin:0;padding:0;list-style:none;display:grid}@media (width>=820px){.steps{grid-template-columns:repeat(3,1fr)}}.steps li{counter-increment:step;background:var(--card);border:1px solid var(--border);border-radius:10px;padding:20px}.steps li:before{content:counter(step);width:28px;height:28px;color:var(--accent);border:1px solid var(--accent);font:600 .85rem var(--mono);border-radius:50%;place-items:center;margin-bottom:10px;display:inline-grid}.steps h3,.features h3{margin-bottom:6px}.steps p,.features p{color:var(--muted);margin:0}.features{gap:28px 32px;margin:0;padding:0;list-style:none;display:grid}@media (width>=640px){.features{grid-template-columns:repeat(2,1fr)}}@media (width>=1000px){.features{grid-template-columns:repeat(4,1fr)}}.features li{border-top:2px solid var(--accent);padding-top:14px}.downloads{gap:16px;margin-top:8px;display:grid}@media (width>=860px){.downloads{grid-template-columns:repeat(3,1fr)}}.download{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:22px}.download h3{margin-bottom:6px;font-size:1.2rem}.download>p{color:var(--muted);font-size:.92rem}.download__files{gap:10px;margin:0;padding:0;list-style:none;display:grid}.download__files li{flex-wrap:wrap;align-items:center;gap:4px 12px;display:flex}.download__detail{color:var(--muted);font:.78rem var(--mono)}.notice{background:var(--warn-bg);border:1px solid var(--warn-border);border-radius:8px;margin-top:24px;padding:14px 18px}.notice p{margin:0}.two-col{gap:48px;display:grid}@media (width>=900px){.two-col{grid-template-columns:1fr 1fr}}.plain-list{color:var(--muted);margin:0;padding-left:1.2em}.plain-list li{margin-bottom:.6rem}.code{background:var(--band);border:1px solid var(--border);font:.85rem/1.6 var(--mono);border-radius:8px;margin:0 0 1rem;padding:14px 16px;overflow-x:auto}.code code{overflow-wrap:normal}.band .code{background:var(--card)}.footer{border-top:1px solid var(--border);color:var(--muted);padding:28px 0 40px;font-size:.9rem}.footer__row{gap:12px;display:grid}@media (width>=860px){.footer__row{grid-template-columns:1fr auto;align-items:center}}.footer p{margin:0}.footer__links{flex-wrap:wrap;gap:6px 18px;display:flex}.footer__links a{color:var(--muted)}.not-found{text-align:center;padding:96px 0}.not-found h1{margin-bottom:1rem;font-size:clamp(2rem,6vw,3rem)}.not-found p{color:var(--muted)}.not-found .actions{justify-content:center}
