@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/space-grotesk-vietnamese-wght-normal.D0rl6rjA.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/space-grotesk-latin-ext-wght-normal.D9tNdqV9.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/space-grotesk-latin-wght-normal.BhU9QXUp.woff2)format("woff2-variations");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{color-scheme:light;--bg:#fff;--surface:#fafbfa;--text:#17201b;--muted:#606a64;--line:#dce2df;--soft:#f0f3f1;--green:#326129;--button:#b6e599;--button-text:#172810;--purple:#756093;--ring:#78877d;--shadow:none;font-synthesis:none;font-family:Space Grotesk Variable,sans-serif}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg:#090b0b;--surface:#101312;--text:#e8ede9;--muted:#a1aaa4;--line:#2c332f;--soft:#191e1b;--green:#9edc78;--button:#9edc78;--button-text:#172810;--purple:#b3a0ce;--ring:#65756a;--shadow:none}}:root[data-theme=dark]{color-scheme:dark;--bg:#090b0b;--surface:#101312;--text:#e8ede9;--muted:#a1aaa4;--line:#2c332f;--soft:#191e1b;--green:#9edc78;--button:#9edc78;--button-text:#172810;--purple:#b3a0ce;--ring:#65756a;--shadow:none}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;line-height:1.6}a{color:inherit;text-underline-offset:4px}button,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid var(--purple);outline-offset:4px}button{min-height:44px}p,h1,h2,h3{margin-top:0}h1,h2,h3{font-weight:550;line-height:1.2}h1{letter-spacing:-.065em;margin-bottom:22px;font-size:clamp(2.8rem,5.5vw,4.6rem)}h2{letter-spacing:-.035em;font-size:1.4rem}h3{font-size:1rem}.wrap{max-width:1180px;margin:auto;padding-inline:32px}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;height:100px;display:flex}.wordmark{letter-spacing:-.06em;white-space:nowrap;align-items:center;font-size:1.35rem;font-weight:650;text-decoration:none;display:flex}.wordmark svg{color:var(--green);margin-right:10px}.domain{color:var(--muted);font-weight:400}nav{align-items:center;gap:30px;display:flex}nav a{font-size:.85rem;text-decoration:none}nav a:hover{color:var(--green)}.theme{color:var(--text);background:0 0;border:0;align-items:center;gap:8px;padding:6px;font-size:1.4rem;display:flex}.theme span{font-size:.8rem}.intro{grid-template-columns:1fr 1fr;column-gap:80px;padding:54px 0 34px;display:grid}.eyebrow{letter-spacing:.16em;color:var(--muted);font-size:.69rem;font-weight:600}.intro .eyebrow{grid-column:1/-1;margin-bottom:20px}.intro .lede{max-width:440px;color:var(--muted);align-self:end;margin-bottom:27px;font-size:1.05rem}.instrument{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:12px;overflow:hidden}.toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding:24px 28px;display:flex}.connection{align-items:center;gap:13px;min-width:0;display:flex}.connection strong{font-size:.95rem;font-weight:550}.connection p{color:var(--muted);margin:3px 0 0;font-size:.8rem}.status-dot{background:var(--muted);border-radius:50%;flex-shrink:0;width:8px;height:8px}.status-dot.connected{background:var(--green)}.primary,.secondary{border:1px solid var(--line);white-space:nowrap;border-radius:5px;justify-content:center;align-items:center;gap:18px;padding:11px 17px;font-size:.81rem;font-weight:550;text-decoration:none;display:inline-flex}.secondary{background:var(--surface);color:var(--text)}.secondary:hover:not(:disabled){background:var(--soft)}.primary{background:var(--button);border-color:var(--button);color:var(--button-text)}.primary:hover:not(:disabled){filter:brightness(.95)}.device-row{background:var(--soft);justify-content:space-between;align-items:center;gap:20px;padding:16px 28px;font-size:.75rem;display:flex}.device-row label{align-items:center;gap:12px;min-width:0;display:flex}.device-row select{width:100%;min-width:100px;max-width:430px}.device-row select,.axis-fields select{color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:4px;min-height:44px;padding:8px;font-size:.75rem}.muted{color:var(--muted)}.plots{grid-template-columns:1fr 1fr;display:grid}.stick{min-width:0;padding:23px 34px 26px}.stick+.stick{border-left:1px solid var(--line)}.stick-heading{justify-content:space-between;align-items:center;display:flex}.stick-heading h2{margin:0;font-size:.95rem}.axis-caption{color:var(--muted);font-size:.68rem}.plot{aspect-ratio:1;max-width:300px;margin:10px auto 12px;position:relative}.plot svg{width:100%;height:100%;overflow:visible}.outer-ring{stroke:var(--ring);stroke-width:1.25px;fill:var(--soft)}.inner-ring{stroke:var(--line);stroke-dasharray:3 5;fill:none}.crosshair{stroke:var(--line);stroke-width:1px}.plot text{fill:var(--muted);font-size:9px}.point{fill:var(--green);stroke:var(--surface);stroke-width:2px}.origin{fill:var(--muted)}.trail{fill:none;stroke:var(--purple);stroke-width:1.5px;opacity:.6}.plot-empty{text-align:center;color:var(--muted);font-size:.72rem;position:absolute;top:65%;left:0;right:0}.readings{grid-template-columns:1fr 1fr 1.2fr;gap:10px;display:grid}.readings span{color:var(--muted);font-size:.68rem;display:block}output{font-variant-numeric:tabular-nums;letter-spacing:-.04em;font-size:1.3rem;display:block}output.offset{color:var(--green)}.test-controls{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:22px;padding:23px 28px;display:flex}.test-controls h2{margin-bottom:6px;font-size:1rem}.test-controls p{color:var(--muted);margin:0;font-size:.76rem}.actions{flex-wrap:wrap;gap:9px;display:flex}.session{background:var(--soft);padding:15px 28px 20px;font-size:.72rem}.session>div{justify-content:space-between;gap:12px;min-height:24px;display:flex}#timer{font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--purple)}progress{appearance:none;background:var(--line);border:0;width:100%;height:3px;margin-top:9px;display:block}progress::-webkit-progress-bar{background:var(--line)}progress::-webkit-progress-value{background:var(--green)}progress::-moz-progress-bar{background:var(--green)}.manual{border-bottom:1px solid var(--line);padding:18px 28px;font-size:.8rem}.axis-fields{flex-wrap:wrap;gap:16px;display:flex}.axis-fields label{align-items:center;gap:8px;display:flex}.results{background:var(--soft);border:1px solid var(--line);border-radius:8px;margin-top:30px;padding:28px}.section-head{justify-content:space-between;align-items:center;gap:20px;display:flex}.result-grid{grid-template-columns:1fr 1fr;gap:30px;margin:18px 0;display:grid}.result-grid dl{grid-template-columns:1fr auto;margin:0;display:grid}.result-grid dt,.result-grid dd{border-bottom:1px solid var(--line);margin:0;padding:9px 0;font-size:.85rem}.result-grid dd{font-variant-numeric:tabular-nums}.results>p{font-size:.8rem}.explanation{grid-template-columns:1fr 1fr;gap:85px;padding:65px 0 45px;display:grid}.explanation p{color:var(--muted);font-size:.87rem}.explanation h2{font-size:1.5rem}.steps ol{margin:23px 0 0;padding:0;list-style:none}.steps li{gap:20px;margin-bottom:19px;display:flex}.steps li>span{color:var(--purple);padding-top:2px;font-size:.75rem}.steps h3{margin-bottom:6px}.steps p{margin-bottom:0}.bottom-note{border-top:1px solid var(--line);padding:30px 0 45px}.bottom-note h2{font-size:1.2rem}.bottom-note p{color:var(--muted);max-width:700px;font-size:.86rem}.bottom-note a{color:var(--green);font-size:.85rem}footer{border-top:1px solid var(--line);justify-content:space-between;gap:20px;font-size:.7rem;display:flex;padding-top:25px!important;padding-bottom:30px!important}footer div{gap:24px;display:flex}.prose{max-width:740px;min-height:65vh;padding-top:60px;padding-bottom:70px}.prose h1{font-size:2.7rem}.prose h2{margin-top:30px}.prose p,.prose li{color:var(--muted)}.prose li{margin-bottom:12px}.notice{padding:20px}.skip{background:var(--surface);z-index:5;padding:12px;position:absolute;top:-100px;left:20px}.skip:focus{top:10px}[hidden]{display:none!important}@media (width<=900px){.intro{column-gap:35px}.test-controls{flex-direction:column;align-items:start}.test-controls .actions{width:100%}.device-row{flex-direction:column;align-items:start;gap:8px}.explanation{gap:35px}.stick{padding-inline:22px}}@media (width<=600px){.wrap{padding-inline:18px}.site-header{gap:10px;height:78px}.wordmark{font-size:1.1rem}.wordmark svg{width:22px;margin-right:7px}.domain,.theme span{display:none}nav{gap:15px}nav a{font-size:.75rem}.intro{padding-top:35px;display:block}.intro .lede{max-width:340px;margin-bottom:0;font-size:.9rem}.intro h1{font-size:3rem}.toolbar{flex-direction:column;align-items:start;gap:12px;padding:18px}.toolbar button{width:100%}.device-row{padding:14px 18px}.device-row label{flex-direction:column;align-items:start;gap:5px;width:100%}.plots{grid-template-columns:1fr}.stick{padding:22px}.stick+.stick{border-left:0;border-top:1px solid var(--line)}.plot{max-width:260px}.test-controls{padding:20px 18px}.actions{width:100%}.actions button{white-space:normal;flex:1}.session{padding:16px 18px}.explanation{grid-template-columns:1fr;gap:25px;padding-top:40px}.section-head{flex-direction:column;align-items:start}.results{padding:20px}.result-grid{grid-template-columns:1fr;gap:15px}footer{flex-direction:column;gap:12px}.manual{padding:18px}.axis-fields{grid-template-columns:1fr 1fr;display:grid}.axis-fields label{flex-direction:column;align-items:start}.prose{padding-top:40px}.prose h1{font-size:2.2rem}}@media (prefers-reduced-motion:reduce){.trail{display:none}}.theme{flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;padding:0;line-height:1;display:inline-flex}.theme svg{flex-shrink:0;display:block}.theme span{display:none}.site-header nav{align-items:center}.simple-intro{padding:38px 0 27px;display:block}.simple-intro h1{letter-spacing:-.045em;margin-bottom:12px;font-size:clamp(2rem,4vw,3rem)}.simple-intro .lede{max-width:740px;margin:0;font-size:.95rem}.instrument{box-shadow:none;border-radius:7px}.related-tests{border-top:1px solid var(--line);padding:25px 0 32px}.related-tests h2{font-size:1.1rem}.related-tests>div{flex-wrap:wrap;gap:14px 25px;display:flex}.related-tests a{color:var(--green);font-size:.85rem}footer>div{flex-wrap:wrap;gap:12px 20px}.input-body{padding:25px 28px}.input-body h2{margin:0;font-size:1.1rem}.small-copy{font-size:.8rem}.button-grid{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));margin-top:20px;display:grid}.input-button{border-right:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:1fr auto;gap:5px 10px;min-width:0;padding:14px;font-size:.75rem;display:grid}.input-button strong{overflow-wrap:anywhere;grid-column:1/-1;min-height:24px;font-weight:550}.button-index,.button-history{color:var(--muted);font-size:.65rem}.button-index{grid-column:1/-1}.button-value{font-variant-numeric:tabular-nums}.button-history{grid-column:1/-1}.is-pressed{background:var(--soft);box-shadow:inset 3px 0 var(--green)}.is-pressed strong{color:var(--green)}.input-body .axes-title{margin-top:30px}.axes-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin:18px 0 24px;display:grid}.axes-grid>div{border-top:1px solid var(--line);padding-top:10px}.axes-grid span{color:var(--muted);font-size:.72rem}.steps li>p{margin:0}.explanation{padding-top:40px}.input-tester .section-head{align-items:center}@media (width<=700px){.button-grid,.axes-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.input-body{padding:20px 18px}.input-tester .section-head{flex-direction:column;align-items:start}.simple-intro h1{font-size:2.2rem}.site-header nav{gap:12px}.site-header nav a{font-size:.72rem}.wordmark{font-size:1.05rem}}.drift-faq{border-top:1px solid var(--line);max-width:780px;padding:28px 0 48px}.drift-faq h2{font-size:1.5rem}.drift-faq details{border-bottom:1px solid var(--line)}.drift-faq summary{cursor:pointer;justify-content:space-between;align-items:center;gap:18px;min-height:56px;padding:15px 0;font-size:.95rem;font-weight:550;list-style:none;display:flex}.drift-faq summary::-webkit-details-marker{display:none}.drift-faq summary:focus-visible{outline:3px solid var(--purple);outline-offset:3px}.drift-faq summary span{color:var(--green);flex-shrink:0;font-size:1.25rem}.drift-faq details[open] summary span{transform:rotate(45deg)}.drift-faq p{color:var(--muted);margin:0;padding:0 0 22px;font-size:.9rem;line-height:1.8}.test-menu{position:relative}.test-menu summary{cursor:pointer;align-items:center;gap:7px;min-height:44px;font-size:.85rem;list-style:none;display:flex}.test-menu summary::-webkit-details-marker{display:none}.test-menu summary:focus-visible{outline:3px solid var(--purple);outline-offset:3px}.test-menu[open] summary svg{transform:rotate(180deg)}.test-menu-links{z-index:20;background:var(--surface);border:1px solid var(--line);border-radius:6px;width:250px;max-width:calc(100vw - 32px);padding:7px;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 8px 24px #0002}.site-header .test-menu-links a{white-space:normal;align-items:center;min-height:44px;padding:10px 13px;font-size:.85rem;display:flex}.test-menu-links a:hover{background:var(--soft)}.seo-guide{border-top:1px solid var(--line);max-width:780px;padding:25px 0 50px}.seo-guide h2{font-size:1.6rem}.seo-guide h3{margin-top:28px;font-size:1.12rem}.seo-guide p{color:var(--muted);font-size:.92rem;line-height:1.85}.seo-guide a{color:var(--green)}.calibration-panel{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:30px;padding:28px 0;scroll-margin-top:20px}.calibration-panel h2{font-size:1.25rem}.calibration-panel p{color:var(--muted);max-width:780px;font-size:.85rem}.calibration-controls{flex-wrap:wrap;align-items:center;gap:16px;margin:20px 0;display:flex}.calibration-controls label{grid-template-columns:1fr auto;gap:5px 16px;min-width:220px;font-size:.85rem;display:grid}.calibration-controls output{font-size:.9rem}.calibration-controls input{width:100%;min-height:44px;accent-color:var(--green);grid-column:1/-1;margin:0}.calibration-controls input:focus-visible{outline:3px solid var(--purple);outline-offset:2px}#preview-values{font-variant-numeric:tabular-nums;overflow-wrap:anywhere}@media (width<=600px){.test-menu summary{padding-inline:6px;font-size:.78rem}.test-menu-links{overscroll-behavior:contain;max-height:70vh;right:-44px;overflow-y:auto}.site-header .test-menu-links a{min-height:48px;padding:12px;font-size:.85rem}.calibration-controls{grid-template-columns:1fr;gap:10px;display:grid}.calibration-controls label{min-width:0;margin-bottom:8px}.calibration-controls button{white-space:normal}.seo-guide h2{font-size:1.3rem}.seo-guide p{font-size:.88rem}.wrap{padding-inline:max(16px, env(safe-area-inset-left))}.site-header{flex-wrap:wrap;gap:0 12px;height:auto;min-height:72px;padding-block:10px}.wordmark{min-height:44px;font-size:1.08rem}.wordmark svg{flex-shrink:0}.site-header nav{gap:6px;margin-left:auto}.site-header nav a{align-items:center;min-height:44px;padding-inline:6px;font-size:.78rem;display:inline-flex}.theme{width:44px;height:44px}.simple-intro{padding:25px 0 22px}.simple-intro h1{overflow-wrap:anywhere;font-size:clamp(1.8rem,7.4vw,2.3rem);line-height:1.15}.simple-intro .lede{max-width:none;font-size:.9rem;line-height:1.65}.instrument{border-radius:6px}.toolbar{gap:14px;padding:16px}.connection{align-items:flex-start;gap:10px;width:100%}.connection .status-dot{margin-top:8px}.connection>div{min-width:0}.connection strong{font-size:.9rem}.connection p{overflow-wrap:anywhere;font-size:.8rem;line-height:1.5}.primary,.secondary{min-height:48px;padding:12px 14px;font-size:.85rem}.device-row{gap:8px;min-width:0;padding:13px 16px}.device-row label{width:100%;min-width:0;font-size:.8rem}.device-row select{text-overflow:ellipsis;width:100%;min-width:0;max-width:100%;min-height:48px;font-size:16px}.device-row>.muted{overflow-wrap:anywhere;font-size:.73rem}.test-controls{border-top:0;gap:15px;padding:18px 16px}.test-controls h2{font-size:1rem}.test-controls p{font-size:.8rem}.test-controls .actions{grid-template-columns:1fr;gap:9px;display:grid}.test-controls button{width:100%}.session{border-bottom:1px solid var(--line);padding:13px 16px 16px;font-size:.78rem}.session>div{flex-wrap:wrap;gap:4px 10px}#session-label{flex:180px}#timer{margin-left:auto}.plots{display:block}.stick{grid-template-columns:minmax(0,1.6fr) minmax(88px,1fr);align-items:center;gap:10px 16px;padding:18px 16px;display:grid}.stick-heading{grid-column:1/-1}.stick-heading h2{font-size:.95rem}.axis-caption{font-size:.72rem}.plot{width:100%;min-width:0;max-width:220px;margin:0 auto}.plot-empty{font-size:.65rem}.readings{flex-direction:column;gap:8px;min-width:0;display:flex}.readings>div{padding-top:6px}.readings span{font-size:.7rem}.readings output{font-size:clamp(1.05rem,4.6vw,1.45rem);line-height:1.35}.manual{padding:16px}.axis-fields{gap:12px}.axis-fields label,.axis-fields select{width:100%;min-width:0}.axis-fields select{min-height:48px;font-size:16px}.results{margin-top:20px;padding:18px 16px}.results h2{font-size:1.3rem}.results .actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.result-grid dl{grid-template-columns:minmax(0,1fr) auto;gap:0 10px}.result-grid dt,.result-grid dd{font-size:.78rem}.results>p{overflow-wrap:anywhere}.explanation{gap:25px;padding:30px 0 18px}.explanation h2{font-size:1.3rem}.explanation p{font-size:.88rem;line-height:1.7}.steps li{gap:13px}.related-tests{padding:23px 0}.related-tests>div{grid-template-columns:1fr;gap:0;display:grid}.related-tests a{border-bottom:1px solid var(--line);align-items:center;min-height:48px;text-decoration:none;display:flex}.related-tests a:last-child{border-bottom:0}.bottom-note{padding:24px 0}.bottom-note a{align-items:center;min-height:48px;display:inline-flex}footer{font-size:.75rem;padding-bottom:max(24px, env(safe-area-inset-bottom))!important}footer>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 12px;display:grid}footer a{align-items:center;min-height:44px;display:flex}.input-body{padding:18px 16px}.input-tester .section-head{gap:14px}.input-tester .actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.input-button{gap:6px;padding:12px 10px;font-size:.8rem}.input-button strong{min-height:36px}.button-index,.button-history{font-size:.7rem}.axes-grid{gap:15px}.axes-grid span{font-size:.78rem}}@media (width<=359px){.site-header{gap:0}.wordmark{font-size:1rem}.wordmark svg{width:19px;margin-right:5px}.site-header nav{gap:0}.site-header nav a{padding-inline:5px;font-size:.72rem}.stick{grid-template-columns:minmax(0,1.4fr) minmax(84px,1fr);column-gap:10px}.results .actions{grid-template-columns:1fr}}.guide-layout{border-top:1px solid var(--line);grid-template-columns:minmax(200px,280px) minmax(0,1fr);align-items:start;gap:64px;padding:48px 0 56px;display:grid}.guide-index{position:sticky;top:28px}.guide-label{color:var(--purple);margin:0 0 14px;font-size:.75rem;font-weight:550}.guide-index .guide-index-title{color:var(--text);letter-spacing:-.035em;margin-bottom:14px;font-size:1.6rem;font-weight:550;line-height:1.25}.guide-index>p:not(.guide-label):not(.guide-index-title),.faq-heading>p:not(.guide-label){color:var(--muted);margin-bottom:22px;font-size:.85rem;line-height:1.7}.guide-index nav{border-left:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0;display:flex}.guide-index nav a{min-height:44px;color:var(--muted);align-items:center;padding:8px 16px;font-size:.82rem;text-decoration:none;display:flex}.guide-index nav a:hover{color:var(--green);background:var(--soft)}.guide-layout .seo-guide{border:0;max-width:70ch;padding:0}.guide-layout .seo-guide h2{margin-bottom:20px;font-size:1.65rem;line-height:1.3}.guide-layout .seo-guide h3{border-top:1px solid var(--line);margin:30px 0 12px;padding-top:24px;scroll-margin-top:28px;line-height:1.4}.guide-layout .seo-guide p{margin-bottom:0;font-size:.94rem;line-height:1.9}.drift-faq{grid-template-columns:minmax(200px,280px) minmax(0,1fr);align-items:start;gap:64px;max-width:none;padding:44px 0 56px;display:grid}.faq-heading h2{margin-bottom:14px;font-size:1.6rem;line-height:1.25}.faq-heading>a{min-height:44px;color:var(--green);align-items:center;gap:10px;font-size:.82rem;display:inline-flex}.faq-items{border-top:1px solid var(--line);min-width:0}.faq-items details{padding-inline:0}.faq-items summary{gap:24px;min-height:76px;padding:20px 0;font-size:.97rem;font-weight:550;line-height:1.5}.faq-items summary:hover{color:var(--green)}.faq-items summary .faq-icon{border:1px solid var(--line);width:32px;height:32px;color:var(--muted);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.faq-icon svg{display:block}.faq-items details[open] summary{color:var(--green)}.faq-items details[open] summary .faq-icon{color:var(--green);background:var(--soft);transform:none}.faq-items details[open] .faq-icon-vertical{display:none}.faq-items p{max-width:70ch;padding:0 48px 24px 0;font-size:.9rem;line-height:1.85}@media (width<=800px){.guide-layout,.drift-faq{grid-template-columns:minmax(0,1fr);gap:26px;padding-block:32px}.guide-index{position:static}.guide-index-title br{display:none}.guide-index>p:not(.guide-label){margin-bottom:16px}.guide-index nav{border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;display:grid}.guide-index nav a{border-bottom:1px solid var(--line);min-height:48px;padding:10px 0;line-height:1.5}.guide-layout .seo-guide{max-width:none}.guide-layout .seo-guide h2,.faq-heading h2,.guide-index .guide-index-title{font-size:1.4rem}.faq-heading>p:not(.guide-label){margin-bottom:6px}.faq-items summary{gap:14px;min-height:70px;padding:18px 0;font-size:.9rem}.faq-items p{padding-right:0;font-size:.88rem}}@media (width<=360px){.guide-index nav{grid-template-columns:minmax(0,1fr)}.guide-layout .seo-guide p{font-size:.88rem}}.faq-topics{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:8px 24px;padding-block:16px 32px;display:flex}.faq-topics a{align-items:center;min-height:44px;font-size:.88rem;display:inline-flex}.faq-library .drift-faq+.drift-faq{border-top:1px solid var(--line)}.faq-library section,.faq-items details,.faq-sources{scroll-margin-top:24px}.faq-items details:target{outline:2px solid var(--green);outline-offset:6px}.faq-library .faq-answer p{padding-bottom:8px}.faq-permalink{align-items:center;min-height:44px;margin-bottom:16px;font-size:.78rem;display:inline-flex}.faq-sources{border-top:1px solid var(--line)}.faq-sources li{margin-block:12px;line-height:1.7}@media (prefers-reduced-motion:no-preference){.faq-items summary{transition:color .16s}.faq-items .faq-icon{transition:color .16s,background-color .16s,border-color .16s,transform .18s}.faq-items summary:hover .faq-icon,.faq-items summary:focus-visible .faq-icon{border-color:var(--green);transform:translateY(-1px)}.faq-items .faq-icon-vertical{transform-origin:10px 10px;transition:opacity .16s,transform .18s}.faq-items details[open] .faq-icon-vertical{opacity:0;display:inline;transform:rotate(90deg)}.faq-items details[open]>p,.faq-items details[open]>.faq-answer{animation:.18s ease-out faq-answer-in}@keyframes faq-answer-in{0%{transform:translateY(-3px)}to{transform:translateY(0)}}}.brand-mark{filter:invert();flex:none;width:32px;height:32px;margin-right:10px;display:block}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .brand-mark{filter:none}}:root[data-theme=dark] .brand-mark{filter:none}.site-footer .footer-wordmark .brand-mark{width:28px;height:28px}.site-header{height:84px}.site-header .wordmark{letter-spacing:-.055em;font-size:1.25rem}.site-header nav>a,.test-menu summary{color:var(--muted)}.site-header nav>a:hover,.test-menu[open] summary{color:var(--text)}.theme{border:1px solid var(--line);color:var(--muted);border-radius:5px}.theme:hover{background:var(--soft);color:var(--text)}.simple-intro{padding-block:40px 28px}.simple-intro h1{letter-spacing:-.05em;font-weight:500}.instrument{background:var(--surface);border-radius:5px}.device-row{border-bottom:1px solid var(--line);background:0 0}.device-row select{background:var(--bg)}.device-row select,.axis-fields select{border-color:var(--ring)}.secondary{border-color:var(--ring);background:0 0;font-weight:500}.primary{border-radius:4px;font-weight:550}.secondary:hover:not(:disabled){border-color:var(--muted)}.plot .outer-ring{fill:none}.plot .inner-ring{opacity:.6}.plot .inner-ring:nth-of-type(3){display:none}.plot .crosshair{stroke:var(--ring);opacity:.65}.readings>div{border-top:0;padding-top:6px}.readings output,.stick-heading h2{font-weight:500}.session{background:var(--soft)}.test-controls{background:0 0}.test-menu-links{box-shadow:none;border-radius:5px}.guide-layout .seo-guide h3{font-weight:500}.faq-items summary .faq-icon{background:0 0;border:0}.faq-items details[open] summary .faq-icon{background:0 0}.related-tests a{color:var(--text)}.related-tests a:hover{color:var(--green)}.drift-tester .toolbar{padding:18px 24px}.drift-tester .device-row{padding:12px 24px}.drift-tester #mapping-label:empty{display:none}.drift-tester .test-controls{border-top:0;border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;align-items:stretch;gap:0;padding:0;display:grid}.test-task{justify-content:space-between;align-items:center;gap:16px;min-width:0;padding:20px 24px;display:flex}.test-task+.test-task{border-left:1px solid var(--line)}.test-task h2{letter-spacing:-.02em;margin:0 0 6px;font-size:.95rem}.test-task p{color:var(--muted);max-width:27ch;margin:0;font-size:.78rem;line-height:1.5}.test-task button{flex:none}.drift-tester button:disabled{opacity:1;background:var(--soft);color:var(--muted);border-color:var(--line)}.drift-tester .session{border-bottom:1px solid var(--line);padding:12px 24px}.drift-tester [hidden]{display:none!important}.raw-note{color:var(--muted);margin:0;padding:12px 24px 0;font-size:.72rem}.drift-tester .stick{padding:18px 24px 24px}.drift-tester .plot{max-width:260px}@media (width>=601px) and (width<=1050px){.test-task{flex-direction:column;align-items:flex-start}.test-task p{max-width:none}}@media (width<=600px){.drift-tester .toolbar{gap:10px;padding:14px 16px}.drift-tester .toolbar button{width:auto;min-height:44px;margin-left:22px;padding-block:8px}.drift-tester .device-row{padding:10px 16px}.drift-tester .device-row label{flex-direction:row;align-items:center;gap:10px}.drift-tester .device-row select{flex:1;width:0;min-height:44px}.drift-tester .test-controls{grid-template-columns:1fr}.test-task{gap:12px;padding:14px 16px}.test-task+.test-task{border-left:0;border-top:1px solid var(--line)}.test-task h2{font-size:.85rem}.drift-tester .test-task p{font-size:.75rem}.drift-tester .test-task button{white-space:normal;width:144px;padding:10px;font-size:.8rem}.drift-tester .session{padding:12px 16px}.raw-note{padding:10px 16px 0;font-size:.68rem}.drift-tester .stick{padding:14px 16px 18px}.drift-tester .plot{max-width:180px}}@media (width<=359px){.test-task{flex-wrap:wrap}.test-task p{max-width:none}.drift-tester .test-task button{width:100%}}.range-check{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:30px;padding:24px 0}.range-check h2{font-size:1.25rem}.range-check p{color:var(--muted);max-width:780px;font-size:.85rem}.range-check .eyebrow{margin-bottom:6px}.range-capture{align-items:baseline;gap:16px;margin:4px 0 2px;display:flex}.range-capture progress{flex:1;margin-top:0}#range-timer{font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--purple);font-size:.78rem}.range-status{min-height:1.4em}.range-check .result-grid{margin:6px 0 12px}.range-check #range-context{margin-bottom:10px}.vibration-demo{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:22px;margin-top:22px;padding-top:20px;display:flex}.vibration-demo h2{margin-bottom:6px;font-size:1.1rem}.vibration-demo p{color:var(--muted);max-width:56ch;margin:0;font-size:.82rem;line-height:1.55}.vibration-control{flex:none;justify-items:start;gap:8px;max-width:280px;display:grid}.vibration-control button{min-width:150px}@media (width<=600px){.vibration-demo{flex-direction:column;align-items:start;gap:12px;padding-top:16px}.vibration-control{max-width:none}}footer.site-footer{background:var(--surface);border-top:1px solid var(--line);max-width:none;margin:16px 0 0;font-size:.82rem;display:block;padding:0!important}.site-footer>.footer-inner{padding-top:42px;padding-bottom:max(22px, env(safe-area-inset-bottom));display:block}.site-footer .footer-grid{grid-template-columns:minmax(240px,1.5fr) repeat(3,minmax(0,1fr));gap:32px;display:grid}.site-footer .footer-brand{min-width:0;display:block}.site-footer a{text-decoration:none}.site-footer .footer-wordmark{letter-spacing:-.055em;min-height:44px;color:var(--text);align-items:center;font-size:1.25rem;font-weight:550;display:inline-flex}.footer-wordmark span{color:var(--muted);font-weight:400}.footer-brand p{color:var(--muted);margin:10px 0 14px;font-size:.83rem;line-height:1.8}.site-footer .footer-return{min-height:44px;color:var(--green);align-items:center;gap:12px;font-size:.78rem;display:inline-flex}.site-footer .footer-group{flex-direction:column;align-items:flex-start;gap:0;min-width:0;display:flex}.footer-label{color:var(--text);margin:13px 0 14px;font-size:.75rem;font-weight:550}.site-footer .footer-group a{min-height:44px;color:var(--muted);align-items:center;padding:8px 0;font-size:.8rem;line-height:1.4;display:flex}.site-footer a:hover,.site-footer a[aria-current=page]{color:var(--text)}.site-footer .footer-bottom{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 28px;margin-top:30px;padding-top:20px;display:flex}.footer-bottom p{color:var(--muted);margin:0;font-size:.7rem;line-height:1.7}@media (width<=850px){.site-footer .footer-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.footer-brand{border-bottom:1px solid var(--line);grid-column:1/-1;padding-bottom:20px}.footer-brand p{margin-block:4px 8px}}@media (width<=600px){.wordmark .brand-mark{width:26px;height:26px;margin-right:7px}.site-header{height:auto;min-height:72px}.site-header .wordmark{font-size:1.08rem}.simple-intro{padding-block:26px 24px}.instrument{border-radius:4px}.device-row{background:var(--surface)}.readings{gap:10px}.site-footer>.footer-inner{padding-top:28px}.site-footer .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px}.site-footer .footer-group:last-child{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;column-gap:24px;display:grid}.footer-group:last-child .footer-label{grid-column:1/-1}.site-footer .footer-group a{min-height:48px}.site-footer .footer-bottom{flex-direction:column;gap:8px;margin-top:22px;padding-top:18px;display:flex}}@media (width<=359px){.site-header .wordmark{font-size:1rem}}@media (prefers-reduced-motion:no-preference){.simple-intro{animation:.36s ease-out tester-intro-arrive}.instrument>.toolbar,.instrument>.device-row{animation:.3s ease-out tester-row-arrive}.instrument button:not(#live):not(#rest),.calibration-controls button,.results button{transition:transform .15s,background-color .15s,border-color .15s}.instrument button:active:not(:disabled),.calibration-controls button:active:not(:disabled),.results button:active:not(:disabled){transform:translateY(1px)}.device-row select,.axis-fields select{transition:border-color .16s}.device-row select:focus,.axis-fields select:focus{border-color:var(--green)}.status-dot{transition:background-color .18s}.test-menu summary svg{transition:transform .18s}.test-menu[open] .test-menu-links{transform-origin:100% 0;animation:.16s ease-out tester-menu-open}.results:not([hidden]){animation:.32s ease-out tester-result-arrive}.calibration-panel{transition:border-color .18s}.calibration-panel:focus-within{border-color:var(--green)}.related-tests a,.bottom-note a{transition:color .16s,text-decoration-color .16s}@media (hover:hover) and (pointer:fine){.instrument button:hover:not(:disabled),.calibration-controls button:hover:not(:disabled),.results button:hover:not(:disabled){transform:translateY(-2px)}.instrument button:hover:active:not(:disabled),.calibration-controls button:hover:active:not(:disabled),.results button:hover:active:not(:disabled){transform:translateY(1px)}}@keyframes tester-intro-arrive{0%{opacity:.75;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes tester-row-arrive{0%{opacity:.8;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}@keyframes tester-menu-open{0%{opacity:.7;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes tester-result-arrive{0%{opacity:.75;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}}.ad-region{border-bottom:1px solid var(--line);background:var(--surface);padding:26px 0 30px}.ad-region-inner{justify-items:center;gap:10px;display:grid}.ad-label{color:var(--muted);letter-spacing:.16em;text-transform:uppercase;margin:0;font-size:.68rem;font-weight:600}.ad-native{justify-content:center;align-items:center;width:100%;max-width:360px;min-height:320px;display:flex;overflow:hidden}.ad-native:empty{border:1px dashed var(--line);background:var(--soft);border-radius:7px}.ad-native:empty:before{content:"Ad space";color:var(--muted);font-size:.75rem}
