:root{--bg:#f8f9fb;--surface:#fff;--surface-2:#eef1f6;--text:#14213d;--muted:#4a5672;--faint:#6b7790;--border:#dfe4ee;--link:#2f5fa8;--link-hover:#1f4682;--btn-bg:#14213d;--btn-text:#fff;--btn-hover:#24365e;--tag-bg:#e8edf6;--tag-text:#24365e;--fog-top:#f8f9fb8c;--fog-mid:#f8f9fbd6;--code-bg:#121c33;--code-text:#e6ebf5;--code-border:transparent;--shadow:0 1px 2px #14213d14, 0 8px 24px #14213d12;--radius:14px;--max:1120px;--font:Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#0c1424;--surface:#141f36;--surface-2:#101a2e;--text:#e8edf6;--muted:#b3bed3;--faint:#8592ab;--border:#243354;--link:#8fb3ff;--link-hover:#b5cdff;--btn-bg:#e8edf6;--btn-text:#0c1424;--btn-hover:#fff;--tag-bg:#1c2a48;--tag-text:#c9d6ee;--fog-top:#0c142480;--fog-mid:#0c1424d6;--code-bg:#08101f;--code-text:#e6ebf5;--code-border:#243354;--shadow:0 1px 2px #0000004d, 0 8px 24px #00000040;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-family:var(--font);margin:0;font-size:17px;line-height:1.6}img{max-width:100%;height:auto}a{color:var(--link);text-decoration:none}a:hover{color:var(--link-hover);text-decoration:underline}h1,h2,h3{letter-spacing:-.02em;margin:0 0 .5em;font-weight:700;line-height:1.12}h1{letter-spacing:-.03em;font-size:clamp(2.1rem,5.2vw,3.4rem)}h2{font-size:clamp(1.5rem,3vw,2.1rem)}h3{letter-spacing:-.01em;font-size:1.2rem}p{margin:0 0 1em}.wrap{max-width:var(--max);margin:0 auto;padding:0 32px}@media (width<=600px){.wrap{padding:0 16px}}.site-header{z-index:2;position:absolute;top:0;left:0;right:0}.site-header .wrap{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 24px;padding-top:22px;padding-bottom:22px;display:flex}.brand{color:var(--text);letter-spacing:-.01em;font-size:1.1rem;font-weight:700}.brand:hover{color:var(--text);text-decoration:none}.site-nav{flex-wrap:wrap;gap:4px 22px;display:flex}.site-nav a{color:var(--muted);font-size:.95rem;font-weight:500}.site-nav a:hover,.site-nav a.active{color:var(--text);text-decoration:none}.site-nav a.active{box-shadow:inset 0 -2px 0 var(--text)}.hero{background-position:50%;background-size:cover;background-color:var(--surface-2);position:relative}.hero:before{content:"";background:linear-gradient(180deg, var(--fog-top) 0%, var(--fog-mid) 58%, var(--bg) 100%);position:absolute;inset:0}.hero>.wrap{padding-top:150px;padding-bottom:72px;position:relative}.hero-short>.wrap{padding-top:130px;padding-bottom:40px}@media (width<=600px){.hero>.wrap{padding-top:120px;padding-bottom:48px}.hero-short>.wrap{padding-top:110px;padding-bottom:28px}}.hero h1{max-width:15em}.photo-sky{background-image:url(/img/carousel3.jpg)}.photo-bridge{background-image:url(/img/carousel1.jpg)}.photo-cable{background-image:url(/img/carousel2.jpg)}.stamp{border:1.5px solid var(--text);font:500 .75rem var(--mono);letter-spacing:.08em;text-transform:uppercase;border-radius:999px;margin-bottom:22px;padding:6px 13px;display:inline-block}.eyebrow{font:500 .78rem var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--faint);margin-bottom:12px;display:inline-block}.lead{color:var(--muted);max-width:40em;font-size:1.2rem}.section{padding:72px 0}.section-tight{padding:32px 0 48px}.section-alt{background:var(--surface-2)}.section-head{max-width:46em;margin-bottom:32px}.section-head p{color:var(--muted)}.actions{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.btn{border:1.5px solid var(--text);color:var(--text);border-radius:10px;align-items:center;gap:8px;padding:12px 22px;font-size:.95rem;font-weight:600;display:inline-flex}.btn:hover{color:var(--text);background:var(--tag-bg);text-decoration:none}.btn-primary{background:var(--btn-bg);border-color:var(--btn-bg);color:var(--btn-text)}.btn-primary:hover{background:var(--btn-hover);border-color:var(--btn-hover);color:var(--btn-text)}.grid{gap:16px;display:grid}.grid-4{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.grid-3{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.grid-2{grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}.grid-pairs{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr))}.grid-pairs>:last-child:nth-child(odd){grid-column:1/-1}@media (width<=420px){.grid-2,.grid-3,.grid-4{grid-template-columns:minmax(0,1fr)}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;padding:24px;display:flex}.card p{color:var(--muted)}.card .more{color:var(--link);align-items:center;gap:6px;margin-top:auto;font-weight:600;display:inline-flex}.card-icon{color:var(--text);margin-bottom:14px}.card-title{font-size:1.4rem}.strong{color:var(--text)}.aside{color:var(--faint);margin-top:24px}a.card{color:inherit;transition:transform .15s}a.card:hover{text-decoration:none;transform:translateY(-2px)}a.card:hover .more{text-decoration:underline}.card-label{color:var(--faint);font-size:.8rem}.hero-cards{margin-top:44px}.hero-cards .card{padding:18px 20px}.hero-cards h3{margin:2px 0 4px;font-size:1.1rem}.hero-cards p{margin:0;font-size:.9rem}.product-mark{border-radius:12px;width:48px;height:48px;margin-bottom:16px}.product-mark-lg{border-radius:16px;width:72px;height:72px;margin-bottom:0}.tags{flex-wrap:wrap;gap:6px;margin:0 0 14px;padding:0;list-style:none;display:flex}.tags li{font:500 .72rem var(--mono);letter-spacing:.02em;background:var(--tag-bg);color:var(--tag-text);border-radius:999px;padding:3px 9px}.flagship{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:40px;padding:40px;display:grid}@media (width<=860px){.flagship{grid-template-columns:minmax(0,1fr);gap:24px;padding:24px}}pre,code{font-family:var(--mono);font-size:.84rem}pre{background:var(--code-bg);color:var(--code-text);border:1px solid var(--code-border);border-radius:12px;margin:0 0 1em;padding:18px 20px;line-height:1.6;overflow-x:auto}:not(pre)>code{background:var(--tag-bg);border-radius:6px;padding:2px 6px}.code-label{font:500 .75rem var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--faint);margin-bottom:8px}.checks{margin:0 0 1em;padding:0;list-style:none}.checks li{color:var(--muted);align-items:flex-start;gap:10px;margin-bottom:8px;display:flex}.checks svg{color:var(--text);flex-shrink:0;margin-top:.3em}.product-head{align-items:flex-start;gap:22px;display:flex}.product-head>div{min-width:0}@media (width<=600px){.product-head{flex-direction:column;gap:14px}}.product-body{grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:48px;display:grid}@media (width<=860px){.product-body{grid-template-columns:minmax(0,1fr);gap:24px}}.product-body>div>p{color:var(--muted)}.sidebar .card{margin-bottom:16px}.sidebar h3{font-size:1rem}.link-list{margin:0;padding:0;list-style:none}.link-list li{margin-bottom:6px}.link-list a{align-items:center;gap:6px;display:inline-flex}.person{flex-direction:row;align-items:flex-start;gap:20px}.person img{object-fit:cover;background:var(--surface-2);border-radius:50%;flex-shrink:0;width:96px;height:96px}.person h3{margin-bottom:2px}.person .role{color:var(--faint);font:500 .8rem var(--mono);margin-bottom:8px}@media (width<=480px){.person{flex-direction:column}}.callout{flex-flow:wrap;justify-content:space-between;align-items:center;gap:24px;padding:40px}.callout h2{margin-bottom:4px}.callout p{margin:0}@media (width<=600px){.callout{padding:24px}}.prose{max-width:46em}.prose p{color:var(--muted)}.prose h2{margin-top:1.6em;font-size:1.3rem}.site-footer{border-top:1px solid var(--border);color:var(--faint);padding:32px 0;font-size:.9rem}.site-footer .wrap{flex-wrap:wrap;justify-content:space-between;gap:12px 24px;display:flex}.site-footer nav{flex-wrap:wrap;gap:4px 18px;display:flex}.site-footer a{color:var(--faint)}.site-footer a:hover{color:var(--text)}.editor{background:var(--code-bg);border:1px solid var(--code-border);color:var(--code-text);border-radius:14px;overflow:hidden;box-shadow:0 18px 40px #0c142447}.editor-bar{font:500 .75rem var(--mono);background:#ffffff0d;border-bottom:1px solid #ffffff12;align-items:center;gap:12px;padding:10px 14px;display:flex}.editor-dots{gap:6px;display:inline-flex}.editor-dots i{background:#ff5f57;border-radius:50%;width:11px;height:11px}.editor-dots i:nth-child(2){background:#febc2e}.editor-dots i:nth-child(3){background:#28c840}.editor-file{color:#e6ebf5}.editor-label{color:#8592ab;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;margin-left:auto}@media (width<=420px){.editor-label{display:none}}.editor-code{background:0 0;border:0;border-radius:0;margin:0;padding:18px 20px;display:grid}.editor-ghost,.editor-typed{white-space:pre;grid-area:1/1}.editor-ghost{visibility:hidden}.editor-caret{vertical-align:text-bottom;background:#f0ad4e;width:8px;height:1.15em;margin-left:1px;animation:1s step-end infinite caret-blink;display:inline-block}.editor-caret:not(.is-idle){animation:none}@keyframes caret-blink{50%{opacity:0}}.tok-keyword{color:#ff9e64}.tok-string{color:#9ece6a}.tok-type{color:#7dcfff}.tok-call{color:#e0af68}.tok-comment{color:#6b7790;font-style:italic}.editor-status{font:500 .72rem var(--mono);color:#8592ab;border-top:1px solid #ffffff12;justify-content:space-between;align-items:center;padding:8px 14px;display:flex}.editor-check.is-on{color:#9ece6a}.editor-replay{color:#c9d6ee;font:inherit;cursor:pointer;background:0 0;border:1px solid #ffffff26;border-radius:8px;align-items:center;gap:6px;padding:4px 10px;display:inline-flex}.editor-replay:hover{color:#fff;border-color:#f0ad4e}@media (prefers-reduced-motion:reduce){.editor-caret{animation:none}}.term-body{height:360px;font:.84rem/1.7 var(--mono);scroll-behavior:smooth;padding:16px 20px;overflow-y:auto}.term-line{white-space:pre-wrap;word-break:break-word}.term-prompt{color:#9ece6a;font-weight:500}.term-cmd{color:#e6ebf5}.term-ok{color:#9ece6a}.term-spin{color:#f0ad4e}.term-dim{color:#8592ab}.term-accent{color:#7dcfff}.term-bar{color:#f0ad4e}.term-bar-empty{color:#2c3a58}.term-actions{gap:8px;display:inline-flex}@media (width<=480px){.term-body{height:320px;font-size:.78rem}.terminal .editor-status{flex-wrap:wrap;gap:8px}}.terminal+.code-label{margin-top:28px}.terminal-retro{background:#00a;border:2px solid #aaa;border-radius:6px}.terminal-retro .editor-bar{font-family:"VT323", var(--mono);background:#aaa;border-bottom:0;font-size:1.05rem}.terminal-retro .editor-dots{display:none}.terminal-retro .editor-file{color:#00a}.terminal-retro .editor-label{color:#005}.terminal-retro .term-body{font:1.2rem/1.3 "VT323", var(--mono);color:#aaa;background-color:#00a;background-image:repeating-linear-gradient(#0000002e 0 1px,#0000 1px 3px);overflow-x:auto}.terminal-retro .term-line{white-space:pre;word-break:normal}.terminal-retro .term-prompt{color:#fff;font-weight:400}.terminal-retro .term-cmd{color:#ff5}.terminal-retro .term-dim{color:#aaa}.terminal-retro .term-accent,.terminal-retro .term-bar{color:#5ff}.terminal-retro .term-bar-empty{color:#00f}.terminal-retro .editor-caret{vertical-align:baseline;background:#fff;width:.6em;height:.18em}.term-table{border-collapse:collapse;color:#aaa;margin:4px 0 8px}.term-table th,.term-table td{text-align:left;white-space:nowrap;border:2px solid #aaa;padding:0 12px;font-weight:400}.term-table th{color:#fff}.term-table tbody td{border-top:0;border-bottom:0}.term-table tbody tr:last-child td{border-bottom:2px solid #aaa}.term-table tr.term-accent td{color:#5ff}.term-statusbar{color:#000;font:1.05rem/1.4 "VT323", var(--mono);background:#0aa;display:flex}.term-statusbar span{white-space:nowrap;border-right:1px solid #000;padding:1px 12px}.term-statusbar span:last-child{border-right:0;margin-left:auto}.terminal-retro .editor-status{color:#aaa;background:#005;border-top:0}.terminal-retro .editor-replay{color:#fff;border-color:#55f}.terminal-retro .editor-replay:hover{border-color:#ff5}@media (width<=480px){.terminal-retro .term-body{font-size:1.05rem}.term-statusbar span:nth-child(3){display:none}}.a85{margin-bottom:28px}.a85-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.a85-head h3{margin:0}.a85-tabs{border:1px solid var(--border);border-radius:10px;display:inline-flex;overflow:hidden}.a85-tabs button{color:var(--muted);font:600 .85rem var(--font);cursor:pointer;background:0 0;border:0;padding:6px 14px}.a85-tabs button[aria-pressed=true]{background:var(--btn-bg);color:var(--btn-text)}.a85-presets{flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.a85-presets button{border:1px solid var(--border);background:var(--tag-bg);color:var(--tag-text);font:500 .78rem var(--mono);cursor:pointer;border-radius:999px;padding:4px 10px}.a85-presets button:hover{border-color:var(--text)}.a85-label{font:500 .75rem var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--faint);margin-bottom:6px;display:block}.a85-input{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);font:.9rem/1.5 var(--mono);resize:vertical;border-radius:10px;padding:12px 14px}.a85-input:focus{outline:2px solid var(--link);outline-offset:1px}.a85-check{color:var(--muted);align-items:flex-start;gap:8px;margin:10px 0 18px;font-size:.88rem;display:flex}.a85-check input{margin-top:.25em}.a85-out-head{justify-content:space-between;align-items:center;display:flex}.a85-out{white-space:pre-wrap;word-break:break-all;min-height:3.2em;margin-bottom:18px}.a85-error{color:#ffb4a8}.a85-copy{border:1px solid var(--border);color:var(--text);font:500 .75rem var(--mono);cursor:pointer;background:0 0;border-radius:8px;align-items:center;gap:6px;margin-bottom:6px;padding:3px 10px;display:inline-flex}.a85-compare{gap:8px;display:grid}.a85-row{font:500 .8rem var(--mono);color:var(--muted);grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.a85-track{background:var(--surface-2);border-radius:999px;height:10px;overflow:hidden}.a85-fill{border-radius:999px;height:100%;transition:width .2s;display:block}.a85-fill-raw{background:var(--faint)}.a85-fill-a85{background:#2f8f6f}.a85-fill-b64{background:#c98a2b}.a85-num{white-space:nowrap}.a85-note{color:var(--faint);margin:10px 0 0;font-size:.8rem}
