/* Balance Foundations onboarding: comeback campaign visual system */
#onboarding-wizard.onboarding-overlay {
    --wizard-ink: #090909;
    --wizard-night: #0c0d0e;
    --wizard-panel: #151515;
    --wizard-cream: #f7f0df;
    --wizard-paper: #fffaf0;
    --wizard-gold: #d7aa45;
    --wizard-gold-light: #f5d98a;
    --wizard-muted: #b9b09f;
    display: none;
    align-items: center;
    justify-content: center;
    padding: calc(10px + env(safe-area-inset-top, 0px)) 10px calc(10px + env(safe-area-inset-bottom, 0px));
    background:
        radial-gradient(circle at 14% 8%, rgba(215, 170, 69, 0.2), transparent 28%),
        radial-gradient(circle at 92% 92%, rgba(112, 128, 93, 0.17), transparent 34%),
        linear-gradient(145deg, #181716 0%, #090909 55%, #030303 100%) !important;
    color: var(--wizard-cream);
    isolation: isolate;
}

#onboarding-wizard.onboarding-overlay.active {
    display: flex !important;
    animation: comebackOverlayIn 440ms cubic-bezier(.2,.8,.2,1) both;
}

#onboarding-wizard::before,
#onboarding-wizard::after {
    content: '';
    position: fixed;
    pointer-events: none;
    z-index: -1;
}

#onboarding-wizard::before {
    inset: 0;
    opacity: 0.24;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140' viewBox='0 0 140 140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.18'/%3E%3C/svg%3E");
    mix-blend-mode: soft-light;
}

#onboarding-wizard::after {
    width: 280px;
    height: 280px;
    right: -120px;
    top: 8%;
    border: 1px solid rgba(215, 170, 69, 0.2);
    border-radius: 50%;
    box-shadow: 0 0 0 34px rgba(215, 170, 69, 0.025), 0 0 0 70px rgba(215, 170, 69, 0.018);
    animation: comebackOrbit 14s linear infinite;
}

#onboarding-wizard .wizard-particles {
    display: block !important;
    position: fixed;
    inset: 0;
    pointer-events: none;
    opacity: 0.58;
    background:
        radial-gradient(circle at 9% 72%, rgba(245,217,138,.85) 0 1px, transparent 2px),
        radial-gradient(circle at 82% 20%, rgba(245,217,138,.65) 0 1px, transparent 2px),
        radial-gradient(circle at 72% 84%, rgba(245,217,138,.55) 0 1px, transparent 2px),
        radial-gradient(circle at 32% 18%, rgba(245,217,138,.45) 0 1px, transparent 2px);
    animation: comebackDust 8s ease-in-out infinite alternate;
}

#onboarding-wizard .onboarding-modal.wizard-container,
html[data-pbb-theme="light"] #onboarding-wizard .onboarding-modal.wizard-container {
    width: min(520px, calc(100vw - 20px)) !important;
    height: min(92dvh, 780px) !important;
    max-width: 520px !important;
    max-height: calc(100dvh - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px) - 20px) !important;
    overflow: hidden !important;
    border: 1px solid rgba(245, 217, 138, 0.23) !important;
    border-radius: 28px !important;
    background:
        linear-gradient(180deg, rgba(30,29,27,.98), rgba(10,10,10,.99)),
        #101010 !important;
    color: var(--wizard-cream) !important;
    box-shadow: 0 34px 90px rgba(0,0,0,.6), inset 0 1px 0 rgba(255,255,255,.06) !important;
}

#onboarding-wizard .wizard-header,
#onboarding-wizard.wizard-chat-mode .wizard-header {
    display: block !important;
    min-height: 0 !important;
    padding: 20px 24px 10px !important;
    text-align: left !important;
    background: linear-gradient(180deg, rgba(15,15,15,.98), rgba(15,15,15,.78)) !important;
    border-bottom: 1px solid rgba(245,217,138,.1);
}

#onboarding-wizard .wizard-header > div[onclick] {
    top: 18px !important;
    right: 18px !important;
    width: 34px !important;
    height: 34px !important;
    line-height: 32px !important;
    border: 1px solid rgba(245,217,138,.22);
    background: rgba(255,255,255,.05) !important;
    color: rgba(247,240,223,.72) !important;
    z-index: 8;
}

#onboarding-wizard.wizard-trial-locked .wizard-header > div[onclick] {
    display: none !important;
}

.wizard-brand-lockup {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-right: 48px;
}

.wizard-brand-mark {
    position: relative;
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    overflow: hidden;
    border-radius: 50%;
    background: var(--wizard-gold-light);
    box-shadow: 0 7px 22px rgba(215,170,69,.22);
}

.wizard-brand-mark::after {
    content: '';
    position: absolute;
    inset: -40% -80%;
    background: linear-gradient(112deg, transparent 42%, rgba(255,255,255,.8) 50%, transparent 58%);
    transform: translateX(-45%);
    animation: comebackLogoSweep 4.4s ease-in-out infinite;
}

.wizard-brand-mark img {
    width: 31px;
    height: 31px;
    object-fit: contain;
}

.wizard-brand-copy {
    display: flex;
    flex-direction: column;
    line-height: 1;
}

.wizard-brand-copy strong {
    color: var(--wizard-cream) !important;
    -webkit-text-fill-color: var(--wizard-cream) !important;
    font: 900 .86rem/1 'Montserrat', sans-serif;
    letter-spacing: .16em;
}

.wizard-brand-copy small {
    margin-top: 5px;
    color: var(--wizard-gold-light) !important;
    -webkit-text-fill-color: var(--wizard-gold-light) !important;
    font: 800 .59rem/1 'Montserrat', sans-serif;
    letter-spacing: .24em;
}

#onboarding-wizard .wizard-progress {
    width: 100%;
    justify-content: flex-start !important;
    gap: 4px !important;
    margin: 16px 0 10px !important;
}

#onboarding-wizard .wizard-progress .dot {
    flex: 1 1 0;
    width: auto !important;
    height: 3px !important;
    border-radius: 99px !important;
    background: rgba(255,255,255,.11) !important;
}

#onboarding-wizard .wizard-progress .dot.active {
    background: linear-gradient(90deg, var(--wizard-gold), var(--wizard-gold-light)) !important;
    box-shadow: 0 0 12px rgba(215,170,69,.34);
}

#onboarding-wizard #wizard-title,
#onboarding-wizard.wizard-chat-mode #wizard-title {
    display: block !important;
    margin: 0 !important;
    max-width: 370px;
    color: var(--wizard-cream) !important;
    -webkit-text-fill-color: var(--wizard-cream) !important;
    font: 900 clamp(1.32rem, 5.2vw, 1.85rem)/.98 'Montserrat', sans-serif !important;
    letter-spacing: -.045em;
}

#onboarding-wizard[data-step="1"] #wizard-title {
    font-size: clamp(1.65rem, 6.5vw, 2.25rem) !important;
}

