.sch__scroll[data-astro-cid-hzhq4ucx]{scrollbar-width:thin;padding-bottom:8px;overflow-x:auto}.sch__grid[data-astro-cid-hzhq4ucx]{grid-template-columns:repeat(var(--cols), minmax(150px, 1fr));min-width:calc(var(--cols) * 190px);border:1px solid var(--rule-strong);background:linear-gradient(var(--grid) 1px, transparent 1px) 0 0 / 20px 20px, linear-gradient(90deg, var(--grid) 1px, transparent 1px) 0 0 / 20px 20px, var(--paper);gap:56px;padding:22px 8px 36px;display:grid;position:relative}.sch__wires[data-astro-cid-hzhq4ucx]{pointer-events:none;width:100%;max-width:none;height:100%;position:absolute;inset:0;overflow:visible}.sch__labels[data-astro-cid-hzhq4ucx]{z-index:3}.sch__col[data-astro-cid-hzhq4ucx]{z-index:1;flex-direction:column;justify-content:center;gap:22px;display:flex;position:relative}.sch__node[data-astro-cid-hzhq4ucx]{background:var(--paper);border:1.5px solid var(--ink);transition:opacity .25s, background .2s, transform .25s var(--ease-out);cursor:default;outline:none;flex-direction:column;gap:4px;padding:10px 12px 11px;font-size:.8rem;line-height:1.3;display:flex;position:relative}.sch__node[data-astro-cid-hzhq4ucx]:focus-visible{box-shadow:0 0 0 3px var(--accent)}.sch__kind[data-astro-cid-hzhq4ucx]{color:var(--ink-3);font-size:.56rem}.sch__label[data-astro-cid-hzhq4ucx]{font-weight:600}.k-client[data-astro-cid-hzhq4ucx]{border-radius:10px}.k-db[data-astro-cid-hzhq4ucx]{border-width:1.5px 1.5px 4px;border-radius:14px/22px}.k-ml[data-astro-cid-hzhq4ucx]{border-style:dashed;border-color:var(--accent)}.k-external[data-astro-cid-hzhq4ucx]{border-style:dotted;border-color:var(--ink-3);color:var(--ink-2)}.k-device[data-astro-cid-hzhq4ucx]{border-width:1.5px 1.5px 1.5px 6px}.sch__grid[data-astro-cid-hzhq4ucx].is-tracing .sch__node[data-astro-cid-hzhq4ucx]:not(.is-lit){opacity:.32}.sch__node[data-astro-cid-hzhq4ucx].is-lit{background:var(--paper-2)}.sch__node[data-astro-cid-hzhq4ucx].is-focus{background:var(--ink);color:var(--paper)}.sch__node[data-astro-cid-hzhq4ucx].is-focus .sch__kind[data-astro-cid-hzhq4ucx]{color:color-mix(in oklab, var(--paper) 70%, transparent)}.sch__grid[data-astro-cid-hzhq4ucx] path.wire{fill:none;stroke:var(--ink-3);stroke-width:1.3px;transition:stroke .2s,opacity .2s}.sch__grid[data-astro-cid-hzhq4ucx] path.wire.back{stroke-dasharray:4 4}.sch__grid[data-astro-cid-hzhq4ucx] .head{fill:var(--ink-3)}.sch__grid[data-astro-cid-hzhq4ucx].is-tracing path.wire:not(.is-lit){opacity:.15}.sch__grid[data-astro-cid-hzhq4ucx] path.wire.is-lit{stroke:var(--accent);stroke-width:2px}.sch__grid[data-astro-cid-hzhq4ucx] g.lbl{opacity:0;transition:opacity .2s}.sch__grid[data-astro-cid-hzhq4ucx] g.lbl.is-lit{opacity:1}.sch__grid[data-astro-cid-hzhq4ucx] g.lbl rect{fill:var(--ink)}.sch__grid[data-astro-cid-hzhq4ucx] g.lbl text{fill:var(--paper);font-family:var(--font-mono);font-size:9.5px}.sch__legend[data-astro-cid-hzhq4ucx]{flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:12px;display:flex}.lg[data-astro-cid-hzhq4ucx]{align-items:center;gap:6px;display:inline-flex}.lg[data-astro-cid-hzhq4ucx]:before{content:"";border:1.5px solid var(--ink);width:16px;height:10px}.lg[data-astro-cid-hzhq4ucx].k-ml:before{border-style:dashed;border-color:var(--accent)}.lg[data-astro-cid-hzhq4ucx].k-external:before{border-style:dotted;border-color:var(--ink-3)}.lg[data-astro-cid-hzhq4ucx].k-client:before{border-radius:4px}.lg[data-astro-cid-hzhq4ucx].k-db:before{border-bottom-width:3px;border-radius:5px/6px}.lg[data-astro-cid-hzhq4ucx].k-device:before{border-left-width:5px}.sch__hint[data-astro-cid-hzhq4ucx]{text-transform:none;margin-left:auto}.sch__note[data-astro-cid-hzhq4ucx]{max-width:70ch;color:var(--ink-2);margin-top:18px}.sch__list[data-astro-cid-hzhq4ucx]{border-top:1px solid var(--rule);margin-top:16px;padding-top:12px}.sch__list[data-astro-cid-hzhq4ucx] summary[data-astro-cid-hzhq4ucx]{cursor:pointer;color:var(--ink-2)}.sch__list[data-astro-cid-hzhq4ucx] ul[data-astro-cid-hzhq4ucx]{font-size:var(--step--1);gap:6px;margin-top:12px;padding-left:18px;display:grid}.sch__list[data-astro-cid-hzhq4ucx] strong[data-astro-cid-hzhq4ucx]{font-weight:600}@media (hover:none){.sch__hint[data-astro-cid-hzhq4ucx]{display:none}}.cs__head[data-astro-cid-pznzci7v]{padding-top:28px;padding-bottom:clamp(28px,4vw,48px)}.cs__crumbs[data-astro-cid-pznzci7v]{justify-content:space-between;gap:16px;display:flex}.cs__crumbs[data-astro-cid-pznzci7v] a[data-astro-cid-pznzci7v]{color:var(--ink-2);text-decoration:none}.cs__crumbs[data-astro-cid-pznzci7v] a[data-astro-cid-pznzci7v]:hover{color:var(--accent-text)}.cs__title[data-astro-cid-pznzci7v]{flex-wrap:wrap;align-items:center;gap:clamp(14px,2vw,26px);margin-top:clamp(28px,5vw,64px);display:flex}.cs__icon[data-astro-cid-pznzci7v]{border-radius:23%;flex:none;width:clamp(56px,7vw,96px);height:auto;box-shadow:0 0 0 1px #00000014,0 16px 30px -18px #0009}.cs__title[data-astro-cid-pznzci7v] h1[data-astro-cid-pznzci7v]{text-transform:uppercase;letter-spacing:-.01em;min-width:0;font-size:clamp(2.2rem,10.5vw,9rem);font-weight:900;font-stretch:66%;line-height:.86}.cs__tag[data-astro-cid-pznzci7v]{font-size:var(--step-2);max-width:32ch;color:var(--ink-2);margin-top:18px;font-weight:500;font-stretch:92%;line-height:1.2}.cs__meta[data-astro-cid-pznzci7v]{border-top:1px solid var(--rule-strong);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:clamp(28px,4vw,44px);display:grid}.cs__meta[data-astro-cid-pznzci7v]>div[data-astro-cid-pznzci7v]{border-bottom:1px solid var(--rule);padding:12px 18px 14px 0}.cs__meta[data-astro-cid-pznzci7v] dd[data-astro-cid-pznzci7v]{flex-direction:column;gap:3px;margin-top:4px;font-weight:600;display:flex}.cs__meta[data-astro-cid-pznzci7v] small[data-astro-cid-pznzci7v]{color:var(--ink-2);font-weight:400;font-size:var(--step--1);line-height:1.4}.cs__links[data-astro-cid-pznzci7v]{flex-wrap:wrap;gap:10px;margin-top:24px;display:flex}.gallery[data-astro-cid-pznzci7v]{border-block:1px solid var(--rule-strong);background:linear-gradient(color-mix(in oklab, var(--c) 8%, transparent), color-mix(in oklab, var(--c) 8%, transparent)), linear-gradient(var(--grid) 1px, transparent 1px) 0 0 / 24px 24px, linear-gradient(90deg, var(--grid) 1px, transparent 1px) 0 0 / 24px 24px, var(--paper-2)}.gallery__track[data-astro-cid-pznzci7v]{scroll-snap-type:x mandatory;scroll-padding-inline:max(var(--gutter), calc((100vw - var(--maxw)) / 2 + var(--gutter)));padding:clamp(28px, 4vw, 56px) max(var(--gutter), calc((100vw - var(--maxw)) / 2 + var(--gutter)));scrollbar-width:none;cursor:grab;outline-offset:-3px;align-items:flex-start;gap:clamp(18px,2.4vw,36px);display:flex;overflow-x:auto}.gallery__track[data-astro-cid-pznzci7v]::-webkit-scrollbar{display:none}.gallery__track[data-astro-cid-pznzci7v].is-dragging{cursor:grabbing;scroll-snap-type:none}.gallery__track[data-astro-cid-pznzci7v].is-dragging [data-astro-cid-pznzci7v]{pointer-events:none}.gallery__item[data-astro-cid-pznzci7v]{scroll-snap-align:start;flex-direction:column;flex:none;gap:14px;display:flex}.gallery__item--phone[data-astro-cid-pznzci7v]{width:clamp(200px,22vw,290px)}.gallery__item--tablet[data-astro-cid-pznzci7v]{width:clamp(300px,46vw,620px)}.gallery__item--desktop[data-astro-cid-pznzci7v],.gallery__item--mac[data-astro-cid-pznzci7v],.gallery__item--graphic[data-astro-cid-pznzci7v],.gallery__item--photo[data-astro-cid-pznzci7v]{width:clamp(290px,62vw,820px)}.gallery__item--sq[data-astro-cid-pznzci7v]{width:clamp(240px,30vw,440px)}.gallery__item--watch[data-astro-cid-pznzci7v]{width:clamp(200px,22vw,280px);padding-top:30px}.gallery__item[data-astro-cid-pznzci7v] figcaption[data-astro-cid-pznzci7v]{text-transform:none;color:var(--ink-2);max-width:40ch}.gallery[data-astro-cid-pznzci7v] .dim[data-astro-cid-pznzci7v]{color:var(--ink-2)}.gallery__ctl[data-astro-cid-pznzci7v]{justify-content:space-between;align-items:center;padding-bottom:16px;display:flex}.gallery__btns[data-astro-cid-pznzci7v]{gap:6px;display:flex}.tool-btn[data-astro-cid-pznzci7v]{border:1px solid var(--rule-strong);border-radius:var(--radius);width:38px;height:32px;font-family:var(--font-mono)}.tool-btn[data-astro-cid-pznzci7v]:hover{background:var(--ink);color:var(--paper)}.cs__body[data-astro-cid-pznzci7v]{gap:clamp(48px,7vw,96px);padding-top:clamp(48px,7vw,96px);display:grid}.cs__sec[data-astro-cid-pznzci7v]{grid-template-columns:minmax(160px,.32fr) minmax(0,1fr);align-items:start;gap:20px clamp(24px,4vw,64px);display:grid}.cs__sec--wide[data-astro-cid-pznzci7v]{grid-template-columns:minmax(0,1fr)}.cs__h[data-astro-cid-pznzci7v]{color:var(--ink-2);border-top:1px solid var(--ink);gap:12px;padding-top:6px;font-weight:400;display:flex;position:sticky;top:84px}.cs__h[data-astro-cid-pznzci7v] span[data-astro-cid-pznzci7v]{color:var(--accent-text)}.cs__sec--wide[data-astro-cid-pznzci7v] .cs__h[data-astro-cid-pznzci7v]{position:static}.cs__story[data-astro-cid-pznzci7v]{max-width:68ch;font-size:var(--step-0);color:var(--ink-2);gap:1em;line-height:1.65;display:grid}.cs__lead[data-astro-cid-pznzci7v]{font-size:var(--step-1);color:var(--ink);font-weight:500;line-height:1.45}.cs__list[data-astro-cid-pznzci7v]{border-top:1px solid var(--rule);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.cs__list[data-astro-cid-pznzci7v] li[data-astro-cid-pznzci7v]{border-bottom:1px solid var(--rule);grid-template-columns:32px minmax(0,1fr);gap:8px;padding:14px 18px 16px 0;display:grid}.cs__list[data-astro-cid-pznzci7v] li[data-astro-cid-pznzci7v]:nth-child(odd){border-right:1px solid var(--rule)}.cs__list[data-astro-cid-pznzci7v] li[data-astro-cid-pznzci7v]:nth-child(2n){padding-left:18px}.cs__list[data-astro-cid-pznzci7v] .mono[data-astro-cid-pznzci7v]{padding-top:4px}.cs__eng[data-astro-cid-pznzci7v]{border-top:1px solid var(--rule);gap:0;display:grid}.cs__eng[data-astro-cid-pznzci7v] li[data-astro-cid-pznzci7v]{border-bottom:1px solid var(--rule);max-width:82ch;color:var(--ink-2);padding:14px 0 16px 26px;position:relative}.cs__eng[data-astro-cid-pznzci7v] li[data-astro-cid-pznzci7v]:before{content:"";border:1.5px solid var(--accent);width:10px;height:10px;position:absolute;top:22px;left:2px;transform:rotate(45deg)}.cs__nums[data-astro-cid-pznzci7v]{border-top:1px solid var(--rule);border-left:1px solid var(--rule);grid-template-columns:repeat(auto-fill,minmax(190px,1fr));display:grid}.cs__nums[data-astro-cid-pznzci7v]>div[data-astro-cid-pznzci7v]{border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);flex-direction:column-reverse;justify-content:flex-end;gap:6px;padding:16px;display:flex}.cs__nums[data-astro-cid-pznzci7v] dd[data-astro-cid-pznzci7v]{font-size:var(--step-1);font-weight:750;font-stretch:85%;line-height:1.2}.cs__nums[data-astro-cid-pznzci7v] dt[data-astro-cid-pznzci7v]{text-transform:none}.cs__stack[data-astro-cid-pznzci7v]{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:26px 32px;display:grid}.cs__stack[data-astro-cid-pznzci7v] h3[data-astro-cid-pznzci7v]{margin-bottom:10px;font-weight:400}.cs__stack[data-astro-cid-pznzci7v] ul[data-astro-cid-pznzci7v]{flex-wrap:wrap;gap:6px;display:flex}.cs__stack[data-astro-cid-pznzci7v] .chip[data-astro-cid-pznzci7v]{white-space:normal;text-transform:none}.locbar[data-astro-cid-pznzci7v]{border:1px solid var(--rule-strong);gap:2px;height:10px;padding:2px;display:flex}.locbar[data-astro-cid-pznzci7v] span[data-astro-cid-pznzci7v]{background:var(--ink);min-width:2px}.locbar[data-astro-cid-pznzci7v] span[data-astro-cid-pznzci7v]:first-child{background:var(--accent)}.locs[data-astro-cid-pznzci7v]{font-size:var(--step--1);grid-template-columns:1fr;margin-top:10px;gap:4px!important;display:grid!important}.locs[data-astro-cid-pznzci7v] li[data-astro-cid-pznzci7v]{border-bottom:1px dotted var(--rule);justify-content:space-between;padding-bottom:3px;display:flex}.locs__t[data-astro-cid-pznzci7v]{text-transform:none;margin-top:8px}.repos[data-astro-cid-pznzci7v]{gap:6px!important;display:grid!important}.repos[data-astro-cid-pznzci7v] li[data-astro-cid-pznzci7v]{border-bottom:1px dotted var(--rule);font-size:var(--step--1);justify-content:space-between;gap:12px;padding-bottom:4px;display:flex}.repos[data-astro-cid-pznzci7v] a[data-astro-cid-pznzci7v]{text-decoration:none}.repos[data-astro-cid-pznzci7v] a[data-astro-cid-pznzci7v]:hover{color:var(--accent-text)}.cs__fine[data-astro-cid-pznzci7v]{text-transform:none;grid-column:2;max-width:80ch}.cs__video[data-astro-cid-pznzci7v] video[data-astro-cid-pznzci7v]{border:1px solid var(--rule-strong);background:#000;width:100%}.cs__video--phone[data-astro-cid-pznzci7v] video[data-astro-cid-pznzci7v]{border-radius:18px;max-width:360px}.cs__video[data-astro-cid-pznzci7v] figcaption[data-astro-cid-pznzci7v]{text-transform:none;margin-top:10px}.cs__next[data-astro-cid-pznzci7v]{border-top:1px solid var(--rule-strong);border-bottom:1px solid var(--rule-strong);grid-template-columns:1fr 1fr;margin-top:clamp(64px,9vw,140px);padding-inline:0;display:grid}.pn[data-astro-cid-pznzci7v]{padding:26px var(--gutter);flex-direction:column;gap:6px;text-decoration:none;transition:background .25s;display:flex}.pn--next[data-astro-cid-pznzci7v]{text-align:right;border-left:1px solid var(--rule)}.pn[data-astro-cid-pznzci7v] strong[data-astro-cid-pznzci7v]{font-size:var(--step-3);text-transform:uppercase;font-weight:900;font-stretch:66%;line-height:.95}.pn[data-astro-cid-pznzci7v]:hover{background:var(--paper-2)}.pn[data-astro-cid-pznzci7v]:hover strong[data-astro-cid-pznzci7v]{color:var(--accent-text)}@media (width<=860px){.cs__sec[data-astro-cid-pznzci7v]{grid-template-columns:minmax(0,1fr)}.cs__h[data-astro-cid-pznzci7v]{position:static}.cs__list[data-astro-cid-pznzci7v]{grid-template-columns:1fr}.cs__list[data-astro-cid-pznzci7v] li[data-astro-cid-pznzci7v]:nth-child(odd){border-right:0}.cs__list[data-astro-cid-pznzci7v] li[data-astro-cid-pznzci7v]:nth-child(2n){padding-left:0}.cs__fine[data-astro-cid-pznzci7v]{grid-column:1}}@media (width<=560px){.cs__next[data-astro-cid-pznzci7v]{grid-template-columns:1fr}.pn--next[data-astro-cid-pznzci7v]{border-left:0;border-top:1px solid var(--rule)}}
