:root{--bg:#f7f8f3;--ink:#283e33;--muted:#899087;--green:#45664e;--line:#e7eae2}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI','PingFang SC','Microsoft YaHei',sans-serif;font-size:13px}button,a,input{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit;background:none;border:0}button{transition:background .2s,transform .2s}button:hover{filter:brightness(.94)}button:focus-visible,a:focus-visible{outline:2px solid #6b8a57;outline-offset:4px}svg.icon{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle;flex-shrink:0}h1,h2,h3,p{margin:0}button svg{pointer-events:none}.sidebar{position:fixed;width:216px;height:100vh;left:0;top:0;border-right:1px solid var(--line);background:#f1f3eb;padding:35px 22px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--green);font-size:44px;line-height:1;font-weight:500;letter-spacing:-2px}.brand>span{font-size:40px}.brand-dot{color:#91a16d}.brand-sub{font-size:10px;letter-spacing:2px;color:#8d9788;margin:15px 0 57px 8px}.nav-label{font-size:10px;letter-spacing:1px;color:#959c91;margin:0 14px 18px}nav{display:grid;gap:10px}nav button{display:flex;align-items:center;gap:13px;padding:15px 16px;text-align:left;color:#7c867b;font-size:13px;border-radius:7px}nav button.active{background:#dfe7d6;color:#405d43;font-weight:600}nav button .nav-dot{width:5px;height:5px;border-radius:50%;background:#57734c;margin-left:auto}.sidebar-bottom{margin-top:auto}.mat-mini{border:1px solid #dce2d3;border-radius:10px;padding:16px 14px;background:linear-gradient(120deg,#e9eedf,#f2f3ea)}.mini-icon{margin-bottom:10px}.mat-mini strong{font-size:11px;font-weight:500}.mat-mini p{font-size:10px;color:#819078;margin:8px 0 14px}.status-dot{display:inline-block;background:#819b6d;width:6px;height:6px;border-radius:50%;margin-right:5px}.mat-mini button{border-top:1px solid #dce2d3;width:100%;text-align:left;padding:12px 0 0;font-size:11px}.mat-mini button span{float:right}.settings{display:flex;gap:12px;align-items:center;margin:23px 12px;color:#7f897c;font-size:12px}.profile{display:flex;align-items:center;border-top:1px solid #e0e4d9;padding-top:23px;gap:10px}.avatar{border:3px solid #fff;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#d8c8b1;color:#716d52;font-family:serif;font-size:20px}.profile strong{font-size:12px}.profile small{display:block;font-size:8px;color:#8c9286;margin-top:4px}.profile>span{margin-left:auto}.small{width:32px;height:32px;font-size:16px}main{margin-left:216px;padding:0 38px;max-width:1800px}header{height:83px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.breadcrumb{font-size:11px;color:#9a9f94}.breadcrumb span{margin:0 13px;color:#c5cabc}.breadcrumb b{font-weight:400;color:#6e7e6c}.header-right{display:flex;align-items:center;gap:24px}.date{font-size:10px;color:#939a8d}.icon-button{display:grid;place-items:center;position:relative;padding:8px}.icon-button em{position:absolute;width:4px;height:4px;background:#9aaa7d;border-radius:100%;right:9px;top:8px}.page-title{display:flex;align-items:center;justify-content:space-between;padding:29px 0 27px}.eyebrow{font-size:9px;letter-spacing:2.4px;color:#97a18b;margin-bottom:10px}h1{font-size:27px;font-weight:500;letter-spacing:1px}h1>span{color:#9ba88a}.page-title p{font-size:11px;color:#91998b;margin-top:12px;letter-spacing:.3px}.outline-button{display:flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid #dde3d5;border-radius:6px;font-size:11px;background:#fafbf7}.outline-button .icon{width:14px;height:14px}.session-heading{display:flex;align-items:center;gap:12px;margin-bottom:19px}.course-icon{display:grid;place-items:center;width:42px;height:42px;border:1px solid #e0e6d8;border-radius:10px;background:#eef1e6;color:#7f936c}.session-heading h2{font-size:14px;font-weight:500}.session-heading p{color:#959d8e;font-size:10px;margin-top:7px}.session-heading p b{margin:0 9px;font-weight:400}.session-tags{display:flex;gap:15px;margin-left:auto;font-size:10px;color:#7e8e72;align-items:center}.session-tags>span{border:1px solid #e1e7d8;background:#edf2e6;padding:6px 9px;border-radius:5px}.session-tags button{display:flex;align-items:center;gap:6px}.session-tags .icon{width:15px}.practice-grid{display:grid;grid-template-columns:minmax(420px,1fr) 305px;gap:22px}.pose-stage{aspect-ratio:1.65;min-height:380px;position:relative;border-radius:12px;background:#e1e8d9;overflow:hidden}.pose-stage:before{content:'';position:absolute;width:420px;height:420px;border-radius:50%;background:#eaf0e2;opacity:.65;right:7%;top:10%}.stage-top{display:flex;align-items:center;justify-content:space-between;padding:19px 22px;position:relative;z-index:2}.stage-chip{display:flex;align-items:center;gap:8px;font-size:10px;background:#f8faefb3;padding:8px 11px;border:1px solid #f6f8ed;border-radius:20px;color:#708365}.live-dot{width:5px;height:5px;background:#779169;border-radius:50%}.chip-divider{color:#b6c2aa;margin:0 1px}.stage-info{font-size:18px;color:#92a184}.pose-title{position:absolute;top:77px;left:26px;z-index:2}.pose-title h2{font-size:23px;letter-spacing:3px;font-weight:500}.pose-title p{font-size:10px;color:#8c9c80;letter-spacing:.6px;margin-top:8px}.stage-watermark{position:absolute;right:28px;top:64px;font-family:Georgia,serif;font-size:40px;font-style:italic;line-height:1.12;color:#b5c1a6;opacity:.62}.yoga-art{position:absolute;width:100%;height:100%;bottom:0;left:0}.stage-bottom{position:absolute;bottom:16px;left:22px;right:22px;display:flex;justify-content:space-between;font-size:9px;color:#86957b}.stage-bottom>span{display:flex;align-items:center;gap:6px}.stage-bottom .icon{width:13px;height:13px}.highlight-dot{height:7px;width:7px;border:2px solid #b3c693;border-radius:50%;background:#e5eccb}.player{display:flex;gap:12px;align-items:center;padding:19px 16px;background:#fff;border:1px solid #e7eae1;border-radius:0 0 10px 10px;margin-top:-4px}.player .icon{width:16px;height:16px}.play-button{height:37px;width:37px;border-radius:50%;background:#4e6b47;color:white;flex-shrink:0;display:grid;place-items:center}.player-timeline{flex:1;margin:0 9px}.player-timeline>div{display:flex;font-size:10px;gap:6px}.player-timeline strong{font-weight:500}.player-timeline span{color:#a3aa9a}.player-timeline small{font-size:8px;margin-left:auto;color:#939d87}input[type=range]{appearance:none;width:100%;height:3px;background:linear-gradient(to right,#8c9e6d 38%,#e7eadd 38%);display:block;margin:12px 0 0;border-radius:5px;cursor:pointer}input[type=range]::-webkit-slider-thumb{appearance:none;width:8px;height:8px;background:#758d5c;border:2px solid white;box-shadow:0 0 0 1px #758d5c;border-radius:50%}.speed{font-size:10px;color:#7e8974}.finish{font-size:10px;border-left:1px solid #e6eadf;padding-left:16px;margin-left:4px;color:#8a9380;white-space:nowrap}.sequence{margin-top:26px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.section-title h3{font-size:12px;font-weight:500;display:flex;align-items:center;gap:7px}.section-title h3 .icon{width:16px;height:16px}.section-title>span{font-size:9px;color:#9aa08f}.pose-list{display:flex;gap:9px;margin-top:15px}.pose-card{flex:1;min-width:0;border:1px solid #e2e6da;background:#f5f6ee;border-radius:7px;padding:10px 5px;position:relative}.pose-card.selected{border-color:#8a9f73;background:#eaf0df}.pose-card svg{height:43px;width:100%;stroke:#8c9b7a;stroke-width:3.4;fill:none;stroke-linecap:round;stroke-linejoin:round}.pose-card.selected svg{stroke:#5a754b}.pose-card strong{display:block;font-size:10px;font-weight:500;margin-top:3px}.pose-card small{font-size:8px;color:#a1aa94;display:block;margin-top:4px}.pose-card .step-num{position:absolute;left:7px;top:6px;font-size:8px;color:#98a28c}.pressure-card,.guidance-card{background:#fff;border:1px solid #e5e9df;border-radius:11px;padding:19px}.data-status{font-size:8px!important}.data-status .status-dot{height:5px;width:5px}.pressure-view{position:relative;margin:19px 4px 12px;display:flex;align-items:center;justify-content:center;gap:27px;padding-top:20px}.mat-top-label{position:absolute;top:0;left:48px;font-size:8px;color:#a8afa0;display:flex;gap:9px;align-items:center}.mat-top-label .icon{height:12px;width:12px;transform:rotate(-90deg)}.pressure-mat{width:117px;height:210px;background:#f2f5e9;border:1px solid #d8e0cc;border-radius:9px;position:relative;overflow:hidden;box-shadow:3px 3px 0 #f5f7ee}.mat-grid{position:absolute;inset:7px;background-image:radial-gradient(#cad2bc .8px,transparent .8px);background-size:9px 9px;opacity:.7}.center-line{position:absolute;top:5px;bottom:5px;left:50%;border-left:1px dashed #c8d4bb}.heat{position:absolute;background:radial-gradient(ellipse,#deac62 0%,#c9bf60 20%,#a8c578 40%,#b6d9a2 56%,#c9e2be80 70%,transparent 74%);height:69px;width:46px;filter:blur(3px);transform:rotate(-18deg)}.heat-one{left:23px;top:20px}.heat-two{right:15px;bottom:24px;transform:rotate(35deg);width:56px;height:78px}.balance-center{position:absolute;left:49px;top:96px;color:#8ca57a;font-size:18px}.mat-logo{position:absolute;bottom:8px;font-size:9px;left:46px;color:#b1bca2;letter-spacing:1px}.pressure-side{display:flex;flex-direction:column;font-size:9px;color:#9ba38d}.pressure-side b{font-size:27px;font-weight:500;color:#5f7351;margin-top:3px}.pressure-side b span{font-size:12px;margin-left:2px;color:#9da88f}.side-divider{height:1px;background:#e9ecdf;width:39px;margin:22px 0}.legend{display:flex;justify-content:center;align-items:center;gap:9px;font-size:8px;color:#9da58e;margin:16px 0}.legend>div{width:106px;height:5px;border-radius:10px;background:linear-gradient(to right,#e8efdb,#b8cf95,#d4cb78,#d2a768)}.balance-row{padding-top:14px;border-top:1px solid #edf0e7;font-size:10px;display:flex;justify-content:space-between;color:#929b87}.balance-row strong{font-weight:400;color:#7e916a}.pressure-note{font-size:8px;color:#b3b9aa;margin-top:10px}.guidance-card{margin-top:16px;padding:18px;background:#f1f4e9;border-color:#e5eada}.tiny-badge{font-size:8px!important}.guidance-main{display:flex;gap:10px;margin-top:21px}.guidance-symbol{width:28px;height:28px;border-radius:50%;background:#e5ecd7;flex-shrink:0;display:grid;place-items:center;color:#85996a}.guidance-symbol .icon{height:15px}.guidance-main strong{font-size:11px;font-weight:500}.guidance-main p{font-size:10px;line-height:1.9;margin-top:7px;color:#8e9a81}.voice-wave{display:flex;align-items:center;gap:10px;margin:16px 0 17px;color:#8b9d6e;padding:10px;border-radius:6px;background:#e9efdc}.voice-wave .icon{width:14px;height:14px}.wave{font-size:12px;letter-spacing:1px;white-space:nowrap;overflow:hidden;flex:1;opacity:.65}.voice-wave button{font-size:8px;white-space:nowrap}.breath{display:flex;gap:9px;border-top:1px solid #e0e7d5;padding-top:16px;align-items:center}.breath strong{font-size:9px;font-weight:400}.breath p{font-size:8px;color:#a4ad97;margin-top:5px}.breath>span:last-child{font-size:8px;color:#a7b096;margin-left:auto;white-space:nowrap}.breath-orb{height:23px;width:23px;border:5px solid #e2e9d5;border-radius:50%;background:#bbcca0;animation:breathe 6s infinite}.gentle-note{display:flex;justify-content:center;gap:11px;margin-top:21px;color:#a9b298}.gentle-note .icon{width:15px;margin-top:3px}.gentle-note p{font-size:9px;line-height:1.9}footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:27px;padding:19px 0;color:#a8b09d;font-size:9px}footer>span:last-child{font-size:8px;letter-spacing:1.8px}.modal-backdrop{position:fixed;inset:0;background:#23382c66;backdrop-filter:blur(5px);display:grid;place-items:center;z-index:20;padding:20px}[hidden]{display:none!important}.modal{background:#fafbf6;border-radius:18px;width:480px;max-width:100%;padding:35px;position:relative;box-shadow:0 20px 80px #25332622}.close{position:absolute;right:15px;top:10px;font-size:25px;color:#95a28b}.modal h2{font-size:22px;font-weight:500;margin:10px 0 15px}.modal p{font-size:12px;line-height:2;color:#87947c}.modal .eyebrow{margin-top:10px}.primary{background:#526e48;color:white;padding:12px 20px;border-radius:6px;width:100%;margin-top:20px}.choice{border:1px solid #dfe5d6;padding:18px;border-radius:9px;margin-top:12px;width:100%;text-align:left;display:flex;justify-content:space-between;align-items:center}.choice strong{font-size:13px}.choice p{font-size:10px;margin-top:6px}.choice:hover{background:#eaf0df}.pref-row{display:flex;align-items:center;justify-content:space-between;padding:20px 0;border-bottom:1px solid #e3e9dc}.pref-row input{accent-color:#668352;width:18px;height:18px}#toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%) translateY(100px);background:#354e3b;color:#fff;padding:13px 24px;border-radius:8px;z-index:30;transition:transform .3s;font-size:12px;box-shadow:0 8px 30px #263e3322}#toast.visible{transform:translateX(-50%) translateY(0)}.other-heading{margin:40px 0 25px;font-size:28px;font-weight:500}.other-intro{color:#8d9884;line-height:2}.course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:30px}.library-card{border:1px solid #dfe5d7;border-radius:12px;padding:28px;background:#edf2e5;text-align:left;min-height:200px}.library-card:nth-child(2){background:#ecebe1}.library-card:nth-child(3){background:#e2ebe3}.library-card .icon{height:40px;width:40px;margin-bottom:30px}.library-card h3{font-size:17px;font-weight:500}.library-card p{color:#89967d;font-size:11px;margin:12px 0}.stat-grid{display:flex;gap:20px;margin:30px 0}.stat{flex:1;padding:30px;background:white;border:1px solid #e1e6d8;border-radius:10px}.stat strong{font-size:36px;display:block;font-weight:500;margin:15px 0}.stat p{color:#8f9b81}.record{background:white;padding:20px;margin:10px 0;border-radius:8px;display:flex;justify-content:space-between;border:1px solid #e4e9dc}.empty-state{padding:50px;text-align:center;background:#edf2e6;border-radius:12px}.empty-state p{color:#8d9981;margin:15px}.empty-state button{width:auto}@keyframes breathe{50%{transform:scale(1.16);opacity:.65}}@media(min-width:1450px){main{padding:0 50px}.practice-grid{grid-template-columns:minmax(500px,1fr) 340px}.pose-stage{min-height:440px}.pressure-mat{height:240px;width:131px}.pressure-card{padding:22px}.heat-two{bottom:35px}.stage-watermark{font-size:50px}}@media(max-width:1150px){.sidebar{width:185px;padding:30px 17px}main{margin-left:185px;padding:0 24px}.practice-grid{gap:16px;grid-template-columns:minmax(360px,1fr) 275px}h1{font-size:23px}.session-tags{gap:8px;font-size:9px}.player{gap:5px;padding:17px 10px}.player-timeline{margin:0 5px}.player-timeline small{display:none}.stage-watermark{font-size:33px}.pose-stage{min-height:365px}.pressure-card,.guidance-card{padding:16px}.wave{letter-spacing:0}}@media(max-width:950px){.sidebar{width:76px;padding:28px 10px}.brand{font-size:35px;justify-content:center}.brand>span,.brand-sub,.nav-label,.sidebar-bottom,.nav-dot{display:none!important}nav{margin-top:50px}nav button{font-size:0;padding:17px;gap:0}nav button .icon{width:20px;height:20px}main{margin-left:76px}.practice-grid{grid-template-columns:minmax(320px,1fr) 260px}.session-tags>span{display:none}.page-title p{font-size:10px}.outline-button{padding:10px;font-size:10px}.header-right{gap:15px}.stage-watermark{font-size:29px}.pose-title h2{font-size:20px}.pose-stage{min-height:360px}.stage-bottom{font-size:8px;left:15px;right:15px}.player .finish{padding-left:9px}.pressure-view{gap:20px}.course-grid{grid-template-columns:1fr}.date{display:none}}@media(max-width:740px){main{padding:0 18px}.practice-grid{grid-template-columns:1fr}.right-column{display:grid;grid-template-columns:1fr 1fr;gap:12px}.guidance-card{margin:0}.gentle-note{display:none}.page-title{align-items:flex-start;gap:10px}.page-title h1{font-size:22px;line-height:1.5}.page-title p{line-height:1.9}.page-title .outline-button{white-space:nowrap;margin-top:20px}.eyebrow{font-size:8px}.session-tags button span{display:none}.session-heading h2{font-size:12px}.pose-stage{min-height:350px}.yoga-art{bottom:-10px}.pressure-side b{font-size:22px}.pressure-view{gap:10px;margin-left:0;margin-right:0}.pressure-mat{width:95px;height:185px}.pressure-note{line-height:1.7}.guidance-main{display:block}.guidance-symbol{margin-bottom:10px}.breath>span:last-child{display:none}.mat-top-label{left:15px}footer>span:last-child{display:none}.stat-grid{flex-direction:column}}@media(max-width:480px){.sidebar{width:58px;padding:25px 5px}.brand{font-size:30px}nav button{padding:15px}main{margin-left:58px;padding:0 12px}header{height:65px}.breadcrumb{font-size:10px}.page-title h1{font-size:19px}.page-title{display:block;padding-top:22px}.page-title .outline-button{margin-top:15px;padding:7px 12px}.pose-stage{min-height:310px}.pose-title{left:18px;top:64px}.pose-title h2{font-size:19px}.stage-watermark{font-size:26px;right:15px;top:67px}.yoga-art{width:115%;left:-8%;bottom:-10px}.stage-top{padding:15px}.stage-bottom>span:last-child{display:none}.player{gap:1px}.player .icon-button{padding:5px}.player .finish{font-size:9px;padding-left:6px}.player-timeline{min-width:45px}.speed{font-size:9px}.pose-card strong{font-size:9px}.pose-list{gap:5px}.section-title>span{font-size:8px}.right-column{grid-template-columns:1fr}.pressure-view{gap:35px}.pressure-mat{height:210px;width:117px}.mat-top-label{left:65px}.guidance-main{display:flex}.guidance-symbol{margin:0}.pressure-note{text-align:center}.pose-card svg{height:36px}.header-right{gap:6px}.course-icon{width:35px;height:35px}.session-heading{gap:8px}}
.left-column,.right-column,.player-timeline{min-width:0}.player-timeline input{min-width:0}.practice-grid{min-width:0}@media(max-width:740px){.practice-grid{grid-template-columns:minmax(0,1fr)}.right-column{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}@media(max-width:480px){.right-column{grid-template-columns:minmax(0,1fr)}.player-timeline{width:50px}.stage-watermark{font-size:25px}.pose-stage{aspect-ratio:auto}.pose-list{width:100%}.pose-card{padding-left:2px;padding-right:2px}.player-timeline>div{font-size:8px;gap:3px}.player .play-button{width:31px;height:31px}}
#toast{opacity:0;visibility:hidden}#toast.visible{opacity:1;visibility:visible}
/* Synchronized pose and contact teaching */
.pose-list .pose-preview{height:78px;width:100%;stroke:none;fill:initial}.pose-card strong{font-size:12px}.pose-card small{font-size:9px}.pose-stage .yoga-art{bottom:12px;height:89%}.stage-watermark{top:45px;font-size:34px}.pose-title{top:70px}.pose-title h2{font-size:22px}.motion-chip{margin-top:13px;color:#6d825d;font-size:10px;letter-spacing:.4px}.motion-chip>div{height:3px;background:#ced9bd;width:110px;margin-top:8px;overflow:hidden;border-radius:5px}.motion-chip i{display:block;background:#819666;height:100%;width:0}.contact-tag{cursor:pointer;outline:none}.contact-tag:hover rect,.contact-tag:focus rect,.contact-tag.contact-focused rect{fill:#d9e7ba}.contact-focused .support-halo{fill:#f4d88d!important;opacity:.9!important}.pressure-view{gap:22px}.pressure-mat.aligned-mat{height:235px;width:130px;overflow:visible}.aligned-mat .mat-grid{border-radius:8px}.pressure-contact{position:absolute;transform:translate(-50%,-50%);width:36px;height:43px;padding:0;display:grid;place-items:center;z-index:1}.heat-spot{position:absolute;inset:-8px -4px;background:radial-gradient(ellipse,#daaa62 4%,#c9bf64 23%,#a8c578 42%,#c5dfaa88 65%,transparent 74%);filter:blur(2px);border-radius:50%;transition:opacity .1s,transform .1s}.heat-spot.palm{inset:-3px -5px}.pressure-contact b{position:relative;font-size:9px;font-weight:500;color:#4a663d;border:1px solid #fff9;border-radius:50%;width:17px;height:17px;display:grid;place-items:center;background:#f8fae994}.pressure-contact.contact-focused b{background:#faf3d3;border-color:#839565;box-shadow:0 0 0 3px #9daf7880}.contact-values{display:flex;flex-direction:column;gap:9px;min-width:72px}.contact-value{text-align:left;border:1px solid transparent;border-radius:7px;padding:4px 6px}.contact-value>span{display:flex;align-items:center;gap:5px;font-size:9px;color:#8c997f}.contact-value em{font-style:normal;background:#eaf0df;border-radius:50%;height:15px;width:15px;text-align:center;line-height:15px;font-size:8px}.contact-value strong{display:block;font-size:22px;font-weight:500;color:#5f7351;margin:2px 0 0 19px}.contact-value small{font-size:10px;margin-left:2px}.contact-value.contact-focused{background:#edf3e2;border-color:#b3c594}.mat-top-label{left:18px}.aligned-mat .mat-logo{left:49px;bottom:4px;font-size:8px}.breath-orb{animation-play-state:paused}.is-playing .breath-orb{animation-play-state:running}.stage-bottom{font-size:9px}.pose-card{padding-bottom:13px}.contact-tag text{user-select:none}@media(max-width:740px){.pose-stage .yoga-art{height:85%;width:100%;left:0;bottom:3px}.pose-title{top:63px;left:19px}.pose-title h2{font-size:20px}.stage-watermark{font-size:27px;top:68px}.motion-chip{font-size:9px}.pose-stage{min-height:380px}.pose-list .pose-preview{height:62px}.pose-card strong{font-size:11px}.pose-card small{font-size:8px}.stage-bottom>span:last-child{display:none}.pressure-view{gap:25px}.pressure-mat.aligned-mat{height:235px;width:130px}.pressure-card .mat-top-label{left:30px}}@media(max-width:480px){.pose-stage .yoga-art{width:125%;left:-12%;height:75%;bottom:4px}.pose-stage{min-height:350px}.stage-watermark{font-size:22px;right:17px}.pose-title p{font-size:9px}.stage-bottom{left:12px;bottom:12px;font-size:8px}.pressure-card .mat-top-label{left:28px}.pose-list .pose-preview{height:56px}}@media(prefers-reduced-motion:reduce){.breath-orb{animation:none}}
/* A quieter editorial space, with visible practice feedback. */
.dashboard-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:34px 0 26px}.dashboard-heading h1{font-size:27px;font-weight:500;letter-spacing:1px}.dashboard-heading p{color:#8e9786;font-size:12px;margin-top:12px}.date-pill{font-size:10px;color:#88947c;border:1px solid #dfe5d6;padding:10px 14px;border-radius:22px;white-space:nowrap}.home-top{display:grid;grid-template-columns:1.65fr 1fr;gap:22px}.photo-hero{min-height:328px;border-radius:14px;position:relative;overflow:hidden;background:#e9e7dc url('/assets/yoga-studio.v1.webp') center/cover}.photo-hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#eeece1f5 0%,#eeece1c2 34%,transparent 65%)}.hero-copy{position:relative;z-index:1;padding:32px}.small-label{font-size:10px;letter-spacing:1px;color:#7d8c70}.hero-copy h2{font-weight:500;font-size:34px;line-height:1.5;margin:17px 0 10px;letter-spacing:3px}.hero-copy p{font-size:11px;line-height:2;color:#7e8976}.hero-copy .primary{width:auto;margin-top:20px;display:flex;align-items:center;gap:7px;font-size:11px;padding:12px 18px}.hero-meta{display:block;font-size:9px;color:#8a9580;margin-top:13px}.photo-credit{position:absolute;right:10px;bottom:9px;background:#faf9efb5;padding:4px 7px;border-radius:4px;font-size:8px;color:#7e8677}.wellness-card{border:1px solid #e4e7dc;border-radius:14px;background:#f0f2e8;padding:27px 24px;display:flex;flex-direction:column}.wellness-card h2{font-size:18px;font-weight:500;margin:18px 0 10px}.wellness-card>p{font-size:10px;line-height:1.8;color:#95a086}.mood-options{display:flex;gap:9px;margin:20px 0 14px}.mood-options button{border:1px solid #dfe5d5;flex:1;background:#f8f9f2;border-radius:9px;padding:12px 4px;font-size:10px;color:#8c987e}.mood-options button span{display:block;font-size:24px;margin-bottom:9px;color:#7a8e61}.mood-options button.selected{border-color:#8c9f76;background:#e3ecd6;color:#536d47}.wellness-card #mood-note{font-size:10px;line-height:1.8;color:#8b967f;min-height:36px}.mini-stats{display:flex;justify-content:space-around;padding-top:18px;margin-top:auto;border-top:1px solid #dde4d2}.mini-stats div{text-align:center}.mini-stats strong{font-size:24px;font-weight:500;display:block}.mini-stats span{font-size:9px;color:#9ca58e;display:block;margin-top:7px}.home-lower{display:grid;grid-template-columns:1.65fr 1fr;gap:22px;margin:22px 0 26px}.surface{border:1px solid #e3e7dc;background:#fff;border-radius:12px;padding:23px}.text-link{font-size:10px;color:#6c8159;padding:0}.week-strip{display:flex;justify-content:space-between;margin:22px 0}.week-day{text-align:center;min-width:35px;color:#a4ac99}.week-day>span{font-size:9px}.week-day b{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;font-size:12px;font-weight:400;margin:10px auto 7px;background:#f3f5ed}.week-day.today b{border:1px solid #96aa7d}.week-day.done b{background:#718859;color:white}.week-day small{font-size:8px}.goal-line{display:flex;gap:20px;align-items:center;font-size:10px;color:#95a086}.goal-line b{color:#67814f}.thin-track{height:5px;background:#e8eddf;border-radius:9px;overflow:hidden;flex:1}.thin-track i{display:block;height:100%;background:#8fa775;border-radius:9px}.daily-tip{padding:24px 27px;border-radius:12px;background:#e6ecdc;border:1px solid #dfe7d3}.daily-tip>span{font-size:9px;color:#8a9b77;letter-spacing:.6px}.daily-tip h3{font-size:17px;font-weight:500;margin:18px 0 11px}.daily-tip p{font-size:11px;line-height:1.9;color:#8a967c;margin-bottom:18px}.discovery-heading{margin-bottom:17px}.discovery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:30px}.discovery-card{padding:0;text-align:left;border:1px solid #e0e6d6;border-radius:11px;overflow:hidden;background:#fff}.discovery-art{height:140px;position:relative;background:#e7eddf}.discovery-card:nth-child(2) .discovery-art{background:#edeade}.discovery-card:nth-child(3) .discovery-art{background:#e3eae3}.discovery-art svg{width:100%;height:100%}.discovery-art>span{position:absolute;top:13px;left:15px;color:#91a27c;font-size:11px}.discovery-copy{padding:16px 18px;display:flex;justify-content:space-between;align-items:center}.discovery-copy h3{font-size:13px;font-weight:500}.discovery-copy p{font-size:10px;color:#9da78f;margin-top:7px}.round-arrow{width:29px;height:29px;border:1px solid #e1e7d9;border-radius:50%;display:grid;place-items:center;color:#82956d}.progress-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:24px}.progress-stat{background:white;border:1px solid #e2e7d9;border-radius:12px;padding:24px}.progress-stat>span{display:flex;align-items:center;gap:7px;color:#8b987b;font-size:11px}.progress-stat .icon{height:16px;width:16px}.progress-stat>strong{display:block;font-size:36px;font-weight:500;margin:17px 0 12px;color:#4b6840}.progress-stat small{font-size:11px;font-weight:400;color:#96a187}.progress-stat p{font-size:9px;color:#a1aa95;line-height:1.7}.goal-stat{background:#e9efdf}.goal-stat .thin-track{margin:5px 0 10px}.goal-stat button{margin-left:auto;font-size:9px;padding:0;color:#7c9067}.progress-middle{display:grid;grid-template-columns:1.7fr 1fr;gap:22px;margin-bottom:22px}.chart-card .section-title>div>p{font-size:10px;color:#9ca78e;margin-top:8px}.segmented{display:flex;padding:3px;background:#f2f4eb;border-radius:6px}.segmented button{font-size:10px;padding:6px 11px;color:#9ba68c;border-radius:4px}.segmented button.selected{background:white;color:#587249;box-shadow:0 1px 3px #344c2420}.activity-chart{height:190px;display:flex;gap:9px;margin:22px 5px 10px;background:repeating-linear-gradient(to top,transparent 0,transparent 46px,#edf0e7 47px,#edf0e7 48px)}.chart-column{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end}.bar-area{height:155px;width:100%;display:flex;align-items:flex-end;justify-content:center}.activity-bar{width:60%;max-width:34px;background:#e8eddf;border-radius:5px 5px 0 0;min-height:4px}.activity-bar.has-data{background:#9caf83}.activity-bar:hover{background:#667e51}.chart-column>span{font-size:9px;color:#a1aa95;height:23px;padding-top:11px}.chart-note{font-size:9px;color:#a1ab95;line-height:1.8;margin-top:15px}.calendar-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.calendar-title strong{font-size:12px;font-weight:500}.calendar-title span{font-size:9px;color:#9eaa8f}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;text-align:center}.day-label{font-size:9px;color:#a1ac93;padding:5px}.calendar-day{font-size:10px;width:29px;height:29px;border-radius:50%;justify-self:center;color:#95a086}.calendar-day:hover{background:#eff3e7}.calendar-day.practiced{background:#91a979;color:white}.calendar-day.is-today{border:1px solid #8a9f73}.calendar-legend{display:flex;align-items:center;justify-content:center;font-size:8px;color:#a1aa95;gap:5px;margin-top:17px}.today-outline{border:1px solid #8a9f73;width:8px;height:8px;border-radius:50%;margin-left:13px}.progress-bottom{display:grid;grid-template-columns:1fr 1.4fr;gap:22px}.milestone{display:flex;align-items:center;gap:12px;padding-top:23px;color:#9ba98e}.milestone-icon{width:40px;height:40px;border-radius:50%;background:#f0f3e9;display:grid;place-items:center}.milestone strong{font-size:11px;font-weight:500}.milestone p{font-size:9px;margin-top:5px;color:#a7b09c}.milestone>span{font-size:9px;margin-left:auto}.milestone.unlocked{color:#587747}.milestone.unlocked .milestone-icon{background:#dfeacd}.history-item{display:flex;align-items:center;gap:12px;padding:19px 0;border-bottom:1px solid #edf0e7}.history-item:last-child{border-bottom:0}.history-icon{background:#eff3e7;border-radius:8px;padding:10px;color:#83986a}.history-item strong{font-size:11px;font-weight:500}.history-item p{font-size:9px;color:#a2ac96;margin-top:6px}.history-item>span{font-size:13px;color:#738b5f;margin-left:auto}.history-empty{text-align:center;padding:26px 12px 12px}.history-empty>.icon{color:#9bac86;height:30px;width:30px;margin-bottom:13px}.history-empty h3{font-size:13px;font-weight:500}.history-empty p{font-size:10px;color:#9da88e;margin:10px 0}.history-empty .primary{width:auto;font-size:10px;margin-top:13px}.local-note{font-size:9px;color:#a5ae99;margin:23px 0 30px}.goal-choices{display:flex;gap:10px;margin-top:20px}.goal-choices button{flex:1;border:1px solid #dfe6d6;padding:15px;border-radius:7px}.goal-choices button.selected{background:#e3ecd7;border-color:#8da775}.library-banner{background:linear-gradient(90deg,#ecece1 10%,#ecece1c9 40%,transparent 80%),url('/assets/yoga-studio.v1.webp') center 45%/cover;min-height:290px;border-radius:14px;margin-bottom:24px;padding:32px}.library-banner h2{font-size:25px;font-weight:500;margin:20px 0 12px}.library-banner p{font-size:11px;color:#8b967e}.library-banner .primary{width:auto}.practice-launch{position:absolute;bottom:38px;right:24px;z-index:4}.stage-play{display:flex;gap:12px;align-items:center;text-align:left;background:#f9fbf1ed;border:1px solid #fff;border-radius:40px;padding:8px 18px 8px 8px;box-shadow:0 5px 20px #344a2420}.stage-play b{font-size:13px;font-weight:500;display:block}.stage-play>span>small{font-size:9px;color:#95a584;display:block;margin-top:5px}#breath-dial{--breath-progress:0deg;width:53px;height:53px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle,#f1f5e7 61%,transparent 64%),conic-gradient(#73925b var(--breath-progress),#dfe8d0 0);color:#5e7d47}#breath-number{font-size:19px;line-height:1.2;font-weight:500}#breath-word{font-size:8px;margin-top:2px}.is-playing .stage-play{border-color:#adc594}.instruction-strip{background:#edf2e4;border:1px solid #e1e8d7;border-radius:9px;padding:14px 17px;margin-top:13px;display:flex;align-items:center;gap:20px}.phase-steps{display:flex;gap:6px;white-space:nowrap}.phase-steps span{font-size:9px;color:#9ba98c;padding:6px 9px;border-radius:5px}.phase-steps .phase-active{background:#dce8cb;color:#526f3c}.instruction-strip p{font-size:10px;color:#82956f;line-height:1.7}.pressure-simulator{background:#fffaf1;border:1px solid #e8e4d4;border-radius:11px;padding:17px;margin-top:16px}.pressure-simulator h3{font-size:11px}.pressure-simulator .section-title button{font-size:9px;color:#9c9b80}.pressure-simulator>p{font-size:9px;color:#a1a28c;line-height:1.8;margin-top:10px}#pressure-shift{height:5px;margin:21px 0 10px;background:linear-gradient(to right,#8c9e6d 50%,#e7eadd 50%)}.shift-labels{display:flex;justify-content:space-between;font-size:8px;color:#a6a88f}#shift-feedback{font-size:9px;color:#86916e;margin-top:13px;line-height:1.8}#breath-action{padding:7px 12px;background:#dfe9d1;border-radius:20px;color:#637e4f;font-size:10px;margin-left:auto}.stage-watermark{font-size:29px}.is-playing .support-halo{filter:drop-shadow(0 0 5px #dbea9a)}.is-playing .wave{animation:wave 1s ease-in-out infinite alternate}@keyframes wave{to{opacity:1;transform:scaleY(1.4)}}
@media(max-width:1150px){.hero-copy{padding:25px}.hero-copy h2{font-size:29px}.wellness-card{padding:23px 18px}.progress-stat{padding:19px 15px}.progress-stat>strong{font-size:30px}.progress-middle{grid-template-columns:1.4fr 1fr}.instruction-strip{display:block}.instruction-strip p{margin-top:8px}.stage-play>span:last-child{display:none}.stage-play{padding:6px}.practice-launch{right:17px;bottom:35px}}
@media(max-width:950px){.home-top,.home-lower{grid-template-columns:1.4fr 1fr}.dashboard-heading h1{font-size:23px}.hero-copy h2{font-size:27px}.hero-copy p{font-size:10px}.wellness-card h2{font-size:15px}.mood-options{gap:5px}.progress-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.progress-middle,.progress-bottom{grid-template-columns:1fr}.calendar-grid{gap:9px}.calendar-day{height:32px;width:32px}.calendar-card{max-width:none}.discovery-copy{padding:13px}.discovery-copy p{font-size:9px}.discovery-art{height:110px}.date-pill{display:none}}
@media(max-width:740px){.home-top,.home-lower{grid-template-columns:1fr}.photo-hero{min-height:325px}.wellness-card{padding:22px}.mini-stats{margin-top:18px}.dashboard-heading{margin-top:26px}.dashboard-heading h1{font-size:22px}.dashboard-heading p{font-size:11px;line-height:1.8}.progress-stats{gap:10px}.progress-stat{padding:18px 13px}.progress-stat>strong{font-size:28px}.progress-stat p{font-size:8px}.progress-stat small{font-size:10px}.progress-middle,.progress-bottom{gap:15px}.surface{padding:19px}.discovery-grid{gap:10px}.discovery-copy{padding:12px 9px}.discovery-copy h3{font-size:11px}.discovery-copy p{font-size:8px;line-height:1.7}.round-arrow{display:none}.discovery-art{height:95px}.practice-launch{right:16px;bottom:34px}#breath-dial{height:46px;width:46px}.right-column{display:flex;flex-direction:column}.pressure-card{order:0}.pressure-simulator{order:1;margin:0}.guidance-card{order:2}.gentle-note{display:none}.dashboard-heading .outline-button{font-size:0;padding:10px;gap:0}.dashboard-heading .outline-button .icon{font-size:initial}.history-item{gap:8px}.history-item strong{font-size:10px}.hero-copy{padding:26px}.discovery-heading>span{font-size:8px}.goal-line{gap:12px}.week-day{min-width:25px}.week-day b{width:27px;height:27px}.week-strip{gap:3px}.local-note{line-height:1.8}.calendar-grid{gap:5px}.calendar-day{height:27px;width:27px}}
@media(max-width:480px){.dashboard-heading h1{font-size:20px}.photo-hero{background-position:61% center;min-height:325px}.hero-copy h2{font-size:28px}.photo-hero:before{background:linear-gradient(90deg,#eeece1ec 0%,#eeece1ad 42%,transparent 90%)}.hero-copy{padding:23px 19px}.hero-copy p{font-size:10px}.hero-copy .primary{padding:11px 13px;font-size:10px}.photo-credit{font-size:6px}.progress-stat>span{font-size:9px}.progress-stat>strong{font-size:27px}.progress-stat>span .icon{width:13px}.goal-stat button{font-size:8px}.progress-stat{padding:16px 10px}.progress-stats{gap:8px}.discovery-grid{gap:7px}.discovery-art{height:75px}.discovery-copy h3{font-size:10px}.discovery-copy p{font-size:8px}.history-icon{padding:7px}.history-item p{font-size:8px}.milestone{gap:8px}.milestone>span{font-size:8px}.milestone-icon{width:34px;height:34px}.milestone strong{font-size:10px}.milestone p{font-size:8px}.practice-launch{bottom:35px;right:12px}#breath-dial{height:41px;width:41px}.stage-play{padding:4px}#breath-number{font-size:17px}#breath-word{font-size:7px}.instruction-strip{padding:12px}.phase-steps span{padding:5px 7px;font-size:9px}.instruction-strip p{font-size:9px}.activity-chart{gap:5px}.library-banner{padding:24px}.library-banner h2{font-size:21px}.library-banner p{font-size:10px;max-width:170px;line-height:1.8}}
.progress-middle>*,.progress-bottom>*,.home-top>*,.home-lower>*{min-width:0}.activity-bar{padding:0;min-width:0}.activity-chart{min-width:0}.activity-chart .chart-column{min-width:0}.progress-middle,.progress-bottom{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr)}.progress-bottom{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr)}@media(max-width:950px){.progress-middle,.progress-bottom{grid-template-columns:minmax(0,1fr)}}
.practice-launch{top:145px;bottom:auto;right:22px}@media(max-width:740px){.practice-launch{top:135px;bottom:auto;right:16px}}@media(max-width:480px){.practice-launch{top:132px;bottom:auto;right:16px}}
/* Photo-based reference, with registered contact annotations and a separate guide. */
.pose-stage{display:flex;flex-direction:column;aspect-ratio:auto;min-height:0;background:#f3f2eb;border:1px solid #e3e7da;overflow:hidden}.pose-stage:before{display:none}.stage-top{order:0;padding:17px 22px 8px}.stage-top .stage-info{margin-left:auto;margin-right:13px}.reference-badge{font-size:9px;color:#91a084}.pose-title{position:static;order:1;padding:7px 23px 14px;display:flex;align-items:baseline;gap:13px}.pose-title h2{font-size:23px;letter-spacing:2px}.pose-title p{margin:0;font-size:10px}.pose-title .motion-chip{display:none}.pose-stage .yoga-art.photo-reference{position:relative;order:2;top:auto;bottom:auto;left:auto;width:100%;height:auto;aspect-ratio:800/533;display:block;background:#f0eee6}.stage-bottom{position:static;order:4;display:flex;justify-content:space-between;gap:10px;padding:12px 20px;font-size:9px;color:#99a48d;border-top:1px solid #e3e8db}.stage-bottom button{font-size:9px;color:#6f845b;border:1px solid #d8e2cd;padding:5px 8px;border-radius:5px}.photo-guide{order:3;background:#f8faf3;padding:18px 22px 16px;border-top:1px solid #e5e9de}.guide-heading{display:flex;justify-content:space-between;font-size:10px;color:#8b9b7b;margin-bottom:12px}.guide-heading span:first-child{color:#60774e;font-size:12px}.guide-step-tabs{display:flex;gap:8px}.guide-step-tabs button{display:flex;gap:6px;align-items:center;font-size:10px;padding:7px 12px;border:1px solid #e2e8d8;border-radius:20px;color:#8b9b7c;background:#fff}.guide-step-tabs em{font-style:normal;font-size:8px;width:16px;height:16px;border-radius:50%;display:grid;place-items:center;background:#edf2e4}.guide-step-tabs button.selected{background:#e1ebd1;border-color:#9eb683;color:#4f6b3e}.guide-step-tabs button.selected em{background:#7f9a65;color:white}#guide-detail{font-size:11px;line-height:1.9;color:#7a8f67;margin-top:12px;min-height:21px}.contact-tag rect{transition:fill .2s,stroke .2s}.photo-reference .contact-tag.guide-active rect,.photo-reference .contact-tag.contact-focused rect{fill:#e3edcd;stroke:#6d8a50;stroke-width:2}.photo-reference .contact-rings.guide-active .support-halo{fill:#e6f5a6!important;opacity:.8!important;filter:drop-shadow(0 0 7px #b2cf71)}.annotations-off .photo-annotations{visibility:hidden}.instruction-strip{display:flex;flex-wrap:wrap;align-items:center;gap:12px 17px;padding:13px 17px}.instruction-strip .practice-launch{position:static;inset:auto;flex-shrink:0}.instruction-strip .stage-play{box-shadow:none;background:#f9fbf4;border-color:#dbe6cd;padding:5px 14px 5px 5px}.instruction-strip .stage-play>span:last-child{display:block}.instruction-strip .stage-play b{font-size:11px}.instruction-strip .stage-play>span>small{font-size:8px}.instruction-strip #breath-dial{width:43px;height:43px}.instruction-strip .phase-steps{margin-left:auto}.instruction-strip>p{width:100%;margin:0;border-top:1px solid #dfe8d4;padding-top:9px}.pose-list .pose-preview{height:auto;aspect-ratio:1.5;width:100%;border-radius:5px}.pose-card{padding:6px 6px 11px}.pose-card .step-num{z-index:1;top:10px;left:10px;background:#f7f9f0c9;border-radius:3px;padding:2px 4px}.discovery-art{height:auto;aspect-ratio:1.7;overflow:hidden}.discovery-art svg{width:100%;height:100%;display:block}.photo-reference .contact-tag:focus{outline:none}.photo-reference .contact-tag:focus rect{stroke:#39562a;stroke-width:3}.is-playing .photo-reference .guide-active .support-halo{animation:contactPulse 2s ease-in-out infinite}@keyframes contactPulse{50%{filter:drop-shadow(0 0 13px #d5ee8c);opacity:.45}}
@media(max-width:1150px){.reference-badge{font-size:8px}.pose-title{padding-bottom:10px}.guide-step-tabs button{padding:6px 8px}.stage-bottom{font-size:8px}.instruction-strip .phase-steps{margin-left:0}.instruction-strip .stage-play>span:last-child{display:block}}
@media(max-width:740px){.pose-stage{min-height:0}.stage-top{padding:14px 15px 7px}.reference-badge{display:none}.pose-title{padding:8px 16px 12px;gap:10px}.pose-title h2{font-size:21px}.pose-title p{font-size:9px}.pose-stage .yoga-art.photo-reference{width:100%;left:auto;bottom:auto;height:auto}.photo-guide{padding:15px}.guide-step-tabs{gap:5px;flex-wrap:wrap}.guide-step-tabs button{padding:6px 9px;font-size:9px}#guide-detail{font-size:10px}.stage-bottom{padding:11px 13px;align-items:center}.stage-bottom button{font-size:8px;padding:5px 6px;white-space:nowrap}.instruction-strip .practice-launch{position:static}.pose-list .pose-preview{height:auto}.pose-list .pose-card strong{margin-top:7px}.pose-card small{font-size:7px}.guide-heading span:first-child{font-size:11px}.instruction-strip{gap:10px;padding:12px}.instruction-strip .phase-steps{gap:2px}.instruction-strip .phase-steps span{font-size:8px;padding:4px 5px}.instruction-strip .stage-play{padding-right:9px}.instruction-strip .stage-play>span>small{display:none}.instruction-strip #breath-dial{width:35px;height:35px}}
.pressure-contact.guide-active b{box-shadow:0 0 0 3px #a4bd7f99;background:#eff8dc}.contact-value.guide-active{background:#f0f5e8}.stage-top .stage-chip{background:#fff9}
.pose-stage .yoga-art.photo-reference{max-height:430px}.pose-list .pose-preview{height:88px;aspect-ratio:auto}.photo-guide{padding-top:14px;padding-bottom:12px}.guide-heading{margin-bottom:9px}@media(max-width:740px){.pose-stage .yoga-art.photo-reference{max-height:none}.pose-list .pose-preview{height:70px}}@media(max-width:480px){.pose-list .pose-preview{height:57px}}
img.pose-preview{display:block;object-fit:contain;width:100%;background:#f0ece3}.discovery-art img.pose-preview{height:100%;width:100%;object-fit:cover}
/* Unified breath, pressure contact and coaching in the training canvas. */
.guidance-card,.instruction-strip{display:none}.photo-guide{padding:19px 22px}.live-cue-dot{display:inline-block;width:6px;height:6px;background:#7c9563;border-radius:50%;margin-right:6px}.unified-cue{border:1px solid #e1e9d5;background:#edf3e4;border-radius:9px;padding:14px 16px;margin-bottom:14px}.unified-cue>div:first-child{display:flex;align-items:center;gap:12px}.unified-cue strong{font-size:18px;font-weight:500;color:#4f6e3c}.unified-cue span{font-size:10px;color:#8d9d7b}.unified-cue p{font-size:11px;color:#738860;line-height:1.8;margin:9px 0 12px}.unified-meter{height:4px;background:#dce6d0;border-radius:4px;overflow:hidden}.unified-meter i{display:block;height:100%;background:#8da96d;width:0}.guide-controls{border-top:1px solid #e1e7d8;margin-top:13px;padding-top:13px;display:flex;align-items:center;gap:12px}.guide-controls .practice-launch{position:static;inset:auto}.guide-controls .stage-play{box-shadow:none;border-color:#dfe7d6;padding:5px 13px 5px 5px}.guide-controls .stage-play>span:last-child{display:block}.guide-controls .stage-play b{font-size:11px}.guide-controls .stage-play small{font-size:8px}.guide-controls #breath-dial{width:39px;height:39px}#auto-guide{margin-left:auto;font-size:10px;color:#81976b}#guide-voice{padding:9px;border:1px solid #dfe8d3;border-radius:50%;color:#7f956b}.scene-breath{pointer-events:none}.scene-breath text{font-family:system-ui,sans-serif}.scene-breath.breathing-out .scene-breath-ring{stroke:#b09c6c}.is-playing .photo-reference .guide-active .support-halo{animation:none;filter:drop-shadow(0 0 5px #cce890)}.is-playing .live-cue-dot{box-shadow:0 0 0 4px #95b57522}
@media(max-width:740px){.sidebar{top:auto;bottom:0;left:0;right:0;width:100%;height:auto;padding:7px 12px calc(7px + env(safe-area-inset-bottom,0px));border-right:0;border-top:1px solid #dee6d4;background:#f8faf2f5;backdrop-filter:blur(14px);z-index:15;box-shadow:0 -5px 24px #42573208}.sidebar .brand,.sidebar .brand-sub,.sidebar .nav-label,.sidebar .sidebar-bottom{display:none!important}.sidebar nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin:0}.sidebar nav button{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;font-size:10px;padding:8px 3px;border-radius:10px;min-height:53px}.sidebar nav button .icon{width:20px;height:20px}.sidebar nav button.active{background:#e6eedb}.sidebar nav button .nav-dot{display:none}main{margin-left:0;padding:0 17px 95px;padding-bottom:calc(95px + env(safe-area-inset-bottom,0px))}#toast{bottom:calc(87px + env(safe-area-inset-bottom,0px))}.modal-backdrop{z-index:25}.photo-guide{padding:16px}.unified-cue{padding:12px}.unified-cue strong{font-size:17px}.unified-cue span{font-size:9px}.unified-cue p{font-size:10px}.guide-controls{gap:8px}.guide-controls .stage-play>span>small{display:none}.guide-controls .stage-play{padding-right:10px}.guide-controls .stage-play b{font-size:10px}.guide-controls #breath-dial{width:35px;height:35px}#auto-guide{font-size:9px}#guide-voice{padding:7px}.gentle-note{display:none}.stage-bottom{font-size:8px}.scene-breath text{font-weight:500}}
.scene-breath{pointer-events:auto;cursor:pointer}.scene-breath:focus{outline:none}.scene-breath:focus>circle:first-child{stroke:#718e58;stroke-width:3}
/* Movement-stage teaching; breathing remains an independent rhythm. */
.guide-step-tabs{flex-wrap:wrap}.guide-step-tabs button{font-size:10px}.unified-cue strong{font-size:16px}.unified-cue>div:first-child{justify-content:space-between}.unified-cue p{font-size:11px;line-height:2}#contact-inspection{font-size:10px;color:#83946e;line-height:1.8}#auto-guide{white-space:nowrap}.movement-overlay{pointer-events:none}.movement-path{stroke-dashoffset:calc(var(--travel,0) * -1px)}.guide-active .support-halo{filter:drop-shadow(0 0 5px #cde38e)}
.shop-banner{display:flex;justify-content:space-between;align-items:center;background:#e7eddd;border:1px solid #dfe7d3;border-radius:14px;overflow:hidden;padding:30px 42px;min-height:230px}.shop-banner h2{font-size:30px;font-weight:500;margin:18px 0 12px;letter-spacing:2px}.shop-banner p{font-size:12px;color:#88997a}.shop-banner button{font-size:11px;margin-top:24px;color:#597449;padding:0}.shop-banner>.product-art{width:42%;height:210px;background:transparent}.shop-disclaimer{font-size:10px;color:#9ba78c;margin:16px 0 24px}.shop-toolbar{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:22px}.shop-filters{display:flex;gap:8px}.shop-filters button{padding:9px 16px;border:1px solid #e1e8d7;border-radius:20px;font-size:11px;color:#8a9b79}.shop-filters button.selected{background:#536f45;border-color:#536f45;color:#fff}#shop-search{border:1px solid #e0e6d7;border-radius:7px;padding:10px 14px;background:white;font:inherit;color:#60794d;width:190px;outline-color:#94a87d}.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:19px}.product-card{border:1px solid #e2e7da;background:white;border-radius:12px;overflow:hidden}.product-image-button{padding:0;display:block;width:100%}.product-art{position:relative;height:185px;background:#eaf0e2;display:grid;place-items:center;overflow:hidden;perspective:550px}.product-art small{position:absolute;bottom:10px;right:12px;font-size:8px;color:#a0ad92}.product-object{position:relative;box-shadow:12px 18px 16px #44553424;display:grid;place-items:center}.product-object span{font-size:12px;letter-spacing:2px;color:#d9e5c6}.art-mat .product-object{width:110px;height:155px;border-radius:7px;transform:rotateX(37deg) rotateZ(-32deg);background:repeating-linear-gradient(0deg,#8da47b 0px,#8da47b 2px,#90a77e 3px);border:1px solid #799467;border-bottom:5px solid #6d865e}.art-mat .product-object:after{content:'';position:absolute;inset:9px;border:1px solid #b9cba144;border-radius:4px}.art-block{background:#f0ebe0}.art-block .product-object{width:105px;height:70px;transform:rotate(-18deg) skewY(8deg);border-radius:6px;background:#c5aa7e;border-right:13px solid #ac8d60;border-bottom:11px solid #b4976b;box-shadow:20px 25px 0 -4px #d3bc98,26px 30px 19px #6b563524}.art-block span{color:#eadcc4;font-size:10px}.art-strap{background:#e7ebe3}.art-strap .product-object{width:106px;height:106px;border-radius:50%;background:repeating-radial-gradient(ellipse,#8e9c7e 0px,#8e9c7e 5px,#b2bea2 6px,#b2bea2 9px);transform:rotateX(40deg);border:5px solid #91a17f}.art-strap .product-object:before{content:'';position:absolute;width:22px;height:22px;border-radius:50%;background:#e6ecdf}.art-strap span{display:none}.art-towel{background:#f1eee4}.art-towel .product-object{height:99px;width:124px;transform:rotate(-14deg);border-radius:5px;background:repeating-linear-gradient(0deg,#d6c9ad 0px,#d6c9ad 2px,#ddd2ba 3px);border-bottom:10px solid #c0b08c}.art-towel span{color:#a49470}.product-info{padding:17px}.product-info>span{font-size:9px;color:#a0ac91}.product-title{font-size:13px;font-weight:500;display:block;padding:0;margin-top:8px;text-align:left}.product-info p{font-size:9px;color:#9ca98e;margin-top:8px;line-height:1.8}.product-info>div{display:flex;align-items:center;justify-content:space-between;margin-top:18px}.product-info strong{font-size:17px;font-weight:500}.add-product{height:30px;width:30px;border:1px solid #dfe7d4;border-radius:50%;font-size:19px;color:#7d9468}.shop-service{display:flex;justify-content:space-between;gap:12px;padding:25px 0;margin-top:24px;border-top:1px solid #e1e6d8;color:#9ba88e;font-size:10px}.shop-service button{font-size:10px;color:#738d5d}.modal{max-height:85dvh;overflow-y:auto}.product-detail>.product-art{height:170px;border-radius:9px;margin-bottom:22px}.detail-price{font-size:23px;font-weight:500;display:block;margin-bottom:14px}.product-specs{padding-left:17px;font-size:11px;color:#95a285;line-height:2}.shop-select-label{display:flex;align-items:center;justify-content:space-between;font-size:12px;margin-top:20px}.shop-select-label select{border:1px solid #dce5d1;background:white;color:#718661;border-radius:5px;padding:8px 12px}.cart-row{display:flex;gap:12px;align-items:center;padding:16px 0;border-bottom:1px solid #e2e8da}.cart-row>.product-art{width:70px;height:75px;flex-shrink:0;border-radius:6px}.cart-row .product-object{scale:.4}.cart-row .product-art small{display:none}.cart-row-main{flex:1;min-width:0}.cart-row strong{font-size:11px}.cart-row p{font-size:9px;margin:4px 0}.cart-row>b{font-size:12px;font-weight:500}.cart-qty{display:flex;align-items:center;gap:9px;font-size:11px}.cart-qty button{padding:4px 7px;border:1px solid #e0e7d7;border-radius:4px}.cart-qty .cart-remove{border:0;font-size:9px;color:#9baa8c;margin-left:auto}.cart-total{display:flex;justify-content:space-between;margin:22px 0;font-size:12px}.cart-total strong{font-size:22px;font-weight:500}.order-summary,.demo-order{padding:15px 0;border-bottom:1px solid #e1e7d9}.empty-products{color:#96a285;padding:30px;grid-column:1/-1}
@media(max-width:1100px){.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:740px){.sidebar nav{grid-template-columns:repeat(5,minmax(0,1fr))}.sidebar nav button{font-size:9px}.shop-banner{padding:23px;min-height:200px}.shop-banner h2{font-size:23px}.shop-banner p{font-size:10px;max-width:170px;line-height:1.8}.shop-banner>.product-art{height:165px;width:35%;flex-shrink:0}.shop-banner .product-object{scale:.8}.shop-toolbar{flex-direction:column;align-items:stretch}.shop-filters{gap:5px}.shop-filters button{flex:1;padding:8px 6px;font-size:10px}#shop-search{width:100%}.product-grid{gap:12px}.product-art{height:155px}.product-info{padding:13px}.product-title{font-size:12px}.product-info p{font-size:9px}.product-info strong{font-size:16px}.shop-disclaimer{line-height:1.8;font-size:9px}.shop-service{flex-wrap:wrap;line-height:1.8}.shop-banner button{font-size:10px}.guide-step-tabs button{font-size:9px}.unified-cue>div:first-child{gap:8px;align-items:baseline}.unified-cue strong{font-size:15px}.unified-cue span{white-space:nowrap;font-size:9px}.modal{padding:28px 22px}.cart-row{gap:8px}.cart-row>.product-art{width:53px;height:64px}}
/* Account and membership */
.account-entry{cursor:pointer}.account-entry:focus-visible{outline:2px solid #8ea774;outline-offset:4px}.profile.account-entry{text-align:left;width:100%}.avatar.small.account-entry{padding:0}.avatar.small.has-membership{box-shadow:0 0 0 2px #a7b98c;border-color:#f9fcf0}.profile.has-membership .avatar{background:#dfe8cf;color:#617c4a}.modal.membership-modal{width:640px;padding:30px}.member-account{display:flex;gap:12px;align-items:center;padding-bottom:19px;border-bottom:1px solid #e1e7d9}.member-account>.avatar{height:43px;width:43px;font-size:23px}.member-account strong{font-size:13px;font-weight:500}.member-account p{font-size:10px;line-height:1.8;color:#98a58a}.member-account>span{font-size:9px;letter-spacing:1.5px;color:#78925d;border:1px solid #d8e3cb;border-radius:5px;padding:6px 10px;margin-left:auto}.member-hero{position:relative;padding:23px 0 25px;overflow:hidden}.member-hero .eyebrow{font-size:8px;letter-spacing:1.8px}.member-hero h2{font-size:25px;letter-spacing:1px;font-weight:500;position:relative;z-index:1;margin:12px 0 8px}.member-hero h2 span{color:#a4b78e}.member-hero>p{font-size:11px;color:#8fa07e}.member-flower{position:absolute;right:-6px;top:3px;font-size:126px;line-height:1.2;color:#e3ebd7;transform:rotate(-12deg);pointer-events:none}.member-plan-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.member-plan-card{position:relative;text-align:left;border:1px solid #dfe6d7;border-radius:12px;padding:24px 20px 18px;background:#fff}.member-plan-card.selected{border:1.5px solid #8ba66f;background:#eef4e4}.member-plan-card h3{font-size:13px;font-weight:500;margin-bottom:17px}.member-price{font-size:37px;line-height:1.2;font-weight:500;color:#4d6c3b}.member-price>small{font-size:17px;margin-right:3px}.member-price>span{font-size:11px;margin-left:6px;color:#91a27e}.member-plan-card>p{font-size:10px;margin-top:12px;line-height:1.8}.demo-price{display:block;font-size:8px;color:#a1af91;margin-top:8px}.plan-check{position:absolute;right:18px;top:24px;height:15px;width:15px;border:1px solid #d2ddc5;border-radius:50%}.selected .plan-check{background:#7d9961;border-color:#7d9961;box-shadow:inset 0 0 0 3px #eef4e4}.plan-recommend{position:absolute;top:-10px;left:18px;font-size:8px;border-radius:4px;background:#78945e;color:#fff;padding:4px 10px;letter-spacing:.6px}.subscribe-membership{padding:14px!important;font-size:12px;margin-top:18px!important;border-radius:8px}.member-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:24px;padding-top:22px;border-top:1px solid #e2e8d9}.member-benefits>div{text-align:center}.member-benefits .icon{display:block;margin:0 auto 10px;color:#88a16e;width:23px;height:23px}.member-benefits strong{font-size:10px;font-weight:500}.member-benefits p{font-size:8px;line-height:1.8;margin-top:5px;color:#a0ad92}.membership-note{font-size:9px!important;line-height:1.8!important;color:#a2ae96!important;margin-top:23px!important}.member-review{padding:7px 0;margin:15px 0;border-top:1px solid #e0e6d7;border-bottom:1px solid #e0e6d7}.member-review>div{display:flex;justify-content:space-between;gap:15px;padding:11px 0;font-size:11px}.member-review span{color:#93a282}.member-review strong{font-weight:500}.member-consent{display:flex;gap:9px;align-items:flex-start;font-size:10px;line-height:1.9;color:#8a9b77;margin-top:20px}.member-consent input{accent-color:#7f9b64;width:16px;height:16px;flex-shrink:0}.primary:disabled{background:#c8d3bb;color:#f8fbf2;cursor:not-allowed}.member-back{display:block;margin:18px auto 0;font-size:10px;color:#8a9d77;padding:6px}.member-current{display:flex;justify-content:space-between;gap:15px;align-items:center;background:#e9f0de;border:1px solid #dae6ca;border-radius:10px;padding:20px}.member-current h3{font-size:18px;font-weight:500;margin:12px 0 8px}.member-current p{font-size:10px;color:#92a380}.member-current button{font-size:10px;color:#718d57;white-space:nowrap}.member-action-row{display:flex;align-items:center;gap:12px;margin-top:16px}.member-action-row .primary{margin:0;flex:1;font-size:11px}.member-action-row .outline-button{font-size:10px;padding:12px;white-space:nowrap}.member-goal{display:flex;align-items:center;justify-content:space-between;font-size:12px;margin:20px 0}.member-goal select{border:1px solid #d8e2cc;border-radius:5px;padding:8px;background:white;color:#6c8555}.member-schedule button{display:flex;align-items:center;gap:14px;text-align:left;width:100%;border:1px solid #e0e7d6;border-radius:8px;padding:14px;margin-bottom:10px;background:#f5f8ee}.member-schedule>button>span{font-size:9px;letter-spacing:1px;color:#8ca275}.member-schedule strong{font-size:12px;font-weight:500}.member-schedule p{font-size:9px}.member-schedule b{margin-left:auto;color:#8da676;font-weight:400}
@media(max-width:740px){.modal.membership-modal{padding:24px 20px;width:100%}.member-hero h2{font-size:21px;letter-spacing:0}.member-flower{font-size:100px;top:15px;opacity:.7}.member-plan-grid{gap:10px}.member-plan-card{padding:21px 14px 15px}.member-plan-card h3{font-size:12px}.member-price{font-size:31px}.member-plan-card>p{font-size:9px}.plan-check{right:13px;top:22px}.member-benefits{gap:6px}.member-benefits strong{font-size:9px}.member-benefits p{font-size:8px}.member-current{padding:16px}.member-current h3{font-size:16px}.member-action-row{flex-direction:column;align-items:stretch}.member-action-row .primary{flex:auto}.member-action-row .outline-button{justify-content:center}.member-account{padding-bottom:15px}}
.product-art.product-photo{background:#f0e8dc;height:auto;aspect-ratio:1}.product-photo img{display:block;width:100%;height:100%;object-fit:cover}.product-art.product-photo small{padding:3px 5px;border-radius:3px;background:#faf8f0bc;color:#9b9a84;font-size:7px;right:8px;bottom:8px}.shop-banner{background:#e9eddf;padding:0 0 0 42px;min-height:260px}.shop-banner>.product-art.product-photo{width:42%;height:260px;aspect-ratio:auto;border-radius:0}.shop-banner .product-photo img{object-position:center 65%;object-fit:cover}.product-detail>.product-art.product-photo{height:260px;aspect-ratio:auto;background:#f1e8dc}.product-detail .product-photo img{object-fit:contain}.cart-row>.product-art.product-photo{width:70px;height:75px;aspect-ratio:auto}.cart-row .product-photo img{object-fit:cover}.product-image-color{font-size:9px!important;color:#a0aa94!important;margin-top:8px!important}@media(max-width:740px){.shop-banner{padding-left:22px;min-height:210px}.shop-banner>.product-art.product-photo{height:210px;width:40%}.shop-banner h2{font-size:21px}.shop-banner .product-photo img{object-position:45% center}.product-detail>.product-art.product-photo{height:230px}.cart-row>.product-art.product-photo{width:53px;height:64px}.product-art.product-photo small{font-size:6px;bottom:5px;right:5px}}