#onboarding-wizard .wizard-content,
#onboarding-wizard.wizard-chat-mode .wizard-content {
    padding: 16px 22px 18px !important;
    color: var(--wizard-cream) !important;
    background: transparent !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
}

#onboarding-wizard.wizard-chat-mode .wizard-content {
    padding-top: 8px !important;
}

#onboarding-wizard .wizard-slide {
    color: var(--wizard-cream) !important;
    transform: translateY(16px) scale(.99);
    transition: opacity 300ms ease, transform 360ms cubic-bezier(.16,1,.3,1);
}

#onboarding-wizard .wizard-slide.slide-active {
    transform: none;
    animation: comebackSlideIn 430ms cubic-bezier(.16,1,.3,1) both;
}

#onboarding-wizard .wizard-slide h3 {
    color: var(--wizard-cream) !important;
    -webkit-text-fill-color: var(--wizard-cream) !important;
    font: 900 clamp(1.45rem, 5.5vw, 2rem)/1.05 'Montserrat', sans-serif !important;
    letter-spacing: -.04em;
}

#onboarding-wizard .wizard-slide p,
#onboarding-wizard .wizard-slide label,
#onboarding-wizard .wizard-slide span,
#onboarding-wizard .wizard-slide div {
    -webkit-text-fill-color: currentColor;
}

#onboarding-wizard .wizard-slide > p {
    color: var(--wizard-muted) !important;
}

.wizard-chat-intake {
    gap: 14px !important;
    padding: 8px 0 4px !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.wizard-chat-progress-row {
    position: relative !important;
    padding: 0 0 4px !important;
    background: transparent !important;
    color: rgba(247,240,223,.58) !important;
    letter-spacing: .1em;
}

.wizard-chat-progress-track {
    height: 4px !important;
    background: rgba(255,255,255,.1) !important;
}

#wizard-chat-progress-fill {
    background: linear-gradient(90deg, var(--wizard-gold), var(--wizard-gold-light)) !important;
    box-shadow: 0 0 14px rgba(215,170,69,.3);
}

.wizard-chat-messages {
    max-height: clamp(100px, 27dvh, 215px) !important;
    padding: 8px 0 4px !important;
}

.wizard-chat-bubble {
    max-width: 94% !important;
    padding: 16px 17px !important;
    border-radius: 4px 18px 18px 18px !important;
    font-size: .96rem !important;
    line-height: 1.52 !important;
    animation: comebackBubbleIn 330ms cubic-bezier(.16,1,.3,1) both;
}

.wizard-chat-bubble.coach {
    color: #282117 !important;
    -webkit-text-fill-color: #282117 !important;
    border: 1px solid rgba(215,170,69,.42) !important;
    background:
        linear-gradient(135deg, rgba(255,250,240,.98), rgba(239,224,190,.96)) !important;
    box-shadow: 0 12px 30px rgba(0,0,0,.2);
}

.wizard-chat-bubble.user {
    align-self: flex-end;
    color: var(--wizard-cream) !important;
    -webkit-text-fill-color: var(--wizard-cream) !important;
    border: 1px solid rgba(245,217,138,.24) !important;
    border-radius: 18px 4px 18px 18px !important;
    background: rgba(255,255,255,.07) !important;
}

.wizard-chat-choices {
    gap: 9px !important;
    max-height: clamp(58px, 30dvh, 255px) !important;
    padding: 4px 5px 8px 0 !important;
}

.wizard-chat-choice {
    min-height: 44px;
    padding: 10px 14px !important;
    border: 1px solid rgba(245,217,138,.26) !important;
    border-radius: 12px !important;
    background: rgba(255,255,255,.045) !important;
    color: var(--wizard-cream) !important;
    -webkit-text-fill-color: var(--wizard-cream) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
    transition: transform 160ms ease, border-color 160ms ease, background 160ms ease;
    animation: comebackChoiceIn 360ms cubic-bezier(.16,1,.3,1) both;
}

.wizard-chat-choice:nth-child(2) { animation-delay: 45ms; }
.wizard-chat-choice:nth-child(3) { animation-delay: 90ms; }
.wizard-chat-choice:nth-child(4) { animation-delay: 135ms; }
.wizard-chat-choice:nth-child(5) { animation-delay: 180ms; }

.wizard-chat-choice:hover,
.wizard-chat-choice:focus-visible {
    transform: translateY(-2px);
    border-color: rgba(245,217,138,.7) !important;
}

.wizard-chat-choice.selected {
    color: var(--wizard-ink) !important;
    -webkit-text-fill-color: var(--wizard-ink) !important;
    border-color: transparent !important;
    background: linear-gradient(135deg, var(--wizard-gold-light), var(--wizard-gold)) !important;
    box-shadow: 0 10px 24px rgba(215,170,69,.2);
}

.wizard-chat-input-row input,
html[data-pbb-theme="light"] #onboarding-wizard .wizard-chat-input-row input {
    min-height: 50px;
    border: 1px solid rgba(245,217,138,.34) !important;
    border-radius: 13px !important;
    background: rgba(255,250,240,.98) !important;
    color: #17130e !important;
    -webkit-text-fill-color: #17130e !important;
    box-shadow: 0 10px 28px rgba(0,0,0,.18) !important;
}

.wizard-chat-input-row button {
    min-height: 50px;
    border-radius: 13px !important;
    background: linear-gradient(135deg, var(--wizard-gold-light), var(--wizard-gold)) !important;
    color: var(--wizard-ink) !important;
    -webkit-text-fill-color: var(--wizard-ink) !important;
}

#onboarding-wizard .wizard-input-group,
#onboarding-wizard .wizard-option,
html[data-pbb-theme="light"] #onboarding-wizard .wizard-input-group {
    border-color: rgba(245,217,138,.16) !important;
    background: rgba(255,255,255,.045) !important;
    color: var(--wizard-cream) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.025);
}

#onboarding-wizard .wizard-input,
#onboarding-wizard select,
#onboarding-wizard input[type="date"],
html[data-pbb-theme="light"] #onboarding-wizard .wizard-input,
html[data-pbb-theme="light"] #onboarding-wizard select {
    border-color: rgba(245,217,138,.25) !important;
    background: rgba(255,250,240,.97) !important;
    color: #17130e !important;
    -webkit-text-fill-color: #17130e !important;
    caret-color: #17130e;
    color-scheme: light;
}

#onboarding-wizard .wizard-input::placeholder,
#onboarding-wizard .wizard-chat-input-row input::placeholder,
#onboarding-wizard textarea.wizard-input::placeholder {
    color: #716858 !important;
    -webkit-text-fill-color: #716858 !important;
    opacity: 1;
}

#onboarding-wizard .wizard-input:focus-visible,
#onboarding-wizard .wizard-chat-input-row input:focus-visible,
#onboarding-wizard select:focus-visible {
    border-color: var(--wizard-gold-light) !important;
    outline: 2px solid rgba(245,217,138,.32);
    outline-offset: 2px;
}

