:root{--bg: #04110f;--text: #e9f3f2;--text-soft: rgba(233, 243, 242, .72);--text-faint: rgba(233, 243, 242, .5);--aqua: #9fd3cf;--teal: #2f8f8a;--pink: #d49bc0;--glass: rgba(233, 243, 242, .1);--glass-edge: rgba(233, 243, 242, .22);--ease: cubic-bezier(.65, 0, .35, 1);--ease-out: cubic-bezier(.22, 1, .36, 1);--spring: cubic-bezier(.34, 1.56, .64, 1);--font: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", Roboto, "Helvetica Neue", sans-serif;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overflow:hidden}button{font:inherit;color:inherit}.swirl{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;background:radial-gradient(120% 90% at 30% 20%,rgba(212,155,192,.18),transparent 60%),radial-gradient(140% 110% at 70% 80%,rgba(47,143,138,.45),transparent 65%),var(--bg)}.swirl-canvas{width:100%;height:100%;display:block;opacity:0;transition:opacity 1.6s var(--ease-out)}.swirl-canvas.ready{opacity:1}.swirl-scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(90% 70% at 50% 50%,rgba(4,17,15,.55),rgba(4,17,15,.95));transition:opacity 1.2s var(--ease)}.welcome{position:relative;z-index:1;height:100%;display:grid;place-items:center;padding:max(24px,env(safe-area-inset-top)) 16px max(24px,env(safe-area-inset-bottom))}.welcome-skip{position:absolute;top:max(16px,env(safe-area-inset-top));right:16px;background:none;border:0;padding:10px 12px;color:var(--text-faint);font-size:.95rem;cursor:pointer}.welcome-stage{position:relative;width:min(100%,420px);display:grid;gap:28px;justify-items:start}.welcome-title{position:absolute;inset:0 0 auto 0;top:50%;transform:translateY(-50%) scale(.97);margin:0;text-align:center;font-size:clamp(2.9rem,13vw,4.2rem);font-weight:250;letter-spacing:.01em;line-height:1;opacity:0;transition:opacity 1.4s var(--ease-out),transform 1.6s var(--ease-out);will-change:opacity,transform;pointer-events:none}.welcome-title.visible{opacity:1;transform:translateY(-50%) scale(1)}.welcome-title-step{display:inline-block;line-height:1;color:var(--aqua)}.welcome-title-home{display:inline-block;line-height:1;transition:opacity .6s var(--ease)}.welcome-title.leaving .welcome-title-home{opacity:0}.welcome-words{list-style:none;margin:0;padding:0;display:grid;gap:22px}.welcome-words li{display:grid;gap:6px}.welcome-word{font-size:clamp(2rem,9vw,2.5rem);font-weight:250;line-height:1}.welcome-letter,.welcome-flyer{display:inline-block;line-height:1;color:var(--aqua);font-weight:300}.welcome-rest,.welcome-line{display:inline-block;opacity:0;transform:translate(-8px);transition:opacity .9s var(--ease-out),transform .9s var(--ease-out);will-change:opacity,transform}.welcome-line{font-size:1.05rem;color:var(--text-soft);padding-left:2px;transition-delay:.18s}.welcome-words li.revealed .welcome-rest,.welcome-words li.revealed .welcome-line{opacity:1;transform:none}.welcome-flyer{position:fixed;z-index:2;font-weight:250;transform-origin:0 0;will-change:transform;transition-property:transform;transition-timing-function:var(--ease);display:inline-grid;pointer-events:none}.welcome-flyer>span{grid-area:1 / 1;transition:opacity .7s var(--ease);transition-delay:.3s}.welcome-flyer .upper,.welcome-flyer.flying .lower{opacity:0}.welcome-flyer.flying .upper{opacity:1}.welcome-greeting{margin-top:8px;opacity:0;transform:translateY(8px);transition:opacity 1.2s var(--ease-out),transform 1.2s var(--ease-out)}.welcome-greeting.visible{opacity:1;transform:none}.welcome-greeting p{margin:0}.welcome-greeting-main{font-size:1.3rem;font-weight:400}.welcome-greeting-sub{margin-top:4px!important;color:var(--text-soft);font-size:1.05rem}.welcome-begin{justify-self:stretch;margin-top:8px;padding:16px 24px;border-radius:999px;border:1px solid var(--glass-edge);background:rgba(10,34,32,.6);font-size:1.1rem;font-weight:500;letter-spacing:.01em;cursor:pointer;opacity:0;transform:translateY(8px);pointer-events:none;transition:opacity 1s var(--ease-out),transform 1s var(--ease-out),background .3s}.welcome-begin.visible{opacity:1;transform:none;pointer-events:auto}.welcome-begin:active{background:rgba(233,243,242,.18);transform:scale(.98)}.welcome-begin:focus-visible,.welcome-skip:focus-visible,.link-button:focus-visible{outline:2px solid var(--aqua);outline-offset:3px}.placeholder{position:relative;z-index:1;height:100%;display:grid;place-content:center;gap:12px;padding:24px 16px;text-align:center;max-width:420px;margin:0 auto}.placeholder p{margin:0}.placeholder-next{font-size:1.2rem}.placeholder-note{color:var(--text-faint)}.link-button{margin-top:12px;background:none;border:0;color:var(--aqua);text-decoration:underline;text-underline-offset:4px;cursor:pointer;padding:8px}.icon-button{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--glass-edge);background:rgba(10,34,32,.55);cursor:pointer;transition:transform .25s var(--spring),background .25s}.icon-button:active{transform:scale(.92);background:rgba(233,243,242,.16)}.icon-button:focus-visible,.app-card:focus-visible{outline:2px solid var(--aqua);outline-offset:3px}.wordmark{font-size:1.3rem;font-weight:300;letter-spacing:.01em}.wordmark-set{color:var(--aqua)}.rise{opacity:0;translate:0 14px;animation:rise .8s var(--ease-out) forwards;animation-delay:calc(var(--i, 0) * 90ms + 80ms)}@keyframes rise{to{opacity:1;translate:0 0}}.home{position:relative;z-index:1;height:100%;max-width:480px;margin:0 auto;display:flex;flex-direction:column;gap:16px;padding:max(16px,env(safe-area-inset-top)) 16px max(24px,env(safe-area-inset-bottom))}.home-header{display:flex;align-items:center;justify-content:space-between}.home-intro{margin:20px 0 0;font-size:clamp(1.9rem,8.5vw,2.3rem);font-weight:250;line-height:1.15}.home-apps{margin-top:auto;display:grid;gap:14px}.home{overflow-y:auto}.home-card{display:grid;gap:10px;padding:16px 18px;border-radius:22px;border:1px solid var(--glass-edge);background:rgba(10,34,32,.62);backdrop-filter:blur(8px)}.home-card h2{margin:0;font-size:1.1rem;font-weight:500}.home-card p{margin:0;color:var(--text-soft);line-height:1.45;font-size:.97rem}.home-card .home-card-how{color:var(--text)}.home-card .link-button{justify-self:start;padding-left:0}.reminder{display:grid;gap:10px}.reminder-time{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--text)}.reminder-time select{font:inherit;font-size:1.1rem;padding:8px 12px;border-radius:12px;border:1px solid var(--glass-edge);background:rgba(233,243,242,.08);color:var(--text)}.reminder-add{text-decoration:none;min-height:52px;font-size:1.05rem}.reminder-after{display:grid;gap:6px}.reminder-after p:first-child{color:var(--text)!important;font-weight:500}.reminder .reminder-small,.reminder-small{margin:0;font-size:.88rem!important;color:var(--text-faint);line-height:1.4}.settings-backup{display:flex;flex-wrap:wrap;gap:8px}.privacy section{display:grid;gap:8px}.privacy h2{margin:8px 0 0;font-size:1.05rem;font-weight:500}.privacy p,.privacy li{margin:0;color:var(--text-soft);line-height:1.5}.privacy ul{margin:0;padding-left:20px;display:grid;gap:6px}.privacy-intro{color:var(--text)!important;font-size:1.05rem}.app-card{position:relative;overflow:hidden;border:1px solid transparent;text-align:left;cursor:pointer;-webkit-user-select:none;user-select:none}.app-card.rise{animation-fill-mode:both}.app-card>*{position:relative}.app-card:active{transform:scale(.97);transition:transform .12s var(--ease)}.app-card{transition:transform .45s var(--spring),box-shadow .45s var(--ease-out)}.app-icon{width:56px;height:56px;display:grid;place-items:center;border-radius:20px}.app-move{min-height:250px;padding:22px;border-radius:34px;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(150deg,#3a9e97,#22706b 45%,#164a48);border-color:rgba(159,211,207,.4);box-shadow:0 24px 60px -24px rgba(90,200,190,.6),inset 0 1px rgba(255,255,255,.22)}.app-move:active{box-shadow:0 14px 40px -20px rgba(90,200,190,.7),inset 0 1px rgba(255,255,255,.22)}.app-move-glow{position:absolute!important;inset:-40% -30% auto auto;width:90%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(190,240,232,.38),rgba(190,240,232,0) 65%);animation:breathe 6s var(--ease) infinite;pointer-events:none}@keyframes breathe{0%,to{opacity:.55;transform:scale(.92)}50%{opacity:1;transform:scale(1.06)}}.app-move-icon{background:rgba(255,255,255,.14);color:#f2fbfa}.app-move-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.app-move-title{display:block;font-size:2.6rem;font-weight:300;line-height:1}.app-move-sub{display:block;margin-top:8px;color:rgba(242,251,250,.82);font-size:1rem}.app-move-go{flex:none;width:56px;height:56px;display:grid;place-items:center;border-radius:50%;background:#eaf7f5;color:#1c5f5b;box-shadow:0 8px 20px -8px rgba(0,0,0,.5);transition:transform .45s var(--spring)}.app-move:active .app-move-go{transform:translate(4px)}.home-locked{display:grid;grid-template-columns:1fr 1fr;gap:14px}.app-small{aspect-ratio:1 / 1.02;padding:16px;border-radius:28px;display:flex;flex-direction:column;justify-content:space-between}.app-small-title{display:block;font-size:1.25rem;font-weight:400}.app-small-sub{display:block;margin-top:4px;font-size:.9rem;color:var(--text-faint)}.app-nourish{background:linear-gradient(160deg,rgba(236,170,128,.3),rgba(236,170,128,.07) 70%),rgba(10,30,28,.55);border-color:rgba(236,170,128,.32)}.app-nourish .app-icon{background:rgba(236,170,128,.16);color:#f3c3a2}.app-toolkit{background:linear-gradient(160deg,rgba(196,160,224,.3),rgba(196,160,224,.07) 70%),rgba(10,30,28,.55);border-color:rgba(196,160,224,.32)}.app-toolkit .app-icon{background:rgba(196,160,224,.16);color:#dcc4ef}.app-lock{position:absolute!important;top:14px;right:14px;width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:rgba(4,17,15,.5);color:var(--text-soft)}.app-small.nudge .app-lock{animation:wiggle .52s var(--ease)}@keyframes wiggle{0%,to{transform:rotate(0)}20%{transform:rotate(-14deg)}45%{transform:rotate(11deg)}70%{transform:rotate(-6deg)}}.note{position:fixed;z-index:3;left:50%;bottom:max(24px,env(safe-area-inset-bottom));width:min(calc(100% - 32px),440px);padding:14px 18px;border-radius:18px;background:rgba(12,36,34,.94);border:1px solid var(--glass-edge);box-shadow:0 16px 40px -16px rgba(0,0,0,.7);font-size:.98rem;line-height:1.35;text-align:center;opacity:0;transform:translate(-50%,16px);transition:opacity .4s var(--ease-out),transform .5s var(--spring);pointer-events:none}.note.visible{opacity:1;transform:translate(-50%)}.placeholder-back{position:absolute;top:max(16px,env(safe-area-inset-top));left:16px}.onb{position:relative;z-index:1;height:100%;max-width:480px;margin:0 auto;display:flex;flex-direction:column;padding:max(16px,env(safe-area-inset-top)) 16px max(20px,env(safe-area-inset-bottom));overflow:hidden}.onb-header{display:flex;align-items:center;justify-content:space-between}.onb-header-spacer{width:44px}.icon-button.is-hidden{visibility:hidden}.onb-dots{display:flex;gap:8px;margin:0;padding:0;list-style:none}.onb-dots li{width:8px;height:8px;border-radius:999px;background:rgba(233,243,242,.22);transition:width .5s var(--spring),background-color .5s var(--ease)}.onb-dots li.done{background:rgba(159,211,207,.7)}.onb-dots li.current{width:26px;background:var(--aqua)}.onb-body{flex:1;display:flex;flex-direction:column;justify-content:center;gap:14px;padding:24px 4px}.onb-intro{margin:0 0 6px;color:var(--aqua);font-size:1rem}.onb-question{margin:0;font-size:clamp(1.6rem,7.2vw,2rem);font-weight:300;line-height:1.22;outline:none}.onb-help,.onb-message{margin:0;color:var(--text-soft);font-size:1.05rem;line-height:1.45}.onb-summary{margin:4px 0 0;padding:0;list-style:none;display:grid;gap:12px}.onb-summary li{position:relative;padding-left:26px;color:var(--text-soft);font-size:1.08rem;line-height:1.4}.onb-summary li:before{content:"";position:absolute;left:2px;top:.45em;width:10px;height:10px;border-radius:50%;background:var(--aqua);box-shadow:0 0 12px rgba(159,211,207,.7)}.onb-actions{display:grid;gap:12px}.rank{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:12px}.answer.rank-option{justify-content:flex-start;text-align:left;gap:14px;padding:14px 16px}.rank-badge{flex:none;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--glass-edge);color:var(--aqua);font-size:1rem;font-weight:500;transition:background .3s var(--ease),border-color .3s var(--ease)}.answer.rank-picked{border-color:rgba(159,211,207,.55);background:rgba(16,52,49,.78)}.rank-picked .rank-badge{background:rgba(159,211,207,.22);border-color:var(--aqua)}.rank-text{display:grid;gap:2px}.rank-main{font-size:1.08rem;font-weight:500}.rank-area{color:var(--text-soft);font-size:.92rem;font-weight:400}.rank-compact{margin-top:0;gap:8px}.rank-compact .rank-option{min-height:54px;padding:10px 14px;font-size:1rem}.rank-compact .rank-badge{width:28px;height:28px;font-size:.9rem}.onb-items{display:grid;gap:10px;margin-top:18px}.onb-question-small{font-size:clamp(1.5rem,6vw,1.8rem)!important}.onb-safety{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:10px}.onb-safety li{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;padding:12px 14px;border-radius:16px;border:1px solid var(--glass-edge);background:rgba(10,34,32,.5);font-size:.98rem;line-height:1.35}.onb-safety-answers{display:flex;gap:8px}.onb-safety-answers .pill{min-width:58px;padding:9px 12px}.onb-body.onb-scroll{justify-content:flex-start;overflow-y:auto;min-height:0;-webkit-overflow-scrolling:touch}.onb-actions .answer:disabled{opacity:.45;cursor:default}.onb-actions .link-button{justify-self:center}.session-missing-closed{display:grid;gap:4px;justify-items:start}.session-missing-closed .link-button{padding-left:0}.session-missing-hint{margin:2px 0 12px!important;color:var(--text-soft);font-size:.92rem;line-height:1.4}.session-missing .reward-chips{margin:0}.session-missing-summary{margin:10px 0 0!important;font-size:.95rem;font-weight:500}.session-missing-closed .session-missing-summary{margin:0!important}.session-missing-close{justify-self:start;padding-left:0;margin-top:6px}.pill-missing{background:#134a47;color:#fff;border-color:#134a47}.onb-privacy{margin:4px 0 0;text-align:center;color:var(--text-faint);font-size:.9rem}.answer{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:62px;padding:16px 20px;border-radius:22px;border:1px solid var(--glass-edge);background:rgba(10,34,32,.62);font-size:1.2rem;font-weight:500;cursor:pointer;transition:background-color .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease),transform .4s var(--spring)}.answer:active{transform:scale(.98)}.answer:focus-visible{outline:2px solid var(--aqua);outline-offset:3px}.answer.chosen-before{border-color:var(--aqua)}.answer.picked,.answer-primary{background:#eafaf7;color:#134a47;border-color:transparent}.answer.picked{animation:picked .32s var(--spring)}@keyframes picked{40%{scale:1.03}}.onb-forward{animation:onb-in-forward .52s var(--ease-out) both}.onb-back{animation:onb-in-back .52s var(--ease-out) both}.onb-actions.onb-forward,.onb-actions.onb-back{animation-delay:60ms}@keyframes onb-in-forward{0%{opacity:0;translate:28px 0}}@keyframes onb-in-back{0%{opacity:0;translate:-28px 0}}.exercise{position:relative;z-index:1;height:100%;max-width:480px;margin:0 auto;display:flex;flex-direction:column;gap:14px;padding:max(16px,env(safe-area-inset-top)) 16px max(20px,env(safe-area-inset-bottom));overflow-y:auto}.exercise-header{display:flex;align-items:center;justify-content:space-between}.chip{padding:6px 12px;border-radius:999px;font-size:.82rem;color:var(--text-soft);border:1px dashed rgba(233,243,242,.3)}.chip-browse{display:inline-flex;align-items:center;gap:4px;padding:2px 4px;border-style:dashed}.chip-browse button{width:32px;height:32px;border:0;border-radius:50%;background:none;font-size:1.3rem;line-height:1;cursor:pointer}.chip-browse button:active{background:rgba(233,243,242,.12)}.stop-signs{margin:0;padding:12px 14px;border-radius:16px;background:rgba(236,170,128,.12);border:1px solid rgba(236,170,128,.4);color:#f6d5bf;font-size:.95rem;line-height:1.4}.figure-card{flex:none;position:relative;aspect-ratio:1 / .92;border-radius:32px;overflow:hidden;display:grid;place-items:center;background:radial-gradient(70% 60% at 55% 45%,rgba(159,211,207,.16),rgba(159,211,207,0) 70%),rgba(8,28,26,.72);border:1px solid rgba(159,211,207,.2)}.figure{position:absolute;top:0;right:0;bottom:0;left:0}.figure>.figure-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:hidden}.figure-still{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 8px}.figure-still>.figure-svg{position:static;width:100%;height:100%}.figure-arrow{color:var(--text-faint);font-size:1.4rem}.figure-missing{color:var(--text-faint);padding:24px;text-align:center}.figure-svg path{stroke-linejoin:round}.fig-edge{fill:#0b2422;stroke:#0b2422;stroke-width:4.5}.fig-fill.fig-near{fill:#d9f1ed}.fig-fill.fig-far{fill:#8dbdb6}.fig-focus{fill:#8fe6d8;opacity:.9}.fig-focus.fig-focus-far{fill:#6cc4b6}.fig-prop-floor{stroke:none}.fig-prop-mat{fill:rgba(159,211,207,.1);stroke:rgba(159,211,207,.3);stroke-width:1.2}.fig-prop-panel{fill:rgba(159,211,207,.07);stroke:rgba(159,211,207,.45);stroke-width:2}.fig-prop-line{fill:none;stroke:rgba(159,211,207,.45);stroke-width:3;stroke-linecap:round}.fig-band{fill:none;stroke:#e4a9cf;stroke-width:3.5;stroke-linecap:round}.fig-prop-door{fill:rgba(159,211,207,.1);stroke:rgba(159,211,207,.5);stroke-width:2}.fig-prop-frame{fill:none;stroke:rgba(159,211,207,.4);stroke-width:3;stroke-linecap:round}.fig-prop-anchor{fill:#e4a9cf;stroke:#e4a9cf;stroke-width:1.5;stroke-linejoin:round}.exercise-text h1{margin:0;font-size:1.7rem;font-weight:300;line-height:1.15}.exercise-text p{margin:6px 0 0;line-height:1.45}.exercise-limit{color:var(--aqua);font-size:1.15rem;font-weight:500}.exercise-how{color:var(--text-soft);font-size:1.02rem}.exercise-tip{display:flex;gap:10px;align-items:flex-start;margin-top:12px!important;padding:10px 12px;border-radius:14px;background:rgba(159,211,207,.08);border:1px solid rgba(159,211,207,.18);color:var(--text-soft);font-size:.95rem;animation:tip-in .6s var(--ease-out) .7s both}.exercise-tip svg{flex:none;margin-top:2px;color:var(--aqua)}@keyframes tip-in{0%{opacity:0;translate:0 6px}}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.exercise-actions{margin-top:auto;display:grid;grid-template-columns:1fr 1.4fr;gap:12px}.answer-quiet{background:rgba(10,34,32,.62);font-size:1.05rem}.session{position:relative;z-index:1;height:100%;max-width:480px;margin:0 auto;display:flex;flex-direction:column;gap:12px;padding:max(16px,env(safe-area-inset-top)) 16px max(20px,env(safe-area-inset-bottom));overflow-y:auto}.session-header{display:flex;align-items:center;justify-content:space-between;flex:none}.session-content{flex:1;display:flex;flex-direction:column;min-height:0}.session-body{flex:1;display:flex;flex-direction:column;gap:14px}.session-start{gap:14px}.session-intro{margin-top:4px}.session-kicker{margin:0;color:var(--aqua);font-size:.95rem}.session-title{margin:4px 0 0;font-size:clamp(1.8rem,8vw,2.2rem);font-weight:250;line-height:1.15;outline:none}.session-title-small{font-size:1.45rem}.session-moves{margin:8px 0 0;color:var(--text-soft);font-size:1rem;line-height:1.5}.session-note{margin:4px 0 0;color:var(--text-soft);font-size:.98rem;line-height:1.45}.session-card{margin:0;padding:14px 16px;border-radius:18px;background:rgba(10,34,32,.66);border:1px solid var(--glass-edge);color:var(--text-soft);line-height:1.45}.session-card p{margin:0}.session-card-title{color:var(--text);font-weight:500;margin-bottom:4px!important}.session-guidance{background:rgba(159,211,207,.1);border-color:rgba(159,211,207,.4)}.session-card-info{background:rgba(159,211,207,.07)}.session-question p{color:var(--text)}.session-question-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.pop{animation:pop-in .65s var(--spring) .3s both}@keyframes pop-in{0%{opacity:0;scale:.94;translate:0 8px}}.pill{padding:10px 16px;border-radius:999px;border:1px solid transparent;background:#eafaf7;color:#134a47;font-weight:500;cursor:pointer;transition:transform .3s var(--spring)}.pill:active{transform:scale(.96)}.pill-quiet{background:rgba(233,243,242,.08);color:var(--text);border-color:var(--glass-edge)}.pill:focus-visible,.switch-row:focus-visible,.count-chip:focus-visible,.feel-option:focus-visible{outline:2px solid var(--aqua);outline-offset:3px}.switch-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-radius:18px;border:1px solid var(--glass-edge);background:rgba(10,34,32,.5);text-align:left;cursor:pointer}.switch-label{display:block;font-size:1.02rem}.switch-hint{display:block;margin-top:2px;font-size:.88rem;color:var(--text-faint)}.switch{position:relative;flex:none;width:50px;height:30px;border-radius:999px;background:rgba(233,243,242,.2);transition:background-color .25s var(--ease)}.switch:after{content:"";position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#eafaf7;transition:translate .35s var(--spring)}.switch-row[aria-checked=true] .switch{background:var(--teal)}.switch-row[aria-checked=true] .switch:after{translate:20px 0}.session-begin{margin-top:auto}.march-row{display:flex;align-items:center;gap:16px}.march-ring{flex:none;width:64px;height:64px;rotate:-90deg}.march-ring-track{fill:none;stroke:rgba(233,243,242,.14);stroke-width:5}.march-ring-fill{fill:none;stroke:var(--aqua);stroke-width:5;stroke-linecap:round}.session-skip{align-self:center;margin-top:auto}.breath{display:flex;align-items:center;gap:12px;margin-top:10px!important}.breath-circle{width:30px;height:30px;border-radius:50%;background:radial-gradient(circle,rgba(159,211,207,.9),rgba(159,211,207,.25));animation:breathe-guide 4s var(--ease) infinite}.breath-words{display:grid;color:var(--text-soft)}.breath-in,.breath-out{grid-area:1 / 1;animation:4s linear infinite}.breath-in{animation-name:words-in}.breath-out{animation-name:words-out}@keyframes breathe-guide{0%,to{scale:.6;opacity:.6}50%{scale:1;opacity:1}}@keyframes words-in{0%,45%{opacity:1}50%,95%{opacity:0}to{opacity:1}}@keyframes words-out{0%,45%{opacity:0}50%,95%{opacity:1}to{opacity:0}}.count-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.count-chip{aspect-ratio:1;border-radius:16px;border:1px solid var(--glass-edge);background:rgba(233,243,242,.08);font-size:1.2rem;cursor:pointer;transition:transform .25s var(--spring),background-color .2s}.count-chip:active{background:#eafaf7;color:#134a47;transform:scale(.94)}.session-finish{align-items:center;justify-content:center;text-align:center;gap:16px}.finish-check{width:96px;height:96px}.finish-check-ring{fill:rgba(159,211,207,.12);stroke:var(--aqua);stroke-width:3;stroke-dasharray:252;stroke-dashoffset:252;animation:draw .7s var(--ease-out) forwards}.finish-check-mark{fill:none;stroke:#eafaf7;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:60;stroke-dashoffset:60;animation:draw .45s var(--ease-out) .55s forwards}@keyframes draw{to{stroke-dashoffset:0}}.feel{width:100%;display:grid;gap:10px;text-align:left}.feel-question{margin:8px 0 2px;font-size:1.2rem;text-align:center}.feel .session-note{text-align:center;margin:-4px 0 4px}.feel-option{display:grid;gap:2px;padding:14px 18px;border-radius:20px;border:1px solid var(--glass-edge);background:rgba(10,34,32,.62);text-align:left;cursor:pointer;transition:transform .3s var(--spring),background-color .2s}.feel-option:active{transform:scale(.98);background:rgba(233,243,242,.14)}.feel-label{font-size:1.12rem;font-weight:500}.feel-hint{font-size:.92rem;color:var(--text-faint)}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:8;display:grid;align-items:end;background:rgba(4,17,15,.72);animation:fade-in .3s var(--ease-out) both}.sheet{width:min(100%,480px);max-height:100%;overflow-y:auto;margin:0 auto;padding:22px 18px max(20px,env(safe-area-inset-bottom));border-radius:28px 28px 0 0;background:#0b2624;border:1px solid var(--glass-edge);border-bottom:0;display:grid;gap:14px;animation:sheet-up .5s var(--spring) both}.sheet-kicker{margin:0;color:var(--aqua);font-size:.95rem}.sheet h2{margin:0;font-size:1.5rem;font-weight:300;line-height:1.2}.sheet p{margin:0;color:var(--text-soft);line-height:1.45}.setup-list{margin:0;padding-left:22px;display:grid;gap:10px;color:var(--text-soft);line-height:1.45}.setup-list li::marker{color:var(--aqua)}.setup-diagram{width:100%;height:auto;border-radius:18px;background:rgba(159,211,207,.06)}.setup-diagram-side{fill:var(--text-faint);font-size:12px;font-family:var(--font)}.setup-diagram-label{fill:var(--text-soft);font-size:12px;font-family:var(--font)}.setup-wall{fill:rgba(159,211,207,.18)}.setup-door{fill:rgba(159,211,207,.35);stroke:rgba(159,211,207,.7);stroke-width:1.5}.setup-hinge{fill:#0b2624;stroke:var(--aqua);stroke-width:2}.setup-swing,.setup-swing-arrow{fill:none;stroke:rgba(159,211,207,.6);stroke-width:1.5;stroke-dasharray:4 4}.setup-swing-arrow{stroke-dasharray:none;stroke-linecap:round;stroke-linejoin:round}.setup-anchor{fill:#e4a9cf}.setup-strap{stroke:#e4a9cf;stroke-width:3}.setup-loop{fill:none;stroke:#e4a9cf;stroke-width:3}.setup-band{fill:none;stroke:#e4a9cf;stroke-width:3;stroke-linecap:round}.setup-hand{fill:#d9f1ed}.setup-pointer{stroke:var(--text-faint);stroke-width:1}@keyframes fade-in{0%{opacity:0}}@keyframes sheet-up{0%{translate:0 40px;opacity:0}}.stairs{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1}.stairs:after{content:"";position:absolute;left:0;right:0;bottom:0;height:190px;background:linear-gradient(to top,rgba(4,17,15,.9) 30%,rgba(4,17,15,0));pointer-events:none;z-index:4}.stairs-header{position:absolute;top:0;left:0;right:0;z-index:5;display:flex;align-items:center;gap:14px;padding:max(16px,env(safe-area-inset-top)) 16px 48px;background:linear-gradient(to bottom,rgba(4,17,15,.92) 35%,rgba(4,17,15,0));pointer-events:none}.stairs-header>*{pointer-events:auto}.stairs-heading h1{margin:0;font-size:1.5rem;font-weight:300;line-height:1.1}.stairs-heading p{margin:3px 0 0;color:var(--text-soft);font-size:.95rem}.stairs-scroll{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none}.stairs-scroll::-webkit-scrollbar{display:none}.stairs-world{position:relative;max-width:480px;margin:0 auto}.step{--tread: #7cc2ba;--riser: #1d5652;--edge: transparent;position:absolute;width:128px;height:38px;padding:0;border:0;background:none;opacity:var(--fade, 1);transition:opacity .9s var(--ease-out)}.step>span{position:absolute}.step-tread{left:0;right:0;bottom:20px;height:34px;border-radius:10px;border:1px solid var(--edge);background-color:var(--tread);background-image:linear-gradient(to top,rgba(255,255,255,0),rgba(255,255,255,.28));transform:perspective(260px) rotateX(62deg);transform-origin:50% 100%;transition:background-color .9s var(--ease),border-color .9s var(--ease),box-shadow .9s var(--ease)}.step-riser{left:0;right:0;bottom:0;height:20px;display:grid;place-items:center;border-radius:0 0 10px 10px;border:1px solid var(--edge);border-top:0;background-color:var(--riser);background-image:linear-gradient(to bottom,rgba(255,255,255,.08),rgba(0,0,0,.18));box-shadow:0 18px 26px -14px rgba(0,0,0,.75);transition:background-color .9s var(--ease),border-color .9s var(--ease),box-shadow .9s var(--ease)}.step-number{position:static!important;font-size:.72rem;letter-spacing:.04em;color:rgba(233,243,242,.62);opacity:0;transition:opacity .7s var(--ease) .3s}.step-done .step-number{opacity:1}.step-today{--tread: #eafaf7;--riser: #5cb5ab;cursor:pointer}.step-today .step-tread{box-shadow:0 0 26px 8px rgba(170,240,230,.55)}.step-halo{left:50%;top:30%;width:240px;height:130px;translate:-50% -50%;border-radius:50%;background:radial-gradient(ellipse,rgba(170,240,230,.32),rgba(170,240,230,0) 68%);animation:breathe 4.5s var(--ease) infinite;pointer-events:none}.step-today:active .step-tread{background-color:#fff}.step-future{--tread: rgba(159, 211, 207, .06);--riser: rgba(159, 211, 207, .03);--edge: rgba(159, 211, 207, .5)}.step-future .step-riser{box-shadow:none}.step-milestone.step-done{--tread: #dcaad4;--riser: #5b3a5f}.step-marker{top:-2px;padding:4px 9px;border-radius:999px;white-space:nowrap;font-size:.78rem;color:#f3d6ee;background:rgba(220,170,212,.16);border:1px solid rgba(220,170,212,.45)}.step-marker-left{right:calc(100% + 10px)}.step-marker-right{left:calc(100% + 10px)}.step-just-done:after{content:"";position:absolute;left:50%;top:40%;width:128px;height:44px;border-radius:50%;border:2px solid rgba(190,240,232,.85);translate:-50% -50%;animation:ripple 1.3s var(--ease-out) forwards;pointer-events:none}@keyframes ripple{0%{scale:.6;opacity:1}to{scale:2.3;opacity:0}}.step-ground{position:absolute;width:240px;height:44px;border-radius:50%;background:radial-gradient(ellipse,rgba(120,200,190,.5),rgba(95,179,171,.12) 55%,rgba(95,179,171,0) 72%);box-shadow:inset 0 1px rgba(190,240,232,.25)}.stairs-start{position:absolute;z-index:6;left:50%;bottom:max(20px,env(safe-area-inset-bottom));width:min(calc(100% - 32px),448px);translate:-50% 0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 12px 12px 24px;border:0;border-radius:999px;background:rgba(236,250,247,.97);color:#134a47;text-align:left;box-shadow:0 16px 36px -14px rgba(0,0,0,.7),0 0 0 6px rgba(170,240,230,.12);cursor:pointer;animation:start-in .7s var(--spring) both;transition:transform .35s var(--spring)}.stairs-start:active{transform:scale(.97)}.stairs-start:focus-visible,.step-today:focus-visible{outline:2px solid var(--aqua);outline-offset:4px}.stairs-start-main{display:block;font-size:1.08rem;font-weight:600}.stairs-start-sub{display:block;margin-top:2px;font-size:.88rem;opacity:.7}.stairs-start-go{flex:none;width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:#1c5f5b;color:#eafaf7;transition:transform .35s var(--spring)}.stairs-start:active .stairs-start-go{transform:translate(3px)}@keyframes start-in{0%{opacity:0;translate:-50% 14px}}.demo-bar{position:fixed;z-index:6;left:50%;bottom:calc(max(20px,env(safe-area-inset-bottom)) + 88px);transform:translate(-50%);display:flex;align-items:center;gap:6px;padding:6px;border-radius:999px;background:rgba(12,36,34,.92);border:1px dashed rgba(233,243,242,.3);white-space:nowrap}.demo-tag{padding:0 6px 0 8px;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint)}.demo-bar button{border:0;border-radius:999px;padding:8px 12px;font-size:.85rem;background:rgba(233,243,242,.1);cursor:pointer}.demo-bar button:active{background:rgba(233,243,242,.22)}.stairs3d{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:#04110f}.stairs3d-canvas{display:block;width:100%;height:100%;touch-action:none}.stairs3d-caption,.stairs3d-hint{position:absolute;left:50%;translate:-50% 0;margin:0;pointer-events:none;text-align:center;opacity:0;transition:opacity .7s var(--ease-out)}.stairs3d-caption{top:38%;width:min(calc(100% - 48px),360px);font-size:clamp(1.5rem,7vw,2rem);font-weight:250;line-height:1.2;text-shadow:0 2px 18px rgba(0,0,0,.55)}.stairs3d-hint{bottom:calc(max(20px,env(safe-area-inset-bottom)) + 150px);font-size:.9rem;color:var(--text-soft)}.stairs3d-caption.visible,.stairs3d-hint.visible{opacity:1}.stairs-scroll[hidden]{display:none}.settings-volume{flex-wrap:wrap;gap:10px}.settings-choices{display:flex;flex-wrap:wrap;gap:8px}.welcome-lang{position:absolute;top:max(14px,env(safe-area-inset-top));left:16px;display:flex;gap:4px;z-index:2}.welcome-lang button{background:none;border:0;padding:8px;color:var(--text-soft);font:inherit;font-size:.9rem;opacity:.7}.welcome-lang button.is-current{color:var(--text);opacity:1;text-decoration:underline;text-underline-offset:4px}.settings-group h2.nourish-question{margin:8px 0 0;font-size:1.5rem;font-weight:300;line-height:1.25;text-transform:none;letter-spacing:0;color:var(--text)}.nourish-help{margin:0;color:var(--text-soft);font-size:.95rem}.nourish-options{display:grid;gap:10px}.nourish .answer-quiet{min-height:54px;padding:12px 18px;font-size:1.05rem}.recipe-list{display:grid;gap:10px}.recipe-card,.tool-card{width:100%;text-align:left;display:grid;gap:8px;padding:14px 16px;border-radius:18px;border:1px solid var(--glass-edge);background:rgba(10,34,32,.5);color:var(--text);font:inherit;cursor:pointer}.recipe-card:active,.tool-card:active{transform:scale(.99)}.recipe-card:focus-visible,.tool-card:focus-visible{outline:2px solid var(--aqua);outline-offset:3px}.recipe-card-pick{border-color:var(--aqua);background:rgba(20,60,56,.62)}.recipe-name{font-size:1.15rem;font-weight:500;line-height:1.3}.recipe-tags{display:flex;flex-wrap:wrap;gap:6px}.tag{padding:4px 10px;border-radius:999px;background:rgba(233,243,242,.08);border:1px solid var(--glass-edge);font-size:.82rem;color:var(--text-soft)}.tag-diet{color:var(--aqua)}.recipe-detail h1{margin:0;font-size:1.6rem;font-weight:300;line-height:1.2}.recipe-text ul,.recipe-text ol{margin:0;padding-left:22px;display:grid;gap:8px;line-height:1.45}.recipe-text p{margin:0;line-height:1.5}.toolkit a.answer{text-decoration:none}.after{width:100%;display:grid;gap:12px;text-align:left}.after-identity{margin:0;text-align:center;font-size:1.3rem;font-weight:300;line-height:1.3}.after-progress{font-size:1.05rem;color:var(--text)}.after-milestone{color:var(--text);font-size:1.05rem;background:rgba(228,169,207,.14);border-color:rgba(228,169,207,.45)}.light .session-card.after-milestone{background:#fbe8f2;border-color:rgba(207,111,168,.4);color:#6b2c52}.after-done{margin-top:6px}.reward-picker{display:grid;gap:10px}.reward-chips{display:flex;flex-wrap:wrap;gap:8px}.pill-picked{outline:2px solid var(--aqua);outline-offset:1px}.reward-own input{width:100%;padding:12px 14px;border-radius:14px;border:1px solid var(--glass-edge);background:rgba(233,243,242,.08);color:var(--text);font:inherit}.light .reward-own input{background:#fff}.pill:disabled{opacity:.45;cursor:default}.settings{position:relative;z-index:1;height:100%;max-width:480px;margin:0 auto;overflow-y:auto;display:grid;align-content:start;gap:18px;padding:max(16px,env(safe-area-inset-top)) 16px max(28px,env(safe-area-inset-bottom))}.settings-header{display:flex;align-items:center;justify-content:space-between}.settings-header h1{margin:0;font-size:1.4rem;font-weight:300}.settings-group{display:grid;gap:10px}.settings-group h2{margin:6px 0 0;font-size:.85rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint);font-weight:500}.settings-note{margin:0;color:var(--text-soft);font-size:.95rem;line-height:1.45}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px 12px 16px;border-radius:18px;border:1px solid var(--glass-edge);background:rgba(10,34,32,.5)}.settings-done{color:var(--aqua);font-size:.92rem}.settings-reward{display:grid;gap:10px}.switch-row:disabled{opacity:.45;cursor:default}.settings-danger{color:#f3c1a4}.settings-danger-strong{background:#b8563a!important;color:#fff!important}.settings-link{justify-self:start;padding-left:0}.settings-footer{margin:4px 0 0;text-align:center;color:var(--text-faint);font-size:.9rem}.swirl-light{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(120% 80% at 50% 0%,rgba(255,253,248,.88),rgba(245,242,234,.93) 70%);transition:opacity .7s var(--ease);pointer-events:none}.light{--text: #16312e;--text-soft: rgba(22, 49, 46, .76);--text-faint: rgba(22, 49, 46, .52);--aqua: #1f7a73;--glass-edge: rgba(22, 49, 46, .12);color:var(--text);color-scheme:light}.light .icon-button{background:rgba(255,255,255,.75);border-color:var(--glass-edge)}.light .onb-dots li{background:rgba(22,49,46,.14)}.light .onb-dots li.done{background:rgba(31,122,115,.45)}.light .onb-dots li.current{background:#1f7a73}.light .session-card{background:rgba(255,255,255,.72);border-color:rgba(22,49,46,.1);box-shadow:0 8px 24px -18px rgba(22,49,46,.5)}.light .session-guidance{background:rgba(214,238,234,.8);border-color:rgba(31,122,115,.3)}.light .session-card-info{background:rgba(255,255,255,.6)}.light .stop-signs{background:#fbe9dd;border-color:rgba(196,118,72,.45);color:#7a3c18}.light .pill{background:#1f6f6a;color:#fff}.light .pill-quiet{background:rgba(255,255,255,.8);color:var(--text);border-color:var(--glass-edge)}.light .switch-row{background:rgba(255,255,255,.7)}.light .switch{background:rgba(22,49,46,.16)}.light .switch:after{background:#fff;box-shadow:0 1px 3px rgba(22,49,46,.3)}.light .switch-row[aria-checked=true] .switch{background:#2f8f8a}.light .answer{background:rgba(255,255,255,.82);color:var(--text);border-color:var(--glass-edge)}.light .answer-primary{background:#1f6f6a;color:#fff;border-color:transparent}.light .answer-quiet{background:rgba(255,255,255,.82)}.light .link-button{color:#1f6f6a}.light .chip{color:var(--text-soft);border-color:rgba(22,49,46,.25)}.light .figure-card{background:radial-gradient(70% 60% at 55% 45%,rgba(47,143,138,.1),rgba(47,143,138,0) 70%),#eaf3f1;border-color:rgba(22,49,46,.08)}.light .fig-edge{fill:#1d4a46;stroke:#1d4a46}.light .fig-fill.fig-near{fill:#fff}.light .fig-fill.fig-far{fill:#bcd8d3}.light .fig-focus{fill:#7fdccb}.light .fig-focus.fig-focus-far{fill:#5cc2b1}.light .figure-svg stop:first-child{stop-color:rgba(31,111,106,.14)}.light .fig-prop-panel{fill:rgba(31,111,106,.06);stroke:rgba(31,111,106,.45)}.light .fig-prop-line,.light .fig-prop-frame{stroke:rgba(31,111,106,.45)}.light .fig-prop-mat{fill:rgba(31,111,106,.08);stroke:rgba(31,111,106,.3)}.light .fig-prop-door{fill:rgba(31,111,106,.08);stroke:rgba(31,111,106,.5)}.light .fig-band,.light .fig-prop-anchor{stroke:#cf6fa8}.light .fig-prop-anchor{fill:#cf6fa8}.light .exercise-limit{color:#1f6f6a}.light .exercise-tip{background:rgba(47,143,138,.08);border-color:rgba(47,143,138,.2)}.light .exercise-tip svg{color:#1f7a73}.light .breath-circle{background:radial-gradient(circle,rgba(47,143,138,.85),rgba(47,143,138,.2))}.light .march-ring-track{stroke:rgba(22,49,46,.12)}.light .march-ring-fill{stroke:#2f8f8a}.light .sheet-backdrop{background:rgba(22,49,46,.32)}.light .sheet{background:#fbfaf6;border-color:rgba(22,49,46,.1);box-shadow:0 -12px 40px -20px rgba(22,49,46,.5)}.light .count-chip{background:#fff;border-color:var(--glass-edge);color:var(--text)}.light .count-chip:active{background:#1f6f6a;color:#fff}.light .setup-diagram{background:#eef5f3}.light .setup-wall{fill:rgba(22,49,46,.14)}.light .setup-door{fill:rgba(47,143,138,.25);stroke:rgba(31,111,106,.7)}.light .setup-hinge{fill:#fbfaf6;stroke:#1f7a73}.light .setup-swing,.light .setup-swing-arrow{stroke:rgba(31,111,106,.6)}.light .setup-anchor{fill:#cf6fa8}.light .setup-strap,.light .setup-loop,.light .setup-band{stroke:#cf6fa8}.light .setup-hand{fill:#1d4a46}.light .finish-check-ring{fill:rgba(47,143,138,.1);stroke:#2f8f8a}.light .finish-check-mark{stroke:#1f6f6a}.light .feel-option{background:rgba(255,255,255,.82);border-color:var(--glass-edge)}.light .feel-option:active{background:#e3f1ee}.light .note{background:#16312e;color:#f3f7f6;border-color:transparent}@media (prefers-reduced-motion: reduce){*,*:before,*:after{transition-duration:1ms!important;transition-delay:0ms!important;animation-duration:1ms!important;animation-delay:0ms!important;animation-iteration-count:1!important}}
