@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/_astro/archivo-vietnamese-wdth-normal.rJmnGBSt.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:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/_astro/archivo-latin-ext-wdth-normal.7khWdh9v.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:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/_astro/archivo-latin-wdth-normal.DY7AcnAa.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{--bg:#f7f7f2;--card:#fff;--ink:#202923;--muted:#626b65;--line:#dde2dc;--control-line:#79867c;--field:#f7f8f5;--gen:#285ebe;--gen-soft:#edf3ff;--d1:#ad481f;--d1-soft:#fbede4;--warn:#9a5b00;--pass:#1f7a4d;--radius:16px;--radius-control:8px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--shadow:0 2px 8px #14231908;--action:#285ebe;--action-text:#fff;--font:"Archivo Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;color-scheme:light}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:24px}:focus-visible{outline:3px solid var(--gen);outline-offset:3px}button,input,select,textarea{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{touch-action:manipulation}button:disabled{cursor:default;opacity:.6}[hidden]{display:none!important}main{min-width:0}main:focus{outline:none}.skip-link{z-index:100;background:var(--ink);color:var(--bg);border-radius:8px;padding:12px 20px;position:fixed;top:8px;left:16px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}body{background:var(--bg);color:var(--ink);font-family:var(--font);margin:0;font-size:16px;line-height:1.55}a{color:inherit;text-underline-offset:3px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.wrap{max-width:1200px;padding:0 var(--space-8);margin:0 auto}.site-head{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;padding:20px 0;display:flex}.site-head nav{flex-wrap:wrap;gap:4px;display:flex}.brand{letter-spacing:.04em;text-transform:uppercase;font-size:1.15rem;font-weight:800;font-stretch:75%;text-decoration:none}.site-head nav a{border-radius:var(--radius-control);min-height:44px;color:var(--muted);align-items:center;padding:8px 12px;font-size:.86rem;font-weight:550;text-decoration:none;display:inline-flex}.site-head nav a[aria-current=page]{background:var(--ink);color:var(--bg)}.site-head nav a:hover:not([aria-current=page]){color:var(--ink);background:var(--line)}.hero{max-width:800px;padding:48px 0 36px}.hero h1{letter-spacing:-.045em;margin:0 0 18px;font-size:clamp(2.25rem,5vw,3.8rem);font-weight:720;font-stretch:92%;line-height:1.05}.hero h1 em{color:var(--d1);font-style:normal}.hero p{color:var(--muted);max-width:62ch;margin:0;font-size:1.02rem}.calc{gap:var(--space-6);grid-template-columns:minmax(0,1fr) 360px;align-items:start;display:grid}.calc-single{grid-template-columns:minmax(0,640px)}@media (width<=900px){.calc{grid-template-columns:minmax(0,1fr)}}.placeholder-banner{background:var(--d1-soft);color:var(--d1);border-radius:10px;grid-column:1/-1;margin:0;padding:10px 14px;font-size:.9rem;font-weight:600}.calc-inputs,.calc-results{background:var(--card);border:1px solid var(--line);border-radius:var(--radius)}.calc-inputs{padding:var(--space-6);min-width:0;box-shadow:var(--shadow);container-type:inline-size}.calc-results{padding:var(--space-6);min-width:0;box-shadow:var(--shadow);scrollbar-width:thin;max-height:calc(100dvh - 48px);position:sticky;top:24px;overflow-y:auto}@media (width<=900px){.calc-results{max-height:none;position:static;overflow:visible}}fieldset.profile{border:0;border-bottom:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:16px 12px;margin:0;padding:0 0 24px;display:grid}fieldset.profile legend{padding:0;font-size:1.1rem;font-weight:650}.field-pair{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:12px;display:grid}.field{flex-direction:column;width:118px;display:inline-flex;position:relative}.field-sm{width:84px}.field small{font-size:.72rem;font-weight:400}.field-label{color:var(--muted);margin-bottom:4px;font-size:.78rem}.field input{width:100%;height:50px;font:inherit;font-variant-numeric:tabular-nums;color:var(--ink);background:var(--field);border:1px solid var(--line);border-radius:var(--radius-control);padding:0 38px 0 12px}.field-sm input{padding-right:30px}.field input:focus-visible{outline:2px solid var(--gen);outline-offset:1px;border-color:#0000}.field .suffix{color:var(--muted);pointer-events:none;font-size:.78rem;position:absolute;bottom:14px;right:12px}.seg{background:var(--field);border:1px solid var(--line);border-radius:10px;height:50px;padding:3px;display:inline-flex}.seg button,.seg .choice{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:7px;padding:0 14px;font-size:.9rem;font-weight:600}.seg button.on,.seg .choice.on{background:var(--ink);color:var(--bg)}.seg-units{margin-left:auto}.hint{background:var(--gen-soft);border-radius:10px;margin:14px 0 0;padding:10px 14px;font-size:.92rem}.domain h3{margin:24px 0 8px;font-size:.95rem;font-weight:650}.domain-description{color:var(--muted);margin-top:2px;font-size:.8rem;font-weight:400;display:block}.test-row{border-bottom:1px solid var(--line);padding:16px 0}.domain:last-child .test-row:last-child{border-bottom:0}.test-head{grid-template-columns:minmax(0,1fr) 224px;align-items:end;gap:12px 20px;display:grid}.floor-row .test-head{flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}.test-name{font:inherit;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;justify-self:start;align-items:center;gap:8px;min-height:50px;padding:0;font-weight:550;line-height:1.35;display:inline-flex}.test-name .how{border:1px solid var(--line);width:18px;height:18px;color:var(--muted);border-radius:50%;flex-shrink:0;place-items:center;font-size:.72rem;font-weight:700;display:inline-grid}.test-fields{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:12px;display:grid}.test-fields .field{width:100%;min-width:0}.test-fields .field-label{margin-bottom:6px;font-size:.75rem;line-height:1.4;display:block}.test-fields .field-unitless input{padding-right:12px}.test-fields .field input{border-radius:var(--radius-control)}.test-head:has(.test-fields>:nth-child(3)) .test-name{align-self:start;margin-top:23px}.protocol>p{margin:0}.protocol .equipment-help{margin-top:8px;font-size:.82rem}.equipment-help>span{margin-top:3px;display:block}.protocol,.test-note{color:var(--muted);max-width:62ch;margin:8px 0 0;font-size:.88rem}.warn{color:var(--warn)}.test-bars{gap:5px;margin-top:10px;display:grid}.bar{grid-template-columns:84px 1fr 34px 10px;align-items:center;gap:10px;font-size:.8rem;display:grid}.bar-label{color:var(--muted)}.bar-track{background:var(--line);border-radius:99px;height:8px;display:block;overflow:hidden}.bar-fill{border-radius:99px;height:100%;transition:width .25s;display:block}.bar-general .bar-fill{background:var(--gen)}.bar-d1 .bar-fill{background:var(--d1)}.bar-num{font-variant-numeric:tabular-nums;text-align:right;font-weight:700}.conf{border:1.5px solid var(--muted);border-radius:50%;width:9px;height:9px;display:inline-block}.conf-measured{background:var(--muted)}.conf-derived{background:linear-gradient(90deg, var(--muted) 50%, transparent 50%)}.conf-none{border-color:#0000}.floors-intro{color:var(--muted);max-width:62ch;margin:6px 0 4px;font-size:.9rem}.floor-standard{color:var(--muted);margin:2px 0 0;font-size:.88rem}.floor-row .test-note{align-items:baseline;gap:8px;display:flex}.seg-floor{height:auto;min-height:50px}.seg-floor button.on-pass{background:var(--ink);color:var(--bg)}.seg-floor button.on-fail{background:var(--muted);color:var(--bg)}.results-title{margin:0;font-size:1.1rem;font-weight:650}.scores{grid-template-columns:1fr 1fr;gap:10px;display:grid}.score{border-radius:12px;padding:14px 14px 12px}.score-general{background:var(--gen-soft)}.score-d1{background:var(--d1-soft)}.score-label{margin:0;font-size:.8rem;font-weight:600}.score-num{font-variant-numeric:tabular-nums;margin:4px 0 0;font-size:3.2rem;font-weight:800;font-stretch:70%;line-height:1}.score-general .score-num{color:var(--gen)}.score-d1 .score-num{color:var(--d1)}.score-num-empty{opacity:.35}.score-unit{letter-spacing:.06em;text-transform:uppercase;color:var(--ink);opacity:.7;margin-top:4px;font-size:.72rem;font-weight:600;font-stretch:100%;display:block}.score-sub{color:var(--muted);margin:6px 0 0;font-size:.85rem}.coverage{color:var(--muted);margin:14px 0 0;font-size:.88rem}.domains{gap:12px;margin-top:16px;display:grid}.domain-name{margin-bottom:4px;font-size:.85rem;font-weight:650;display:block}.domain-bars{gap:4px;display:grid}.weakest{background:var(--field);border:1px solid var(--line);border-radius:10px;margin:16px 0 0;padding:12px 14px;font-size:.9rem}.share{cursor:pointer;width:100%;height:44px;font:inherit;background:var(--field);color:var(--ink);border:0;border:1px solid var(--line);border-radius:10px;margin-top:16px;font-weight:700}.share:focus-visible{outline:2px solid var(--gen);outline-offset:2px}.share-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.share-card{background:var(--field);color:var(--ink)}.share-card[disabled]{opacity:.6;cursor:progress}.share-note{color:var(--muted);margin:8px 0 0;font-size:.76rem}.sport-pick{align-items:center;gap:10px;margin-top:12px;display:flex}.sport-pick .field-label{white-space:nowrap;margin:0}.sport-pick select{min-width:0;height:44px;font:inherit;color:var(--ink);background:var(--field);border:1px solid var(--line);border-radius:var(--radius-control);flex:1;padding:0 10px;font-size:.9rem;font-weight:600}.sport-pick select:focus-visible{outline:2px solid var(--d1);outline-offset:1px}details.movers{border:1px solid var(--line);border-radius:12px;margin-top:16px;padding:0}details.movers>summary{cursor:pointer;align-items:center;gap:10px;padding:11px 14px;font-size:.9rem;list-style:none;display:flex}details.movers>summary::-webkit-details-marker{display:none}details.movers>summary:after{content:"+";color:var(--muted);margin-left:auto;font-size:1.1rem}details.movers[open]>summary:after{content:"−"}.movers-title{font-weight:700}.movers-count{color:var(--muted);margin-left:auto;font-size:.8rem;font-weight:500}details.movers[open] .movers-count{display:none}details.movers ul{gap:8px;margin:0;padding:0 14px 4px;list-style:none;display:grid}details.movers li{color:var(--muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:baseline;gap:4px 8px;font-size:.86rem;display:flex}details.movers li strong{color:var(--ink)}details.movers li b{color:var(--ink);font-weight:700}.mover-gain{background:var(--gen-soft);color:var(--gen);white-space:nowrap;border-radius:99px;margin-left:auto;padding:1px 8px;font-weight:700}.mover-gain-down{background:var(--field);color:var(--muted)}.movers-foot{color:var(--muted);margin:6px 0 0;padding:0 14px 12px;font-size:.76rem}.legend{color:var(--muted);flex-wrap:wrap;gap:6px 16px;margin:16px 0 0;padding:0;font-size:.78rem;list-style:none;display:flex}.legend li{align-items:center;gap:6px;display:inline-flex}.prose{max-width:800px;padding:40px 0 24px}.prose h2{letter-spacing:-.03em;margin:44px 0 10px;font-size:1.6rem;font-weight:650;line-height:1.1}.prose h3{margin:26px 0 6px;font-size:1.08rem}.prose p,.prose li{color:var(--ink)}.prose .lede{color:var(--muted);font-size:1.1rem}.prose table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;margin:14px 0;font-size:.92rem}.prose th,.prose td{text-align:right;border-bottom:1px solid var(--line);padding:8px 10px}.prose th:first-child,.prose td:first-child{text-align:left}.prose thead th{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-size:.78rem}.table-scroll{overflow-x:auto}.test-links{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;padding:0;list-style:none;display:grid}.test-links a{border:1px solid var(--line);background:var(--card);border-radius:10px;padding:12px 14px;font-weight:600;text-decoration:none;display:block}.test-links a:hover{border-color:var(--ink)}details{border-bottom:1px solid var(--line);padding:12px 0}summary{cursor:pointer;font-weight:650}.sources{color:var(--muted);font-size:.88rem}.sources li{color:var(--muted);margin-bottom:6px}.site-foot{border-top:1px solid var(--line);color:var(--muted);margin-top:56px;padding:26px 0 40px;font-size:.85rem}.page-title{letter-spacing:-.035em;margin:0 0 14px;font-size:clamp(2.2rem,5vw,3.2rem);font-weight:700;line-height:1}.mini-bar{display:none}@media (width<=900px){.mini-bar{z-index:10;border:1px solid var(--line);background:var(--line);border-radius:14px;grid-template-columns:1fr 1fr;gap:1px;text-decoration:none;display:grid;position:fixed;bottom:12px;left:12px;right:12px;overflow:hidden;box-shadow:0 8px 28px #00000047}.mini{background:var(--card);font-variant-numeric:tabular-nums;align-items:baseline;gap:8px;padding:10px 14px;font-size:1.7rem;font-weight:800;font-stretch:70%;display:flex}.mini small{color:var(--muted);font-size:.72rem;font-weight:600;font-stretch:100%}.mini-general{color:var(--gen)}.mini-d1{color:var(--d1)}.calc-results{margin-bottom:64px;scroll-margin-top:12px}}.alt-group{border-bottom:1px solid var(--line);margin:12px 0 0;padding:0}.alt-group .test-row{border-bottom:0}.alt-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;display:flex}.alt-label{color:var(--muted);font-size:.8rem}.seg-alt{background:var(--card);height:50px}.health-checks{margin-top:var(--space-8)}.health-save-link{padding-bottom:16px;font-size:.85rem}details.floors{background:var(--card);border:1px solid var(--line);border-radius:12px;margin:0;padding:0}details.floors>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;list-style:none;display:flex}details.floors>summary::-webkit-details-marker{display:none}details.floors>summary:after{content:"+";color:var(--muted);margin-left:4px;font-size:1.2rem}details.floors[open]>summary:after{content:"−"}.floors-title{font-weight:700}.floors-count{color:var(--muted);margin-left:auto;font-size:.85rem;font-weight:500}details.floors>:not(summary){margin-left:16px;margin-right:16px}details.floors .floors-intro{margin-top:0}.bar-track-wrap{display:block;position:relative}.bar-scaled{align-items:start;margin-bottom:4px}.bar-scaled .bar-label,.bar-scaled .bar-num{line-height:8px}.bar-scaled .conf{margin-top:-1px}.bar-scale{height:18px;color:var(--muted);font-variant-numeric:tabular-nums;margin-top:3px;font-size:.7rem;display:block;position:relative}.tick{background:var(--card);opacity:.9;width:2px;height:8px;position:absolute;top:-11px;left:50%}.tick-label{white-space:nowrap;position:absolute;top:0}.tick-label b{color:var(--ink);opacity:.75;font-weight:700}.tick-label-50{left:50%;transform:translate(-50%)}.tick-label-99{right:0}.signin-label{margin-bottom:8px;font-weight:650;display:block}.signin-row{flex-wrap:wrap;gap:8px;display:flex}.signin-row input{height:44px;font:inherit;color:var(--ink);background:var(--field);border:1px solid var(--line);border-radius:10px;flex:200px;padding:0 12px}.signin-row input:focus-visible{outline:2px solid var(--gen);outline-offset:1px}.signin-row button,.save-btn{cursor:pointer;height:44px;font:inherit;background:var(--action);color:var(--action-text);border:0;border-radius:10px;padding:0 18px;font-weight:700}.signin-row button:disabled,.save-btn:disabled{opacity:.6;cursor:default}.signin-fine,.save-note,.progress-fine{color:var(--muted);margin:8px 0 0;font-size:.82rem}.signin-error{color:var(--d1);margin:8px 0 0;font-size:.88rem}.signin-sent{background:var(--gen-soft);border-radius:10px;margin:0;padding:12px 14px;font-size:.92rem}.save-box{margin-top:12px}.save-btn{width:100%}.progress-gate{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);max-width:520px;padding:22px}.progress-bar{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:8px;margin-bottom:18px;font-size:.9rem;display:flex}.progress-empty{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px}.link-btn{font:inherit;color:var(--ink);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;padding:0;font-size:.88rem;text-decoration:underline}.link-danger{color:var(--d1)}.progress-domain{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:30px 0 10px;font-size:.78rem;font-weight:700}.progress-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:14px;display:grid}.progress-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px 14px}.progress-card header{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.progress-card h2,.progress-card h4{margin:0;font-size:1rem}.progress-card h4 a{text-decoration:none}.progress-value{font-variant-numeric:tabular-nums;margin:0;font-size:1.5rem;font-weight:800;font-stretch:75%}.progress-now,.progress-meta{color:var(--muted);margin:0;font-size:.85rem}.progress-meta{flex-wrap:wrap;align-items:baseline;gap:4px 6px;display:flex}.now-gen{color:var(--gen);font-weight:700}.now-d1{color:var(--d1);font-weight:700}.delta{margin-left:auto;font-size:.8rem}.delta-up{color:var(--pass);font-weight:650}.delta-down{color:var(--d1);font-weight:650}.chart{width:100%;height:auto;margin:8px 0 6px;display:block}.chart-axis{stroke:var(--line);stroke-width:1px}.chart-line{fill:none;stroke:currentColor;stroke-width:2.5px;stroke-linejoin:round;stroke-linecap:round}.chart-dot{fill:currentColor;stroke:var(--card);stroke-width:2px}.chart-tick{fill:var(--muted);font-size:11px}.snap-list{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);margin:0;padding:0;list-style:none}.snap-list li{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:baseline;gap:6px 16px;padding:12px 18px;display:flex}.snap-list li:last-child{border-bottom:0}.snap-date{font-weight:650}.snap-meta{color:var(--muted);margin-right:auto;font-size:.88rem}.brand-amp{color:var(--d1)}.plan-cta{background:var(--field);color:var(--ink);border:1px solid var(--line);border-radius:12px;margin-top:12px;padding:13px 16px;text-decoration:none;display:block}.plan-cta strong{font-size:1.02rem;display:block}.plan-cta span{opacity:.92;margin-top:2px;font-size:.8rem;display:block}.plan-cta:hover{border-color:var(--ink)}.pi,.pv{max-width:820px}.pi{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:8px 22px 22px}.pi-basis{color:var(--muted);margin:14px 0 4px;font-size:.92rem}.pi-field{border:0;margin:18px 0 0;padding:0}.pi-field legend{margin-bottom:8px;padding:0;font-weight:650}.pi-options{flex-wrap:wrap;gap:6px;display:flex}.pi-options button,.pi-options .choice{font:inherit;cursor:pointer;color:var(--ink);background:var(--field);border:1px solid var(--line);border-radius:9px;padding:8px 13px;font-size:.9rem}.pi-options button.on,.pi-options .choice.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}.pi-hint{color:var(--muted);max-width:66ch;margin:8px 0 0;font-size:.85rem}.pi-text{margin-top:16px;display:block}.pi-text span{margin-bottom:6px;font-weight:650;display:block}.pi-text input{width:100%;height:44px;font:inherit;color:var(--ink);background:var(--field);border:1px solid var(--line);border-radius:10px;padding:0 12px}.pi-screen{border-top:1px solid var(--line);margin-top:26px;padding-top:18px}.pi-q{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;padding:10px 0;font-size:.92rem;display:flex}.pi-q .seg{flex:none}.pi-block{background:var(--d1-soft);color:var(--ink);border-radius:10px;margin:16px 0 0;padding:12px 14px;font-size:.92rem}.pi .save-btn,.pi .save-box{margin-top:20px}.pv-summary{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px 22px}.pv-summary h2{margin:0 0 14px;font-size:1.35rem;line-height:1.25}.pv-summary p{margin:10px 0 0}.pv-priorities{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin:4px 0 8px;display:grid}.pv-pri{background:var(--field);border:1px solid var(--line);border-radius:12px;gap:4px;padding:12px;display:grid}.pv-pri-priority{border-color:var(--d1)}.pv-pri-name{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:.78rem;font-weight:700}.pv-pri-min{font-size:1.7rem;font-weight:800;font-stretch:75%;line-height:1}.pv-pri-min small{color:var(--muted);font-size:.75rem;font-weight:600}.pv-pri-bar{background:var(--line);border-radius:99px;height:6px;overflow:hidden}.pv-pri-bar span{background:var(--gen);height:100%;display:block}.pv-pri-priority .pv-pri-bar span{background:var(--d1)}.pv-pri-meta{color:var(--muted);font-size:.78rem}.pv-expect{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;margin-top:14px;font-size:.9rem}.pv-expect th,.pv-expect td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:8px 10px 8px 0}.pv-expect th{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-size:.75rem}.pv-expect small{color:var(--muted);font-size:.78rem;display:block}.pv-notes{color:var(--muted);margin:14px 0 0;padding-left:18px;font-size:.9rem}.pv-notes li{margin-bottom:6px}.pv-safety{border:1px solid var(--line);border-radius:12px;margin:14px 0;padding:12px 16px;font-size:.9rem}.pv-weeks{flex-wrap:wrap;gap:6px;margin:18px 0 12px;display:flex}.pv-weeks button{width:44px;height:44px;font:inherit;cursor:pointer;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:10px;font-weight:700}.pv-weeks button.deload{color:var(--muted);border-style:dashed}.pv-weeks button.retest{border-color:var(--d1);color:var(--d1)}.pv-weeks button.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}.pv-week-note{color:var(--muted);margin:0 0 12px}.pv-session{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:14px;padding:16px 18px}.pv-session header{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.pv-session h4{margin:0;font-size:1.02rem}.pv-session header span{color:var(--muted);font-size:.85rem}.pv-block-title{letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin:14px 0 4px;font-size:.74rem;font-weight:700}.pv-block ul{margin:0;padding:0;list-style:none}.pv-block li{border-bottom:1px solid var(--line);gap:2px;padding:8px 0;display:grid}.pv-block li:last-child{border-bottom:0}.pv-ex{font-weight:650}.pv-rx{font-size:.92rem}.pv-rx b{color:var(--gen)}.pv-rx i{color:var(--muted);font-style:normal}.pv-mod{color:var(--warn);font-size:.84rem}.pv-cues{color:var(--muted);font-size:.8rem}.pv-unlock{border-radius:var(--radius);background:var(--d1-soft);margin-top:8px;padding:18px 20px}.pv-unlock p{margin:0 0 12px}.pv-print{margin-top:8px}@media print{.site-head,.site-foot,.hero,.pv-weeks,.pv-print,.pv-summary,.pv-safety,.crumbs,.foot-nav,.mini-bar{display:none!important}body{color:#000;background:#fff}.pv-session{break-inside:avoid;border-color:#bbb}}.hero .eyebrow{letter-spacing:.13em;text-transform:uppercase;color:var(--muted);margin-bottom:14px;font-size:.72rem;font-weight:650}.hero-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px 20px;margin-top:18px;font-size:.78rem;display:flex}.hero-meta span+span:before{content:"·";margin-right:20px}.hero-meta a{align-items:center;min-height:28px;display:inline-flex}.step-number{border:1px solid var(--line);width:24px;height:24px;color:var(--muted);vertical-align:middle;border-radius:50%;place-items:center;margin-right:8px;font-size:.72rem;font-weight:600;display:inline-grid}.profile-help{color:var(--muted);grid-column:1/-1;margin:12px 0 0;font-size:.82rem}.profile-units{grid-column:span 2;justify-content:end;gap:0;display:grid}.profile-units>.field-label{margin-bottom:4px}.profile-choice{grid-column:span 2;justify-content:start;display:grid}.profile-height{grid-column:span 2}.profile>.field{width:100%}.profile-height .field{width:100%;min-width:0}.profile-age input{padding-right:12px}.profile-height .field-label{white-space:nowrap}.choice{white-space:nowrap;justify-content:center;align-items:center;min-height:44px;display:inline-flex;position:relative}.choice input{opacity:0;width:1px;height:1px;position:absolute}.choice:has(input:focus-visible){outline:3px solid var(--gen);outline-offset:3px}.choice.on{box-shadow:0 1px 3px #00000014}.choice:hover:not(.on),.seg button:hover:not(.on){color:var(--ink);background:var(--line)}.field input[aria-invalid=true]{border-color:var(--warn)}.field input::placeholder{opacity:.55;color:var(--muted)}.tests-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:24px;display:flex}.tests-heading h2{margin:0;font-size:1.1rem;font-weight:650}.tests-heading>span{color:var(--muted);font-size:.76rem}.section-help{color:var(--muted);margin:8px 0 18px;font-size:.88rem}.domain-picker{border-bottom:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;display:grid}.domain-picker button{min-height:48px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:12px 0;font-size:.84rem;font-weight:600}.domain-picker button[aria-pressed=true]{color:var(--ink);border-bottom-color:var(--ink)}.domain-picker button:hover{background:var(--field)}.domain-picker button span{color:var(--muted);margin-left:6px;font-size:.7rem;display:inline-block}.test-navigation{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:24px;padding-top:16px;display:flex}.test-navigation>span{color:var(--muted);max-width:26ch;font-size:.8rem}.button-secondary{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--card);min-height:44px;color:var(--ink);cursor:pointer;justify-content:center;align-items:center;padding:8px 14px;font-size:.85rem;font-weight:600;text-decoration:none;display:inline-flex}.button-secondary:hover{border-color:var(--muted);background:var(--field)}.results-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;display:flex}.status-pill{border:1px solid var(--line);color:var(--muted);border-radius:99px;padding:3px 8px;font-size:.65rem;display:inline-block}.results-empty{padding-top:8px}.empty-mark{background:var(--field);border:1px solid var(--line);width:44px;height:44px;color:var(--muted);border-radius:12px;place-items:center;font-size:1.5rem;display:grid}.results-empty h3{letter-spacing:-.025em;margin:20px 0 10px;font-size:1.35rem;font-weight:600;line-height:1.3}.results-empty p{color:var(--muted);font-size:.88rem}.results-empty ol{counter-reset:setup;margin:0;padding:12px 0;list-style:none}.results-empty li{counter-increment:setup;align-items:center;gap:12px;padding:8px 0;font-size:.84rem;display:flex}.results-empty li:before{content:counter(setup);border:1px solid var(--line);width:22px;height:22px;color:var(--muted);border-radius:50%;place-items:center;font-size:.7rem;display:inline-grid}.results-empty li.complete:before{content:"✓";color:var(--pass)}.results-empty .empty-foot{border-top:1px solid var(--line);margin-bottom:0;padding-top:18px;font-size:.76rem}.result-breakdown{margin-top:12px}.result-breakdown summary{min-height:32px;font-size:.88rem}.share-fallback{gap:8px;margin-top:12px;font-size:.82rem;display:grid}.share-fallback input{width:100%;min-width:0;color:var(--ink);background:var(--field);border:1px solid var(--line);border-radius:8px;padding:10px}.reference-callout{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin:40px 0;padding:24px;display:flex}.prose .reference-callout h2{margin:0 0 8px;font-size:1.2rem}.reference-callout p{max-width:48ch;margin:0;font-size:.88rem}.reference-callout a{align-items:center;min-height:44px;font-size:.88rem;font-weight:600;display:inline-flex}.progress-gate h2{margin:0 0 8px;font-size:1.35rem;font-weight:650}.gate-back{min-height:44px;color:var(--muted);align-items:center;margin-top:16px;font-size:.86rem;display:inline-flex}.pi-options .choice{min-height:44px}.pi-q{flex-wrap:wrap}.pi-field{margin-top:24px}.pv-session header,.progress-card header{flex-wrap:wrap}@media (width<=900px){body:has(.mini-bar){padding-bottom:88px}.mini-bar{bottom:max(12px, env(safe-area-inset-bottom))}.mini{flex-wrap:wrap;gap:2px 8px}.mini small{font-size:.65rem}.calc-results{margin-bottom:0}}@media (width<=600px){.wrap{padding:0 16px}.site-head{gap:12px;padding:16px 0 12px}.site-head nav{grid-template-columns:repeat(4,1fr);gap:2px;width:100%;display:grid}.site-head nav a{justify-content:center;padding:8px 4px;font-size:.74rem}.hero{padding:32px 0 28px}.hero h1{max-width:16ch}.hero-meta{gap:6px 12px}.hero-meta span+span:before{margin-right:12px}.calc{gap:16px}.calc-inputs,.calc-results{padding:20px 16px}fieldset.profile{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}.profile-choice,.profile-units{grid-column:span 1;justify-content:stretch;min-width:0}.profile-choice .field-label{font-size:.72rem}.profile .seg{width:100%;min-width:0}.profile .seg .choice{flex:1;min-width:0;padding:0 6px;font-size:.78rem}.profile .field-label{font-size:.72rem}.profile-height small{font-size:.66rem}.test-head{grid-template-columns:minmax(0,1fr);gap:8px}.test-fields{width:100%}.test-name{min-height:32px}.test-head:has(.test-fields>:nth-child(3)) .test-name{margin-top:0}.domain-picker button{white-space:nowrap;font-size:.76rem}.domain-picker button span{display:none}.domain-description{font-size:.78rem}.alt-head{gap:8px}.floors-count{display:none}.bar{grid-template-columns:74px minmax(0,1fr) 30px 9px;gap:8px;font-size:.75rem}.bar-scale{font-size:.64rem}.test-links{grid-template-columns:1fr}.prose{padding-top:24px}.pi{padding:8px 16px 20px}.signin-row button{width:100%}.pv-summary{padding:20px 16px}.sport-pick{flex-wrap:wrap}.sport-pick select{flex-basis:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.field input,.signin-row input,.pi-text input,.sport-pick select,.share-fallback input{border-color:var(--control-line)}.pi-section-title{border-top:1px solid var(--line);margin:32px 0 4px;padding-top:24px;font-size:1.05rem;font-weight:650}@media (width<=900px){html:has(.mini-bar){scroll-padding-bottom:100px}.mini{flex-direction:column;align-items:flex-start}}.recorded-result{margin-top:.35rem}.recorded-result>strong{font-variant-numeric:tabular-nums;margin-right:.65rem;font-size:1.2rem}.recorded-result>span{color:var(--muted);font-size:.8rem}.cohort-reference{margin-top:.75rem;font-size:.85rem;line-height:1.6}.cohort-reference summary{cursor:pointer}.cohort-reference p{margin:.6rem 0}.tracked-summary{border:1px solid var(--line);border-radius:12px;margin-bottom:1rem;padding:1rem}.tracked-summary h3{margin:0 0 .8rem;font-size:1rem}.tracked-summary>p:not(.test-note){justify-content:space-between;gap:1rem;display:flex}.coverage-intro{color:var(--muted);margin:0 0 16px;font-size:.85rem}.coverage-table{border-collapse:collapse;table-layout:fixed;width:100%;margin-top:16px;font-size:.8rem}.coverage-table th,.coverage-table td{border-bottom:1px solid var(--line);text-align:right;vertical-align:middle;overflow-wrap:anywhere;padding:10px 4px}.coverage-table th:first-child{text-align:left}.coverage-table thead th{color:var(--muted);font-size:.7rem;font-weight:500}.coverage-category{min-height:32px;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600}.coverage-category:hover{text-underline-offset:3px;text-decoration:underline}.coverage-needed{color:var(--muted);font-size:.75rem}.coverage-score{font-variant-numeric:tabular-nums;font-weight:650}.coverage-score small{color:var(--muted);font-size:.65rem;font-weight:400;display:block}.coverage-rules{color:var(--muted);border:0;font-size:.78rem}.coverage-rules summary{font-size:.78rem;font-weight:500}.coverage-rules p{margin:8px 0}@container (width<=410px){.test-head{grid-template-columns:minmax(0,1fr);gap:8px}.test-name{min-height:32px}.test-head:has(.test-fields>:nth-child(3)) .test-name{margin-top:0}}.crumbs[data-astro-cid-hkbrpulz] ol[data-astro-cid-hkbrpulz]{color:var(--muted);flex-wrap:wrap;gap:6px 8px;margin:0;padding:4px 0 0;font-size:.82rem;list-style:none;display:flex}.crumbs[data-astro-cid-hkbrpulz] li[data-astro-cid-hkbrpulz]+li[data-astro-cid-hkbrpulz]:before{content:"/";opacity:.5;margin-right:8px}.crumbs[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz]{color:var(--muted);text-decoration:none}.crumbs[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz]:hover{color:var(--ink);text-decoration:underline}.foot-nav[data-astro-cid-hkbrpulz]{flex-wrap:wrap;gap:6px 18px;margin-bottom:14px;font-weight:600;display:flex}.foot-nav[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz]{color:var(--muted);text-decoration:none}.foot-nav[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz]:hover{color:var(--ink);text-decoration:underline}