#onboarding-wizard input.wizard-input:-webkit-autofill,
#onboarding-wizard input.wizard-input:-webkit-autofill:hover,
#onboarding-wizard input.wizard-input:-webkit-autofill:focus,
#onboarding-wizard .wizard-chat-input-row input:-webkit-autofill {
    -webkit-text-fill-color: #17130e !important;
    caret-color: #17130e;
    -webkit-box-shadow: 0 0 0 1000px #fffaf0 inset !important;
}

#onboarding-wizard label[style*="background:white"],
#onboarding-wizard button[style*="background:#fff"],
#onboarding-wizard button[style*="background:white"] {
    border-color: rgba(245,217,138,.2) !important;
    background: rgba(255,255,255,.055) !important;
    color: var(--wizard-cream) !important;
    -webkit-text-fill-color: var(--wizard-cream) !important;
}

#onboarding-wizard .freq-btn.selected,
#onboarding-wizard .day-btn.selected,
#onboarding-wizard .split-btn.selected,
#onboarding-wizard .starter-minutes-btn.selected {
    border-color: var(--wizard-gold-light) !important;
    background: linear-gradient(135deg, var(--wizard-gold-light), var(--wizard-gold)) !important;
    color: var(--wizard-ink) !important;
    -webkit-text-fill-color: var(--wizard-ink) !important;
}

#onboarding-wizard #wizard-starter-routine-summary,
#onboarding-wizard #freq-tip,
#onboarding-wizard #wizard-calendar-preview,
#onboarding-wizard #wizard-exercise-pref-summary {
    border-color: rgba(245,217,138,.3) !important;
    background: linear-gradient(145deg, rgba(245,217,138,.13), rgba(255,255,255,.04)) !important;
    color: var(--wizard-cream) !important;
    -webkit-text-fill-color: var(--wizard-cream) !important;
    box-shadow: 0 15px 34px rgba(0,0,0,.18) !important;
}

/* These are rendered after startup. Keep their text readable even while
   dashboard-style-2.css is deferred on iOS. */
#onboarding-wizard #wizard-calendar-preview .wizard-calendar-day,
#onboarding-wizard #wizard-calendar-preview .wizard-calendar-edit-icon {
    color: var(--wizard-gold-light) !important;
    -webkit-text-fill-color: var(--wizard-gold-light) !important;
}

#onboarding-wizard #wizard-calendar-preview .wizard-calendar-workout-name {
    color: var(--wizard-cream) !important;
    -webkit-text-fill-color: var(--wizard-cream) !important;
}

#onboarding-wizard #wizard-calendar-preview .wizard-calendar-workout-desc {
    color: rgba(247,240,223,.7) !important;
    -webkit-text-fill-color: rgba(247,240,223,.7) !important;
}

#onboarding-wizard .wizard-footer {
    gap: 12px;
    padding: 14px 22px calc(18px + env(safe-area-inset-bottom, 0px)) !important;
    border-top: 1px solid rgba(245,217,138,.1) !important;
    background: rgba(8,8,8,.94) !important;
}

#onboarding-wizard.wizard-chat-mode .wizard-footer {
    display: none !important;
}

#onboarding-wizard #wizard-next {
    min-height: 50px;
    padding: 13px 25px !important;
    border-radius: 12px !important;
    background: linear-gradient(135deg, var(--wizard-gold-light), var(--wizard-gold)) !important;
    color: var(--wizard-ink) !important;
    -webkit-text-fill-color: var(--wizard-ink) !important;
    font: 900 .86rem/1 'Montserrat', sans-serif !important;
    letter-spacing: .08em;
    box-shadow: 0 12px 28px rgba(215,170,69,.18) !important;
}

#onboarding-wizard #wizard-back {
    color: rgba(247,240,223,.65) !important;
    -webkit-text-fill-color: rgba(247,240,223,.65) !important;
}

.wizard-slide-number,
.wizard-result-kicker {
    width: max-content;
    margin: 0 auto 14px;
    color: var(--wizard-gold-light) !important;
    -webkit-text-fill-color: var(--wizard-gold-light) !important;
    font: 900 .67rem/1 'Montserrat', sans-serif;
    letter-spacing: .18em;
}

.wizard-result-mark {
    position: relative;
    display: grid;
    place-items: center;
    width: 82px;
    height: 82px;
    margin: 4px auto 18px;
    overflow: hidden;
    border-radius: 50%;
    background: var(--wizard-gold-light);
    box-shadow: 0 0 0 8px rgba(245,217,138,.07), 0 20px 50px rgba(215,170,69,.24);
    animation: comebackResultPulse 2.6s ease-in-out infinite;
}

.wizard-result-mark img {
    width: 60px;
    height: 60px;
}

#onboarding-wizard #slide-19 h3 {
    margin: 0 0 10px !important;
    text-align: center;
}

.wizard-result-summary {
    margin: 0 auto 18px !important;
    max-width: 390px;
    text-align: center;
    color: var(--wizard-muted) !important;
    line-height: 1.5;
}

.wizard-result-summary strong {
    color: var(--wizard-cream) !important;
    -webkit-text-fill-color: var(--wizard-cream) !important;
}

.wizard-assigned-goals {
    display: grid;
    gap: 9px;
    margin-bottom: 16px;
}

.wizard-assigned-goal {
    display: grid;
    grid-template-columns: 40px 1fr;
    align-items: center;
    gap: 12px;
    min-height: 58px;
    padding: 10px 14px;
    border: 1px solid rgba(245,217,138,.2);
    border-radius: 14px;
    background: linear-gradient(100deg, rgba(245,217,138,.1), rgba(255,255,255,.035));
    color: var(--wizard-cream) !important;
    -webkit-text-fill-color: var(--wizard-cream) !important;
    font-weight: 760;
    animation: comebackGoalIn 430ms calc(var(--goal-delay, 0ms) + 100ms) cubic-bezier(.16,1,.3,1) both;
}

.wizard-assigned-goal-number {
    color: var(--wizard-gold-light) !important;
    -webkit-text-fill-color: var(--wizard-gold-light) !important;
    font: 900 .75rem/1 'Montserrat', sans-serif;
    letter-spacing: .1em;
}

.wizard-coach-note {
    padding: 14px 15px;
    border-left: 3px solid var(--wizard-gold);
    border-radius: 4px 12px 12px 4px;
    background: rgba(255,255,255,.045);
    color: var(--wizard-muted) !important;
    -webkit-text-fill-color: var(--wizard-muted) !important;
    font-size: .84rem;
    line-height: 1.48;
}

.wizard-coach-note span {
    display: block;
    margin-bottom: 5px;
    color: var(--wizard-gold-light) !important;
    -webkit-text-fill-color: var(--wizard-gold-light) !important;
    font: 900 .62rem/1 'Montserrat', sans-serif;
    letter-spacing: .15em;
}

.wizard-edit-note {
    margin: 13px 8px 0 !important;
    text-align: center;
    color: rgba(247,240,223,.54) !important;
    -webkit-text-fill-color: rgba(247,240,223,.54) !important;
    font-size: .75rem;
    line-height: 1.42;
}

.wizard-comeback-hero-copy {
    display: none;
}

