:root{color:#203d32;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#f4f5ef;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}button,a,input{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible{outline-offset:4px;outline:3px solid #c38b3b}a{color:inherit;text-decoration:none}.app-shell{max-width:780px;margin:auto;padding:0 30px}header{border-bottom:1px solid #dfe4d9;justify-content:space-between;align-items:center;height:94px;display:flex}.brand{letter-spacing:2px;align-items:center;gap:8px;font-size:17px;font-weight:800;display:flex}.brand>span:last-child{font-weight:400}.brand-icon{letter-spacing:0;font-size:26px}.help-button{background:0 0;border:1px solid #cbd3c7;border-radius:50%;width:32px;height:32px}main{text-align:center;max-width:470px;margin:auto;padding-top:38px}.eyebrow{letter-spacing:2px;color:#778473;justify-content:center;align-items:center;gap:8px;font-size:10px;display:flex}.eyebrow span{background:#aa813f;border-radius:50%;width:5px;height:5px}h1{letter-spacing:-1.5px;margin:18px 0 12px;font-size:32px;font-weight:600;line-height:1.45}h1 em{color:#71856b;font-style:normal}.intro{color:#859080;margin:0 0 25px;font-size:13px;line-height:1.8}.mode-switch{background:#e7eadf;border-radius:12px;max-width:290px;margin:0 auto 20px;padding:4px;display:flex}.mode-switch button{color:#7f8b77;background:0 0;border:0;border-radius:9px;flex:1;padding:10px 6px;font-size:12px}.mode-switch .active{color:#2c4f3b;background:#fff;box-shadow:0 2px 5px #263e3210}.aim-card{background:#fffef9;border:1px solid #e1e5d9;border-radius:22px;padding:22px 26px 24px;box-shadow:0 12px 40px #24422e05}.card-top{color:#909888;justify-content:space-between;font-size:10px;display:flex}.card-top span:first-child{align-items:center;gap:6px;display:flex}.card-top i{background:#c59a59;border-radius:50%;width:6px;height:6px}.card-top i.live{background:#3a8c5e}.compass{background:radial-gradient(circle,#fffef9 55%,#f6f7ef 100%);border:1px solid #e4e9df;border-radius:50%;width:290px;height:290px;margin:26px auto 18px;position:relative}.compass:after{content:"";pointer-events:none;border:1px solid #e6e9df;border-radius:50%;position:absolute;inset:37px}.dial{border-radius:50%;position:absolute;inset:0}.tick{pointer-events:none;position:absolute;inset:8px}.tick:before{content:"";background:#d4ddce;width:1px;height:7px;position:absolute;left:50%}.tick.major:before{background:#899b81;width:2px;height:12px}.cardinal{color:#7d8f75;font-size:12px;font-weight:500;position:absolute}.c0{color:#aa7a37;top:26px;left:calc(50% - 5px)}.c1{top:calc(50% - 7px);right:29px}.c2{bottom:26px;left:calc(50% - 4px)}.c3{top:calc(50% - 7px);left:26px}.top-marker{z-index:2;border-top:11px solid #34573b;border-left:5px solid #0000;border-right:5px solid #0000;position:absolute;top:-8px;left:calc(50% - 5px)}.heading{flex-direction:column;justify-content:center;gap:7px;display:flex;position:absolute;inset:72px 0}.heading>span:first-child{color:#85937d;font-size:11px}.heading strong{letter-spacing:-3px;font-size:60px;font-weight:400;line-height:1.1}.heading small{vertical-align:top;letter-spacing:0;font-size:28px}.heading>span:last-child{letter-spacing:2px;color:#a2ad99;font-size:8px}.target-pointer{z-index:1;pointer-events:none;position:absolute;inset:0}.target-pointer span{color:#bf924c;font-size:25px;position:absolute;top:47px;left:calc(50% - 13px)}.target-pointer.aligned span{color:#398458}.guidance{color:#76836b;background:#f2f3e9;border:1px solid #e7e9dc;border-radius:9px;padding:12px 4px;font-size:12px}.guidance.on-target{color:#3e7748;background:#eaf3e6;border-color:#c7ddc0}.target-row{text-align:left;justify-content:space-between;align-items:center;padding:20px 0;display:flex}.target-row div{flex-direction:column;gap:6px;display:flex}.target-row span{color:#96a08b;font-size:10px}.target-row strong{font-size:13px;font-weight:500}.target-row button{color:#8b967f;background:0 0;border:0;font-size:11px}.save-button{color:#fff;background:#294e37;border:0;border-radius:10px;width:100%;padding:16px 8px;font-size:13px}.save-button:hover{background:#386745}.manual-control{text-align:left;margin-top:20px}.manual-control label{color:#8a9580;justify-content:space-between;font-size:11px;display:flex}.manual-control strong{color:#3e5c3e;font-weight:500}input[type=range]{accent-color:#3f6443;width:100%;margin:14px 0 8px}.manual-control>div{color:#a1ab98;justify-content:space-between;font-size:9px;display:flex}.sensor-status{color:#87927d;min-height:18px;margin:14px 0 28px;font-size:11px;line-height:1.6}.steps{text-align:left;justify-content:space-between;padding:0 5px;display:flex}.steps>div{gap:8px;display:flex}.steps b{color:#a9b79c;padding-top:3px;font-size:10px;font-weight:400}.steps span{color:#5a6e4e;font-size:11px}.steps small{color:#98a38b;margin-top:7px;font-size:9px;display:block}.field-note{text-align:left;color:#8b977f;border-top:1px solid #dfe5d6;justify-content:center;gap:10px;margin:25px 0 12px;padding-top:20px;display:flex}.field-note>span{font-size:23px}.field-note p{margin:0;font-size:10px;line-height:1.8}.install-button{color:#6e8261;background:0 0;border:0;padding:14px;font-size:11px}footer{color:#a0ab95;letter-spacing:1px;border-top:1px solid #dfe4d9;justify-content:space-between;margin-top:28px;padding:23px 0 25px;font-size:9px;display:flex}footer span{letter-spacing:0}.modal-backdrop{z-index:10;background:#172b2370;justify-content:center;align-items:center;padding:22px;display:flex;position:fixed;inset:0}.modal{background:#fffef9;border-radius:20px;max-width:420px;max-height:90vh;padding:28px;overflow:auto}.modal h2{font-size:20px}.modal h3{margin-top:24px;font-size:15px}.modal p{color:#76836b;font-size:13px;line-height:1.8}.modal .save-button{margin-top:15px}@media (width<=480px){.app-shell{padding:0 20px}header{height:76px}main{padding-top:28px}h1{font-size:29px}.aim-card{padding:20px 18px}.compass{width:260px;height:260px}.heading{inset:65px 0}.heading strong{font-size:55px}.steps{gap:7px}.steps>div{gap:5px}.steps span{font-size:10px}.steps small{font-size:8px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto}}.workflow{justify-content:center;gap:30px;margin:24px 0 25px;display:flex}.workflow>div{color:#8e9a83;align-items:center;gap:7px;font-size:11px;display:flex}.workflow b{border:1px solid #d4ddcb;border-radius:50%;place-items:center;width:25px;height:25px;font-weight:500;display:grid}.workflow .current{color:#294e37;font-weight:600}.workflow .current b,.workflow .complete b{color:#fff;background:#294e37;border-color:#294e37}h1.step-title{letter-spacing:-1px;margin:0 0 13px;font-size:25px}.practice-banner{color:#987741;margin:-8px 0 16px;font-size:11px}.phone-top{letter-spacing:.3px;color:#496c41;margin:20px 0 12px;font-size:11px}.setup-diagram,.alignment-map svg{width:100%;max-width:330px;margin:0 auto;display:block;overflow:visible}.setup-diagram text,.alignment-map text{fill:#59714d;font-size:12px}.setup-diagram .diagram-note,.alignment-map .diagram-note{fill:#8a997d;font-size:10px}.capture-heading{justify-content:space-between;align-items:center;gap:10px;padding:14px 0 20px;display:flex}.capture-heading>span{color:#8c987f;font-size:11px}.capture-heading strong{white-space:nowrap;font-size:25px;font-weight:500}.capture-heading small{color:#8c987f;font-size:11px}.aim-line{stroke:#b99351}.is-aligned .aim-line{stroke:#3c8454}.angle-pair{border-top:1px solid #e4e9dd;justify-content:space-evenly;gap:10px;padding:17px 0;display:flex}.angle-pair div{flex-direction:column;gap:7px;display:flex}.angle-pair span{color:#8a977f;font-size:10px}.angle-pair strong{font-size:25px;font-weight:500}.primary-action{margin-top:18px}.text-button{color:#6d805f;background:0 0;border:0;padding:16px 4px 0;font-size:11px}.action-note{color:#8b977f;margin:17px 0;font-size:11px;line-height:1.8}.body-selector{text-align:left;margin:20px 0}.body-selector>span{color:#849276;font-size:11px}.body-selector>div{gap:7px;margin-top:10px;display:flex}.body-selector button{color:#86947c;background:0 0;border:1px solid #dde4d5;border-radius:8px;flex:1;min-height:44px;padding:12px 3px;font-size:11px}.body-selector .selected{color:#355533;background:#edf3e8;border-color:#67855a}.stance-guide{text-align:left;background:#f5f6ee;border-radius:10px;padding:3px 14px}.stance-guide p{justify-content:space-between;gap:10px;font-size:11px;line-height:1.5;display:flex}.stance-guide b{font-weight:500}.stance-guide span{color:#8a784f}.workflow-back{justify-content:space-between;margin-top:12px;display:flex}.workflow-back button{color:#8c987f;background:0 0;border:0;min-height:44px;padding:12px 0;font-size:11px}@media (width<=380px){.workflow{gap:15px}.workflow>div{font-size:10px}h1.step-title{font-size:22px}.aim-card{padding:18px 13px}.body-selector button,.capture-heading>span{font-size:10px}}.tutorial-exit{color:#667c59;background:0 0;border:1px solid #cbd6c3;border-radius:8px;min-height:40px;padding:10px 12px;font-size:11px}.measurement-title{letter-spacing:-1px;margin:18px 0 10px;font-size:25px}.measurement-shell .intro{margin-bottom:24px;font-size:12px}.measurement-card{padding:22px 22px 24px;overflow:hidden}.lock-badge{color:#9b814d}.measurement-stage{aspect-ratio:1/1.14;isolation:isolate;width:100%;max-width:360px;margin:18px auto 8px;position:relative}.phone-direction{z-index:4;color:#73836a;letter-spacing:1px;flex-direction:column;align-items:center;gap:5px;font-size:10px;display:flex;position:absolute;top:0;left:0;right:0}.phone-direction b{color:#294e37;font-size:13px}.compass-floor{filter:drop-shadow(0 9px #cbd7c0)drop-shadow(0 15px 15px #203d3212);z-index:0;border-radius:50%;position:absolute;inset:43px 0 27px;transform:perspective(700px)rotateX(24deg)}.compass-rose{width:100%;height:100%;display:block;overflow:visible}.compass-rose text{fill:#648256;font-size:17px;font-weight:600}.compass-rose .north-label{fill:#ae8040}.phone-axis{z-index:1;background:repeating-linear-gradient(#72886660 0 5px,#0000 5px 11px);width:1px;position:absolute;top:39px;bottom:66px;left:50%}.floating-arrow{z-index:2;filter:drop-shadow(9px 18px 5px #263e322e);transform-origin:50%;pointer-events:none;position:absolute;inset:35px 0}.floating-arrow svg{width:100%;height:100%;display:block}.arrow-edge{fill:#8a6c37}.matched .arrow-edge{fill:#275e39}.ball-anchor{z-index:3;background:#fffef9;border:1px solid #b7c6aa;border-radius:50%;width:14px;height:14px;position:absolute;top:calc(50% - 7px);left:calc(50% - 7px);box-shadow:1px 4px 4px #294e371a}.stage-caption{color:#8b9b7e;font-size:10px;position:absolute;bottom:0;left:0;right:0}.matched .phone-direction b{color:#36864e}.matched .stage-caption{color:#438354}.waiting .compass-floor,.waiting .floating-arrow,.waiting .ball-anchor{opacity:.3}.measurement-angles{margin:8px 0 0;padding:18px 0}.measurement-angles strong{font-size:32px}.measurement-angles small{color:#a0ab94;font-size:9px}.measurement-options{justify-content:center;gap:20px;margin:-10px 0 20px;display:flex}.measurement-options button{color:#7a8b6a;background:0 0;border:0;min-height:40px;padding:10px 3px;font-size:11px}.tracking-note{color:#8d9a80;margin:14px 0 0;font-size:10px;line-height:1.7}.install-dialog{color:#294e37;background:#fffef9;border:1px solid #dbe3d4;border-radius:20px;width:calc(100% - 40px);max-width:420px;padding:28px}.install-dialog::backdrop{background:#172b2370}.install-dialog h2{font-size:20px}.install-dialog p{color:#798c6a;font-size:13px;line-height:1.8}.install-dialog .save-button{margin-top:10px}@media (width<=380px){.measurement-title{font-size:22px}.measurement-card{padding:18px 14px}.measurement-angles strong{font-size:29px}.stage-caption{font-size:9px}}.stance-line{z-index:1;transform-origin:50%;pointer-events:none;filter:drop-shadow(5px 10px 4px #263e3226);position:absolute;inset:35px 0}.stance-line svg{width:100%;height:100%;display:block}.stance-arrow-edge{fill:#2d6287}.stance-right-angle{fill:none;stroke:#547fa0;stroke-width:2px}.stance-line text{fill:#436f91;paint-order:stroke;stroke:#fffef9;stroke-width:3px;stroke-linejoin:round;font-size:11px;font-weight:600}.waiting .stance-line{opacity:.3}.stance-legend{color:#547fa0;justify-content:center;align-items:center;gap:8px;margin:17px 0 0;font-size:11px;display:flex}.stance-legend>span{color:#397da9;font-size:24px;font-weight:800;line-height:1}.stance-legend+.tracking-note{margin-top:8px}
