.latency-page{padding-bottom:28px}.latency-page h1,.latency-page h2,.latency-page h3,.latency-page h4{color:var(--ink)}.latency-page a{color:#006f7b;text-underline-offset:3px;font-weight:700;text-decoration:underline}.latency-hero{padding:58px 0 72px}.latency-hero h1{letter-spacing:-.075em;max-width:920px;margin:18px 0 22px;font-size:clamp(52px,7vw,82px);line-height:1}.latency-hero__lead{letter-spacing:-.042em;max-width:880px;margin-bottom:15px;font-size:clamp(22px,2.7vw,31px);font-weight:800;line-height:1.25}.latency-hero__detail{max-width:760px;color:var(--muted);margin-bottom:35px;font-size:18px;line-height:1.6}.latency-routes{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;display:grid}.latency-routes a{min-height:178px;color:var(--ink);background:#fff;border:1px solid #cad8d1;border-radius:13px;flex-direction:column;padding:20px 20px 18px;text-decoration:none;transition:transform .15s,box-shadow .15s;display:flex;box-shadow:0 8px 24px #182d230a}.latency-routes a:hover{text-decoration:none;transform:translateY(-2px);box-shadow:0 12px 28px #182d2314}.latency-routes a:nth-child(2){background:#e9f6f2}.latency-routes a:nth-child(3){background:#fbf0d6}.latency-routes a:nth-child(4){background:#edf3fb}.latency-routes span{letter-spacing:1px;color:#496158;font-size:11px;font-weight:900;line-height:1.35}.latency-routes strong{letter-spacing:-.035em;margin:16px 0 10px;font-size:21px;line-height:1.14}.latency-routes small{color:#53665d;margin-top:auto;font-size:14px;font-weight:600;line-height:1.45}.latency-section-head{max-width:820px;margin-bottom:30px}.latency-section-head h2{letter-spacing:-.065em;margin:14px 0;font-size:clamp(34px,4.4vw,52px);line-height:1.08}.latency-section-head>p:last-child{color:var(--muted);max-width:720px;font-size:17px;line-height:1.62}.latency-chooser{margin-bottom:105px}.latency-chooser__table{background:#fff;border:1px solid #cbd9d1;border-radius:16px;overflow:hidden}.latency-chooser__table>div{border-bottom:1px solid #dce5e0;grid-template-columns:1.05fr 1fr 1fr 1.05fr;gap:22px;padding:20px 22px;display:grid}.latency-chooser__table>div:last-child{border-bottom:0}.latency-chooser__table>div:nth-child(odd):not(.latency-chooser__head){background:#f4f8f6}.latency-chooser__head{letter-spacing:1px;color:#415a51;background:#dff2ee;font-size:12px;font-weight:900}.latency-chooser__table strong{font-size:17px;line-height:1.4}.latency-chooser__table span:not([role=columnheader]){color:#40564c;font-size:15px;line-height:1.52}.latency-lab{background:#fff;border:1px solid #cad8d1;border-radius:22px;margin-bottom:112px;scroll-margin-top:24px;overflow:hidden;box-shadow:0 22px 55px #172b220f}.latency-lab__heading{border-bottom:1px solid #dce5e0;justify-content:space-between;align-items:end;gap:40px;padding:31px 36px 27px;display:flex}.latency-lab__heading h2{letter-spacing:-.06em;margin:12px 0 0;font-size:clamp(31px,4vw,44px);line-height:1.08}.latency-lab__heading>p{color:#53685e;max-width:430px;margin:0;font-size:15px;line-height:1.55}.latency-setup{background:#f1f7f4;border-bottom:1px solid #d6e3dd;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr) auto;align-items:end;gap:18px;padding:23px 36px;display:grid}.latency-setup label{color:#344c42;gap:8px;font-size:14px;font-weight:800;display:grid}.latency-setup label span{color:#65786f;font-weight:500}.latency-setup select,.latency-setup input{width:100%;height:48px;font:inherit;color:var(--ink);background:#fff;border:1px solid #aebfb7;border-radius:8px;padding:0 13px;font-size:15px}.latency-setup__actions{gap:10px;display:flex}.latency-button{border:1px solid var(--ink);background:var(--accent);min-height:48px;color:var(--ink);box-shadow:3px 3px 0 var(--ink);white-space:nowrap;border-radius:8px;padding:10px 16px;font-size:14px;font-weight:900;transition:transform .12s,box-shadow .12s,background .12s}.latency-button:hover:not(:disabled){background:#5fd4dc}.latency-button:active:not(:disabled){box-shadow:1px 1px 0 var(--ink);transform:translate(2px,2px)}.latency-button--quiet{box-shadow:none;background:#fff}.latency-button--quiet:hover:not(:disabled){background:#edf6f3}.latency-button:disabled{cursor:not-allowed;opacity:.48;box-shadow:none}.latency-text-button{color:#006f7b;text-underline-offset:3px;background:0 0;border:0;min-height:44px;padding:6px;font-size:14px;font-weight:800;text-decoration:underline}.latency-text-button:disabled{opacity:.45;cursor:not-allowed}.latency-workbench{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);min-height:570px;display:grid}.latency-target-panel{background-color:#e8f5f1;background-image:radial-gradient(#b3cec4 1px,#0000 1px);background-size:18px 18px;border-right:1px solid #d4e2dc;flex-direction:column;padding:39px 36px 31px;display:flex}.latency-target-panel__top{letter-spacing:1px;color:#476058;justify-content:space-between;gap:16px;font-size:12px;font-weight:900;display:flex}.latency-target{isolation:isolate;aspect-ratio:1.55;width:min(100%,430px);color:var(--ink);background:#ffffffa6;border:2px dashed #178d95;border-radius:28px;flex-direction:column;justify-content:center;align-self:center;align-items:center;margin:auto;transition:background .15s,transform .15s,opacity .15s;display:flex;position:relative;overflow:hidden}.latency-target:before,.latency-target:after{content:"";z-index:-1;border:1px solid #acd4ca;border-radius:50%;width:210px;height:210px;position:absolute}.latency-target:after{border-style:dashed;width:310px;height:310px}.latency-target:disabled{cursor:not-allowed;opacity:.66}.latency-target.is-active{cursor:crosshair;background:#ffffffd4}.latency-target.has-sample{animation:.24s ease-out latency-pulse}.latency-target__number{border:2px solid var(--ink);background:var(--accent);border-radius:50%;place-items:center;width:66px;height:66px;margin-bottom:17px;font-size:28px;font-weight:900;display:grid;box-shadow:5px 6px #b7d7cf}.latency-target strong{letter-spacing:-.055em;font-size:32px;line-height:1.1}.latency-target small{color:#4e655a;margin-top:8px;font-size:15px}@keyframes latency-pulse{50%{background:#d5f5f3;transform:scale(.985)}}.latency-progress{grid-template-columns:repeat(10,1fr);gap:7px;margin:24px 0 18px;display:grid}.latency-progress span{background:#c7d7d0;border-radius:10px;height:8px}.latency-progress span.is-complete{background:#148f98;box-shadow:0 0 0 2px #148f981f}.latency-target-panel>p{color:#50675d;margin:0;font-size:14px;line-height:1.55}.latency-verdict{flex-direction:column;padding:42px 36px 34px;display:flex}.latency-verdict__status{letter-spacing:1.2px;color:#54685f;margin-bottom:15px;font-size:12px;font-weight:900}.latency-verdict[data-state=complete] .latency-verdict__status{color:#087864}.latency-verdict[data-state=partial] .latency-verdict__status,.latency-verdict[data-state=interrupted] .latency-verdict__status{color:#a04b2f}.latency-verdict h3{letter-spacing:-.06em;margin-bottom:15px;font-size:clamp(30px,3.5vw,43px);line-height:1.08}.latency-verdict>p:not(.latency-verdict__status):not(.latency-verdict__next){color:var(--muted);font-size:16px;line-height:1.58}.latency-result-grid{background:#d8e2dd;border:1px solid #d8e2dd;border-radius:11px;grid-template-columns:repeat(3,1fr);gap:1px;margin:20px 0;display:grid;overflow:hidden}.latency-result-grid>div{background:#f5f8f6;min-width:0;padding:17px 13px}.latency-result-grid span{color:#52675d;min-height:35px;font-size:12px;font-weight:800;line-height:1.35;display:block}.latency-result-grid output{font-variant-numeric:tabular-nums;margin-top:7px;font-size:23px;font-weight:900;line-height:1.15;display:block}.latency-verdict__next{color:#365249;background:#e3f4f1;border-left:3px solid #15929a;margin-top:auto;padding:15px 17px;font-size:15px;line-height:1.55}.latency-evidence{background:#fbfcfb;border-top:1px solid #dce5e0;padding:35px 36px}.latency-evidence__head{justify-content:space-between;align-items:end;gap:32px;display:flex}.latency-evidence__head h3{letter-spacing:-.045em;margin:10px 0 0;font-size:29px}.latency-evidence__head>p{text-align:right;color:#52675e;max-width:390px;margin:0;font-size:14px;line-height:1.5}.latency-evidence__stats{border-block:1px solid #dce5e0;grid-template-columns:repeat(5,1fr);margin:24px 0 25px;display:grid}.latency-evidence__stats>div{padding:16px 14px}.latency-evidence__stats>div+div{border-left:1px solid #dce5e0}.latency-evidence__stats span{letter-spacing:.45px;color:#607269;margin-bottom:7px;font-size:11px;font-weight:800;display:block}.latency-evidence__stats output{font-variant-numeric:tabular-nums;font-size:17px;font-weight:900}.latency-chart{background:#eff6f3;border:1px solid #d1e0d9;border-radius:12px;gap:7px;min-height:104px;margin-bottom:18px;padding:18px;display:grid}.latency-chart:empty:before{content:"Complete samples will appear here as paired event-age and rAF bars.";text-align:center;color:#60736a;align-self:center;font-size:14px}.latency-chart__row{grid-template-columns:22px minmax(0,1fr) 150px;align-items:center;gap:10px;display:grid}.latency-chart__row>span{color:#53685e;font-size:11px;font-weight:900}.latency-chart__row>div{gap:3px;display:grid}.latency-chart__row i{border-radius:6px;min-width:2px;height:5px;display:block}.latency-chart__event{background:#118c95}.latency-chart__frame{background:#ee9a72}.latency-chart__row strong{text-align:right;font-variant-numeric:tabular-nums;color:#41584e;font-size:12px}.latency-sample-list{columns:2;column-gap:44px;margin:0;padding-left:22px}.latency-sample-list li{break-inside:avoid;color:#4d6258;margin-bottom:6px;padding-left:3px;font-size:13px;line-height:1.52}.latency-compare{background:#f1f7f4;border-top:1px solid #dce5e0;grid-template-columns:minmax(0,1fr) auto;gap:22px 34px;padding:32px 36px 35px;display:grid}.latency-compare h3{letter-spacing:-.045em;margin:9px 0;font-size:27px}.latency-compare>div:first-child>p:last-child{color:#52675e;max-width:650px;margin:0;font-size:15px;line-height:1.55}.latency-compare__actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:11px;display:flex}.latency-compare__message,#latency-saved-empty{color:#4d6258;grid-column:1/-1;margin:0;font-size:14px}#latency-saved{grid-column:1/-1}.latency-saved-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.latency-saved-cards article{background:#fff;border:1px solid #c8d8d0;border-radius:11px;padding:20px}.latency-saved-cards article>span{letter-spacing:1px;color:#147b80;font-size:11px;font-weight:900}.latency-saved-cards h4{letter-spacing:-.03em;margin:9px 0 5px;font-size:22px}.latency-saved-cards article>p{color:#596d63;margin-bottom:16px;font-size:14px}.latency-saved-cards dl{grid-template-columns:repeat(3,1fr);gap:9px;margin:0;display:grid}.latency-saved-cards dl div{background:#eff6f3;border-radius:7px;padding:10px}.latency-saved-cards dt{color:#5c7066;font-size:10px;font-weight:800;line-height:1.3}.latency-saved-cards dd{margin:6px 0 0;font-size:16px;font-weight:900}.latency-saved-reading{color:#365249;background:#dff1ed;border-left:3px solid #178e94;margin:14px 0 0;padding:15px 17px;font-size:14px;line-height:1.55}.latency-pipeline{margin-bottom:105px}.latency-pipeline__track{grid-template-columns:repeat(11,auto);align-items:stretch;gap:8px;display:grid}.latency-pipeline__track>div{background:#fff;border:1px solid #d1dcd6;border-radius:10px;min-width:0;padding:17px 13px}.latency-pipeline__track>div.is-observed{background:#dff5f2;border-color:#7bc3bd;box-shadow:inset 0 3px #138e97}.latency-pipeline__track>div span{letter-spacing:1px;color:#5e7068;font-size:10px;font-weight:900}.latency-pipeline__track>div strong{margin:13px 0 7px;font-size:16px;line-height:1.25;display:block}.latency-pipeline__track>div small{color:#5c6f66;font-size:12px;line-height:1.4}.latency-pipeline__track>i{color:#82968d;align-self:center;font-size:18px;font-style:normal}.latency-pipeline__note{color:#435a50;border-left:3px solid #15919a;margin:18px 0 0;padding-left:17px;font-size:15px;line-height:1.58}.latency-methods{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:105px;display:grid}.latency-method-card{background:#e5f4f0;border:1px solid #bcd7cf;border-radius:16px;padding:33px;scroll-margin-top:24px}.latency-method-card--warm{background:#fbf0d7;border-color:#e4d3a8}.latency-method-card h2{letter-spacing:-.06em;margin:13px 0 15px;font-size:clamp(32px,3.7vw,43px);line-height:1.08}.latency-method-card__answer{margin-bottom:24px;font-size:17px;font-weight:700;line-height:1.55}.latency-method-card ol{margin:0 0 25px;padding-left:21px}.latency-method-card li{color:#3d544a;margin-bottom:13px;padding-left:4px;font-size:15px;line-height:1.6}.latency-method-card__source{color:#4e6259;border-top:1px solid #4f706340;margin:0;padding-top:18px;font-size:14px;line-height:1.58}.camera-resolution{background:#fff;border:1px solid #d1dcd6;border-radius:16px;grid-template-columns:1fr .8fr;align-items:center;gap:70px;margin-bottom:105px;padding:36px 40px;display:grid}.camera-resolution h2{letter-spacing:-.06em;margin:13px 0;font-size:clamp(33px,4vw,46px);line-height:1.08}.camera-resolution>div:first-child>p:last-child{color:var(--muted);margin:0;font-size:16px;line-height:1.62}.camera-resolution__table{border:1px solid #cbd9d1;border-radius:10px;overflow:hidden}.camera-resolution__table>div{border-bottom:1px solid #dde5e1;grid-template-columns:1fr 1fr;padding:13px 16px;display:grid}.camera-resolution__table>div:last-child{border-bottom:0}.camera-resolution__table>div:first-child{letter-spacing:.7px;background:#e2f3ef;font-size:12px}.camera-resolution__table span{font-size:16px}.camera-resolution__table span:last-child{font-variant-numeric:tabular-nums;font-weight:900}.page-response{grid-template-columns:.75fr 1.25fr;gap:70px;margin-bottom:105px;scroll-margin-top:24px;display:grid}.page-response h2{letter-spacing:-.06em;margin:14px 0;font-size:clamp(34px,4vw,48px);line-height:1.08}.page-response__steps{border-top:1px solid #ccd9d2}.page-response__steps>div{border-bottom:1px solid #ccd9d2;grid-template-columns:42px 1fr;gap:18px;padding:22px 0;display:grid}.page-response__steps span{color:#245e59;background:#dcefeb;border-radius:8px;place-items:center;width:34px;height:34px;font-size:12px;font-weight:900;display:grid}.page-response__steps p{color:#40564c;margin:0;font-size:16px;line-height:1.58}.latency-equation{color:#fff;background:#151c1a;border-radius:17px;margin-bottom:105px;padding:40px}.latency-equation h2{color:#fff;letter-spacing:-.06em;max-width:900px;margin:13px 0 25px;font-size:clamp(34px,4vw,48px);line-height:1.08}.latency-equation .section-kicker{color:#a9c3b9}.latency-equation__rates{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:23px;display:grid}.latency-equation__rates div{background:#25332f;border:1px solid #3c5149;border-radius:10px;padding:17px}.latency-equation__rates strong{font-size:25px;display:block}.latency-equation__rates span{color:#bcd0c8;margin-top:5px;font-size:14px;display:block}.latency-equation>p{color:#c4d2cd;max-width:900px;margin:0;font-size:16px;line-height:1.62}.latency-decisions{margin-bottom:105px}.latency-decisions__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;display:grid}.latency-decisions article{background:#fff;border:1px solid #d0dcd5;border-radius:13px;padding:25px}.latency-decisions article>span{letter-spacing:1px;color:#50665d;font-size:11px;font-weight:900}.latency-decisions h3{letter-spacing:-.04em;margin:12px 0 9px;font-size:24px}.latency-decisions p{color:var(--muted);margin-bottom:18px;font-size:15px;line-height:1.56}.latency-decisions a{font-size:14px}.latency-page .limits{margin-bottom:90px}.latency-sources a{display:inline-block}.latency-related{grid-template-columns:.7fr 1.3fr;gap:60px;margin-bottom:60px;display:grid}.latency-related h2{letter-spacing:-.05em;margin:11px 0;font-size:32px;line-height:1.1}.latency-related>div:last-child{gap:10px;display:grid}.latency-related a{color:var(--ink);background:#fff;border:1px solid #d1dcd6;border-radius:10px;justify-content:space-between;gap:24px;padding:18px 20px;text-decoration:none;display:flex}.latency-related a:hover{background:#eef7f4;text-decoration:none}.latency-related a span{color:#496057;text-align:right;font-size:14px}@media (width<=1020px){.latency-routes{grid-template-columns:repeat(2,1fr)}.latency-workbench{grid-template-columns:1fr}.latency-target-panel{border-bottom:1px solid #d4e2dc;border-right:0;min-height:540px}.latency-pipeline__track{grid-template-columns:repeat(3,1fr)}.latency-pipeline__track>i{display:none}.latency-pipeline__track>div{min-height:126px}.latency-evidence__stats{grid-template-columns:repeat(3,1fr)}.latency-evidence__stats>div:nth-child(4){border-left:0}.latency-evidence__stats>div:nth-child(n+4){border-top:1px solid #dce5e0}.latency-setup{grid-template-columns:1fr 1fr}.latency-setup__actions{grid-column:1/-1}}@media (width<=760px){.latency-hero{padding:42px 0 57px}.latency-hero h1{font-size:clamp(46px,12vw,66px)}.latency-hero__lead{font-size:22px}.latency-routes{grid-template-columns:1fr}.latency-routes a{min-height:0}.latency-chooser{margin-bottom:78px}.latency-chooser__head{clip:rect(0,0,0,0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.latency-chooser__table>div:not(.latency-chooser__head){grid-template-columns:1fr;gap:9px;padding:20px}.latency-chooser__table>div:not(.latency-chooser__head)>span:before{letter-spacing:1px;color:#607269;margin-bottom:3px;font-size:10px;font-weight:900;display:block}.latency-chooser__table>div:not(.latency-chooser__head)>span:nth-child(2):before{content:"START → END"}.latency-chooser__table>div:not(.latency-chooser__head)>span:nth-child(3):before{content:"USE"}.latency-chooser__table>div:not(.latency-chooser__head)>span:nth-child(4):before{content:"DOES NOT PROVE"}.latency-lab{margin-inline:-4px;border-radius:16px;margin-bottom:82px}.latency-lab__heading{padding:26px 21px 22px;display:block}.latency-lab__heading>p{margin-top:13px}.latency-setup{grid-template-columns:1fr;padding:21px}.latency-setup__actions{grid-column:auto;grid-template-columns:1fr 1fr;display:grid}.latency-button{white-space:normal}.latency-target-panel{min-height:490px;padding:27px 20px 24px}.latency-target-panel__top{font-size:10px}.latency-target{aspect-ratio:1.25;border-radius:21px;width:100%}.latency-target strong{font-size:28px}.latency-verdict{padding:31px 21px}.latency-result-grid{grid-template-columns:1fr}.latency-result-grid span{min-height:0}.latency-evidence{padding:29px 21px}.latency-evidence__head{display:block}.latency-evidence__head>p{text-align:left;margin-top:10px}.latency-evidence__stats{grid-template-columns:repeat(2,1fr)}.latency-evidence__stats>div:nth-child(3),.latency-evidence__stats>div:nth-child(5){border-left:0}.latency-evidence__stats>div:nth-child(n+3){border-top:1px solid #dce5e0}.latency-evidence__stats>div:nth-child(4){border-left:1px solid #dce5e0}.latency-chart__row{grid-template-columns:18px minmax(0,1fr) 116px}.latency-chart__row strong{font-size:10px}.latency-sample-list{columns:1}.latency-compare{grid-template-columns:1fr;padding:28px 21px}.latency-compare__actions{justify-content:flex-start}.latency-compare__message,#latency-saved-empty,#latency-saved{grid-column:auto}.latency-saved-cards,.latency-saved-cards dl{grid-template-columns:1fr}.latency-pipeline{margin-bottom:78px}.latency-pipeline__track{grid-template-columns:repeat(2,1fr)}.latency-methods{grid-template-columns:1fr;margin-bottom:78px}.latency-method-card{padding:27px 22px}.camera-resolution{grid-template-columns:1fr;gap:28px;margin-bottom:78px;padding:28px 22px}.page-response{grid-template-columns:1fr;gap:21px;margin-bottom:78px}.latency-equation{margin-bottom:78px;padding:29px 22px}.latency-equation__rates{grid-template-columns:1fr}.latency-decisions{margin-bottom:78px}.latency-decisions__grid{grid-template-columns:1fr}.latency-related{grid-template-columns:1fr;gap:20px}.latency-related a{display:block}.latency-related a span{text-align:left;margin-top:7px;display:block}}@media (width<=390px){.latency-target-panel__top{display:grid}.latency-target{aspect-ratio:1.08}.latency-setup__actions{grid-template-columns:1fr}.latency-progress{gap:4px}.latency-pipeline__track,.latency-evidence__stats{grid-template-columns:1fr}.latency-evidence__stats>div+div{border-top:1px solid #dce5e0;border-left:0!important}.latency-chart__row{grid-template-columns:16px minmax(0,1fr)}.latency-chart__row strong{text-align:left;grid-column:2}.latency-compare__actions{grid-template-columns:1fr;display:grid}.latency-button{width:100%}}@media (prefers-reduced-motion:reduce){.latency-target.has-sample{animation:none}.latency-routes a{transition:none}}