/* Editorial opening card: cream, gold and the Balance harmony mark. */
#onboarding-wizard.wizard-chat-intro.onboarding-overlay {
    background:
        radial-gradient(circle at -8% 22%, transparent 0 112px, rgba(184,137,43,.15) 113px 114px, transparent 115px),
        radial-gradient(circle at 108% 82%, transparent 0 148px, rgba(184,137,43,.12) 149px 150px, transparent 151px),
        linear-gradient(154deg, #fbfaf7 0 58%, #f1e9da 58% 78%, #f8f5ee 78% 100%) !important;
    color: #1a202c !important;
}

#onboarding-wizard.wizard-chat-intro::before {
    inset: 0;
    opacity: 1;
    background:
        radial-gradient(circle at 86% 16%, rgba(154,105,25,.38) 0 1px, transparent 1.5px) 0 0 / 18px 18px,
        linear-gradient(112deg, transparent 0 67%, rgba(255,255,255,.56) 67% 100%);
    mix-blend-mode: normal;
}

#onboarding-wizard.wizard-chat-intro::after {
    width: 240px;
    height: 240px;
    right: -132px;
    top: auto;
    bottom: 4%;
    border-color: rgba(154,105,25,.13);
    box-shadow: 0 0 0 42px rgba(184,137,43,.025), 0 0 0 84px rgba(184,137,43,.018);
    animation: comebackIntroRing 9s ease-in-out infinite alternate;
}

#onboarding-wizard.wizard-chat-intro .wizard-particles {
    opacity: .3;
    background:
        radial-gradient(circle at 13% 72%, rgba(154,105,25,.7) 0 1px, transparent 2px),
        radial-gradient(circle at 88% 23%, rgba(154,105,25,.58) 0 1px, transparent 2px),
        radial-gradient(circle at 74% 88%, rgba(154,105,25,.45) 0 1px, transparent 2px);
}

#onboarding-wizard.wizard-chat-intro .onboarding-modal.wizard-container,
html[data-pbb-theme="light"] #onboarding-wizard.wizard-chat-intro .onboarding-modal.wizard-container {
    border-color: rgba(154,105,25,.2) !important;
    background:
        radial-gradient(circle at -18% 38%, transparent 0 122px, rgba(154,105,25,.1) 123px 124px, transparent 125px),
        linear-gradient(152deg, rgba(255,255,255,.98) 0 61%, rgba(242,234,218,.98) 61% 79%, rgba(250,248,243,.99) 79% 100%) !important;
    color: #1a202c !important;
    box-shadow: 0 32px 88px rgba(47,38,22,.2), inset 0 1px 0 #fff !important;
}

#onboarding-wizard.wizard-chat-intro .wizard-header,
#onboarding-wizard.wizard-chat-intro.wizard-chat-mode .wizard-header {
    padding: clamp(34px, 7dvh, 58px) 24px 8px !important;
    text-align: center !important;
    background: transparent !important;
    border-bottom: 0 !important;
}

#onboarding-wizard.wizard-chat-intro .wizard-header > div[onclick] {
    border-color: rgba(26,32,44,.13) !important;
    background: rgba(255,255,255,.7) !important;
    color: #596273 !important;
    -webkit-text-fill-color: #596273 !important;
}

#onboarding-wizard.wizard-chat-intro .wizard-brand-lockup {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 18px;
    margin: 0 auto !important;
}

#onboarding-wizard.wizard-chat-intro .wizard-brand-mark {
    width: 112px;
    height: 112px;
    overflow: visible;
    border: 1px solid rgba(154,105,25,.78);
    background: #fff;
    box-shadow: 0 0 0 4px #fff, 0 0 0 6px rgba(154,105,25,.45), 0 18px 42px rgba(67,50,21,.15);
    animation: comebackMarkBreathe 5.4s ease-in-out infinite;
}

#onboarding-wizard.wizard-chat-intro .wizard-brand-mark::before {
    content: '';
    position: absolute;
    inset: -13px;
    border: 1px solid rgba(154,105,25,.3);
    border-radius: 50%;
}

#onboarding-wizard.wizard-chat-intro .wizard-brand-mark::after {
    inset: -13px;
    border-radius: 50%;
    background: conic-gradient(from 0deg, transparent 0 73%, rgba(184,137,43,.94) 82%, transparent 91% 100%);
    animation: comebackMarkOrbit 6.8s linear infinite;
    -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 3px), #000 calc(100% - 2px));
    mask: radial-gradient(farthest-side, transparent calc(100% - 3px), #000 calc(100% - 2px));
}

#onboarding-wizard.wizard-chat-intro .wizard-brand-mark img {
    width: 94px;
    height: 94px;
    border-radius: 50%;
}

#onboarding-wizard.wizard-chat-intro .wizard-brand-copy {
    position: relative;
    align-items: center;
    min-width: 164px;
}

#onboarding-wizard.wizard-chat-intro .wizard-brand-copy::before,
#onboarding-wizard.wizard-chat-intro .wizard-brand-copy::after {
    content: '';
    position: absolute;
    top: 6px;
    width: 34px;
    height: 1px;
    background: rgba(154,105,25,.62);
}

#onboarding-wizard.wizard-chat-intro .wizard-brand-copy::before { left: -4px; }
#onboarding-wizard.wizard-chat-intro .wizard-brand-copy::after { right: -4px; }

#onboarding-wizard.wizard-chat-intro .wizard-brand-copy strong {
    color: #8b5e17 !important;
    -webkit-text-fill-color: #8b5e17 !important;
    font-size: .7rem;
    letter-spacing: .25em;
}

#onboarding-wizard.wizard-chat-intro .wizard-brand-copy small {
    margin-top: 7px;
    color: #596273 !important;
    -webkit-text-fill-color: #596273 !important;
    font-size: .52rem;
    letter-spacing: .3em;
}

#onboarding-wizard.wizard-chat-intro .wizard-progress,
#onboarding-wizard.wizard-chat-intro #wizard-title,
#onboarding-wizard.wizard-chat-intro .wizard-chat-progress-row {
    display: none !important;
}

#onboarding-wizard.wizard-chat-intro .wizard-content,
#onboarding-wizard.wizard-chat-intro.wizard-chat-mode .wizard-content {
    display: flex;
    align-items: center;
    padding: 8px 34px 34px !important;
    color: #1a202c !important;
    overflow-y: auto !important;
}

#onboarding-wizard.wizard-chat-intro .wizard-slide,
#onboarding-wizard.wizard-chat-intro .wizard-chat-intake {
    width: 100%;
    color: #1a202c !important;
}

#onboarding-wizard.wizard-chat-intro .wizard-chat-intake {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: clamp(14px, 2.8dvh, 24px) !important;
    text-align: center;
}

#onboarding-wizard.wizard-chat-intro .wizard-chat-messages {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    max-height: none !important;
    overflow: visible !important;
    padding: 8px 0 0 !important;
}

#onboarding-wizard.wizard-chat-intro .wizard-chat-bubble.coach {
    width: 100%;
    max-width: 100% !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    text-align: center;
}

