@font-face{font-family:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(/fonts/dm-sans.ttf)format("truetype")}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/fonts/manrope.ttf)format("truetype")}:root{color:#203a32;font-synthesis:none;--green:#246b58;--ink:#173b30;--muted:#7c8c7c;--line:#dce3d7;--card:#fffef9;--amber:#c7954d;background:#f6f7f0;font-family:DM Sans,system-ui,sans-serif;font-weight:400}*{box-sizing:border-box}body{margin:0}button,input,summary{font:inherit}button,summary{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,a:focus-visible,summary:focus-visible{outline-offset:3px;outline:3px solid #bf9554}a{color:inherit}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:86px;padding:0 5.5%;display:flex}.brand{letter-spacing:.07em;align-items:center;gap:12px;font-family:Manrope,system-ui,sans-serif;font-size:15px;font-weight:800;text-decoration:none;display:flex}.brand-light{margin-left:5px;font-weight:400}.brand-mark{color:var(--green);font-size:32px;line-height:1}.top-right{align-items:center;gap:28px;display:flex}.phase{letter-spacing:.14em;color:var(--muted);font-size:10px;font-weight:600}.connection-pill{color:#69785e;background:#e9ece1;border-radius:30px;align-items:center;gap:8px;padding:9px 13px;font-size:11px;display:flex}.connection-pill i,.sensor-card-top i{background:#b4baa8;border-radius:50%;width:6px;height:6px;display:inline-block}.connection-pill.live{color:#30705a;background:#e1eee4}.connection-pill.live i{background:#3f9777}.desktop-main{max-width:1480px;margin:auto;padding:48px 5.5% 0}.intro-row{justify-content:space-between;align-items:center;padding:12px 0 42px;display:flex}.eyebrow{letter-spacing:.16em;color:#7c8b71;align-items:center;gap:8px;font-size:10px;font-weight:600;display:flex}.tiny-line{background:#a6b295;width:20px;height:1px}h1{letter-spacing:-.055em;margin:20px 0 18px;font-family:Manrope,system-ui,sans-serif;font-size:clamp(42px,4.5vw,64px);font-weight:500;line-height:1.06}h1 em{color:#78946b;font-style:normal}p{line-height:1.65}.intro{color:#72816e;margin-bottom:0;font-size:13px;line-height:1.8}.session-card{border:1px solid var(--line);background:#edf1e7;border-radius:4px;width:285px;padding:22px 24px}.card-label{letter-spacing:.13em;color:#849078;justify-content:space-between;align-items:center;font-size:9px;font-weight:600;display:flex}.local-tag{border:1px solid #c4d2ba;border-radius:2px;padding:3px 6px;font-size:8px}.session-metric{align-items:center;gap:20px;padding:16px 0 25px;display:flex}.session-metric strong{letter-spacing:-.08em;font-family:Manrope,system-ui,sans-serif;font-size:56px;font-weight:500;line-height:1.2}.session-metric span{color:#7e8b72;font-size:11px;line-height:1.6}.session-bottom{color:#859078;border-top:1px solid #dce3d2;justify-content:space-between;gap:12px;padding-top:14px;font-size:9px;display:flex}.session-bottom b{color:#42624c;margin-top:5px;font-size:11px;font-weight:500;display:block}.section-heading{justify-content:space-between;align-items:center;margin:12px 0 18px;display:flex}.section-heading>div{align-items:center;gap:12px;display:flex}.section-number{color:#98a48c;font-size:10px}.section-heading h2{letter-spacing:-.02em;margin:0;font-size:14px;font-weight:500}.section-heading>span{color:#98a08e;font-size:10px}.lab-grid{grid-template-columns:1.17fr 1fr;gap:20px;display:grid}.visual-panel,.sensor-panel,.trace-panel{border:1px solid var(--line);background:var(--card);border-radius:5px;overflow:hidden}.panel-top{letter-spacing:.09em;color:#7f8d77;border-bottom:1px solid #edf0e7;justify-content:space-between;align-items:center;padding:18px 20px;font-size:9px;display:flex}.panel-top>div{align-items:center;gap:7px;display:flex}.live-dot{background:#4a9b7a;border-radius:50%;width:5px;height:5px}.mono{letter-spacing:.03em;color:#99a28d;font-family:monospace;font-size:9px}#plane{background:radial-gradient(#eff3e9 0,#fafaf4 70%);height:315px}#plane canvas{display:block}.plane-caption{border-top:1px solid #edf0e7;align-items:center;gap:10px;padding:14px 18px;display:flex}.plane-caption p{color:#8b947f;flex:1;margin:0;font-size:10px;line-height:1.6}.axis-dot{background:#ce9a4d;border-radius:2px;width:7px;height:7px}.icon-button{color:#79916e;background:0 0;border:1px solid #dce3d5;border-radius:4px;width:30px;height:30px;font-size:19px}.manual{color:#839075;border-top:1px solid #edf0e7;padding:10px 18px;font-size:10px}.manual summary{list-style:none}.manual summary:after{content:" +";float:right}.manual[open] summary:after{content:" −"}.manual-sliders{gap:12px;padding-top:10px;display:flex}.manual-sliders label{flex:1;min-width:0}.manual-sliders input{width:100%;height:20px;display:block}.sensor-grid{grid-template-columns:1fr 1fr;gap:10px;padding:16px;display:grid}.sensor-card{text-align:left;background:#fcfcf7;border:1px solid #e1e7db;border-radius:4px;min-width:0;padding:13px;transition:border .2s,background .2s}.sensor-card.selected{background:#f1f6ed;border-color:#8fb4a1}.sensor-card-top{color:#5d765c;justify-content:space-between;align-items:center;gap:5px;font-size:10px;display:flex}.sensor-card.streaming .sensor-card-top i{background:#4a9b7a}.sensor-value{letter-spacing:-.04em;margin:8px 0 5px;font-family:Manrope,system-ui,sans-serif;font-size:28px;font-weight:500}.sensor-value small{color:#97a28b;letter-spacing:0;margin-left:4px;font-family:DM Sans,sans-serif;font-size:10px}.sensor-axes{color:#94a18a;white-space:nowrap;font-family:monospace;font-size:8px;overflow:hidden}.sensor-status{color:#96a089;margin-top:5px;font-size:8px}.sensor-note{color:#99a28e;margin:0 0 15px;padding:0 18px;font-size:9px}.trace-panel{margin-top:20px;padding:20px}.trace-header{align-items:center;gap:32px;display:flex}.trace-header h3{letter-spacing:-.02em;margin:5px 0 0;font-size:14px;font-weight:500}.trace-legend{color:#839177;flex:1;gap:12px;font-size:9px;display:flex}.trace-legend span{align-items:center;gap:5px;display:flex}.trace-legend i{border-radius:50%;width:5px;height:5px}.trace-legend .x{background:#278979}.trace-legend .y{background:#c58b41}.trace-legend .z{background:#718fbc}.trace-stat span{letter-spacing:.06em;color:#95a18a;font-size:8px;display:block}.trace-stat b{color:#748669;margin-top:5px;font-size:10px;font-weight:500;display:block}#trace{width:100%;height:110px;margin-top:12px;display:block}.trace-footer{color:#a0a892;justify-content:space-between;margin-top:8px;font-size:8px;display:flex}.trace-panel+.section-heading{margin-top:35px}.test-grid{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.test-card{border:1px solid var(--line);background:var(--card);border-radius:4px;flex-direction:column;padding:20px;display:flex}.test-index{color:#b2bba4;justify-content:space-between;align-items:center;font-family:Manrope,system-ui,sans-serif;font-size:18px;display:flex}.test-index span{letter-spacing:.1em;color:#9aa48d;font-family:DM Sans,sans-serif;font-size:8px}.test-card h3{letter-spacing:-.03em;margin:20px 0 8px;font-size:14px;font-weight:500}.test-card p{color:#939d86;flex:1;margin:0 0 20px;font-size:10px;line-height:1.8}.test-state{color:#7e9774;border-top:1px solid #edf0e7;padding-top:12px;font-size:9px}.test-grid+.section-heading{margin-top:36px}.button{color:#5c7855;background:#fcfcf6;border:1px solid #d6e0ce;border-radius:4px;padding:10px 14px;font-size:11px;font-weight:500;transition:background .2s}.button:hover{background:#edf4e7}.button.primary{color:#fff;background:#25664f;border-color:#25664f}.button.primary:hover{background:#1c5340}.full{width:100%}.notebook{border-top:1px solid var(--line)}.notebook-row{border-bottom:1px solid var(--line);grid-template-columns:240px 1fr;gap:20px;padding:18px 0;font-size:11px;display:grid}.notebook-row strong{font-weight:500}.notebook-row p{color:#8b977f;margin:0;font-size:11px}.notebook-row .button{margin-top:12px}.notebook video{border-radius:4px;width:100%;max-width:400px;margin-top:12px;display:block}.notebook video[hidden]{display:none}.result-card{background:#edf3e7;border:1px solid #d0deca;border-radius:4px;margin-top:20px;padding:22px}.result-card h3{font-weight:500}.result-card p{color:#6e8065;font-size:12px}footer{letter-spacing:.07em;color:#a1ac93;border-top:1px solid var(--line);justify-content:space-between;margin-top:40px;padding:20px 0 25px;font-size:8px;display:flex}.small{color:#8b987d;font-size:11px;line-height:1.7}input[type=range]{accent-color:#3b7f60;cursor:pointer}.connection-error{max-width:600px;margin:100px auto;padding:24px}.render-error{padding:40px;font-size:13px}.phone-main{max-width:520px;margin:0 auto;padding:28px 20px}.phone-main h1{margin-top:16px;font-size:48px}.phone-main .intro{margin-bottom:24px;font-size:14px}.phone-main .button{padding:13px 15px;font-size:13px}.phone-main .primary{justify-content:space-between;padding:17px 18px;display:flex}.status-text{color:#8a997c;min-height:36px;margin:12px 0 20px;font-size:11px;line-height:1.6}.phone-metrics{border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:12px;margin-bottom:24px;padding:18px 0;display:flex}.phone-metrics>div{flex:1}.phone-metrics span{letter-spacing:.1em;color:#8e9c7f;font-size:8px;display:block}.phone-metrics strong{letter-spacing:-.04em;margin-top:6px;font-family:Manrope,system-ui,sans-serif;font-size:27px;font-weight:500;display:block}.phone-metrics small{color:#96a38a;letter-spacing:0;font-size:10px}.phone-card{border:1px solid var(--line);background:var(--card);border-radius:6px;margin-bottom:18px;padding:20px}.clutch{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;color:#5a7950;background:#f0f5e9;border:1px dashed #b2c3a2;border-radius:6px;width:100%;margin:16px 0 24px;padding:23px 10px;transition:background .15s}.clutch-icon{margin-bottom:9px;font-size:32px;font-weight:400;line-height:1;display:block}.clutch strong{font-size:15px;font-weight:500;display:block}.clutch small{color:#94a184;margin-top:5px;font-size:11px;display:block}.clutch.holding{background:#d8ead7;border-style:solid;border-color:#5e9c6d}.range-label{color:#728567;justify-content:space-between;font-size:12px;display:flex}#depth{touch-action:none;width:100%;height:38px}.button-row{gap:10px;margin-top:12px;display:flex}.button-row>.button{flex:1}.test-options{flex-direction:column;margin:10px 0 16px;display:flex}.test-option{color:#57724f;text-align:left;background:0 0;border:0;border-bottom:1px solid #e5e9de;justify-content:space-between;align-items:center;padding:15px 0;font-size:13px;display:flex}.test-option small{color:#95a287;font-size:10px}.test-option b{margin-left:8px;font-size:14px;font-weight:400}.test-progress{color:#5e7d4d;background:#eaf1e1;border-radius:4px;margin:12px 0;padding:12px;font-size:12px}.result-note{color:#6d805e;margin:15px 0;font-size:11px;line-height:1.7}.result-note p{margin:8px 0}.phone-card summary{color:#64805a;font-size:13px;font-weight:500}.touch-pad{touch-action:none;-webkit-user-select:none;user-select:none;text-align:center;color:#8a9c79;background:#f5f7ef;border:1px dashed #b5c2a7;border-radius:4px;margin-top:20px;padding:28px 10px;font-size:12px}.touch-pad strong{color:#637e55;margin-top:8px;font-size:14px;font-weight:500;display:block}#camera-preview{border-radius:4px;width:100%;margin-top:15px}#mic-level{width:100%;height:20px;margin-top:12px}.sensor-row{overflow-wrap:anywhere;border-bottom:1px solid #e9eddf;padding:14px 0;font-size:11px}.sensor-row strong{color:#5e7953;margin-bottom:5px;font-size:12px;font-weight:500;display:block}.sensor-row span{color:#929f83}.phone-main footer{text-align:center;letter-spacing:0;font-size:9px;line-height:1.8;display:block}body:has(.phone-main) .topbar{height:65px;padding:0 20px}body:has(.phone-main) .brand{gap:8px;font-size:11px}body:has(.phone-main) .brand-mark{font-size:27px}body:has(.phone-main) .phase{display:none}body:has(.phone-main) .connection-pill{padding:7px 9px;font-size:9px}.phone-main details[open] summary{margin-bottom:14px}@media (width>=1600px){.desktop-main{padding-left:40px;padding-right:40px}}@media (width<=950px){.lab-grid{grid-template-columns:1fr}.sensor-grid{grid-template-columns:repeat(3,1fr)}.test-grid{grid-template-columns:repeat(2,1fr)}.topbar .phase{display:none}.desktop-main{padding-top:28px}.intro-row{gap:20px}.session-card{width:240px}.trace-header{gap:18px}.notebook-row{grid-template-columns:190px 1fr}}@media (width<=600px){.topbar{height:70px;padding:0 20px}.brand{font-size:12px}.connection-pill{font-size:9px}.desktop-main{padding:25px 20px 0}.intro-row{padding-bottom:28px;display:block}.session-card{width:100%;margin-top:25px}.session-metric{padding:12px 0}.session-metric strong{font-size:40px}.section-heading>span{display:none}.sensor-grid{grid-template-columns:repeat(2,1fr)}.trace-header{flex-wrap:wrap;gap:12px}.trace-stat{width:40%}.test-grid{grid-template-columns:1fr 1fr;gap:10px}.test-card{padding:15px}.test-card h3{font-size:13px}.test-card p{font-size:10px}.notebook-row{grid-template-columns:1fr;gap:8px}.trace-footer,footer{gap:20px;font-size:7px}}.webcam-stage{max-width:640px;position:relative}.webcam-stage video{width:100%;display:block;margin:12px 0 0!important}.webcam-stage video[hidden]{display:none}.webcam-stage canvas{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}#hand-status{font-size:13px;line-height:1.6}button:disabled{opacity:.5;cursor:not-allowed}
