.vybe-hardware{--lapsed: #a8a8a3;background:var(--ground);color:var(--ink)}.vybe-hardware h1,.vybe-hardware h2,.vybe-hardware h3{font-family:var(--f-serif);font-weight:500;text-transform:none;letter-spacing:-.03em;color:var(--ink)}.vybe-hardware .hw-hero{padding-block:clamp(56px,9vw,132px) clamp(32px,5vw,64px)}.vybe-hardware .hw-hero h1{font-size:clamp(42px,7.2vw,108px);line-height:.9}.vybe-hardware .hw-hero h1 .hw-line-2{display:block;margin-left:clamp(0px,8vw,128px)}.vybe-hardware .hw-lede{margin-top:clamp(24px,3.4vw,44px);max-width:62ch;font-size:clamp(17px,1.45vw,21px);line-height:1.62;color:var(--muted)}.vybe-hardware .hw-trace-full{margin-top:clamp(36px,6vw,88px);width:100%;overflow:hidden}.vybe-hardware .hw-trace-full svg{display:block;width:100%;height:clamp(90px,13vw,190px)}.vybe-hardware .hw-trace-line{fill:none;stroke:var(--jade-fill);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.vybe-hardware .hw-draw{stroke-dasharray:var(--len, 4000);stroke-dashoffset:var(--len, 4000);animation:hw-draw 2.4s cubic-bezier(.22,1,.36,1) forwards}@keyframes hw-draw{to{stroke-dashoffset:0}}@media(prefers-reduced-motion:reduce){.vybe-hardware .hw-draw{animation:none;stroke-dashoffset:0}}.vybe-hardware .hw-status{display:flex;justify-content:space-between;gap:8px;margin:8px auto 0;padding-inline:var(--gutter);max-width:1360px;list-style:none}.vybe-hardware .hw-status li{font-family:var(--f-mono);font-size:10px;letter-spacing:.08em;color:color-mix(in srgb,var(--jade-fill) 62%,transparent);white-space:nowrap}@media(max-width:640px){.vybe-hardware .hw-status{justify-content:flex-start;gap:18px}}.vybe-hardware .hw-axis{display:flex;justify-content:space-between;border-top:1px solid var(--rule);margin-top:14px;padding-top:10px;font-family:var(--f-mono);font-size:11px;letter-spacing:.04em;color:var(--muted)}.vybe-hardware .hw-split{padding-block:clamp(48px,7vw,104px);border-top:1px solid var(--ink)}.vybe-hardware .hw-split-head{max-width:34ch;font-size:clamp(26px,3.4vw,46px);line-height:1.12}.vybe-hardware .hw-compare{margin-top:clamp(32px,5vw,64px);display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,72px)}@media(max-width:760px){.vybe-hardware .hw-compare{grid-template-columns:1fr;gap:40px}}.vybe-hardware .hw-col h3{font-size:clamp(20px,2vw,27px);margin-bottom:4px}.vybe-hardware .hw-col p{color:var(--muted);line-height:1.6;max-width:44ch;margin-top:10px}.vybe-hardware .hw-col svg{display:block;width:100%;height:clamp(64px,8vw,104px);margin-block:18px}.vybe-hardware .hw-col-lapsed .hw-trace-line{stroke:var(--lapsed)}.vybe-hardware .hw-col-lapsed h3{color:var(--lapsed)}.vybe-hardware .hw-devices{padding-block:clamp(48px,7vw,104px);border-top:1px solid var(--ink)}.vybe-hardware .hw-ledger{margin-top:clamp(28px,4vw,52px);width:100%;border-collapse:collapse;text-align:left}.vybe-hardware .hw-ledger th,.vybe-hardware .hw-ledger td{padding-block:clamp(14px,1.8vw,22px);border-bottom:1px solid var(--rule);vertical-align:baseline}.vybe-hardware .hw-ledger thead th{border-bottom:1px solid var(--ink);font-family:var(--f-serif);font-weight:500;font-size:clamp(22px,2.4vw,34px);letter-spacing:-.02em;text-transform:none}.vybe-hardware .hw-ledger tbody th{font-family:var(--f-sans);font-weight:500;font-size:15px;color:var(--muted);width:30%}.vybe-hardware .hw-ledger td{font-size:15px;line-height:1.5;color:var(--ink);width:35%;padding-right:clamp(12px,2vw,32px)}.vybe-hardware .hw-ledger .hw-value{font-family:var(--f-mono);font-size:14px;letter-spacing:.01em}@media(max-width:700px){.vybe-hardware .hw-ledger thead{display:none}.vybe-hardware .hw-ledger tbody th,.vybe-hardware .hw-ledger tbody td{display:block;width:auto;border-bottom:0;padding-block:3px}.vybe-hardware .hw-ledger tbody tr{display:block;border-bottom:1px solid var(--rule);padding-block:14px}.vybe-hardware .hw-ledger tbody td:before{content:attr(data-device) " — ";color:var(--muted);font-family:var(--f-sans);font-size:13px}}.vybe-hardware .hw-signals{padding-block:clamp(48px,7vw,104px);border-top:1px solid var(--ink)}.vybe-hardware .hw-signal-row{display:grid;grid-template-columns:minmax(0,15ch) minmax(0,1fr) minmax(0,40ch);gap:clamp(16px,3vw,44px);align-items:center;padding-block:clamp(14px,2vw,24px);border-bottom:1px solid var(--rule)}.vybe-hardware .hw-signal-row:first-of-type{border-top:1px solid var(--rule)}.vybe-hardware .hw-signal-row h3{font-size:clamp(19px,1.9vw,25px)}.vybe-hardware .hw-signal-row p{color:var(--muted);font-size:15px;line-height:1.55;margin:0}.vybe-hardware .hw-signal-row svg{display:block;width:100%;height:40px}.vybe-hardware .hw-signal-row .hw-trace-line{stroke-width:1.5}@media(max-width:860px){.vybe-hardware .hw-signal-row{grid-template-columns:1fr;gap:8px}.vybe-hardware .hw-signal-row svg{height:30px}}.vybe-hardware .hw-argument{padding-block:clamp(48px,7vw,104px);border-top:1px solid var(--ink)}.vybe-hardware .hw-argument-grid{display:grid;grid-template-columns:minmax(0,30ch) minmax(0,1fr);gap:clamp(24px,5vw,80px);align-items:start}@media(max-width:860px){.vybe-hardware .hw-argument-grid{grid-template-columns:1fr;gap:20px}}.vybe-hardware .hw-argument h2{font-size:clamp(28px,3.6vw,52px);line-height:1.06}.vybe-hardware .hw-prose p{font-family:var(--f-serif);font-size:clamp(17px,1.35vw,20px);line-height:1.72;max-width:74ch;color:var(--ink)}.vybe-hardware .hw-prose p+p{margin-top:1.1em}.vybe-hardware .hw-close{padding-block:clamp(52px,8vw,116px);border-top:1px solid var(--ink)}.vybe-hardware .hw-close h2{font-size:clamp(30px,4.6vw,66px);line-height:1.02;max-width:18ch}.vybe-hardware .hw-close p{margin-top:18px;max-width:52ch;color:var(--muted);line-height:1.6}.vybe-hardware .hw-close-actions{margin-top:clamp(26px,3.4vw,40px);display:flex;flex-wrap:wrap;gap:14px}.vybe-hardware .hw-related{margin-top:clamp(44px,6vw,80px);border-top:1px solid var(--rule)}.vybe-hardware .hw-related a{display:grid;grid-template-columns:minmax(0,26ch) minmax(0,1fr);gap:clamp(12px,3vw,40px);padding-block:18px;border-bottom:1px solid var(--rule);text-decoration:none;color:var(--ink);transition:background-color .2s ease,padding-inline .2s ease}.vybe-hardware .hw-related a:hover{background:var(--accent-soft);padding-inline:12px}.vybe-hardware .hw-related strong{font-family:var(--f-serif);font-weight:500;font-size:clamp(17px,1.6vw,21px)}.vybe-hardware .hw-related span{color:var(--muted);font-size:15px;line-height:1.5}@media(max-width:700px){.vybe-hardware .hw-related a{grid-template-columns:1fr;gap:4px}}