#onboarding-wizard.wizard-chat-intro .wizard-chat-bubble.coach:first-child {
    color: #8b5e17 !important;
    -webkit-text-fill-color: #8b5e17 !important;
    font: 800 .82rem/1.2 'Montserrat', sans-serif !important;
    letter-spacing: .14em;
}

#onboarding-wizard.wizard-chat-intro .wizard-chat-bubble.coach:last-child {
    max-width: 390px !important;
    color: #191224 !important;
    -webkit-text-fill-color: #191224 !important;
    font: 900 clamp(2.8rem, 11vw, 4.15rem)/.9 'Montserrat', sans-serif !important;
    letter-spacing: -.065em;
    text-transform: uppercase;
}

#onboarding-wizard.wizard-chat-intro .wizard-comeback-hero-copy {
    display: block;
    max-width: 340px;
    margin: -2px auto 0;
    color: #596273 !important;
    -webkit-text-fill-color: #596273 !important;
    font-size: .92rem;
    line-height: 1.55;
}

#onboarding-wizard.wizard-chat-intro .wizard-chat-choices {
    width: min(100%, 330px);
    margin: 0 auto;
    padding: 0 !important;
    overflow: visible !important;
}

#onboarding-wizard.wizard-chat-intro .wizard-chat-choice,
#onboarding-wizard.wizard-chat-intro .wizard-chat-choice.selected {
    min-height: 54px;
    border: 1px solid #1a202c !important;
    border-radius: 4px !important;
    background: #1a202c !important;
    color: #fffaf0 !important;
    -webkit-text-fill-color: #fffaf0 !important;
    box-shadow: 0 14px 30px rgba(26,32,44,.18), inset 0 0 0 1px rgba(216,178,94,.28);
    font: 900 .8rem/1 'Montserrat', sans-serif;
    letter-spacing: .12em;
}

#onboarding-wizard.wizard-chat-intro .wizard-chat-helper {
    color: #596273 !important;
    -webkit-text-fill-color: #596273 !important;
}

@keyframes comebackOverlayIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes comebackSlideIn {
    from { opacity: 0; transform: translateY(18px) scale(.985); }
    to { opacity: 1; transform: none; }
}

@keyframes comebackBubbleIn {
    from { opacity: 0; transform: translateY(12px) scale(.98); }
    to { opacity: 1; transform: none; }
}

@keyframes comebackChoiceIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: none; }
}

@keyframes comebackGoalIn {
    from { opacity: 0; transform: translateX(-15px); }
    to { opacity: 1; transform: none; }
}

@keyframes comebackLogoSweep {
    0%, 58% { transform: translateX(-55%); opacity: 0; }
    66% { opacity: 1; }
    82%, 100% { transform: translateX(55%); opacity: 0; }
}

@keyframes comebackMarkBreathe {
    0%, 100% { transform: translateY(0) scale(1); }
    50% { transform: translateY(-3px) scale(1.018); }
}

@keyframes comebackMarkOrbit {
    to { transform: rotate(360deg); }
}

@keyframes comebackIntroRing {
    from { transform: translate3d(0, 5px, 0) scale(.98); opacity: .65; }
    to { transform: translate3d(-9px, -7px, 0) scale(1.04); opacity: 1; }
}

@keyframes comebackResultPulse {
    0%, 100% { transform: scale(1); box-shadow: 0 0 0 8px rgba(245,217,138,.07), 0 20px 50px rgba(215,170,69,.24); }
    50% { transform: scale(1.035); box-shadow: 0 0 0 12px rgba(245,217,138,.035), 0 24px 58px rgba(215,170,69,.3); }
}

@keyframes comebackOrbit {
    to { transform: rotate(360deg); }
}

@keyframes comebackDust {
    from { transform: translate3d(0, -5px, 0); opacity: .42; }
    to { transform: translate3d(0, 8px, 0); opacity: .7; }
}

@media (max-width: 560px) {
    #onboarding-wizard.onboarding-overlay {
        padding: env(safe-area-inset-top, 0px) 0 env(safe-area-inset-bottom, 0px);
    }

    #onboarding-wizard .onboarding-modal.wizard-container,
    #onboarding-wizard.wizard-chat-mode .onboarding-modal.wizard-container,
    html[data-pbb-theme="light"] #onboarding-wizard .onboarding-modal.wizard-container {
        width: 100vw !important;
        height: 100dvh !important;
        max-width: none !important;
        max-height: 100dvh !important;
        border: 0 !important;
        border-radius: 0 !important;
    }

    #onboarding-wizard .wizard-header,
    #onboarding-wizard.wizard-chat-mode .wizard-header {
        padding: calc(14px + env(safe-area-inset-top, 0px)) 18px 9px !important;
    }

    #onboarding-wizard .wizard-content,
    #onboarding-wizard.wizard-chat-mode .wizard-content {
        padding: 12px 18px 15px !important;
    }

    #onboarding-wizard.wizard-chat-keyboard .wizard-header {
        padding-top: 8px !important;
    }

    #onboarding-wizard.wizard-chat-keyboard .wizard-brand-mark {
        width: 34px;
        height: 34px;
    }

    #onboarding-wizard.wizard-chat-keyboard #wizard-title,
    #onboarding-wizard.wizard-chat-keyboard .wizard-progress {
        display: none !important;
    }

    #onboarding-wizard.wizard-chat-keyboard .wizard-content {
        padding: 6px 14px 8px !important;
    }
}

@media (max-height: 700px) {
    #onboarding-wizard .wizard-header,
    #onboarding-wizard.wizard-chat-mode .wizard-header {
        padding-top: calc(10px + env(safe-area-inset-top, 0px)) !important;
    }

    #onboarding-wizard .wizard-brand-mark {
        width: 34px;
        height: 34px;
    }

    #onboarding-wizard .wizard-brand-mark img {
        width: 25px;
        height: 25px;
    }

    #onboarding-wizard .wizard-progress { margin: 10px 0 7px !important; }
    #onboarding-wizard .wizard-content { padding-top: 8px !important; }
    .wizard-chat-bubble { padding: 12px 14px !important; }

    #onboarding-wizard.wizard-chat-intro .wizard-header,
    #onboarding-wizard.wizard-chat-intro.wizard-chat-mode .wizard-header {
        padding-top: calc(20px + env(safe-area-inset-top, 0px)) !important;
    }

    #onboarding-wizard.wizard-chat-intro .wizard-brand-mark {
        width: 82px;
        height: 82px;
    }

    #onboarding-wizard.wizard-chat-intro .wizard-brand-mark img {
        width: 70px;
        height: 70px;
    }

    #onboarding-wizard.wizard-chat-intro .wizard-brand-lockup { gap: 12px; }
    #onboarding-wizard.wizard-chat-intro .wizard-content { padding-bottom: 18px !important; }
    #onboarding-wizard.wizard-chat-intro .wizard-chat-bubble.coach:last-child { font-size: clamp(2.25rem, 9.5vw, 3.2rem) !important; }
}

