.simple-home{padding:7vh 0 2rem;max-width:540px}.simple-home h1{font-size:clamp(3.3rem,11vw,5rem);margin-bottom:12px}.simple-home>p:not(.eyebrow){font-size:1.2rem;max-width:30ch}.simple-start{display:block;width:100%;font:600 1.6rem BarlowCondensed,system-ui;margin:32px 0 12px;min-height:70px}.simple-next{margin-top:28px}.simple-secondary{display:flex;align-items:center;flex-wrap:wrap;gap:18px;margin:26px 0 60px}.simple-secondary a{min-height:44px;display:inline-flex;align-items:center}
body{--bg:#f8f9fb;--ink:#14191d;--muted:#7b8188;--line:#d5d9dd;--accent:#517da2;--panel:#eaf1f8;background:var(--bg)}header{height:74px;border:0;justify-content:center;background:var(--bg)}header .wordmark{font:600 1.4rem BarlowCondensed,system-ui;letter-spacing:0;text-transform:capitalize}header #install{display:none}main{max-width:640px;padding-top:14px}nav{left:50%;right:auto;bottom:max(12px,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(94vw,550px);border:0;border-radius:55px;background:#fffefef4;box-shadow:0 9px 30px #1d344827;padding:6px 8px;justify-content:space-around}nav a{border-radius:45px;font:500 .8rem Barlow,system-ui;letter-spacing:0;min-width:17%;padding:5px 4px;color:#252c30}nav a span{font:600 1.5rem BarlowCondensed;line-height:1.3}nav a[aria-current=page]{background:#e6e9ec;color:#4d789e}.native-home{padding-top:54px}.native-home .eyebrow{font:600 1rem BarlowCondensed;letter-spacing:.18em}.native-title-row{display:flex;justify-content:space-between;align-items:flex-end;gap:15px}.native-title-row h1{font-size:clamp(2.6rem,9vw,3.5rem);margin:12px 0 20px}.native-title-row small{white-space:nowrap;margin-bottom:26px}.native-summary{padding:26px 28px}.native-summary .eyebrow{color:var(--muted)}.native-stats{display:flex;justify-content:space-between;gap:16px;margin:20px 0}.native-stats>div:last-child{text-align:right}.native-stats strong{display:block;font:600 3.8rem/1 BarlowCondensed}.native-stats span{display:block;color:var(--muted);line-height:1.3}.native-summary b{font-family:BarlowCondensed;color:var(--accent)}.native-summary p{margin:14px 0}.native-summary a{font-size:1.15rem}.native-session{background:#1e3c4e;color:white;padding:24px 28px;margin:22px 0;display:flex;align-items:center;justify-content:space-between;gap:12px}.native-session .eyebrow{color:#c0d6e3}.native-session h2{margin:0}.native-session p{margin:5px 0}.native-session button{background:#628eb1;color:white;border:0;font:600 1.3rem BarlowCondensed;padding:14px 22px}.native-home-pair h2{font-size:1.8rem}.native-home-pair .card{background:#fff}.native-move{padding-top:48px}.native-move h1{font-size:3.1rem;margin-bottom:22px}.native-move-panel{background:#fff;border-radius:32px;padding:24px;margin-bottom:40px}.native-move-count{display:flex;align-items:center;gap:25px}.native-move-count>strong{height:112px;width:112px;flex:none;display:grid;place-items:center;border:4px solid #dce6ef;border-radius:50%;font:600 2.5rem BarlowCondensed}.native-move-count h2{font-size:1.5rem}.native-move-count p{color:var(--muted)}.native-start{width:100%;margin:20px 0;font:600 1.4rem BarlowCondensed}.native-move-panel>a{display:block;padding:17px 0;border-top:1px solid var(--line);text-decoration:none;color:var(--ink)}.native-move-list{background:white;border-radius:30px;padding:10px 24px;margin:18px 0 40px}.native-move-list button{display:grid;grid-template-columns:35px 1fr 22px;column-gap:10px;align-items:center;width:100%;border:0;border-bottom:1px solid var(--line);padding:20px 0;text-align:left}.native-move-list button:last-child{border:0}.native-move-list button span{grid-row:span 2;color:var(--muted);font-family:monospace}.native-move-list button strong{font-size:1.1rem}.native-move-list button em{grid-column:2;color:var(--muted);font-style:normal}.native-move-list button b{grid-row:span 2;grid-column:3;font-size:1.8rem;font-weight:400;color:var(--muted)}
nav a svg{display:block;width:24px;height:24px;margin:2px auto 4px}nav a span{display:block!important;font:500 .78rem Barlow,system-ui!important;line-height:1.15!important;letter-spacing:0!important}
dialog.guided-modal{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;overflow:hidden;background:#0b1720;color:white}dialog.guided-modal #close-modal{display:none}dialog.guided-modal #modal-content,dialog.guided-modal #guided-area,.guide-shell{height:100%;width:100%}.guide-shell{position:relative;display:flex;flex-direction:column;background:#0b1720}.guide-top{position:absolute;left:0;right:0;top:0;z-index:3;display:flex;justify-content:space-between;align-items:center;padding:calc(12px + env(safe-area-inset-top)) 20px 12px;background:linear-gradient(#07131bd9,transparent)}.guide-brand{font:600 1rem BarlowCondensed,system-ui;letter-spacing:.12em}.guide-top button{color:#fff;border:1px solid #d9e8f7;border-radius:50px;background:#10283ac9;min-width:70px}.guide-viewport{position:relative;flex:1;min-height:30vh;background:#142332;overflow:hidden}.guide-viewport video,.guide-viewport canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transform:scaleX(-1)}.guide-viewport canvas{z-index:1;pointer-events:none}.guide-framing{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);z-index:2;background:#081925d9;color:#fff;padding:7px 12px;border-radius:30px;text-align:center;width:max-content;max-width:92%;font-size:.9rem}.guide-demo{position:absolute;right:14px;top:calc(74px + env(safe-area-inset-top));z-index:2;background:#eaf2f8ed;color:#223c50;width:102px;height:128px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:14px;box-shadow:0 8px 25px #0005}.guide-demo small{color:#355c79;font-size:.72rem}.guide-silhouette{height:100px;width:75px;position:relative}.figure{position:absolute;width:20px;height:20px;left:27px;top:11px;animation:figure-breathe 2.4s ease-in-out infinite}.figure i{position:absolute;display:block;background:#345f80}.figure .head{width:17px;height:17px;border-radius:50%;left:2px;top:-5px}.figure .torso{width:13px;height:36px;border-radius:9px;left:4px;top:12px}.figure .arm,.figure .leg{width:6px;border-radius:5px;transform-origin:top center}.figure .arm{height:32px;top:15px}.figure .arm.left{left:1px;transform:rotate(16deg)}.figure .arm.right{left:15px;transform:rotate(-16deg)}.figure .leg{height:34px;top:42px}.figure .leg.left{left:5px;transform:rotate(10deg)}.figure .leg.right{left:13px;transform:rotate(-10deg)}.guide-demo[data-motion=stand] .figure,.guide-demo[data-motion=squat] .figure{animation:figure-squat 2.8s ease-in-out infinite}.guide-demo[data-motion=hinge] .figure{animation:figure-hinge 2.8s ease-in-out infinite}.guide-demo[data-motion=reach] .figure .arm.left{animation:arm-left-up 2.8s ease-in-out infinite}.guide-demo[data-motion=reach] .figure .arm.right{animation:arm-right-up 2.8s ease-in-out infinite}.guide-demo[data-motion=turn] .figure{animation:figure-turn 3s ease-in-out infinite}.guide-demo[data-motion=balance] .figure .leg.right,.guide-demo[data-motion=step] .figure .leg.right{animation:leg-lift 3s ease-in-out infinite}.guide-demo[data-motion=split] .figure .leg.right{animation:leg-split 3s ease-in-out infinite}@keyframes figure-breathe{50%{transform:translateY(2px)}}@keyframes figure-squat{50%{transform:translateY(17px) scaleY(.78)}}@keyframes figure-hinge{50%{transform:rotate(25deg)}}@keyframes arm-left-up{50%{transform:rotate(155deg)}}@keyframes arm-right-up{50%{transform:rotate(-155deg)}}@keyframes figure-turn{50%{transform:rotateY(55deg)}}@keyframes leg-lift{50%{transform:rotate(-65deg)}}@keyframes leg-split{50%{transform:rotate(-40deg)}}
.guide-bottom{position:relative;z-index:3;padding:14px 20px calc(18px + env(safe-area-inset-bottom));background:#102b3e;box-shadow:0 -14px 35px #07131b99;max-height:65vh;overflow-y:auto}.guide-count{font:.85rem BarlowCondensed,system-ui;letter-spacing:.13em;color:#b7d9f0}.guide-meter{height:4px;background:#40586a;margin:9px 0 12px}.guide-meter i{display:block;height:100%;background:#99d4fb;transition:width .3s}.guide-bottom h1{font-size:clamp(2.1rem,7vw,3.7rem);margin:5px 0}.guide-bottom p{margin:4px 0;max-width:65ch}.guide-bottom #guide-target{color:#bbd6e8}.guide-bottom #guide-status{min-height:2.8em;color:#fff;font-weight:600;margin:10px 0}.guide-actions{display:flex;gap:10px}.guide-actions button{border-radius:8px;color:#fff;border-color:#829aaa;flex:1}.guide-actions .primary{background:#9bc9e9;color:#0d2231;border-color:#9bc9e9;font-weight:600}.guide-actions [hidden]{display:none}#guide-consent{font-size:.87rem;color:#d5e4ee;margin-top:10px}#guide-consent label{display:flex;gap:10px;align-items:flex-start}#guide-consent input{flex:none;margin-top:2px}@media(min-width:700px){.guide-shell{flex-direction:row}.guide-viewport{height:100%;min-height:0}.guide-bottom{width:390px;max-height:100%;display:flex;flex-direction:column;justify-content:center;padding:30px}.guide-demo{top:100px}.guide-top{right:390px}}@media(max-height:650px) and (max-width:699px){.guide-viewport{min-height:22vh}.guide-bottom{max-height:72vh}.guide-demo{transform:scale(.75);transform-origin:top right}}@media(prefers-reduced-motion:reduce){.guide-demo .figure,.guide-demo .figure .arm,.guide-demo .figure .leg{animation:none!important}}
dialog.guided-modal,.guide-shell,.guide-bottom{background:#1c4e70}.guide-top{background:linear-gradient(#164365e8,transparent)}.guide-viewport{background:#050505;margin:calc(78px + env(safe-area-inset-top)) 20px 0;width:calc(100% - 40px);flex:1;min-height:30vh}.guide-bottom{box-shadow:none;padding-top:16px;max-height:55vh}.guide-demo{right:12px;top:12px}.guide-framing{bottom:12px}@media(min-width:700px){.guide-viewport{margin:90px 20px 20px;width:auto}.guide-bottom{max-height:100%}.guide-demo{top:20px}}
.native-twin{padding-top:40px}.native-twin h1{font-size:3.1rem;margin-bottom:22px}.atlas-canvas{height:clamp(340px,72vh,620px);background:#205477;position:relative;touch-action:none}.atlas-canvas canvas{display:block;width:100%;height:100%}.atlas-loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2;width:max-content;max-width:85%;margin:0;text-align:center;color:#fff;font:600 1.2rem BarlowCondensed}.atlas-loading[hidden]{display:none}.atlas-status{font:1rem monospace;letter-spacing:.02em;margin:14px 0}.atlas-layers{display:flex;gap:8px;overflow-x:auto;padding:7px 0 12px}.atlas-layers button{flex:none;border-radius:28px;border:0;background:#e5e9ed;color:#65717b}.atlas-layers button[aria-pressed=true]{background:#dce9f4;color:#497ba3}.native-twin .card{margin-top:25px}@media(max-width:430px){.native-summary{padding:20px}.native-stats strong{font-size:3.2rem}.native-move-count>strong{height:94px;width:94px}.native-move-panel{padding:18px}}
dialog.exercise-modal{width:min(100vw,640px);height:100dvh;max-height:100dvh;padding:20px;overflow-y:auto}.native-exercise-demo{position:relative;height:clamp(260px,45vh,420px);background:#205477;margin:50px 0 18px;display:grid;place-items:center}.native-exercise-demo .guide-demo{position:relative;top:auto;right:auto;transform:scale(2);box-shadow:none;background:transparent}.native-exercise-demo .figure i{background:#d9edfa}.native-exercise h1{font-size:clamp(2.5rem,9vw,3.5rem)}.native-steps{padding:0;margin:26px 0;list-style:none;counter-reset:steps}.native-steps li{counter-increment:steps;display:flex;align-items:center;gap:17px;margin:18px 0}.native-steps li:before{content:counter(steps);flex:none;border-radius:50%;width:40px;height:40px;display:grid;place-items:center;background:#c4e5ff;color:#285779;font-weight:600}
/* The camera is the full-screen surface; guidance and controls float over it. */
.guide-shell{display:block;background:#05090c}
.guide-viewport,.guide-viewport video,.guide-viewport canvas{position:absolute;inset:0;width:100%;height:100%;margin:0;min-height:0}
.guide-viewport video,.guide-viewport canvas{object-fit:contain}
.guide-top{right:0;z-index:4;padding:calc(10px + env(safe-area-inset-top)) 16px 12px;background:linear-gradient(#07131bf0,#07131b00)}
.guide-bottom{position:absolute;left:0;right:0;bottom:0;z-index:3;width:100%;max-height:min(56dvh,430px);overflow-y:auto;padding:28px 20px calc(14px + env(safe-area-inset-bottom));background:linear-gradient(#07131b00,#07131bdc 24%,#07131bf5 65%);box-shadow:none}
.guide-bottom h1{font-size:clamp(1.8rem,6.5vw,2.6rem);margin:3px 0}
.guide-bottom #guide-status{min-height:2.3em;margin:6px 0}
.guide-bottom #guide-target{font-size:.92rem}
.guide-actions{justify-content:flex-start}.guide-actions button{flex:0 1 auto}
.guide-actions [hidden],#guide-primary[hidden],#guide-skip[hidden],#guide-consent[hidden]{display:none}
.guide-framing{bottom:auto;top:calc(73px + env(safe-area-inset-top));max-width:calc(100% - 140px);left:14px;transform:none;text-align:left;background:#081925bd}
.guide-demo{top:calc(78px + env(safe-area-inset-top));right:12px;width:84px;height:105px;transform:scale(.9);transform-origin:top right}
@media(min-width:700px){.guide-shell{display:block}.guide-viewport{width:100%;height:100%;margin:0}.guide-bottom{width:100%;max-height:44dvh;display:block;padding:26px max(30px,calc((100vw - 620px)/2)) 24px}.guide-top{right:0}.guide-demo{top:calc(78px + env(safe-area-inset-top))}}
.guide-legend{position:absolute;top:calc(82px + env(safe-area-inset-top));right:12px;z-index:2;display:flex;flex-direction:column;gap:2px;padding:8px 10px;border-radius:12px;background:#071923d9;color:#fff;font-size:.78rem;line-height:1.25;pointer-events:none}.guide-legend span{display:flex;align-items:center;gap:6px}.guide-legend span:before{content:'';display:inline-block;width:9px;height:9px;flex:none;border-radius:50%;background:var(--joint-color)}
.guide-clock{position:absolute;top:calc(139px + env(safe-area-inset-top));left:12px;z-index:2;display:grid;gap:1px;padding:8px 12px;border-radius:12px;background:#071923d9;color:#fff;pointer-events:none}.guide-clock strong{font:600 1.35rem BarlowCondensed,system-ui}.guide-clock span{font:600 .95rem Barlow,system-ui;color:#bfe9ff}
.guide-bottom .guide-visual-note{color:#c8dce9;font-size:.88rem;line-height:1.35;margin-top:6px}.guide-actions #guide-extend{border-color:#9bc9e9;color:#e4f4ff;background:#153e59}.guide-actions #guide-extend[hidden]{display:none}
@media(max-height:700px){.guide-legend{font-size:.72rem}.guide-clock{top:calc(128px + env(safe-area-inset-top))}.guide-bottom .guide-visual-note{display:none}}
.guide-top-actions{display:flex;gap:8px;align-items:center}.guide-top-actions button{min-width:auto;padding:7px 11px;font-size:.9rem}.guide-top-actions button[hidden]{display:none}.guide-bottom #guide-cue{font-size:clamp(1.12rem,4.6vw,1.5rem);line-height:1.25;font-weight:600;color:#fff}.guide-bottom #guide-status{font-size:clamp(1rem,4.1vw,1.3rem);line-height:1.25}.guide-clock strong{font-size:clamp(1.55rem,6vw,2rem)}.guide-clock span{font-size:1.05rem}.guide-framing{font-size:clamp(.95rem,3.7vw,1.15rem);font-weight:600;max-width:calc(100% - 155px)}
/* Portrait camera surface, aligned with the pose canvas even when a browser
   supplies landscape camera frames. The live skeleton mirrors with the video. */
.guide-viewport{background:#02070a}
.guide-viewport video,.guide-viewport .guide-live-canvas{position:absolute;inset:auto;top:0;left:50%;width:min(100vw,56.25dvh);height:100dvh;object-fit:cover;transform:translateX(-50%) scaleX(-1);background:#02070a}
.guide-viewport .guide-live-canvas{z-index:1;background:transparent}
.guide-shadow{position:absolute;right:10px;top:calc(90px + env(safe-area-inset-top));z-index:3;width:clamp(108px,29vw,150px);padding:7px;background:#0d2a3be8;border:1px dashed #b8def4;border-radius:12px;box-shadow:0 5px 20px #0008;color:#e5f5ff;text-align:center;pointer-events:none}
.guide-shadow strong{display:block;font:600 .78rem BarlowCondensed,system-ui;letter-spacing:.11em}
.guide-viewport .guide-shadow canvas{position:relative;inset:auto;display:block;width:100%;height:auto;aspect-ratio:120/205;margin:0;object-fit:fill;transform:none;background:transparent}
.guide-shadow span{display:block;font:.68rem/1.15 Barlow,system-ui}
.guide-legend{top:calc(335px + env(safe-area-inset-top));right:10px;font-size:.7rem;padding:5px 7px}
.guide-framing{max-width:calc(100% - 155px)}
@media(max-height:700px){.guide-shadow{width:105px;top:calc(76px + env(safe-area-inset-top))}.guide-legend{top:calc(290px + env(safe-area-inset-top))}}
.native-title-row{display:block}.native-title-row h1{display:flex;align-items:baseline;gap:.16em;min-width:0;white-space:nowrap;margin-bottom:2px;font-size:clamp(2.25rem,8vw,3.45rem)}.native-title-row .home-name{min-width:0;overflow:hidden;text-overflow:ellipsis}.native-title-row .home-week{flex:none}.native-title-row small{display:block;text-align:right;margin:0 0 15px}
