@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-mono-400.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-mono-500.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-sans-400.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-sans-500.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/ibm-plex-sans-600.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/ibm-plex-sans-700.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--bench:#e7e4dc;--panel:#f6f4ef;--face:#fbfaf7;--rule:#d8d4ca;--edge:#bdb8ab;--ink:#1d1d1b;--ink-2:#4a4842;--signal:#ff5a1f;--signal-ink:#c2410c;--signal-wash:#fff4ee;--ok:#1b7a45;--sans:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--r-panel:10px;--r-btn:8px;--r-key:6px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bench);color:var(--ink);font:400 16px/1.6 var(--sans);-webkit-font-smoothing:antialiased;margin:0}main{min-height:60vh;display:block}a{color:var(--ink);text-underline-offset:3px;text-decoration-thickness:1px}@media (hover:hover) and (pointer:fine){a:hover{text-decoration-thickness:2px}}:focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-radius:4px}h1,h2,h3{text-wrap:balance;margin:0;line-height:1.15}p,li{text-wrap:pretty}.num{font-family:var(--mono);font-variant-numeric:tabular-nums}.wrap{width:min(1120px,100% - 40px);margin:0 auto}.site-header{padding:18px 0 8px}.site-header-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.brand{letter-spacing:-.01em;align-items:center;gap:10px;font-size:19px;font-weight:700;text-decoration:none;display:inline-flex}.brand-mark{background:var(--signal);border-radius:2px;width:12px;height:12px}.site-nav{flex-wrap:wrap;gap:4px 20px;font-size:15px;display:flex}.site-nav a{color:var(--ink-2);padding:8px 0;text-decoration:none}@media (hover:hover) and (pointer:fine){.site-nav a:hover{color:var(--ink)}}.page-head{max-width:760px;padding:28px 0 22px}.page-head h1{letter-spacing:-.02em;font-size:clamp(32px,5vw,46px);font-weight:700}.lead{color:var(--ink-2);max-width:62ch;margin:12px 0 0;font-size:18px}.crumbs{font:400 13px/1.4 var(--mono);letter-spacing:.16px;color:var(--ink-2);margin:0 0 10px}.crumbs a{color:var(--ink-2)}.panel{background:var(--panel);border:1px solid var(--edge);border-radius:var(--r-panel)}.cta,.cta-quiet{border-radius:var(--r-btn);min-height:44px;font:600 15px/1.2 var(--sans);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;padding:0 20px;text-decoration:none;transition:background-color .12s ease-out,transform .12s ease-out;display:inline-flex}.cta{background:var(--ink);color:var(--panel);border:1px solid var(--ink)}.cta-quiet{background:var(--panel);color:var(--ink);border:1px solid var(--edge)}.cta:active,.cta-quiet:active{transform:translateY(1px)}@media (hover:hover) and (pointer:fine){.cta:hover{background:#33322e}.cta-quiet:hover{background:var(--face)}}.cta:disabled,.cta-quiet:disabled{cursor:not-allowed;opacity:.5;transform:none}.cta:focus-visible,.cta-quiet:focus-visible{outline-offset:3px}.instrument{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:16px;display:grid}.instrument-gauges{grid-template-rows:auto 1fr;gap:12px;min-height:340px;padding:16px;display:grid}.spec{font:400 12px/1.4 var(--mono);letter-spacing:.16px;color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:10px 16px;display:flex}.spec-name{color:var(--ink);font-weight:500}.spec-live,.spec-wait{align-items:center;gap:6px;margin-left:auto;display:inline-flex}.spec-live{color:var(--ok)}.spec-live i{background:var(--ok);border-radius:50%;width:8px;height:8px}.spec-switch{gap:4px;display:inline-flex}.spec-switch button{border:1px solid var(--edge);background:var(--face);border-radius:var(--r-key);min-width:32px;min-height:32px;font:inherit;cursor:pointer}.spec-switch button[aria-selected=true]{background:var(--ink);color:var(--panel);border-color:var(--ink)}.spec-warn{color:var(--ink-2);margin:0;font-size:14px}.gauges{grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:16px;display:grid}.gauge{justify-items:center;gap:8px;min-width:0;margin:0;display:grid}.gauge svg{width:min(100%,260px);height:auto;display:block;overflow:visible}.gauge-face{fill:var(--face);stroke:var(--edge);stroke-width:.012px}.gauge-tick{stroke:var(--edge);stroke-width:.014px}.gauge-edge{fill:none;stroke:var(--rule);stroke-width:.01px}.gauge-axis{stroke:var(--rule);stroke-width:.008px}.gauge-deadzone{fill:none;stroke:var(--signal);stroke-width:.012px;stroke-dasharray:.04 .03}.gauge-trail{fill:none;stroke:var(--signal);stroke-width:.03px;stroke-linecap:round;stroke-linejoin:round;opacity:.28}.gauge-dot{fill:var(--signal);stroke:var(--face);stroke-width:.025px}.gauge figcaption{text-align:center;justify-items:center;gap:2px;display:grid}.gauge-label{font-size:14px;font-weight:600}.gauge-num{font:400 12px/1.4 var(--mono);letter-spacing:.16px;color:var(--ink-2);font-variant-numeric:tabular-nums;white-space:pre}.tape{align-content:start;gap:4px;min-width:0;display:grid}.readout{border-bottom:1px solid var(--rule);grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:12px;padding:10px 2px;display:grid}.readout-label{color:var(--ink-2);font-size:14px}.readout-value{font-size:26px;font-weight:500;line-height:1.1}.readout[data-fault] .readout-value{color:var(--signal-ink)}.readout.trigger{grid-template-columns:minmax(0,1fr) minmax(60px,120px) 4.2ch;align-items:center}.readout.trigger .readout-value{text-align:right;font-size:18px}.trigger-bar{background:var(--rule);border-radius:4px;height:8px;overflow:hidden}.trigger-bar span{background:var(--ink);transform-origin:0;height:100%;display:block}.hint{border:1.5px solid var(--edge);border-radius:var(--r-btn);background:var(--face);margin-top:10px;padding:12px 14px;font-size:15px;line-height:1.5}.hint p{margin:0}.hint b{font-weight:600}.hint[data-fault]{border-color:var(--signal);background:var(--signal-wash)}.tape .cta{margin-top:10px}.keys{background:var(--panel);border:1px solid var(--edge);border-radius:var(--r-panel);flex-wrap:wrap;grid-column:1/-1;gap:12px 20px;padding:14px 16px;display:flex}.keys-empty{color:var(--ink-2);margin:0;font-size:14px}.key-group{gap:6px;min-width:0;display:grid}.key-group-title{font:400 11px/1.2 var(--mono);letter-spacing:.16px;text-transform:uppercase;color:var(--ink-2)}.key-row{flex-wrap:wrap;gap:6px;display:flex}.key{border:1px solid var(--edge);border-radius:var(--r-key);background:var(--face);min-width:44px;height:36px;font:500 13px/1 var(--mono);white-space:nowrap;place-items:center;padding:0 10px;display:inline-grid;position:relative}.key[data-glyph]{min-width:40px;font:400 17px/1 Segoe UI Symbol,Apple Symbols,system-ui,sans-serif}.key[data-done]:after{content:"";background:var(--signal);border-radius:50%;width:5px;height:5px;position:absolute;top:4px;right:4px}.key[data-on]{background:var(--ink);color:var(--panel);border-color:var(--ink)}.extra-axes{color:var(--ink-2);grid-column:1/-1;margin:0;font-size:13px}.connect{align-self:center;max-width:52ch;padding:8px 4px}.connect-title{letter-spacing:-.01em;margin:0 0 4px;font-size:22px;font-weight:700;line-height:1.25}.connect-why{color:var(--ink-2);margin:0 0 12px}.connect-steps{gap:6px;margin:0 0 12px;padding-left:20px;display:grid}.connect-note{color:var(--ink-2);margin:0;font-size:14px}.connect-error .connect-title{color:var(--signal-ink)}.block{margin-top:48px}.block>h2,.faq>h2{letter-spacing:-.01em;margin-bottom:14px;font-size:26px;font-weight:700}.drift{background:var(--panel);border:1px solid var(--edge);border-radius:var(--r-panel);padding:20px;scroll-margin-top:16px}.drift-start{justify-items:start;gap:12px;display:grid}.drift-lead{max-width:60ch;margin:0;font-size:17px}.drift-hint{color:var(--ink-2);margin:0;font-size:14px}.drift-error{color:var(--signal-ink);margin:0;font-weight:600}.drift-step{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 24px;display:grid}.drift-step p{margin:0}.drift-step-title{grid-column:1;font-size:20px;font-weight:700}.drift-step p:nth-child(2){color:var(--ink-2);grid-column:1}.drift-count{grid-area:1/2/span 2;font-size:64px;font-weight:500;line-height:1}.drift-result{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.drift-actions{flex-wrap:wrap;grid-column:1/-1;gap:10px;display:flex}.verdict{background:var(--face);border:1.5px solid var(--edge);border-radius:var(--r-btn);align-content:start;gap:10px;padding:16px;display:grid}.verdict[data-level=mild],.verdict[data-level=noticeable]{border-color:var(--signal);background:var(--signal-wash)}.verdict[data-level=severe]{border-color:var(--signal-ink);background:var(--signal-wash)}.verdict-title{margin:0;font-size:18px;font-weight:700}.verdict[data-level=none] .verdict-title:before{content:"";background:var(--ok);vertical-align:2px;border-radius:50%;width:8px;height:8px;margin-right:8px;display:inline-block}.verdict-nums{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;display:grid}.verdict-nums div{border-top:1px solid var(--rule);gap:2px;padding-top:6px;display:grid}.verdict-nums dt{color:var(--ink-2);font-size:12px;line-height:1.3}.verdict-nums dd{margin:0;font-size:22px;font-weight:500}.verdict:not([data-level=none]) .verdict-nums div:nth-child(2) dd{color:var(--signal-ink)}.verdict-advice,.verdict-note{margin:0;font-size:15px;line-height:1.5}.verdict-note{color:var(--ink-2);font-size:14px}.vibe{background:var(--panel);border:1px solid var(--edge);border-radius:var(--r-panel);gap:14px;padding:20px;display:grid}.vibe-hint,.vibe-status{margin:0}.vibe-hint{color:var(--ink-2)}.vibe-status{font-weight:500}.vibe-buttons{flex-wrap:wrap;gap:10px;display:flex}.link-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px;margin:0;padding:0;list-style:none;display:grid}.link-list li{border-bottom:1px solid var(--rule);gap:2px;padding:12px 0;display:grid}.link-list a{font-weight:600}.link-list span{color:var(--ink-2);font-size:14px}.prose{max-width:68ch}.prose p,.prose li{font-size:17px}.prose h2{margin:32px 0 10px;font-size:24px}.prose ul,.prose ol{padding-left:22px}.prose li+li{margin-top:6px}.page-narrow{padding:32px 0 16px}.page-narrow h1{letter-spacing:-.02em;margin-bottom:14px;font-size:clamp(30px,4.5vw,40px)}.faq{max-width:76ch;margin-top:48px}.faq details{border-bottom:1px solid var(--rule)}.faq summary{cursor:pointer;padding:14px 28px 14px 0;font-size:17px;font-weight:600;list-style:none;position:relative}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";font:400 20px/1 var(--mono);color:var(--ink-2);position:absolute;top:12px;right:4px}.faq details[open] summary:after{content:"−"}.faq details p{color:var(--ink-2);max-width:68ch;margin:0 0 16px;font-size:16px}.guide-test{border:1px solid var(--edge);border-radius:var(--r-btn);background:var(--panel);margin:14px 0 0;padding:10px 14px;font-size:15px;display:inline-block}.steps{counter-reset:step;max-width:76ch;margin:8px 0 0;padding:0;list-style:none}.steps>li{counter-increment:step;border-top:1px solid var(--rule);grid-template-columns:44px minmax(0,1fr);gap:4px 14px;padding:20px 0;display:grid}.steps>li:before{content:counter(step);border:1px solid var(--edge);border-radius:var(--r-key);background:var(--face);width:36px;height:36px;font:500 15px/1 var(--mono);grid-row:1/span 2;place-items:center;display:grid}.steps h2{padding-top:5px;font-size:21px;font-weight:700}.steps .prose p{margin:6px 0 0}.source-note{color:var(--ink-2);max-width:76ch;margin:32px 0 0;font-size:14px}.article h2:first-child{margin-top:8px}.table-scroll{border:1px solid var(--edge);border-radius:var(--r-panel);background:var(--panel);margin:12px 0 8px;overflow-x:auto}table.compare{border-collapse:collapse;width:100%;min-width:560px;font-size:15px;line-height:1.45}table.compare th,table.compare td{text-align:left;vertical-align:top;border-bottom:1px solid var(--rule);padding:10px 12px}table.compare tr:last-child td{border-bottom:0}table.compare th{font:500 12px/1.4 var(--mono);letter-spacing:.16px;text-transform:uppercase;color:var(--ink-2);background:var(--face)}table.compare td:first-child{font-weight:600}@media (max-width:640px){.table-scroll{background:0 0;border:0;overflow:visible}table.compare{min-width:0}table.compare thead{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}table.compare,table.compare tbody,table.compare tr,table.compare td{display:block}table.compare tr{background:var(--panel);border:1px solid var(--edge);border-radius:var(--r-panel);margin-bottom:10px;padding:6px 14px}table.compare td{border-bottom:1px solid var(--rule);padding:8px 0}table.compare tr td:last-child{border-bottom:0}table.compare td:before{content:attr(data-label);font:500 11px/1.4 var(--mono);letter-spacing:.16px;text-transform:uppercase;color:var(--ink-2);margin-bottom:2px;display:block}table.compare td:first-child{font-size:17px}}.sources{max-width:76ch;margin-top:40px}.sources h2{margin-bottom:8px;font-size:20px}.sources ul{gap:4px;margin:0;padding-left:20px;font-size:15px;display:grid}.sources a{color:var(--ink-2)}.check{border:1.5px solid var(--edge);border-radius:var(--r-btn);background:var(--panel);gap:4px;max-width:76ch;margin:0 0 8px;padding:14px 16px;display:grid}.check p{margin:0;font-size:15px}.check-title{align-items:center;gap:8px;font-weight:600;display:flex}.check-dot{background:var(--edge);border-radius:50%;flex:none;width:10px;height:10px}.check[data-ok]{border-color:var(--ok)}.check[data-ok] .check-dot{background:var(--ok)}.check-nums{letter-spacing:.16px;color:var(--ink-2);font-size:13px!important}.site-footer{border-top:1px solid var(--edge);background:var(--panel);margin-top:72px;padding:32px 0 40px}.footer-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.footer-grid nav{align-content:start;gap:6px;font-size:15px;display:grid}.footer-title{font:500 12px/1.4 var(--mono);letter-spacing:.16px;text-transform:uppercase;color:var(--ink-2);margin-bottom:4px}.footer-grid nav a{color:var(--ink);text-decoration:none}.footer-title-gap{margin-top:14px}@media (hover:hover) and (pointer:fine){.footer-grid nav a:hover{text-decoration:underline}}.footer-note{color:var(--ink-2);grid-column:1/-1;max-width:90ch;margin:8px 0 0;font-size:13px}@media (max-width:860px){.instrument,.drift-result{grid-template-columns:minmax(0,1fr)}}@media (max-width:640px){.wrap{width:min(1120px,100% - 28px)}.site-nav{gap:2px 16px;font-size:14px}.page-head{padding:18px 0 16px}.lead{font-size:16px}.instrument-gauges{min-height:0;padding:14px}.gauges{gap:10px}.readout-value{font-size:22px}.drift-count{font-size:48px}.verdict-nums dd{font-size:19px}.link-list{grid-template-columns:minmax(0,1fr)}.footer-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.tape .cta{width:100%}.spec-wait{display:none}}@media (max-width:340px){.gauges{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.gauge-trail{display:none}.cta,.cta-quiet{transition:none}}