@media (prefers-reduced-motion: reduce) {
    #onboarding-wizard *,
    #onboarding-wizard::before,
    #onboarding-wizard::after {
        animation-duration: 1ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 1ms !important;
    }
}

/* Carry the cream-and-gold editorial opening through the complete setup flow. */
#onboarding-wizard.onboarding-overlay {
    --wizard-ink: #1a202c;
    --wizard-night: #1a202c;
    --wizard-panel: #fffdf8;
    --wizard-cream: #fbfaf7;
    --wizard-paper: #fffdf8;
    --wizard-gold: #b8892b;
    --wizard-gold-light: #d8b25e;
    --wizard-muted: #596273;
    background:
        radial-gradient(circle at -8% 22%, transparent 0 112px, rgba(184,137,43,.15) 113px 114px, transparent 115px),
        radial-gradient(circle at 108% 82%, transparent 0 148px, rgba(184,137,43,.12) 149px 150px, transparent 151px),
        linear-gradient(154deg, #fbfaf7 0 58%, #f1e9da 58% 78%, #f8f5ee 78% 100%) !important;
    color: var(--wizard-ink) !important;
}

#onboarding-wizard::before {
    inset: 0;
    opacity: 1;
    background:
        radial-gradient(circle at 86% 16%, rgba(154,105,25,.32) 0 1px, transparent 1.5px) 0 0 / 18px 18px,
        linear-gradient(112deg, transparent 0 67%, rgba(255,255,255,.52) 67% 100%);
    mix-blend-mode: normal;
}

#onboarding-wizard::after {
    width: 240px;
    height: 240px;
    right: -132px;
    top: auto;
    bottom: 4%;
    border-color: rgba(154,105,25,.13);
    box-shadow: 0 0 0 42px rgba(184,137,43,.025), 0 0 0 84px rgba(184,137,43,.018);
    animation: comebackIntroRing 9s ease-in-out infinite alternate;
}

#onboarding-wizard .wizard-particles {
    opacity: .3;
    background:
        radial-gradient(circle at 13% 72%, rgba(154,105,25,.7) 0 1px, transparent 2px),
        radial-gradient(circle at 88% 23%, rgba(154,105,25,.58) 0 1px, transparent 2px),
        radial-gradient(circle at 74% 88%, rgba(154,105,25,.45) 0 1px, transparent 2px);
}

#onboarding-wizard .onboarding-modal.wizard-container,
html[data-pbb-theme="light"] #onboarding-wizard .onboarding-modal.wizard-container {
    border-color: rgba(154,105,25,.2) !important;
    background:
        radial-gradient(circle at -18% 38%, transparent 0 122px, rgba(154,105,25,.1) 123px 124px, transparent 125px),
        linear-gradient(152deg, rgba(255,255,255,.98) 0 61%, rgba(242,234,218,.98) 61% 79%, rgba(250,248,243,.99) 79% 100%) !important;
    color: var(--wizard-ink) !important;
    box-shadow: 0 32px 88px rgba(47,38,22,.2), inset 0 1px 0 #fff !important;
}

#onboarding-wizard .wizard-header,
#onboarding-wizard.wizard-chat-mode .wizard-header {
    padding: 22px 24px 12px !important;
    background: rgba(255,253,248,.86) !important;
    border-bottom-color: rgba(154,105,25,.13) !important;
    backdrop-filter: blur(12px);
}

#onboarding-wizard .wizard-header > div[onclick] {
    border-color: rgba(26,32,44,.13) !important;
    background: rgba(255,255,255,.72) !important;
    color: #596273 !important;
    -webkit-text-fill-color: #596273 !important;
}

#onboarding-wizard .wizard-brand-mark {
    border: 1px solid rgba(154,105,25,.58);
    background: #fff;
    box-shadow: 0 0 0 3px rgba(255,255,255,.9), 0 0 0 4px rgba(154,105,25,.2), 0 9px 24px rgba(67,50,21,.12);
}

#onboarding-wizard .wizard-brand-copy strong {
    color: #8b5e17 !important;
    -webkit-text-fill-color: #8b5e17 !important;
}

#onboarding-wizard .wizard-brand-copy small {
    color: #596273 !important;
    -webkit-text-fill-color: #596273 !important;
}

#onboarding-wizard .wizard-progress .dot {
    background: rgba(26,32,44,.1) !important;
}

#onboarding-wizard .wizard-progress .dot.active,
#wizard-chat-progress-fill {
    background: linear-gradient(90deg, #a7771f, #d8b25e) !important;
    box-shadow: 0 0 12px rgba(184,137,43,.24);
}

#onboarding-wizard #wizard-title,
#onboarding-wizard.wizard-chat-mode #wizard-title {
    color: var(--wizard-ink) !important;
    -webkit-text-fill-color: var(--wizard-ink) !important;
}

#onboarding-wizard .wizard-content,
#onboarding-wizard.wizard-chat-mode .wizard-content {
    padding: 18px 28px 24px !important;
    color: var(--wizard-ink) !important;
}

#onboarding-wizard .wizard-slide,
#onboarding-wizard .wizard-slide h3,
#onboarding-wizard .wizard-slide label,
#onboarding-wizard .wizard-slide div,
#onboarding-wizard .wizard-slide span {
    color: var(--wizard-ink) !important;
    -webkit-text-fill-color: currentColor;
}

#onboarding-wizard .wizard-slide > p {
    color: var(--wizard-muted) !important;
    -webkit-text-fill-color: var(--wizard-muted) !important;
}

#onboarding-wizard .wizard-chat-intake {
    display: flex;
    min-height: 100%;
    flex-direction: column;
    justify-content: center;
    gap: 18px !important;
    padding: 10px 0 6px !important;
}

#onboarding-wizard .wizard-chat-progress-row {
    padding-bottom: 8px !important;
    color: #75684f !important;
    -webkit-text-fill-color: #75684f !important;
}

#onboarding-wizard .wizard-chat-progress-row button {
    border-color: rgba(26,32,44,.2) !important;
    background: rgba(255,255,255,.66) !important;
    color: var(--wizard-ink) !important;
    -webkit-text-fill-color: var(--wizard-ink) !important;
}

#onboarding-wizard .wizard-chat-progress-track {
    background: rgba(26,32,44,.1) !important;
}

#onboarding-wizard .wizard-chat-messages {
    display: flex;
    min-height: 118px;
    max-height: min(27dvh, 210px) !important;
    flex: 0 1 auto;
    flex-direction: column;
    justify-content: center;
    gap: 9px;
    padding: 8px 0 !important;
    overflow-y: auto;
}

#onboarding-wizard .wizard-chat-bubble.coach {
    width: 100%;
    max-width: 100% !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--wizard-ink) !important;
    -webkit-text-fill-color: var(--wizard-ink) !important;
    text-align: left;
}

#onboarding-wizard .wizard-chat-bubble.coach:first-child:not(:last-child) {
    color: #8b5e17 !important;
    -webkit-text-fill-color: #8b5e17 !important;
    font: 800 .72rem/1.25 'Montserrat', sans-serif !important;
    letter-spacing: .14em;
    text-transform: uppercase;
}

