/* SWACK v6 Blueprint Preview 6 */

/* ------------------------------------------------------------------
   Onboarding — one decision per screen
------------------------------------------------------------------- */
body.bp6-onboarding{overflow:hidden!important;overscroll-behavior:none;background:var(--bp-bg)!important}
body.bp6-onboarding .topbar{height:76px!important}
body.bp6-onboarding #app{padding:0 18px!important;max-width:none!important;min-height:calc(100dvh - 76px)!important}
body.bp6-onboarding #bottomNav{display:none!important}
.bp6-onboard-shell{width:min(100%,620px);height:calc(100dvh - 76px);margin:0 auto;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:0;padding:10px 0 calc(10px + env(safe-area-inset-bottom));position:relative}
.bp6-onboard-progress{display:grid;grid-template-columns:40px 1fr;gap:12px;align-items:center;padding:4px 2px 16px;color:var(--bp-muted);font:800 11px/1 Manrope}
.bp6-onboard-progress>div{height:5px;border-radius:99px;background:var(--bp-line);overflow:hidden}.bp6-onboard-progress i{height:100%;display:block;border-radius:inherit;background:linear-gradient(90deg,#6241FF,#8E5DFF);transition:width .28s cubic-bezier(.2,.8,.2,1)}
.bp6-onboard-stage{min-height:0;display:flex;flex-direction:column;justify-content:center;padding:6px 2px 10px;animation:bp6StepForward .24s cubic-bezier(.2,.8,.2,1)}
.bp6-onboard-shell.backward .bp6-onboard-stage{animation-name:bp6StepBack}
@keyframes bp6StepForward{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:translateX(0)}}
@keyframes bp6StepBack{from{opacity:0;transform:translateX(-24px)}to{opacity:1;transform:translateX(0)}}
.bp6-question{margin-bottom:22px}.bp6-kicker{font:800 11px/1 Manrope;letter-spacing:.15em;color:var(--bp-purple);margin-bottom:9px}.bp6-question h1,.bp6-ready h1{font:800 clamp(30px,8vw,43px)/1.02 Sora,Manrope,sans-serif;letter-spacing:-.055em;margin:0;color:var(--bp-ink)}.bp6-question p,.bp6-ready>p{font:500 16px/1.5 Manrope;color:var(--bp-muted);margin:12px 0 0;max-width:520px}
.bp6-big-input{width:100%;height:74px;border:0;border-bottom:2px solid var(--bp-line);background:transparent;color:var(--bp-ink);font:700 30px/1 Manrope;outline:0;border-radius:0;padding:8px 4px}.bp6-big-input:focus{border-color:var(--bp-purple)}
.bp6-number-wrap{display:grid;grid-template-columns:1fr auto;align-items:end;gap:8px;max-width:370px;margin:12px auto;width:100%}.bp6-number-wrap .bp6-big-input{text-align:center;font-size:50px}.bp6-number-wrap>span{font:700 18px Manrope;color:var(--bp-muted);padding-bottom:20px}
.bp6-choice-list{display:grid;gap:9px}.bp6-choice{width:100%;min-height:66px;border:1px solid var(--bp-line);background:var(--bp-card);color:var(--bp-ink);border-radius:18px;padding:12px 14px;display:grid;grid-template-columns:auto 1fr 28px;gap:12px;align-items:center;text-align:left;box-shadow:0 8px 26px rgba(31,24,49,.045);transition:transform .16s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease}.bp6-choice:active{transform:scale(.985)}.bp6-choice>span:not(.bp6-choice-icon){display:grid;gap:3px}.bp6-choice strong{font:750 16px/1.2 Sora}.bp6-choice small{font:500 12px/1.35 Manrope;color:var(--bp-muted)}.bp6-choice>b{color:var(--bp-purple);font-size:18px}.bp6-choice-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:color-mix(in srgb,var(--bp-purple) 8%,var(--bp-card));color:var(--bp-purple);font-size:18px}.bp6-choice.active{border-color:var(--bp-purple);background:color-mix(in srgb,var(--bp-purple) 8%,var(--bp-card));box-shadow:0 10px 28px rgba(106,76,255,.12)}
.bp6-focus-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.bp6-focus-grid .bp6-choice{grid-template-columns:1fr;min-height:170px;align-content:start}.bp6-focus-grid .bp6-choice>b{position:absolute}.bp6-focus-grid .bp6-choice-icon{width:48px;height:48px}.bp6-focus-grid .bp6-choice strong{font-size:19px}.bp6-helper,.bp6-safety-note{margin-top:14px;border-radius:15px;padding:12px 14px;background:var(--bp-card2);color:var(--bp-muted);font:500 13px/1.45 Manrope;border:1px solid var(--bp-line)}
.bp6-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.bp6-tile{min-height:72px;border:1px solid var(--bp-line);background:var(--bp-card);color:var(--bp-ink);border-radius:17px;padding:12px;display:flex;justify-content:space-between;align-items:center;text-align:left}.bp6-tile strong{font:700 15px Sora}.bp6-tile b{color:var(--bp-purple)}.bp6-tile.active{border-color:var(--bp-purple);background:color-mix(in srgb,var(--bp-purple) 8%,var(--bp-card))}
.bp6-target-toggle{width:100%;border:1px solid var(--bp-line);background:var(--bp-card);color:var(--bp-ink);border-radius:16px;padding:14px;font:700 14px Manrope;text-align:left}.bp6-target-toggle.active{border-color:var(--bp-purple);color:var(--bp-purple);background:color-mix(in srgb,var(--bp-purple) 8%,var(--bp-card))}.bp6-target-card{margin-top:12px;border:1px solid var(--bp-line);background:var(--bp-card);border-radius:20px;padding:18px}.bp6-target-card>div:first-child small{display:block;font:800 10px Manrope;letter-spacing:.12em;color:var(--bp-muted)}.bp6-target-card>div:first-child strong{display:block;font:800 35px Sora;margin-top:5px}.bp6-target-card input{width:100%;accent-color:var(--bp-purple);margin:20px 0 10px}.bp6-range-labels{display:flex;justify-content:space-between;color:var(--bp-muted);font-size:10px}
.bp6-points-left{align-self:flex-start;margin:-5px 0 12px;border-radius:999px;background:var(--bp-card2);border:1px solid var(--bp-line);padding:7px 10px;color:var(--bp-purple);font:750 12px Manrope}.bp6-points-left.done{color:#168873;background:color-mix(in srgb,var(--bp-mint) 10%,var(--bp-card))}.bp6-priority-list{display:grid;gap:9px}.bp6-priority{border:1px solid var(--bp-line);background:var(--bp-card);border-radius:18px;padding:14px;display:flex;justify-content:space-between;align-items:center}.bp6-priority>div:first-child{display:grid;gap:3px}.bp6-priority strong{font:750 17px Sora}.bp6-priority small{color:var(--bp-muted);font-size:11px}.bp6-priority>div:last-child{display:grid;grid-template-columns:40px 38px 40px;align-items:center}.bp6-priority button{height:40px;border:1px solid var(--bp-line);background:var(--bp-card2);color:var(--bp-purple);border-radius:12px;font-size:22px}.bp6-priority b{text-align:center;font:800 20px Sora}
.bp6-plan-length{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.bp6-plan-length button{min-height:76px;border:1px solid var(--bp-line);background:var(--bp-card);color:var(--bp-ink);border-radius:17px;display:grid;place-items:center;align-content:center;gap:2px}.bp6-plan-length button:last-child{grid-column:1/-1;min-height:62px}.bp6-plan-length strong{font:800 20px Sora}.bp6-plan-length small{font:600 11px Manrope;color:var(--bp-muted)}.bp6-plan-length button.active{border-color:var(--bp-purple);background:color-mix(in srgb,var(--bp-purple) 8%,var(--bp-card));color:var(--bp-purple)}
.bp6-day-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.bp6-day-grid button{height:82px;border:1px solid var(--bp-line);background:var(--bp-card);color:var(--bp-ink);border-radius:17px;display:grid;place-items:center;align-content:center}.bp6-day-grid strong{font:800 24px Sora}.bp6-day-grid small{font-size:9px;color:var(--bp-muted)}.bp6-day-grid button.active{border-color:var(--bp-purple);background:color-mix(in srgb,var(--bp-purple) 8%,var(--bp-card));color:var(--bp-purple)}
.bp6-place-list{display:grid;gap:8px}.bp6-place-card{border:1px solid var(--bp-line);background:var(--bp-card);border-radius:18px;overflow:hidden}.bp6-place-card.active{border-color:color-mix(in srgb,var(--bp-purple) 70%,var(--bp-line));background:color-mix(in srgb,var(--bp-purple) 6%,var(--bp-card))}.bp6-place-main{width:100%;border:0;background:transparent;color:var(--bp-ink);display:grid;grid-template-columns:42px 1fr 26px;gap:11px;align-items:center;text-align:left;padding:12px 14px}.bp6-place-main>span{width:40px;height:40px;border-radius:12px;background:var(--bp-card2);display:grid;place-items:center;color:var(--bp-purple)}.bp6-place-main>div{display:grid;gap:2px}.bp6-place-main strong{font:750 15px Sora}.bp6-place-main small{font:500 11px Manrope;color:var(--bp-muted)}.bp6-place-main>b{color:var(--bp-purple);font-size:18px}.bp6-configure{width:100%;border:0;border-top:1px solid var(--bp-line);background:transparent;color:var(--bp-purple);padding:9px 14px;text-align:right;font:750 11px Manrope}
.bp6-household{display:grid;gap:10px}.bp6-household>div{border:1px solid var(--bp-line);background:var(--bp-card);border-radius:18px;padding:16px;display:flex;align-items:center;justify-content:space-between}.bp6-household>div>span{font:750 17px Sora}.bp6-household>div>div{display:grid;grid-template-columns:42px 45px 42px;align-items:center}.bp6-household button{height:42px;border:1px solid var(--bp-line);background:var(--bp-card2);color:var(--bp-purple);border-radius:12px;font-size:22px}.bp6-household strong{text-align:center;font:800 21px Sora}
.bp6-example{display:grid;grid-template-columns:42px 1fr;gap:11px;align-items:center;border:1px solid var(--bp-line);background:var(--bp-card);border-radius:18px;padding:13px;margin-bottom:14px}.bp6-example>span{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--bp-purple) 10%,var(--bp-card));color:var(--bp-purple)}.bp6-example p{margin:0;color:var(--bp-muted);font:500 13px/1.4 Manrope}.bp6-textarea{display:grid;gap:7px}.bp6-textarea>span{font:700 12px Manrope;color:var(--bp-muted)}.bp6-textarea textarea{resize:none;border:1px solid var(--bp-line);background:var(--bp-card);color:var(--bp-ink);border-radius:17px;padding:14px;font:500 17px/1.45 Manrope;min-height:108px;outline:0}.bp6-textarea textarea:focus{border-color:var(--bp-purple);box-shadow:0 0 0 4px color-mix(in srgb,var(--bp-purple) 10%,transparent)}
.bp6-ready{text-align:center}.bp6-ready-mark{width:84px;height:84px;border-radius:26px;margin:0 auto 20px;background:color-mix(in srgb,var(--bp-purple) 9%,var(--bp-card));display:grid;place-items:center;box-shadow:0 18px 50px rgba(106,76,255,.14);animation:bp6ReadyPulse 1.8s ease-in-out infinite}.bp6-ready-mark img{width:56px;height:56px}.bp6-ready .bp6-kicker{margin-bottom:8px}.bp6-ready-grid{margin-top:24px;display:grid;grid-template-columns:1fr 1fr;gap:8px;text-align:left}.bp6-ready-grid>div{border:1px solid var(--bp-line);background:var(--bp-card);border-radius:16px;padding:12px}.bp6-ready-grid small{display:block;font:800 9px Manrope;letter-spacing:.1em;color:var(--bp-muted)}.bp6-ready-grid strong{display:block;font:700 13px/1.35 Sora;margin-top:4px}@keyframes bp6ReadyPulse{50%{transform:translateY(-4px);box-shadow:0 24px 60px rgba(106,76,255,.22)}}
.bp6-onboard-actions{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 0 2px}.bp6-back,.bp6-next{height:54px;border-radius:16px;font:800 14px Sora}.bp6-back{min-width:116px;border:1px solid var(--bp-line);background:var(--bp-card);color:var(--bp-ink);padding:0 15px}.bp6-next{margin-left:auto;min-width:150px;border:0;background:linear-gradient(100deg,#5E3FFF,#8C5CFF);color:#fff;padding:0 20px;box-shadow:0 12px 28px rgba(106,76,255,.2)}.bp6-next b{font-size:18px;margin-left:8px}.bp6-inline-error{margin-top:10px;border-radius:13px;padding:10px 12px;background:#FFF0F3;color:#B73450;font:650 12px/1.4 Manrope}

/* ------------------------------------------------------------------
   Brand-first welcome
------------------------------------------------------------------- */
body.bp6-auth-welcome-mode{overflow:hidden}.bp6-auth-welcome{min-height:100dvh;max-width:520px;margin:0 auto;padding:calc(28px + env(safe-area-inset-top)) 22px calc(24px + env(safe-area-inset-bottom));display:grid;grid-template-rows:1fr auto;position:relative;overflow:hidden;background:var(--bp-bg)}
.bp6-auth-ambient{position:absolute;inset:0;pointer-events:none;overflow:hidden}.bp6-auth-ambient i{position:absolute;border-radius:50%;filter:blur(1px);background:radial-gradient(circle,color-mix(in srgb,var(--bp-purple) 17%,transparent),transparent 68%);animation:bp6Ambient 7s ease-in-out infinite}.bp6-auth-ambient i:nth-child(1){width:330px;height:330px;left:-150px;top:18%}.bp6-auth-ambient i:nth-child(2){width:280px;height:280px;right:-120px;top:34%;animation-delay:-2s}.bp6-auth-ambient i:nth-child(3){width:210px;height:210px;left:25%;top:9%;animation-delay:-4s}@keyframes bp6Ambient{50%{transform:translate3d(16px,-18px,0) scale(1.08)}}
.bp6-auth-center{display:grid;place-items:center;z-index:1}.bp6-auth-mark{display:flex;align-items:center;gap:15px;animation:bp6AuthMark .65s cubic-bezier(.2,.8,.2,1)}.bp6-auth-mark img{width:62px;height:62px}.bp6-auth-mark strong{font:800 47px/1 Sora;letter-spacing:-.06em;color:var(--bp-ink)}@keyframes bp6AuthMark{from{opacity:0;transform:scale(.92) translateY(12px)}to{opacity:1;transform:none}}
.bp6-auth-actions{z-index:1;display:grid;gap:10px}.bp6-auth-primary,.bp6-auth-secondary{height:58px;border-radius:18px;font:800 16px Sora}.bp6-auth-primary{border:0;background:linear-gradient(100deg,#5E3FFF,#8C5CFF);color:#fff;box-shadow:0 14px 34px rgba(106,76,255,.22)}.bp6-auth-primary span{font-size:22px;margin-left:9px}.bp6-auth-secondary{border:1px solid var(--bp-line);background:color-mix(in srgb,var(--bp-card) 88%,transparent);color:var(--bp-ink);backdrop-filter:blur(16px)}.bp6-auth-lang{display:flex;justify-content:center;gap:7px;margin-top:9px}.bp6-auth-lang button{border:0;background:transparent;color:var(--bp-muted);font:800 11px Manrope;padding:8px}.bp6-auth-lang button.active{color:var(--bp-purple)}

/* ------------------------------------------------------------------
   Adaptive bottom navigation + main-page transitions
------------------------------------------------------------------- */
.bottom-nav{--bp6-active:0;left:50%!important;right:auto!important;transform:translateX(-50%)!important;width:min(calc(100vw - 28px),510px)!important;transition:width .2s cubic-bezier(.2,.8,.2,1),height .2s cubic-bezier(.2,.8,.2,1),border-radius .2s ease,box-shadow .2s ease!important;overflow:hidden!important}
.bottom-nav::before{content:"";position:absolute;z-index:0;left:7px;top:7px;bottom:7px;width:calc((100% - 14px)/4);border-radius:17px;background:color-mix(in srgb,var(--bp-purple) 12%,var(--bp-card));transform:translateX(calc(var(--bp6-active) * 100%));transition:transform .22s cubic-bezier(.2,.8,.2,1),border-radius .2s ease}
.bottom-nav button{position:relative;z-index:1;background:transparent!important}.bottom-nav button.active{background:transparent!important;color:var(--bp-purple)!important}.bottom-nav .profile-nav-proxy{display:none!important}
.bottom-nav.bp6-compact{width:236px!important;height:52px!important;border-radius:18px!important;padding:5px!important;box-shadow:0 10px 28px rgba(31,24,49,.14)!important}.bottom-nav.bp6-compact::before{left:5px;top:5px;bottom:5px;width:calc((100% - 10px)/4);border-radius:13px}.bottom-nav.bp6-compact button{border-radius:13px!important}.bottom-nav.bp6-compact button b{opacity:0;max-height:0;transform:translateY(4px);pointer-events:none}.bottom-nav button b{transition:opacity .14s ease,max-height .18s ease,transform .18s ease}.bottom-nav.bp6-compact button span{font-size:18px!important}.bottom-nav.bp6-compact button{display:grid!important;place-items:center!important;align-content:center!important}
body.bp6-page-moving #app>main,body.bp6-page-moving #app>section{animation:bp6PageForward .24s cubic-bezier(.2,.8,.2,1)}body.bp6-page-moving[data-bp6-nav-dir="backward"] #app>main,body.bp6-page-moving[data-bp6-nav-dir="backward"] #app>section{animation-name:bp6PageBack}@keyframes bp6PageForward{from{opacity:.35;transform:translateX(18px) scale(.992)}to{opacity:1;transform:none}}@keyframes bp6PageBack{from{opacity:.35;transform:translateX(-18px) scale(.992)}to{opacity:1;transform:none}}

/* ------------------------------------------------------------------
   Coach keyboard safety on iOS
------------------------------------------------------------------- */
.coach-modal-r14.bp6-coach-keyboard-safe{max-height:calc(100dvh - 8px)!important;height:min(760px,calc(100dvh - 8px))!important;padding-bottom:calc(8px + env(safe-area-inset-bottom))!important}.coach-modal-r14.bp6-coach-keyboard-safe .coach-head-r6{flex:0 0 auto!important}.coach-modal-r14.bp6-coach-keyboard-safe .coach-messages-r6{min-height:90px!important;max-height:none!important;flex:1 1 auto!important;overflow:auto!important}.coach-modal-r14.bp6-coach-keyboard-safe .coach-compose-r6{position:sticky!important;bottom:0!important;z-index:4;background:var(--bp-card)!important;padding:8px 0 4px!important}.coach-modal-r14.bp6-coach-keyboard-safe .coach-compose-r6 textarea,.coach-compose-r6 textarea,.v6-coach-compose textarea{font-size:17px!important;line-height:1.45!important}.coach-modal-r14.bp6-coach-keyboard-safe .coach-foot-r6{font-size:9px!important}
@media(max-height:650px){.coach-modal-r14.bp6-coach-keyboard-safe .coach-head-r6{transform:scale(.88);transform-origin:left top;margin-bottom:0!important}.coach-modal-r14.bp6-coach-keyboard-safe .coach-starters-r6,.coach-modal-r14.bp6-coach-keyboard-safe .coach-foot-r6{display:none!important}}

/* ------------------------------------------------------------------
   Today's training location / travel
------------------------------------------------------------------- */
.bp6-workout-location{margin:14px 0}.bp6-workout-location>label{display:block;font:750 12px Manrope;color:var(--bp-muted);margin-bottom:7px}.bp6-workout-location>div{display:flex;gap:7px;overflow-x:auto;padding-bottom:3px}.bp6-workout-location button{flex:0 0 auto;min-width:128px;border:1px solid var(--bp-line);background:var(--bp-card);color:var(--bp-ink);border-radius:14px;padding:9px 11px;text-align:left}.bp6-workout-location button strong{display:block;font:700 11px Sora}.bp6-workout-location button small{display:block;font:500 9px Manrope;color:var(--bp-muted);margin-top:2px}.bp6-workout-location button.active{border-color:var(--bp-purple);background:color-mix(in srgb,var(--bp-purple) 8%,var(--bp-card))}

/* Recipe detail polish */
.bp6-simple-recipe .bp6-meal-summary{font:650 16px/1.45 Manrope;color:var(--bp-ink);margin:8px 0 14px}.bp6-simple-recipe .detailed-recipe-steps li{font-size:15px!important;line-height:1.55!important}.bp6-simple-recipe>.muted{font-size:13px!important}
.bp6-profile-priorities{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:8px 0 14px}.bp6-profile-priorities>div{border:1px solid var(--bp-line);background:var(--bp-card2);border-radius:14px;padding:10px;text-align:center}.bp6-profile-priorities span{display:block;font-size:9px;color:var(--bp-muted)}.bp6-profile-priorities strong{display:block;font:800 20px Sora;margin-top:3px}

@media(max-width:390px){
  .bp6-question{margin-bottom:16px}.bp6-question h1,.bp6-ready h1{font-size:29px}.bp6-question p{font-size:14px}.bp6-choice{min-height:60px;padding:10px 12px}.bp6-choice strong{font-size:14px}.bp6-choice small{font-size:11px}.bp6-focus-grid .bp6-choice{min-height:145px}.bp6-big-input{height:65px;font-size:27px}.bp6-number-wrap .bp6-big-input{font-size:44px}.bp6-onboard-actions{padding-top:7px}.bp6-back,.bp6-next{height:50px}.bp6-plan-length button{min-height:66px}.bp6-place-main{padding:10px 12px}.bp6-household>div{padding:13px}
}
@media(max-height:720px){
  .bp6-question{margin-bottom:13px}.bp6-question h1,.bp6-ready h1{font-size:28px}.bp6-question p{font-size:13px;margin-top:7px}.bp6-choice-list{gap:6px}.bp6-choice{min-height:54px;padding:8px 11px}.bp6-choice small{font-size:10px}.bp6-focus-grid .bp6-choice{min-height:125px}.bp6-helper,.bp6-safety-note{padding:8px 10px;margin-top:8px;font-size:11px}.bp6-target-card{padding:13px}.bp6-target-card input{margin:12px 0 7px}.bp6-priority{padding:10px}.bp6-place-main{padding:8px 11px}.bp6-example{padding:9px;margin-bottom:8px}.bp6-textarea textarea{min-height:82px}.bp6-ready-mark{width:66px;height:66px;margin-bottom:12px}.bp6-ready-mark img{width:45px;height:45px}.bp6-ready-grid{margin-top:14px}
}
@media(prefers-reduced-motion:reduce){.bp6-onboard-stage,.bp6-ready-mark,.bp6-auth-ambient i,.bp6-auth-mark,body.bp6-page-moving #app>main,body.bp6-page-moving #app>section{animation:none!important}.bottom-nav,.bottom-nav::before{transition:none!important}}
body.bp6-onboarding .top-actions{visibility:hidden!important}
.bp6-focus-grid .bp6-choice{position:relative}
.bp6-focus-grid .bp6-choice>b{right:14px;top:14px}
.bp6-household-profile{margin:10px 0 7px}.bp6-household-profile>div{padding:12px 13px}.bp6-household-profile>div>span{font-size:14px}
