.onboarding-plan-page{--font-display: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", sans-serif;--font-body: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", sans-serif;--ink: #000000;--ink-soft: #1a1a1a;--muted: #6b6b6b;--subtle: #999999;--accent: #d4956a;--accent-soft: rgba(212, 149, 106, .12);--paper: #ffffff;--paper-warm: #ffffff;--card: #f5f5f5;--card-hover: #eeeeee;--card-selected: #000000;--card-selected-text: #ffffff;--card-solid: #ffffff;--shadow-sm: none;--shadow-md: 0 2px 8px rgba(0, 0, 0, .06);--shadow-lg: 0 4px 16px rgba(0, 0, 0, .1);--shadow-accent: none;--border-subtle: transparent;--border-default: rgba(0, 0, 0, .06);--border-accent: transparent;--illustration-bg: linear-gradient(135deg, #f8f0f8 0%, #f0e8f4 100%);--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--ease-out-back: cubic-bezier(.34, 1.56, .64, 1);color:var(--ink);-webkit-font-smoothing:antialiased}.onboarding-plan-page,.onboarding-plan-page *{font-family:var(--font-body);line-height:1.5}.onboarding-plan-page h1,.onboarding-plan-page h2,.onboarding-plan-page h3{font-family:var(--font-display);font-weight:700;letter-spacing:-.025em;line-height:1.1}.onboarding-plan-content{--background: transparent;background:var(--paper)}.onboarding-plan-shell{position:relative;z-index:1;height:100%;display:flex;flex-direction:column;max-width:520px;margin:0 auto;padding:0 20px;overflow:hidden}.onboarding-header{position:relative;z-index:10;display:flex;align-items:center;gap:16px;flex-shrink:0;background:var(--paper)}.onboarding-back{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;background:transparent;border-radius:50%;color:var(--ink);cursor:pointer;transition:all .15s ease;flex-shrink:0}.onboarding-back:hover{background:var(--card)}.onboarding-back:disabled{opacity:.3;cursor:default}.onboarding-back span{display:none}.onboarding-back ion-icon{font-size:20px}.onboarding-progress{flex:1;display:flex;flex-direction:column;gap:8px}.section-pills{display:none}.onboarding-progress-bar{--background: #e5e5e5;--progress-background: var(--ink);height:4px;border-radius:2px;overflow:hidden}.onboarding-progress-bar::part(progress){transition:transform .4s var(--ease-out-expo)}.progress-meta{display:none}.onboarding-step{flex:1;display:flex;flex-direction:column;justify-content:center;animation:stepEnter .5s var(--ease-out-expo) both;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;min-height:0;scrollbar-width:none;-ms-overflow-style:none}.onboarding-step.is-scrollable{justify-content:flex-start}.onboarding-step::-webkit-scrollbar{display:none}.step-content{flex-shrink:0}@keyframes stepEnter{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.step-header{margin-bottom:24px}.step-eyebrow{display:none}.step-header h1{font-size:clamp(1.75rem,7vw,2rem);font-weight:700;color:var(--ink);margin:0;max-width:18ch;line-height:1.15}.step-highlight{color:var(--accent)}.insight-card:has(.step-highlight){flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center}.insight-card:has(.step-highlight) .step-header{text-align:center;display:flex;flex-direction:column;align-items:center}.insight-card:has(.step-highlight) .step-header h1{max-width:none}.insight-card:has(.step-highlight) .step-description{max-width:280px}.insight-review{display:flex;gap:12px;padding:16px;background:var(--card);border-radius:16px;margin-top:32px;max-width:340px}.insight-review-avatar{width:40px;height:40px;border-radius:50%;overflow:hidden;flex-shrink:0;background:var(--paper)}.insight-review-avatar img{width:100%;height:100%;object-fit:cover}.insight-review-avatar-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:600;color:var(--muted);background:linear-gradient(135deg,#f5f5f5,#eaeaea)}.insight-review-content{flex:1;min-width:0}.insight-review-header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.insight-review-name{font-size:.875rem;font-weight:600;color:var(--ink)}.insight-review-stars{font-size:.75rem;color:var(--accent);letter-spacing:1px}.insight-review-text{font-size:.8rem;line-height:1.4;color:var(--muted);margin:0}.step-subtitle{font-size:1rem;font-weight:400;color:var(--muted);margin:10px 0 0;line-height:1.5}.step-description{font-size:1rem;color:var(--muted);margin:10px 0 0;line-height:1.5}.step-helper{font-size:.9rem;color:var(--muted);margin-top:16px}.intro-card,.question-card,.testimonial-card,.insight-card,.stats-card,.info-card,.results-card,.paywall-card,.tips-card{background:transparent;border-radius:0;padding:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.question-card{flex:1;display:flex;flex-direction:column}.question-card .option-grid{margin-top:auto;margin-bottom:auto}.intro-card{display:flex;flex-direction:column;justify-content:center;flex:1;padding-bottom:40px}.intro-card .step-header h1{font-size:clamp(2rem,8vw,2.75rem);max-width:14ch}.intro-stats{display:flex;flex-direction:column;gap:16px;margin-top:32px}.intro-stat{display:flex;align-items:baseline;gap:12px;padding:16px 20px;background:var(--card);border-radius:16px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-subtle)}.intro-value{font-family:var(--font-display);font-size:1.5rem;font-weight:700;color:var(--ink);white-space:nowrap}.intro-label{font-size:.9rem;color:var(--muted);line-height:1.4}.onboarding-illustration{display:flex;align-items:center;justify-content:center;margin:24px auto 32px}.illustration-circle{width:200px;height:200px;border-radius:50%;background:var(--illustration-bg);display:flex;align-items:center;justify-content:center;position:relative}.illustration-circle img,.illustration-circle svg{width:120px;height:120px;object-fit:contain}.illustration-circle:before{content:"";position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px;border-radius:50%;border:2px dashed rgba(0,0,0,.08)}.illustration-dots{position:absolute;top:-20px;right:-20px;bottom:-20px;left:-20px;pointer-events:none}.illustration-dots:before,.illustration-dots:after{content:"•";position:absolute;font-size:8px;color:#00000026}.illustration-dots:before{top:10%;right:5%}.illustration-dots:after{bottom:15%;left:8%}.highlight-value{color:var(--accent);font-weight:700}.option-grid{display:flex;flex-direction:column;gap:12px}.option-grid.layout-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.option-grid.layout-list,.option-grid.layout-feature{display:flex;flex-direction:column}.option-grid.layout-swipe{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.option-grid.layout-dots{display:flex;flex-direction:column;gap:12px}.layout-dots .option-card{flex-direction:row;align-items:center;gap:16px;padding:20px 24px}.layout-dots .option-content{flex:1;display:flex;flex-direction:column;gap:2px}.layout-dots .option-top{gap:0}.layout-dots .option-description{margin:0;font-size:.875rem}.option-dots{display:flex;flex-direction:column;align-items:center;gap:4px;width:24px;flex-shrink:0}.option-dot{width:8px;height:8px;border-radius:50%;background:var(--ink)}.layout-dots .option-card.is-selected .option-dot{background:var(--card-selected-text)}.option-card{position:relative;display:flex;flex-direction:row;align-items:center;gap:16px;padding:30px 25px;background:var(--card);border:none;border-radius:16px;text-align:left;cursor:pointer;transition:background .15s ease;animation:cardEnter .35s var(--ease-out-expo) both;animation-delay:var(--delay, 0ms);min-height:64px}@keyframes cardEnter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.option-card:hover{background:var(--card-hover)}.option-card.is-selected{background:var(--card-selected)}.option-card.is-selected .option-title,.option-card.is-selected .option-description{color:var(--card-selected-text)}.option-index{display:none}.option-top{display:flex;align-items:center;gap:0}.option-content{flex:1}.option-title{font-weight:500;font-size:1.0625rem;color:var(--ink);line-height:1.35}.option-description{font-size:.9rem;color:var(--muted);margin:4px 0 0;line-height:1.45}.option-icon{width:44px;height:44px;border-radius:12px;background:var(--paper);display:flex;align-items:center;justify-content:center;flex-shrink:0}.option-icon img{width:26px;height:26px;object-fit:contain}.option-card.is-selected .option-icon{background:#ffffff26}.option-helper{font-size:.78rem;color:var(--subtle);margin-top:8px}.option-swatches{display:flex;gap:6px;margin-top:12px}.option-swatch{width:22px;height:22px;border-radius:50%;border:2px solid rgba(255,255,255,.9);box-shadow:0 2px 8px #0000001a}.option-icon{margin-left:auto;flex-shrink:0}.option-icon img{height:28px;width:auto;object-fit:contain}.option-emoji{margin-left:auto;flex-shrink:0;font-size:1.75rem;line-height:1}.option-check{position:absolute;top:30px;right:25px;width:30px;height:22px;display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(.7);transition:all .25s var(--ease-out-back);color:#fff}.option-check ion-icon{font-size:30px}.option-card.is-selected .option-check{opacity:1;transform:scale(1)}.layout-feature .option-card{padding:18px 20px}.layout-feature .option-title{font-size:1rem;font-weight:600}.image-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:0 0 140px}.question-card:has(.image-grid){justify-content:flex-start}.onboarding-step.is-scrollable .question-card .option-grid{padding-bottom:120px}.image-grid-item{display:flex;flex-direction:column;align-items:center;gap:8px;background:transparent;border:none;padding:0;cursor:pointer;animation:cardEnter .4s var(--ease-out-expo) both;animation-delay:var(--delay);position:relative}.image-grid-label{font-family:var(--font-body);font-size:.9rem;font-weight:500;color:var(--ink)}.image-grid-photo{width:100%;aspect-ratio:3/4;border-radius:16px;overflow:hidden;border:3px solid transparent;transition:border-color .2s ease,transform .2s ease;position:relative}.image-grid-photo img{width:100%;height:100%;object-fit:cover}.image-grid-item.is-selected .image-grid-photo{border-color:var(--ink)}.image-grid-item.is-selected .image-grid-photo:after{content:"✓";position:absolute;top:8px;right:8px;width:24px;height:24px;background:var(--ink);color:var(--paper);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600}.image-grid-item:active .image-grid-photo{transform:scale(.98)}.image-grid-footer{font-size:.85rem;color:var(--muted);text-align:center;margin-top:16px}.emoji-slider{display:flex;flex-direction:column;align-items:center;padding:40px 20px;margin-top:auto;margin-bottom:auto}.emoji-slider-track{display:flex;align-items:center;gap:16px;width:100%}.emoji-slider-emoji{font-size:2rem;line-height:1;flex-shrink:0}.emoji-slider-input{flex:1;height:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--ink);border-radius:2px;outline:none;margin:0}.emoji-slider-input::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:28px;height:28px;background:var(--paper);border:2px solid var(--ink);border-radius:50%;cursor:pointer;box-shadow:0 2px 8px #00000026;transition:transform .15s ease}.emoji-slider-input::-webkit-slider-thumb:hover{transform:scale(1.1)}.emoji-slider-input::-webkit-slider-thumb:active{transform:scale(.95)}.emoji-slider-input::-moz-range-thumb{width:28px;height:28px;background:var(--paper);border:2px solid var(--ink);border-radius:50%;cursor:pointer;box-shadow:0 2px 8px #00000026}.emoji-slider-labels{display:flex;justify-content:space-between;width:100%;max-width:280px;margin-top:12px}.emoji-slider-label{font-size:.875rem;color:var(--muted);font-weight:500}.time-slider{display:flex;flex-direction:column;align-items:center;padding:40px 20px;margin-top:auto;margin-bottom:auto}.time-slider-display{margin-bottom:32px}.time-slider-value{font-family:var(--font-display);font-size:2rem;font-weight:700;color:var(--ink);line-height:1}.time-slider-track{display:flex;align-items:center;gap:16px;width:100%}.time-slider-emoji{font-size:2rem;line-height:1;flex-shrink:0}.time-slider-input{flex:1;height:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--ink);border-radius:2px;outline:none;margin:0}.time-slider-input::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:28px;height:28px;background:var(--paper);border:2px solid var(--ink);border-radius:50%;cursor:pointer;box-shadow:0 2px 8px #00000026;transition:transform .15s ease}.time-slider-input::-webkit-slider-thumb:hover{transform:scale(1.1)}.time-slider-input::-webkit-slider-thumb:active{transform:scale(.95)}.time-slider-input::-moz-range-thumb{width:28px;height:28px;background:var(--paper);border:2px solid var(--ink);border-radius:50%;cursor:pointer;box-shadow:0 2px 8px #00000026}.time-slider-labels{display:flex;justify-content:space-between;width:100%;max-width:280px;margin-top:12px}.time-slider-label{font-size:.875rem;color:var(--muted);font-weight:500}.fit-slider{display:flex;flex-direction:column;gap:48px;padding:20px 0;margin-top:auto;margin-bottom:auto}.fit-slider-group{display:flex;flex-direction:column;gap:8px}.fit-slider-icons{display:flex;justify-content:space-between;padding:0 8px}.fit-slider-icon{display:flex;align-items:flex-end;justify-content:center;width:60px;height:60px;opacity:.4;transition:opacity .2s ease,transform .2s ease}.fit-slider-icon.is-active{opacity:1;transform:scale(1.1)}.fit-slider-icon img{max-width:100%;max-height:100%;object-fit:contain}.fit-slider-track-wrapper{position:relative;padding:0 30px}.fit-slider-input{width:100%;height:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#e0e0e0;border-radius:2px;outline:none;margin:0;border:none}.fit-slider-input::-webkit-slider-runnable-track{width:100%;height:4px;background:#e0e0e0;border-radius:2px}.fit-slider-input::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:24px;height:24px;background:#fff;border:none;border-radius:50%;cursor:pointer;box-shadow:0 2px 8px #0003;margin-top:-10px}.fit-slider-input::-moz-range-track{width:100%;height:4px;background:#e0e0e0;border-radius:2px;border:none}.fit-slider-input::-moz-range-thumb{width:24px;height:24px;background:#fff;border:none;border-radius:50%;cursor:pointer;box-shadow:0 2px 8px #0003}.fit-slider-labels{display:flex;justify-content:space-between;padding:0 8px}.fit-slider-label{font-size:.75rem;color:var(--muted);text-align:center;width:60px}.confirm-card{flex:1;display:flex;flex-direction:column;padding:20px}.confirm-title{font-family:var(--font-display);font-size:clamp(1.5rem,6vw,1.75rem);font-weight:700;color:var(--ink);text-align:center;margin:0 0 8px;line-height:1.2}.confirm-subtitle{font-size:.95rem;color:var(--muted);text-align:center;margin:0 0 20px;line-height:1.4}.confirm-question{font-family:var(--font-body);font-size:1rem;font-weight:500;color:var(--ink);text-align:center;margin:0}.confirm-image-wrapper{flex:1;display:flex;align-items:center;justify-content:center;margin-bottom:24px}.confirm-image{max-width:100%;object-fit:contain;border-radius:16px}.confirm-buttons{display:flex;gap:12px;width:100%}.confirm-btn{flex:1;padding:16px 24px;border-radius:14px;font-family:var(--font-body);font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.confirm-btn-no{background:var(--card);color:var(--ink);border:1px solid var(--border)}.confirm-btn-no:hover{background:var(--card-hover)}.confirm-btn-yes{background:var(--ink);color:#fff;border:none}.confirm-btn-yes:hover{opacity:.9}.notification-prompt-card{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px}.notification-prompt-title{font-family:var(--font-display);font-size:clamp(1.5rem,6vw,1.75rem);font-weight:700;color:var(--ink);text-align:center;margin:0 0 40px;line-height:1.2}.ios-alert-wrapper{display:flex;flex-direction:column;align-items:center;position:relative}.ios-alert{background:#f2f2f7;border-radius:14px;padding:20px;width:270px;text-align:center;box-shadow:0 4px 20px #00000026}.ios-alert-text{font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif;font-size:13px;font-weight:600;color:#000;margin:0 0 16px;line-height:1.4}.ios-alert-buttons{display:flex;border-top:.5px solid rgba(60,60,67,.29);margin:0 -20px -20px}.ios-alert-btn{flex:1;padding:11px 8px;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif;font-size:17px;background:transparent;border:none;cursor:pointer;transition:background .15s ease}.ios-alert-btn:first-child{border-right:.5px solid rgba(60,60,67,.29);border-bottom-left-radius:14px}.ios-alert-btn:last-child{border-bottom-right-radius:14px}.ios-alert-btn:active{background:#0000001a}.ios-alert-btn-secondary{color:#007aff;font-weight:400}.ios-alert-btn-primary{color:#007aff;font-weight:600}.ios-alert-pointer{margin-top:12px;animation:pointerBounce 1s ease-in-out infinite;position:absolute;right:50px;bottom:-70px}.pointer-emoji{font-size:2rem}@keyframes pointerBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.completion-card{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px}.completion-ring{position:relative;width:160px;height:160px;margin-bottom:32px}.completion-ring-svg{width:100%;height:100%;transform:rotate(-90deg)}.completion-ring-bg{stroke:#e8e5e0}.completion-ring-progress{stroke:#4a5d4a;stroke-linecap:round;animation:ringFill 1.5s ease-out forwards}@keyframes ringFill{0%{stroke-dashoffset:339.3}to{stroke-dashoffset:0}}.completion-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:3rem;display:flex;align-items:center;justify-content:center}.completion-stars{position:absolute;top:-8px;right:-8px;font-size:1.2rem}.completion-text{text-align:center}.completion-eyebrow{display:flex;align-items:center;justify-content:center;gap:6px;font-size:.9rem;color:#c17f59;margin-bottom:8px}.completion-check{color:#c17f59;font-weight:600}.completion-title{font-family:var(--font-display);font-size:clamp(1.5rem,6vw,1.75rem);font-weight:700;color:var(--ink);line-height:1.2;margin:0}.training-card{flex:1;display:flex;flex-direction:column;padding:20px}.training-title{font-family:var(--font-display);font-size:clamp(1.5rem,6vw,1.75rem);font-weight:700;color:var(--ink);text-align:center;margin:0 0 24px;line-height:1.2}.training-ring{position:relative;width:120px;height:120px;margin:0 auto 28px}.training-ring-svg{width:100%;height:100%;transform:rotate(-90deg)}.training-ring-bg{stroke:#e8e5e0}.training-ring-progress{stroke:var(--ink);stroke-linecap:round;transition:stroke-dashoffset .3s ease-out}.training-percentage{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:var(--font-display);font-size:1.5rem;font-weight:600;color:var(--ink)}.training-checklist{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.training-item{display:flex;align-items:flex-start;gap:12px;opacity:.4;transition:opacity .3s ease}.training-item.is-active{opacity:.7}.training-item.is-complete{opacity:1}.training-item-icon{flex-shrink:0;width:22px;height:22px;display:flex;align-items:center;justify-content:center}.training-circle{width:18px;height:18px;border:2px solid #ccc;border-radius:50%;background:transparent}.training-item.is-active .training-circle{border-color:var(--ink);animation:trainingPulse 1s ease-in-out infinite}@keyframes trainingPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.7}}.training-check{width:20px;height:20px;background:var(--ink);border-radius:50%;color:#fff;font-size:12px;display:flex;align-items:center;justify-content:center;animation:trainingCheckPop .3s var(--ease-out-back)}@keyframes trainingCheckPop{0%{transform:scale(0)}to{transform:scale(1)}}.training-item-text{font-size:.95rem;color:var(--ink);line-height:1.4}.training-item.is-complete .training-item-text{font-weight:500}.training-review{margin-top:50px;background:var(--card);border-radius:16px;padding:20px;text-align:center}.training-review-stars{color:#1a1a1a;font-size:.9rem;letter-spacing:2px;margin-bottom:12px}.training-review-text{font-size:.95rem;font-weight:500;color:var(--ink);line-height:1.4;margin:0 0 8px}.training-review-author{font-size:.85rem;color:var(--muted);margin:0}.training-card.is-complete{position:relative}.training-celebration{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:10}.golden-burst{position:absolute;top:30%;left:50%;width:300px;height:300px;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(255,215,0,.4) 0%,rgba(255,165,0,.2) 30%,transparent 70%);border-radius:50%;animation:goldenBurst 1s ease-out forwards}@keyframes goldenBurst{0%{transform:translate(-50%,-50%) scale(0);opacity:1}50%{opacity:1}to{transform:translate(-50%,-50%) scale(2);opacity:0}}.confetti-container{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.confetti-particle{position:absolute;top:30%;width:var(--size);height:var(--size);background:var(--color);border-radius:2px;animation:confettiFall var(--duration) ease-out var(--delay) forwards;transform:rotate(var(--rotation))}@keyframes confettiFall{0%{transform:translateY(0) rotate(var(--rotation)) scale(0);opacity:0}10%{transform:translateY(-50px) rotate(var(--rotation)) scale(1);opacity:1}to{transform:translateY(400px) rotate(calc(var(--rotation) + 720deg)) scale(.5);opacity:0}}.sparkle-container{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center}.sparkle{position:absolute;width:8px;height:8px;background:gold;border-radius:50%;box-shadow:0 0 10px 2px #ffd70099;animation:sparkleOut .8s ease-out var(--delay) forwards}@keyframes sparkleOut{0%{transform:translate(0) scale(0);opacity:0}30%{opacity:1;transform:translate(calc(cos(var(--angle)) * var(--distance) * .5),calc(sin(var(--angle)) * var(--distance) * .5)) scale(1)}to{opacity:0;transform:translate(calc(cos(var(--angle)) * var(--distance)),calc(sin(var(--angle)) * var(--distance))) scale(0)}}.training-title.is-complete{animation:titleCelebrate .6s ease-out forwards}@keyframes titleCelebrate{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.training-ring.is-complete{animation:ringCelebrate .8s ease-out forwards}@keyframes ringCelebrate{0%{transform:scale(1)}30%{transform:scale(1.15)}60%{transform:scale(.95)}to{transform:scale(1)}}.training-ring-progress.is-complete{stroke:url(#goldGradient);animation:ringGlow 2s ease-in-out infinite}@keyframes ringGlow{0%,to{filter:drop-shadow(0 0 4px rgba(255,215,0,.5))}50%{filter:drop-shadow(0 0 12px rgba(255,215,0,.8))}}.training-percentage.is-complete{animation:percentageToIcon .5s ease-out forwards}@keyframes percentageToIcon{0%{transform:translate(-50%,-50%) scale(1) rotate(0)}50%{transform:translate(-50%,-50%) scale(0) rotate(180deg)}51%{transform:translate(-50%,-50%) scale(0) rotate(0)}to{transform:translate(-50%,-50%) scale(1) rotate(0)}}.success-icon{font-size:2.5rem;display:block;animation:successPulse 1.5s ease-in-out infinite}@keyframes successPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.training-checklist.is-complete .training-item{animation:itemSlideUp .4s ease-out forwards;animation-delay:var(--item-delay)}@keyframes itemSlideUp{0%{transform:translateY(0)}to{transform:translateY(-4px)}}.training-review.is-complete{animation:reviewHighlight .6s ease-out .3s forwards;background:linear-gradient(135deg,rgba(255,215,0,.1) 0%,var(--card) 50%,rgba(255,215,0,.05) 100%);border:1px solid rgba(255,215,0,.3)}@keyframes reviewHighlight{0%{transform:scale(1);box-shadow:0 0 #ffd70000}50%{transform:scale(1.02);box-shadow:0 4px 20px #ffd70033}to{transform:scale(1);box-shadow:0 2px 12px #ffd7001a}}.training-review.is-complete .training-review-stars{color:gold;animation:starsShimmer 1.5s ease-in-out infinite}@keyframes starsShimmer{0%,to{text-shadow:0 0 5px rgba(255,215,0,.5)}50%{text-shadow:0 0 15px rgba(255,215,0,.8),0 0 25px rgba(255,215,0,.4)}}.comparison-card{flex:1;display:flex;flex-direction:column;padding:20px;justify-content:center}.comparison-title{font-family:var(--font-display);font-size:clamp(1.5rem,6vw,1.75rem);font-weight:700;color:var(--ink);margin:0 0 32px;line-height:1.2}.comparison-chart{display:flex;justify-content:center;gap:24px;background:var(--card);border-radius:20px;padding:24px;margin-bottom:16px}.comparison-bar-group{display:flex;flex-direction:column;align-items:center;gap:12px;width:100px;padding-top:5px;background:#fff;border-radius:12px;justify-content:space-between}.comparison-label{font-size:.875rem;font-weight:500;color:var(--ink);text-align:center;line-height:1.3}.comparison-bar-wrapper{width:100%;height:140px;background:#f0f0f0;border-radius:12px;position:relative;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;overflow:hidden}.comparison-bar{position:absolute;bottom:0;left:0;right:0;border-radius:12px;transition:height 1s cubic-bezier(.4,0,.2,1);height:0}.comparison-bar.is-animated{height:var(--target-height)}.comparison-bar-left{background:#f0f0f0}.comparison-bar-right{background:var(--ink)}.comparison-value{position:relative;z-index:1;font-family:var(--font-display);font-size:1rem;font-weight:600;padding:8px;margin-bottom:8px;border-radius:8px}.comparison-bar-group:first-child .comparison-value{color:var(--ink)}.comparison-bar-group:last-child .comparison-value{color:#fff}.comparison-caption{font-size:.9rem;color:var(--muted);text-align:center;margin:0}.user-count-card{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 20px}.user-count-display{display:flex;flex-direction:column;align-items:center;gap:4px;margin-bottom:32px}.user-count-number{font-family:var(--font-display);font-size:clamp(3rem,12vw,4.5rem);font-weight:700;color:var(--ink);line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.user-count-label{font-size:1.25rem;font-weight:500;color:var(--muted);text-transform:lowercase}.user-count-text{max-width:300px}.user-count-text h1{font-family:var(--font-display);font-size:clamp(1.5rem,6vw,2rem);font-weight:700;color:var(--ink);margin:0 0 12px;line-height:1.2}.user-count-description{font-size:1rem;color:var(--muted);margin:0;line-height:1.5}.range-shell{background:var(--card);border:1px solid var(--border-subtle);border-radius:16px;padding:24px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.range-labels{display:flex;justify-content:space-between;font-size:.75rem;font-weight:500;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:20px}.range-input{width:100%;height:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--border-default);border-radius:2px;outline:none;margin:0}.range-input::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:24px;height:24px;background:var(--ink);border:none;border-radius:50%;cursor:pointer;box-shadow:var(--shadow-md);transition:transform .2s var(--ease-out-back)}.range-input::-webkit-slider-thumb:hover{transform:scale(1.1)}.range-input::-webkit-slider-thumb:active{transform:scale(.95)}.range-markers{display:flex;justify-content:space-between;margin-top:16px;padding:0 4px}.range-marker{font-size:.75rem;color:var(--subtle);transition:color .2s}.range-marker.is-active{color:var(--ink);font-weight:600}.range-value{margin-top:20px;padding-top:16px;border-top:1px solid var(--border-subtle);font-size:.9rem;color:var(--ink-soft)}.testimonial-card{display:flex;flex-direction:column;flex:1;justify-content:center;padding:0}.testimonial-card .step-header{margin-bottom:32px}.testimonial-quote{font-family:var(--font-display);font-size:clamp(1.25rem,5vw,1.5rem);font-weight:400;font-style:italic;line-height:1.5;color:var(--ink);margin:0;padding:24px 0;position:relative}.testimonial-quote:before{content:'"';position:absolute;top:-8px;left:-8px;font-family:var(--font-display);font-size:4rem;color:var(--ink);opacity:.08;line-height:1}.testimonial-attribution{font-size:.85rem;color:var(--muted);margin-top:16px}.testimonial-rating{display:inline-flex;align-items:center;gap:8px;margin-top:20px;padding:10px 16px;background:var(--card);border-radius:100px;font-size:.8rem;font-weight:600;color:var(--ink)}.social-proof-card{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px;gap:24px}.social-proof-rating-wreath{display:flex;align-items:center;justify-content:center;gap:8px}.social-proof-rating-wreath .wreath-left,.social-proof-rating-wreath .wreath-right{width:60px;height:auto}.social-proof-rating-center{display:flex;flex-direction:column;align-items:center;gap:4px}.social-proof-rating-number{font-family:var(--font-display);font-size:3.5rem;font-weight:700;color:var(--ink);line-height:1}.social-proof-rating-stars{color:var(--accent);font-size:1rem;letter-spacing:2px}.social-proof-rating-count{font-size:.9rem;color:var(--muted);margin-top:-8px}.social-proof-users{display:flex;flex-direction:column;align-items:center;gap:12px}.social-proof-users-title{font-family:var(--font-display);font-size:1.125rem;font-weight:600;color:var(--ink);margin:0}.social-proof-avatars{display:flex;justify-content:center}.social-proof-avatar{width:48px;height:48px;border-radius:50%;border:3px solid var(--paper);background:var(--card);margin-left:-12px;overflow:hidden;box-shadow:0 2px 8px #0000001a}.social-proof-avatar:first-child{margin-left:0}.social-proof-avatar img{width:100%;height:100%;object-fit:cover}.social-proof-avatar-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:600;color:var(--muted);background:linear-gradient(135deg,#f0f0f0,#e0e0e0)}.social-proof-users-count{font-size:.85rem;color:var(--muted)}.social-proof-review{display:flex;gap:12px;background:var(--card);border-radius:16px;padding:16px;width:100%;max-width:340px;text-align:left}.social-proof-review-avatar{width:40px;height:40px;border-radius:50%;background:var(--paper);overflow:hidden;flex-shrink:0}.social-proof-review-avatar img{width:100%;height:100%;object-fit:cover}.social-proof-review-avatar-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:600;color:var(--muted);background:linear-gradient(135deg,#f5f5f5,#eaeaea)}.social-proof-review-content{flex:1;min-width:0}.social-proof-review-header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.social-proof-review-name{font-size:.875rem;font-weight:600;color:var(--ink)}.social-proof-review-stars{color:var(--accent);font-size:.75rem;letter-spacing:1px}.social-proof-review-text{font-size:.8rem;line-height:1.4;color:var(--muted);margin:0}.insight-card{flex:1;display:flex;flex-direction:column}.insight-card .step-header h1{max-width:20ch}.insight-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.insight-list li{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--card);border:1px solid var(--border-subtle);border-radius:12px;font-size:.9rem;color:var(--ink-soft);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.insight-list li:before{content:"✓";display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:var(--ink);color:#fff;border-radius:50%;font-size:.7rem;font-weight:700;flex-shrink:0}.plan-grid{display:flex;flex-direction:column;gap:16px;margin-top:24px}.plan-summary,.plan-weeks{background:var(--card);border:1px solid var(--border-subtle);border-radius:16px;padding:20px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.plan-summary{display:flex;flex-direction:column;gap:8px}.plan-summary span{font-size:.9rem;color:var(--ink-soft);padding:4px 0}.plan-summary span:not(:last-child){border-bottom:1px solid var(--border-subtle);padding-bottom:8px}.plan-weeks{display:flex;flex-direction:column;gap:12px}.plan-weeks span{font-size:.85rem;color:var(--muted);padding-left:24px;position:relative}.plan-weeks span:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:8px;height:8px;background:var(--ink);border-radius:50%;opacity:.2}.plan-weeks span:first-child:before{opacity:1}.stats-card{flex:1;display:flex;flex-direction:column}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:24px}.stat-item{background:var(--card);border:1px solid var(--border-subtle);border-radius:16px;padding:20px 16px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;flex-direction:column;gap:6px}.stat-value{font-family:var(--font-display);font-size:1.75rem;font-weight:600;color:var(--accent);line-height:1}.stat-label{font-size:.8rem;color:var(--muted);line-height:1.4}.info-card{flex:1;flex-direction:column}.info-image-wrapper{flex:1;display:flex;align-items:center;justify-content:center;padding:20px 0}.info-image{max-width:100%;max-height:60vh;object-fit:contain;border-radius:0}.info-list{list-style:none;padding:0;margin:24px 0 0;display:flex;flex-direction:column;gap:12px}.info-list li{display:flex;align-items:flex-start;gap:14px;padding:16px 18px;background:var(--card);border:1px solid var(--border-subtle);border-radius:14px;font-size:.9rem;color:var(--ink-soft);line-height:1.4;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.info-list li:before{content:"✓";display:flex;align-items:center;justify-content:center;width:22px;height:22px;background:var(--ink);color:#fff;border-radius:50%;font-size:.7rem;font-weight:700;flex-shrink:0;margin-top:1px}.results-card{flex:1;display:flex;flex-direction:column;gap:24px}.results-card .step-header{text-align:center;margin-bottom:8px}.results-card .step-eyebrow{margin-bottom:16px}.results-card .step-header h1{max-width:none;font-size:clamp(1.5rem,6vw,2rem)}.mood-board{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;border-radius:20px;overflow:hidden}.mood-tile{aspect-ratio:1;background:linear-gradient(135deg,var(--paper-warm) 0%,rgba(154,123,91,.15) 100%)}.mood-tile:nth-child(1){background:linear-gradient(135deg,#e8e2d9,#d4cbc0)}.mood-tile:nth-child(2){background:linear-gradient(135deg,#c9bfb3,#b8a999)}.mood-tile:nth-child(3){background:linear-gradient(135deg,#ddd8d0,#cec6bb)}.mood-tile:nth-child(4){background:linear-gradient(135deg,#b8a999,#a69787)}.mood-tile:nth-child(5){background:linear-gradient(135deg,#d4cbc0,#c4b9ac)}.mood-tile:nth-child(6){background:linear-gradient(135deg,#cec6bb,#bdb3a6)}.palette-row{display:flex;justify-content:center;gap:10px;padding:16px 0}.palette-swatch{width:32px;height:32px;border-radius:50%;border:3px solid white;box-shadow:var(--shadow-md);transition:transform .2s var(--ease-out-back)}.palette-swatch:hover{transform:scale(1.15)}.results-grid{display:flex;flex-direction:column;gap:12px}.results-block{background:var(--card);border:1px solid var(--border-subtle);border-radius:16px;padding:18px 20px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.results-block h3{font-family:var(--font-body);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin:0 0 12px}.results-block ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.results-block li{font-size:.9rem;color:var(--ink-soft);padding-left:16px;position:relative}.results-block li:before{content:"";position:absolute;left:0;top:8px;width:6px;height:6px;background:var(--ink);border-radius:50%}.paywall-card{flex:1;display:flex;flex-direction:column}.paywall-card .step-header{text-align:center}.paywall-card .step-header h1{max-width:none}.paywall-list{list-style:none;padding:0;margin:24px 0 0;display:flex;flex-direction:column;gap:10px}.paywall-list li{display:flex;align-items:center;gap:14px;padding:14px 18px;background:var(--card);border:1px solid var(--border-subtle);border-radius:14px;font-size:.9rem;color:var(--ink-soft);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.paywall-list li:before{content:"✓";display:flex;align-items:center;justify-content:center;width:22px;height:22px;background:var(--ink);color:#fff;border-radius:50%;font-size:.7rem;font-weight:700;flex-shrink:0}.paywall-card .step-helper{text-align:center;border-top:none;padding-top:0;margin-top:24px;font-size:.8rem}.tips-card{flex:1;display:flex;flex-direction:column}.tips-track{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -20px;padding:4px 20px 16px;-webkit-overflow-scrolling:touch}.tips-track::-webkit-scrollbar{display:none}.tip-item{flex:0 0 280px;scroll-snap-align:start;background:var(--card);border:1px solid var(--border-subtle);border-radius:16px;padding:20px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.tip-item h3{font-family:var(--font-body);font-size:.95rem;font-weight:600;color:var(--ink);margin:0 0 8px}.tip-item p{font-size:.85rem;color:var(--muted);margin:0;line-height:1.5}.other-field{margin-top:20px;padding-top:20px;border-top:1px solid var(--border-subtle)}.other-field label{display:block;font-size:.85rem;font-weight:500;color:var(--ink-soft);margin-bottom:10px}.other-field input{width:100%;padding:14px 18px;border:1px solid var(--border-default);border-radius:12px;font-size:.95rem;color:var(--ink);background:var(--card-solid);transition:border-color .2s,box-shadow .2s}.other-field input:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px #00000014}.other-field input::placeholder{color:var(--subtle)}.onboarding-footer{position:fixed;bottom:20px;left:0;right:0;z-index:100;display:flex;flex-direction:column;gap:12px;padding:16px 20px;background:var(--paper);max-width:520px;margin:0 auto}.onboarding-footer:before{content:"";position:absolute;top:-32px;left:0;right:0;height:32px;background:linear-gradient(to top,var(--paper),transparent);pointer-events:none}.footer-actions{display:flex;flex-direction:column;gap:10px}.onboarding-primary{--background: #1a1a1a;--background-hover: #000000;--background-activated: #000000;--background-focused: #000000;--color: white;--color-activated: white;--color-focused: white;--border-radius: 16px;--padding-top: 18px;--padding-bottom: 18px;--padding-start: 24px;--padding-end: 24px;--ripple-color: transparent;--box-shadow: none;font-family:var(--font-body);font-size:1rem;font-weight:600;text-transform:none;letter-spacing:0;box-shadow:none;transition:opacity .15s ease;margin:0;width:100%}.onboarding-primary:hover{opacity:.9}.onboarding-primary:active{opacity:.85}.onboarding-primary:disabled{opacity:.35}.onboarding-secondary{--color: var(--ink-soft);--border-radius: 14px;--border-color: var(--border-default);--border-width: 1px;--padding-top: 14px;--padding-bottom: 14px;--padding-start: 24px;--padding-end: 24px;--background-hover: var(--card);font-family:var(--font-body);font-size:.9rem;font-weight:500;text-transform:none;margin:0}.skip-link{display:inline-block;border:none;background:transparent;color:var(--muted);font-size:.85rem;text-decoration:none;cursor:pointer;padding:8px 0;text-align:center;transition:color .2s}.skip-link:hover{color:var(--ink-soft)}@media (min-width: 600px){.onboarding-plan-shell{padding:32px 40px 48px;max-width:580px}.step-header h1{font-size:2.25rem}.option-grid.layout-grid{grid-template-columns:repeat(2,1fr);gap:12px}.stats-grid{grid-template-columns:repeat(2,1fr)}.results-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.footer-actions{flex-direction:row}.footer-actions ion-button{flex:1}}@media (min-width: 768px){.onboarding-plan-shell{max-width:640px;padding:48px 48px 64px}.intro-card .step-header h1{font-size:3rem}.intro-stats{flex-direction:row}.intro-stat{flex:1;flex-direction:column;align-items:flex-start;gap:8px}}@media print{.onboarding-header,.onboarding-footer{display:none}.onboarding-plan-content:before,.onboarding-plan-content:after{display:none}}.onboarding-plan-page.is-landing .onboarding-plan-shell{padding:0;max-width:none}.onboarding-step.is-landing{padding-bottom:0;justify-content:flex-start}.landing-card{display:flex;flex-direction:column;height:100%;background:var(--paper)}.landing-header{display:flex;justify-content:flex-end;padding-right:20px;padding-top:20px}.language-selector{display:flex;align-items:center;gap:4px;background:var(--paper);border:1px solid var(--border-default);border-radius:100px;padding:6px 12px 6px 10px;box-shadow:0 1px 3px #0000000a}.language-flag{font-size:1rem;line-height:1}.language-dropdown{--padding-start: 4px;--padding-end: 0;font-size:.875rem;font-weight:500;color:var(--ink);min-height:auto}.language-dropdown::part(text){margin-right:0}.language-dropdown::part(icon){opacity:.5;margin-left:2px}.landing-main{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;overflow:hidden;position:relative}.phone-mockup{width:100%;max-width:260px;aspect-ratio:9 / 19;transform:translate(150%,100%) rotate(20deg);opacity:0}.phone-mockup.is-ready{animation:phoneArcLoop 20.5s ease-in-out infinite}@keyframes phoneArcLoop{0%{transform:translate(150%,100%) rotate(20deg);opacity:0}2%{opacity:1}5%{transform:translate(0) rotate(0);opacity:1}95%{transform:translate(0) rotate(0);opacity:1}98%{opacity:1}to{transform:translate(-150%,100%) rotate(-20deg);opacity:0}}.phone-video{width:100%;height:100%;object-fit:cover}.phone-frame{position:relative;width:100%;height:100%;background:#000;border-radius:40px;padding:8px;box-shadow:0 0 0 2px #1a1a1a,0 20px 60px #0000004d,0 10px 30px #0003}.phone-notch{position:absolute;top:12px;left:50%;transform:translate(-50%);width:90px;height:24px;background:#000;border-radius:12px;z-index:10}.phone-screen{width:100%;height:100%;background:#1a1a1a;border-radius:32px;overflow:hidden;display:flex;align-items:center;justify-content:center}.video-placeholder{width:100%;height:100%;background:linear-gradient(135deg,#2a2a2a,#1a1a1a);display:flex;align-items:center;justify-content:center;color:#ffffff4d;font-size:.875rem;font-weight:500}.landing-title{font-family:var(--font-display);font-size:clamp(1.75rem,8vw,2.5rem);font-weight:700;text-align:center;color:var(--ink);margin:0 0 8px;line-height:1.1!important;letter-spacing:-.025em}.landing-title>span{line-height:1.1!important}.landing-footer{padding:24px 20px;display:flex;flex-direction:column;align-items:center;gap:16px;background:var(--paper)}.landing-cta{--background: #1a1a1a;--background-hover: #000000;--background-activated: #000000;--color: white;--border-radius: 16px;--padding-top: 18px;--padding-bottom: 18px;--padding-start: 24px;--padding-end: 24px;--box-shadow: none;font-family:var(--font-body);font-size:1rem;font-weight:600;text-transform:none;letter-spacing:0;margin:0;width:100%;max-width:400px}.landing-signin{font-family:var(--font-body);font-size:.9rem;color:var(--muted);margin:0;text-align:center}.signin-link{font-family:var(--font-body);background:none;border:none;padding:0;color:var(--ink);font-weight:600;font-size:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.signin-link:hover{color:var(--ink);opacity:.7}@media (min-width: 600px){.phone-mockup{max-width:280px}.landing-title{font-size:2.5rem}.landing-footer{padding:32px 40px}.landing-cta{max-width:320px}}.signup-card{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;min-height:100%;gap:40px}.signup-header{text-align:center;max-width:300px}.signup-title{font-family:var(--font-display);font-size:1.75rem;font-weight:700;color:var(--ink);text-align:center;margin:0;letter-spacing:-.02em}.signup-subtitle{font-family:var(--font-body);font-size:.95rem;color:var(--muted);text-align:center;margin:12px 0 0;line-height:1.5}.signup-buttons{display:flex;flex-direction:column;gap:12px;width:100%;max-width:280px}.signup-button{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:16px 24px;border-radius:100px;font-family:var(--font-body);font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease}.signup-button-apple{background:var(--ink);color:var(--paper);border:none}.signup-button-apple ion-icon{font-size:1.25rem}.signup-button-apple:hover{opacity:.9}.signup-button-apple:active{transform:scale(.98)}.signup-button-google{background:var(--paper);color:var(--ink);border:1px solid var(--ink)}.signup-button-google:hover{background:var(--card)}.signup-button-google:active{transform:scale(.98)}.signup-google-icon{width:20px;height:20px}.signup-email-link{background:none;border:none;padding:12px;font-family:var(--font-body);font-size:.9rem;color:var(--muted);cursor:pointer;text-decoration:underline;text-underline-offset:2px}.signup-skip-link{background:none;border:none;padding:12px;font-family:var(--font-body);font-size:.9rem;color:var(--muted);cursor:pointer}.signup-skip-bold{font-weight:700;text-decoration:underline;text-underline-offset:2px}.signup-terms{font-family:var(--font-body);font-size:.75rem;color:var(--muted);text-align:center;margin:16px 0 0;line-height:1.4}.signup-terms button{background:none;border:none;padding:0;font-family:inherit;font-size:inherit;color:var(--ink);font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.signup-skip{font-family:var(--font-body);font-size:.875rem;color:var(--muted);text-align:center}.signup-skip-link{background:none;border:none;padding:0;font-family:var(--font-body);font-size:inherit;color:var(--ink);font-weight:500;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.signup-skip-link:hover{opacity:.7}.signin-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:999;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.signin-modal{position:fixed;bottom:0;left:0;right:0;background:var(--paper);border-radius:24px 24px 0 0;padding:16px 24px;padding-bottom:calc(env(safe-area-inset-bottom,20px) + 24px);z-index:1000;max-height:60vh;overflow-y:auto;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.signin-modal-handle{width:36px;height:4px;background:var(--border-default);border-radius:2px;margin:0 auto 20px}.signin-modal-title{font-family:var(--font-display);font-size:1.5rem;font-weight:700;color:var(--ink);text-align:center;margin:0 0 24px;letter-spacing:-.02em}.signin-modal-buttons{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.signin-modal-btn{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:14px 24px;border-radius:100px;font-family:var(--font-body);font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease}.signin-modal-btn-apple{background:var(--ink);color:var(--paper);border:none}.signin-modal-btn-apple ion-icon{font-size:1.25rem}.signin-modal-btn-apple:active{transform:scale(.98)}.signin-modal-btn-google{background:var(--paper);color:var(--ink);border:1px solid var(--ink)}.signin-modal-btn-google img{width:20px;height:20px}.signin-modal-btn-google:active{transform:scale(.98)}.signin-modal-email-link{display:block;width:100%;background:none;border:none;padding:12px;font-family:var(--font-body);font-size:.9rem;color:var(--muted);text-align:center;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.signin-modal-form{display:flex;flex-direction:column;gap:12px}.signin-modal-toggle{display:flex;background:var(--card);border-radius:100px;padding:4px;margin-bottom:8px}.signin-modal-toggle button{flex:1;padding:10px 16px;border:none;background:transparent;border-radius:100px;font-family:var(--font-body);font-size:.9rem;font-weight:500;color:var(--muted);cursor:pointer;transition:all .2s ease}.signin-modal-toggle button.is-active{background:var(--paper);color:var(--ink);box-shadow:0 1px 3px #0000001a}.signin-modal-input{width:100%;padding:14px 16px;border:1px solid var(--border-default);border-radius:12px;font-family:var(--font-body);font-size:1rem;color:var(--ink);background:var(--paper);outline:none;transition:border-color .2s ease}.signin-modal-input:focus{border-color:var(--ink)}.signin-modal-input::placeholder{color:var(--muted)}.signin-modal-submit{width:100%;padding:14px 24px;background:var(--ink);color:var(--paper);border:none;border-radius:100px;font-family:var(--font-body);font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;margin-top:4px}.signin-modal-submit:active{transform:scale(.98)}.signin-modal-submit.is-disabled{opacity:.4;cursor:not-allowed}.signin-modal-forgot-link,.signin-modal-back-link{display:block;width:100%;background:none;border:none;padding:8px;font-family:var(--font-body);font-size:.85rem;color:var(--muted);text-align:center;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.signin-modal-terms{font-family:var(--font-body);font-size:.75rem;color:var(--muted);text-align:center;margin:20px 0 0;line-height:1.4}.signin-modal-terms button{background:none;border:none;padding:0;font-family:inherit;font-size:inherit;color:var(--ink);font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.paywall-trial-card{display:flex;flex-direction:column;align-items:center;height:100%;padding:60px 24px 0;position:relative}.paywall-trial-header{position:absolute;top:24px;right:20px;z-index:2}.paywall-trial-logout{background:transparent;border:none;font-family:var(--font-body);font-size:.85rem;font-weight:600;color:var(--ink);cursor:pointer;padding:4px 6px}.paywall-trial-title{font-family:var(--font-display);font-size:clamp(1.5rem,6vw,1.875rem);font-weight:700;text-align:center;color:var(--ink);margin:0;line-height:1.15;letter-spacing:-.02em;max-width:280px}.paywall-trial-video{flex:1;display:flex;align-items:center;justify-content:center;width:100%;overflow:hidden;padding:24px 0}.paywall-trial-phone{width:100%;max-width:200px;aspect-ratio:9 / 19}.paywall-trial-phone .phone-frame{position:relative;width:100%;height:100%;background:#000;border-radius:32px;padding:6px;box-shadow:0 0 0 2px #1a1a1a,0 16px 48px #00000040,0 8px 24px #00000026}.paywall-trial-phone .phone-notch{position:absolute;top:10px;left:50%;transform:translate(-50%);width:72px;height:20px;background:#000;border-radius:10px;z-index:10}.paywall-trial-phone .phone-screen{width:100%;height:100%;background:#1a1a1a;border-radius:26px;overflow:hidden;display:flex;align-items:center;justify-content:center}.paywall-trial-footer{width:100%;display:flex;flex-direction:column;align-items:center;gap:12px;padding:16px 0 24px;flex-shrink:0}.paywall-trial-check{display:flex;align-items:center;gap:6px;font-family:var(--font-body);font-size:.9rem;font-weight:500;color:var(--ink);margin:0}.paywall-trial-check-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;font-size:.75rem;font-weight:700}.paywall-trial-cta{width:100%;max-width:400px;padding:18px 24px;background:#1a1a1a;color:#fff;border:none;border-radius:16px;font-family:var(--font-body);font-size:1rem;font-weight:600;cursor:pointer;transition:opacity .15s ease}.paywall-trial-cta:hover{opacity:.9}.paywall-trial-cta:active{opacity:.85}.paywall-trial-pricing{font-family:var(--font-body);font-size:.8rem;color:var(--muted);margin:0;text-align:center}.paywall-reminder-card{display:flex;flex-direction:column;height:100%}.paywall-reminder-header{display:flex;align-items:center;justify-content:space-between;padding:8px 0;flex-shrink:0}.paywall-reminder-back{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;background:transparent;border-radius:50%;color:var(--ink);cursor:pointer;font-size:20px}.paywall-reminder-restore{background:none;border:none;padding:8px 12px;font-family:var(--font-body);font-size:.9rem;color:var(--muted);cursor:pointer}.paywall-reminder-content{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 24px;gap:40px}.paywall-reminder-title{font-family:var(--font-display);font-size:clamp(1.5rem,6vw,1.875rem);font-weight:700;text-align:center;color:var(--ink);margin:0;line-height:1.15;letter-spacing:-.02em;max-width:300px}.paywall-reminder-bell{display:flex;align-items:center;justify-content:center;margin:24px 0}.paywall-reminder-bell-icon{position:relative;display:inline-flex}.paywall-reminder-bell-icon svg{width:120px;height:120px}.paywall-reminder-badge{position:absolute;top:-6px;right:-6px;width:36px;height:36px;background:#c0392b;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:700;font-family:var(--font-body);animation:badgePop .5s .4s var(--ease-out-expo) both}@keyframes badgePop{0%{transform:scale(0);opacity:0}60%{transform:scale(1.3);opacity:1}to{transform:scale(1);opacity:1}}.training-card.is-greeting .training-title,.training-card.is-greeting .training-ring,.training-card.is-greeting .training-checklist{opacity:.15;transition:opacity .6s ease}.training-greeting{animation:greetingFadeIn .6s var(--ease-out-expo) both;padding:0 4px 100px}.training-greeting-text{font-size:1.15rem;font-weight:500;line-height:1.6;color:var(--ink);white-space:pre-line}.training-greeting-cursor{display:inline;font-weight:300;animation:cursorBlink .6s step-end infinite}@keyframes cursorBlink{0%,to{opacity:1}50%{opacity:0}}@keyframes greetingFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}:root{--ion-safe-area-top: env(safe-area-inset-top, 0px);--ion-safe-area-bottom: env(safe-area-inset-bottom, 0px);--ion-safe-area-left: env(safe-area-inset-left, 0px);--ion-safe-area-right: env(safe-area-inset-right, 0px)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;width:100%;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Helvetica Neue,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fff;color:#000}@media (min-width: 520px){#root{max-width:520px;margin:0 auto;box-shadow:0 0 40px #00000014}}button{cursor:pointer;font-family:inherit}select{font-family:inherit}.onboarding-plan-content{-webkit-overflow-scrolling:touch;scroll-behavior:smooth}.landing-loader{position:absolute;top:0;right:0;bottom:0;left:0;z-index:100;background:#fff;display:flex;align-items:center;justify-content:center;animation:loaderFadeIn .2s ease}.landing-loader-spinner{width:32px;height:32px;border:3px solid #e0e0e0;border-top-color:#000;border-radius:50%;animation:spin .7s linear infinite}.landing-card .phone-mockup{max-width:200px}button.onboarding-primary,button.landing-cta{display:flex;align-items:center;justify-content:center;width:100%;background:var(--background, #1a1a1a);color:var(--color, #fff);border:none;border-radius:var(--border-radius, 16px);padding:var(--padding-top, 18px) var(--padding-end, 24px) var(--padding-bottom, 18px) var(--padding-start, 24px);font-family:var(--font-body, inherit);font-size:1rem;font-weight:600;text-transform:none;letter-spacing:0;line-height:1;box-shadow:none;transition:opacity .15s ease;margin:0;-webkit-font-smoothing:antialiased}button.onboarding-primary:hover,button.landing-cta:hover{opacity:.9}button.onboarding-primary:active,button.landing-cta:active{opacity:.85}button.onboarding-primary:disabled,button.landing-cta:disabled{opacity:.35}button.landing-cta{max-width:400px}button.onboarding-secondary{display:flex;align-items:center;justify-content:center;width:100%;background:transparent;color:var(--ink-soft, #4a4540);border:1px solid var(--border-default, rgba(0, 0, 0, .1));border-radius:14px;padding:14px 24px;font-family:var(--font-body, inherit);font-size:.9rem;font-weight:500;text-transform:none;line-height:1;margin:0;transition:background .15s ease}button.onboarding-secondary:hover{background:var(--card, rgba(245, 243, 240, .8))}.language-selector{position:relative}.language-selector select.language-dropdown{font-size:.875rem;font-weight:500;color:var(--ink, #1a1917);padding:0 20px 0 4px;min-height:auto;background:transparent;border:none;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' fill='none'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23666' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 2px center;background-size:10px 6px}.language-selector select.language-dropdown option{font-size:16px;padding:12px 16px}.download-app-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100%;padding:40px 24px;text-align:center;background:#fff}.download-app-success-icon{font-size:64px;margin-bottom:24px;animation:celebratePop .6s cubic-bezier(.16,1,.3,1) forwards}@keyframes celebratePop{0%{transform:scale(0);opacity:0}50%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}.download-app-title{font-size:28px;font-weight:700;margin-bottom:12px;line-height:1.2}.download-app-subtitle{font-size:16px;color:#6b6b6b;margin-bottom:40px;line-height:1.5;max-width:320px}.download-app-badges{display:flex;gap:16px;margin-bottom:32px}.download-app-badge{height:48px;border-radius:8px;transition:transform .2s ease}.download-app-badge:hover{transform:scale(1.05)}.download-app-or{font-size:14px;color:#999;margin-bottom:16px}.download-app-qr{width:160px;height:160px;background:#f5f5f5;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:32px}.download-app-header{position:absolute;top:0;right:0;left:0;display:flex;justify-content:flex-end;padding:12px 16px;padding-top:max(12px,env(safe-area-inset-top,12px))}.download-app-logout{font-size:14px;font-weight:500;color:#999;background:none;border:none;cursor:pointer;padding:6px 12px;border-radius:8px;transition:background .2s,color .2s}.download-app-logout:hover{background:#f0f0f0;color:#666}.download-app-login-reminder{width:100%;max-width:360px;background:#f8f8f8;border-radius:16px;padding:20px 24px;margin-bottom:24px;text-align:center}.download-app-login-icon{margin-bottom:12px}.download-app-provider-icon{width:28px;height:28px}.download-app-provider-icon-apple{font-size:28px;line-height:1}.download-app-provider-icon-apple:before{content:"";font-family:"Font Awesome 5 Brands",sans-serif}.download-app-provider-icon-email{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:#000;color:#fff;border-radius:50%;font-size:14px;font-weight:700}.download-app-login-text{font-size:16px;color:#000;line-height:1.4;margin-bottom:8px}.download-app-login-email{font-size:14px;color:#6b6b6b}.download-app-login-detail{font-size:13px;color:#999;line-height:1.4}.download-app-help{margin-top:8px;font-size:13px;color:#999;line-height:1.5}.download-app-help-link{color:#000;font-weight:600;text-decoration:none}.download-app-help-link:hover{text-decoration:underline}.signin-modal-spinner{display:inline-block;width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.signin-modal-error{font-size:13px;color:#e53935;text-align:center;margin-top:8px;line-height:1.4}.paywall-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#fff;overflow:auto;-webkit-overflow-scrolling:touch;visibility:hidden;pointer-events:none}.paywall-overlay.is-visible{visibility:visible;pointer-events:auto}