#onboarding-wizard .wizard-chat-bubble.coach:last-child {
    max-width: 440px !important;
    font: 900 clamp(1.65rem, 6vw, 2.45rem)/1.03 'Montserrat', sans-serif !important;
    letter-spacing: -.045em;
}

#onboarding-wizard .wizard-chat-bubble.user {
    display: none !important;
}

#onboarding-wizard .wizard-chat-choices {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px !important;
    max-height: min(31dvh, 250px) !important;
    padding: 2px 4px 8px 0 !important;
    overflow-y: auto;
}

#onboarding-wizard .wizard-chat-choice {
    min-height: 50px;
    padding: 12px 14px !important;
    border: 1px solid rgba(154,105,25,.3) !important;
    border-radius: 8px !important;
    background: rgba(255,255,255,.78) !important;
    color: var(--wizard-ink) !important;
    -webkit-text-fill-color: var(--wizard-ink) !important;
    box-shadow: 0 7px 20px rgba(67,50,21,.07), inset 0 1px 0 #fff;
    font-weight: 780;
}

#onboarding-wizard .wizard-chat-choice:hover,
#onboarding-wizard .wizard-chat-choice:focus-visible {
    border-color: #9a6919 !important;
    background: #fff !important;
    box-shadow: 0 10px 24px rgba(67,50,21,.12), 0 0 0 3px rgba(184,137,43,.12);
}

#onboarding-wizard .wizard-chat-choice.selected {
    border-color: #9a6919 !important;
    background: linear-gradient(135deg, #ead39f, #d8b25e) !important;
    color: var(--wizard-ink) !important;
    -webkit-text-fill-color: var(--wizard-ink) !important;
    box-shadow: 0 10px 24px rgba(154,105,25,.16), inset 0 1px 0 rgba(255,255,255,.58);
}

#onboarding-wizard .wizard-chat-input-row {
    gap: 9px;
}

#onboarding-wizard .wizard-chat-input-row input,
html[data-pbb-theme="light"] #onboarding-wizard .wizard-chat-input-row input {
    border-color: rgba(154,105,25,.34) !important;
    border-radius: 8px !important;
    background: rgba(255,255,255,.92) !important;
    color: var(--wizard-ink) !important;
    -webkit-text-fill-color: var(--wizard-ink) !important;
    box-shadow: 0 8px 22px rgba(67,50,21,.08) !important;
}

#onboarding-wizard .wizard-chat-input-row input:focus {
    border-color: #9a6919 !important;
    box-shadow: 0 0 0 3px rgba(184,137,43,.15), 0 8px 22px rgba(67,50,21,.08) !important;
}

#onboarding-wizard .wizard-chat-input-row button {
    border-radius: 8px !important;
    background: var(--wizard-ink) !important;
    color: #fffaf0 !important;
    -webkit-text-fill-color: #fffaf0 !important;
    box-shadow: 0 10px 24px rgba(26,32,44,.17), inset 0 0 0 1px rgba(216,178,94,.3);
}

#onboarding-wizard .wizard-chat-helper {
    color: var(--wizard-muted) !important;
    -webkit-text-fill-color: var(--wizard-muted) !important;
}

#onboarding-wizard .wizard-input-group,
#onboarding-wizard .wizard-option,
html[data-pbb-theme="light"] #onboarding-wizard .wizard-input-group,
#onboarding-wizard label[style*="background:white"],
#onboarding-wizard button[style*="background:#fff"],
#onboarding-wizard button[style*="background:white"] {
    border-color: rgba(154,105,25,.22) !important;
    background: rgba(255,255,255,.72) !important;
    color: var(--wizard-ink) !important;
    -webkit-text-fill-color: var(--wizard-ink) !important;
    box-shadow: 0 8px 22px rgba(67,50,21,.06), inset 0 1px 0 #fff;
}

#onboarding-wizard .wizard-input,
#onboarding-wizard select,
#onboarding-wizard input[type="date"],
html[data-pbb-theme="light"] #onboarding-wizard .wizard-input,
html[data-pbb-theme="light"] #onboarding-wizard select {
    border-color: rgba(154,105,25,.3) !important;
    background: rgba(255,255,255,.92) !important;
    color: var(--wizard-ink) !important;
    -webkit-text-fill-color: var(--wizard-ink) !important;
}

#onboarding-wizard .freq-btn.selected,
#onboarding-wizard .day-btn.selected,
#onboarding-wizard .split-btn.selected,
#onboarding-wizard .starter-minutes-btn.selected {
    border-color: #9a6919 !important;
    background: linear-gradient(135deg, #ead39f, #d8b25e) !important;
    color: var(--wizard-ink) !important;
    -webkit-text-fill-color: var(--wizard-ink) !important;
}

#onboarding-wizard #wizard-starter-routine-summary,
#onboarding-wizard #freq-tip,
#onboarding-wizard #wizard-calendar-preview,
#onboarding-wizard #wizard-exercise-pref-summary {
    border-color: rgba(154,105,25,.3) !important;
    background: linear-gradient(145deg, rgba(216,178,94,.2), rgba(255,255,255,.66)) !important;
    color: var(--wizard-ink) !important;
    -webkit-text-fill-color: var(--wizard-ink) !important;
    box-shadow: 0 12px 30px rgba(67,50,21,.08) !important;
}

#onboarding-wizard .wizard-footer {
    border-top-color: rgba(154,105,25,.14) !important;
    background: rgba(255,253,248,.9) !important;
    backdrop-filter: blur(12px);
}

#onboarding-wizard #wizard-next {
    background: var(--wizard-ink) !important;
    color: #fffaf0 !important;
    -webkit-text-fill-color: #fffaf0 !important;
    box-shadow: 0 12px 28px rgba(26,32,44,.16), inset 0 0 0 1px rgba(216,178,94,.3) !important;
}

#onboarding-wizard #wizard-back,
#onboarding-wizard .wizard-edit-note {
    color: var(--wizard-muted) !important;
    -webkit-text-fill-color: var(--wizard-muted) !important;
}

#onboarding-wizard .wizard-slide-number,
#onboarding-wizard .wizard-result-kicker,
#onboarding-wizard .wizard-assigned-goal-number,
#onboarding-wizard .wizard-coach-note span {
    color: #8b5e17 !important;
    -webkit-text-fill-color: #8b5e17 !important;
}

#onboarding-wizard .wizard-result-summary,
#onboarding-wizard .wizard-coach-note {
    color: var(--wizard-muted) !important;
    -webkit-text-fill-color: var(--wizard-muted) !important;
}

#onboarding-wizard .wizard-assigned-goal,
#onboarding-wizard .wizard-coach-note {
    border-color: rgba(154,105,25,.22);
    background: rgba(255,255,255,.66);
    color: var(--wizard-ink) !important;
    -webkit-text-fill-color: var(--wizard-ink) !important;
    box-shadow: 0 8px 22px rgba(67,50,21,.06);
}

@media (max-width: 560px) {
    #onboarding-wizard .wizard-content,
    #onboarding-wizard.wizard-chat-mode .wizard-content {
        padding-right: 20px !important;
        padding-left: 20px !important;
    }

    #onboarding-wizard .wizard-chat-messages {
        min-height: 104px;
        max-height: min(24dvh, 180px) !important;
    }

    #onboarding-wizard .wizard-chat-bubble.coach:last-child {
        font-size: clamp(1.55rem, 7.2vw, 2.15rem) !important;
    }

    #onboarding-wizard .wizard-chat-choices {
        grid-template-columns: 1fr;
        max-height: min(29dvh, 238px) !important;
    }
}

/* Completion copy is a readable summary, not another oversized question. */
#onboarding-wizard.wizard-chat-complete .wizard-chat-intake {
    justify-content: flex-start;
}
#onboarding-wizard.wizard-chat-complete .wizard-chat-messages {
    min-height: 0;
    max-height: min(44dvh, 330px) !important;
    justify-content: flex-start;
    padding: 12px 2px 6px 0 !important;
    overflow-y: auto !important;
}
#onboarding-wizard.wizard-chat-complete .wizard-chat-bubble.coach:last-child {
    max-width: 100% !important;
    font: 800 clamp(1.08rem, 3.8vw, 1.42rem)/1.28 'Montserrat', sans-serif !important;
    letter-spacing: -.025em;
}
#onboarding-wizard.wizard-chat-complete .wizard-chat-choices {
    grid-template-columns: 1fr;
    flex: 0 0 auto;
    max-height: none !important;
    overflow: visible;
}
#onboarding-wizard.wizard-chat-complete .wizard-chat-choice {
    width: 100%;
}
@media (max-width: 560px) {
    #onboarding-wizard.wizard-chat-complete .wizard-chat-messages {
        max-height: min(48dvh, 350px) !important;
    }
    #onboarding-wizard.wizard-chat-complete .wizard-chat-bubble.coach:last-child {
        font-size: clamp(1rem, 4.8vw, 1.24rem) !important;
        line-height: 1.3 !important;
    }
}

/* Keep long onboarding prompts fully readable above choices and the keyboard. */
#onboarding-wizard.wizard-chat-mode:not(.wizard-chat-intro):not(.wizard-chat-complete) .wizard-chat-intake {
    justify-content: flex-start;
    gap: 14px !important;
}
#onboarding-wizard.wizard-chat-mode:not(.wizard-chat-intro):not(.wizard-chat-complete) .wizard-chat-messages {
    min-height: 0;
    max-height: none !important;
    flex: 0 0 auto;
    justify-content: flex-start;
    padding: 4px 0 2px !important;
    overflow: visible !important;
}
#onboarding-wizard.wizard-chat-mode:not(.wizard-chat-intro):not(.wizard-chat-complete) .wizard-chat-bubble.coach:last-child {
    max-width: 100% !important;
    font-size: clamp(1.35rem, 4.5vw, 2rem) !important;
    line-height: 1.08 !important;
    transform: none !important;
}
#onboarding-wizard.wizard-chat-mode:not(.wizard-chat-intro):not(.wizard-chat-complete) .wizard-chat-choices {
    min-height: 72px;
    max-height: none !important;
    flex: 1 1 auto;
}

/* Light-theme text-fill rules must not black out the fixed install banner. */
#pwa-install-banner,
#pwa-install-banner span,
#pwa-install-banner button:not(.pwa-install-btn) {
    color: #fffaf0 !important;
    -webkit-text-fill-color: #fffaf0 !important;
}
#pwa-install-banner .pwa-install-btn {
    color: #17130e !important;
    -webkit-text-fill-color: #17130e !important;
}
#onboarding-wizard.active ~ #pwa-install-banner {
    display: none !important;
}

/* Training setup slides: never inherit the legacy white WebKit text fill. */
#onboarding-wizard #slide-4 h3,
#onboarding-wizard #slide-7 h3 {
    color: var(--wizard-ink) !important;
    -webkit-text-fill-color: var(--wizard-ink) !important;
}
#onboarding-wizard #slide-4 p,
#onboarding-wizard #slide-4 label,
#onboarding-wizard #slide-4 label span,
#onboarding-wizard #slide-7 p,
#onboarding-wizard #slide-7 label,
#onboarding-wizard #slide-7 label span,
#onboarding-wizard #slide-7 .wizard-calendar-day,
#onboarding-wizard #slide-7 .wizard-calendar-workout-name,
#onboarding-wizard #slide-7 .wizard-calendar-workout-desc,
#onboarding-wizard #slide-7 .wizard-calendar-time-wrap,
#onboarding-wizard #slide-7 .wizard-calendar-edit-icon,
#onboarding-wizard #slide-7 #wizard-calendar-preview strong {
    color: #334155 !important;
    -webkit-text-fill-color: #334155 !important;
}
#onboarding-wizard #slide-4 .freq-btn,
#onboarding-wizard #slide-4 .day-btn,
#onboarding-wizard #slide-4 .starter-minutes-btn,
#onboarding-wizard #slide-4 select,
#onboarding-wizard #slide-7 input[type="time"] {
    color: var(--wizard-ink) !important;
    -webkit-text-fill-color: var(--wizard-ink) !important;
}
#onboarding-wizard #slide-4 #freq-tip,
#onboarding-wizard #slide-4 #days-counter {
    color: #5f4516 !important;
    -webkit-text-fill-color: #5f4516 !important;
}
#onboarding-wizard #slide-7 #wizard-calendar-preview {
    min-height: 120px;
}
#onboarding-wizard #slide-7 .wizard-calendar-row {
    border-bottom-color: rgba(154,105,25,.16) !important;
}
/* Text-answer questions should not reserve an empty choice panel on phones. */
#onboarding-wizard.wizard-chat-mode:not(.wizard-chat-intro):not(.wizard-chat-complete) .wizard-chat-choices:empty {
    display: none !important;
    min-height: 0 !important;
    max-height: 0 !important;
    flex: 0 0 0 !important;
    padding: 0 !important;
}

@media (max-width: 560px) {
    #onboarding-wizard.onboarding-overlay {
        align-items: flex-start;
        padding: max(6px, env(safe-area-inset-top, 0px)) 6px max(6px, env(safe-area-inset-bottom, 0px));
    }

    #onboarding-wizard .onboarding-modal.wizard-container,
    html[data-pbb-theme="light"] #onboarding-wizard .onboarding-modal.wizard-container {
        width: calc(100vw - 12px) !important;
        height: calc(100svh - max(12px, env(safe-area-inset-top, 0px) + env(safe-area-inset-bottom, 0px))) !important;
        max-height: calc(100svh - max(12px, env(safe-area-inset-top, 0px) + env(safe-area-inset-bottom, 0px))) !important;
        border-radius: 22px !important;
    }

    #onboarding-wizard .wizard-chat-input-row {
        flex: 0 0 auto;
        padding-bottom: max(4px, env(safe-area-inset-bottom, 0px));
    }
}
