.onboarding-plan-page{--ion-background-color: #ffffff;--ion-background-color-rgb: 255, 255, 255;--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}.onboarding-plan-shell.is-fullscreen{padding:0;max-width:none;overflow:visible}.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-pulsing{animation:cardEnter .35s var(--ease-out-expo) both,optionPulse 1.8s ease-in-out var(--pulse-delay, .8s) infinite}@keyframes optionPulse{0%{transform:scale(1)}16.6%{transform:scale(.96)}33.3%,to{transform:scale(1)}}@media (prefers-reduced-motion: reduce){.option-card.is-pulsing{animation:cardEnter .35s var(--ease-out-expo) both}}.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;background:none;border:none;padding:0;cursor:pointer}.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;background:none;border:none;padding:0;cursor:pointer;font-family:inherit}.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 24px;gap:0}.completion-accent-line{width:40px;height:3px;border-radius:2px;background:var(--accent);margin-bottom:32px;opacity:0;transform:scaleX(0);animation:comp-lineIn .6s var(--ease-out-expo) .2s forwards}@keyframes comp-lineIn{to{opacity:1;transform:scaleX(1)}}.completion-mark{width:80px;height:80px;margin-bottom:28px;opacity:0;animation:comp-markFade .4s ease .3s forwards}@keyframes comp-markFade{to{opacity:1}}.completion-mark-svg{width:100%;height:100%}.completion-mark-ring{stroke:var(--ink);stroke-dasharray:226;stroke-dashoffset:226;animation:comp-ringDraw .8s cubic-bezier(.65,0,.35,1) .5s forwards}@keyframes comp-ringDraw{to{stroke-dashoffset:0}}.completion-mark-check{stroke:var(--accent);stroke-dasharray:40;stroke-dashoffset:40;animation:comp-checkDraw .4s cubic-bezier(.65,0,.35,1) 1.1s forwards}@keyframes comp-checkDraw{to{stroke-dashoffset:0}}.completion-eyebrow{font-family:var(--font-body);font-size:.8rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:12px;opacity:0;transform:translateY(8px);animation:comp-textIn .5s var(--ease-out-expo) 1.3s forwards}.completion-title{font-family:var(--font-display);font-size:clamp(1.6rem,7vw,2rem);font-weight:700;color:var(--ink);line-height:1.15;letter-spacing:-.03em;margin:0;text-align:center;max-width:280px;opacity:0;transform:translateY(12px);animation:comp-textIn .6s var(--ease-out-expo) 1.5s forwards}@keyframes comp-textIn{to{opacity:1;transform:translateY(0)}}.completion-dots{display:flex;gap:8px;margin-top:24px;opacity:0;animation:comp-textIn .4s var(--ease-out-expo) 1.8s forwards}.completion-dots span{width:5px;height:5px;border-radius:50%;background:var(--border-default)}.completion-dots span:nth-child(2){background:var(--accent)}.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}@keyframes savingsAmountIn{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes savingsLineGrow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes savingsItemIn{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.savings-card{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;gap:32px}.savings-hero{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px}.savings-label{font-family:var(--font-body);font-size:.875rem;font-weight:500;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;opacity:0;animation:savingsItemIn .5s var(--ease-out-expo) .1s forwards}.savings-label strong{color:var(--ink);font-weight:700;font-size:1.25rem}.savings-amount-row{display:flex;align-items:baseline;gap:4px;opacity:0;animation:savingsAmountIn .8s var(--ease-out-expo) .3s forwards}.savings-amount{font-family:var(--font-display);font-size:clamp(4rem,16vw,6rem);font-weight:700;color:var(--ink);line-height:1;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.savings-period{font-family:var(--font-display);font-size:clamp(1.25rem,4vw,1.5rem);font-weight:600;color:var(--muted);margin-bottom:.15em}.savings-accent-line{width:48px;height:3px;background:var(--accent);border-radius:2px;margin:12px 0;transform-origin:center;transform:scaleX(0);animation:savingsLineGrow .6s var(--ease-out-expo) 1s forwards}.savings-subtitle{font-family:var(--font-body);font-size:1rem;color:var(--muted);margin:0;line-height:1.5;max-width:260px;opacity:0;animation:savingsItemIn .5s var(--ease-out-expo) 1.2s forwards}.savings-breakdown{display:flex;flex-direction:column;gap:0;width:100%;max-width:300px}.savings-breakdown-item{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--border-default);opacity:0;animation:savingsItemIn .4s var(--ease-out-expo) forwards}.savings-breakdown-item:last-child{border-bottom:none}.savings-breakdown-item:nth-child(1){animation-delay:1.5s}.savings-breakdown-item:nth-child(2){animation-delay:1.65s}.savings-breakdown-item:nth-child(3){animation-delay:1.8s}.savings-breakdown-dot{width:6px;height:6px;border-radius:50%;background:var(--ink);flex-shrink:0}.savings-breakdown-label{font-family:var(--font-body);font-size:.9rem;font-weight:500;color:var(--ink-soft);text-align:left;line-height:1.3}.savings-footnote{font-family:var(--font-body);font-size:.75rem;color:var(--subtle);font-weight:400;margin:0;max-width:260px;text-align:center;opacity:0;animation:savingsItemIn .5s ease 2.2s forwards}.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:0;left:0;right:0;z-index:100;display:flex;flex-direction:column;gap:12px;padding:16px 20px 36px;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)}.ca-intro-card{display:flex;flex-direction:column;align-items:center;flex:1;padding-bottom:16px}.ca-intro-hero{flex:1;display:flex;align-items:center;justify-content:center;width:100%;min-height:0;padding:12px 0}.ca-intro-image{max-width:100%;max-height:40vh;object-fit:contain;border-radius:20px}.ca-intro-content{text-align:center;padding:0 8px 20px}.ca-intro-title{font-family:var(--font-display);font-size:clamp(1.5rem,6vw,1.875rem);font-weight:700;color:var(--ink);margin:0;line-height:1.15;letter-spacing:-.025em}.ca-intro-subtitle{font-family:var(--font-body);font-size:.95rem;color:var(--muted);line-height:1.5;max-width:320px;margin:10px auto 0}.ca-intro-actions{display:flex;flex-direction:column;align-items:center;gap:10px;width:100%}.ca-intro-start{width:100%;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;-webkit-tap-highlight-color:transparent}.ca-intro-start:hover{opacity:.9}.ca-intro-start:active{opacity:.85}.ca-intro-skip{background:none;border:none;padding:10px 16px;font-family:var(--font-body);font-size:.85rem;font-weight:700;color:var(--muted);cursor:pointer;-webkit-tap-highlight-color:transparent}@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:10px 24px 0;position:relative}.paywall-trial-header{position:absolute;top:24px;right:20px;z-index:2;display:flex;align-items:center;gap:12px}.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-delete{background:transparent;border:none;font-family:var(--font-body);font-size:.8rem;font-weight:500;color:#c53030;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;min-height:60vh;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}}.brands-card{display:flex;flex-direction:column;padding:10px 10px 120px}.brands-card .step-header{margin-bottom:12px}.brands-card .step-header h1{font-size:clamp(1.25rem,5.5vw,1.75rem)}.brands-card .step-subtitle{font-size:.85rem;margin-top:4px}.brands-header-sticky{position:sticky;top:0;z-index:5;background:var(--paper);padding-bottom:10px}.brands-search{position:relative;display:flex;align-items:center;background:var(--card);border-radius:14px;padding:0 16px;margin-top:4px;transition:box-shadow .2s ease}.brands-search:focus-within{box-shadow:0 0 0 2px var(--ink)}.brands-search-icon{flex-shrink:0;color:var(--subtle);transition:color .2s ease}.brands-search:focus-within .brands-search-icon{color:var(--ink)}.brands-search-input{flex:1;border:none;background:transparent;padding:11px 12px;font-family:var(--font-body);font-size:.95rem;color:var(--ink);outline:none}.brands-search-input::placeholder{color:var(--subtle)}.brands-search-clear{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:var(--border-default);border-radius:50%;color:var(--ink);font-size:1rem;cursor:pointer;flex-shrink:0;line-height:1;padding:0}.brands-selected-count{font-family:var(--font-body);font-size:.8rem;font-weight:600;color:var(--accent);text-transform:uppercase;letter-spacing:.06em;margin-top:12px}.brands-grid{display:flex;flex-wrap:wrap;gap:8px;padding-top:4px}.brands-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;background:var(--card);border:1.5px solid transparent;border-radius:100px;cursor:pointer;transition:all .2s ease;animation:chipEnter .3s var(--ease-out-expo) both;animation-delay:var(--delay, 0ms);-webkit-tap-highlight-color:transparent}@keyframes chipEnter{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.brands-chip:active{transform:scale(.96)}.brands-chip.is-selected{background:var(--card-selected);border-color:var(--card-selected)}.brands-chip-label{font-family:var(--font-body);font-size:.9rem;font-weight:500;color:var(--ink);white-space:nowrap;line-height:1.2}.brands-chip.is-selected .brands-chip-label{color:var(--card-selected-text)}.brands-chip-action{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;font-size:.8rem;font-weight:600;color:var(--subtle);background:transparent;border:1.5px solid var(--border-default);transition:all .2s ease;flex-shrink:0;line-height:1}.brands-chip.is-selected .brands-chip-action{background:var(--card-selected-text);color:var(--card-selected);border-color:var(--card-selected-text);animation:chipCheckPop .25s var(--ease-out-back)}@keyframes chipCheckPop{0%{transform:scale(0)}to{transform:scale(1)}}.brands-add-custom{padding:8px 16px 0}.brands-chip.is-custom{border-style:dashed;border-color:var(--accent, #222);background:transparent}.brands-empty{display:flex;align-items:center;justify-content:center;padding:40px 20px;text-align:center}.brands-empty p{font-family:var(--font-body);font-size:.95rem;color:var(--muted);margin:0}.pw-card{display:flex;flex-direction:column;align-items:center;height:100%;position:relative;overflow:hidden;animation:pwFadeUp .55s var(--ease-out-expo) both}@keyframes pwFadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.pw-card-content{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;align-items:center;text-align:center;justify-content:center;padding:0 4px;gap:0;width:100%}.pw-title{font-family:var(--font-display);font-size:clamp(1.75rem,7vw,2.25rem);font-weight:800;color:var(--ink);margin:0;line-height:1.1;letter-spacing:-.035em;max-width:340px;opacity:0;animation:pwTextIn .65s var(--ease-out-expo) .2s forwards}.pw-subtitle{font-family:var(--font-body);font-size:1rem;color:var(--muted);margin:14px 0 0;line-height:1.55;max-width:310px;opacity:0;animation:pwTextIn .65s var(--ease-out-expo) .35s forwards}.pw-subtitle-compact{font-family:var(--font-body);font-size:.9rem;color:var(--muted);margin:8px 0 0;line-height:1.5;max-width:310px;text-align:center}@keyframes pwTextIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.pw-footer{width:100%;padding:0 4px 36px;flex-shrink:0;opacity:0;animation:pwTextIn .6s var(--ease-out-expo) .6s forwards}.pw-cta{display:block;width:100%;padding:18px 24px;background:var(--ink);color:#fff;border:none;border-radius:16px;font-family:var(--font-body);font-size:1.0625rem;font-weight:600;cursor:pointer;transition:opacity .15s ease,transform .15s ease;position:relative;overflow:hidden;-webkit-tap-highlight-color:transparent}.pw-cta:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.12) 45%,rgba(255,255,255,.22) 50%,rgba(255,255,255,.12) 55%,transparent 60%);animation:pwShimmer 3.5s ease-in-out 2s infinite}@keyframes pwShimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.pw-cta:active{transform:scale(.98);opacity:.85}.pw-cta.is-disabled{opacity:.3;pointer-events:none}.welcome-card{display:flex;flex-direction:column;align-items:center;height:100%;position:relative;overflow:hidden}.welcome-content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 24px;flex:1;min-height:0;overflow-y:auto;justify-content:center}.welcome-title{font-family:var(--font-display);font-size:clamp(1.5rem,6vw,1.75rem);font-weight:600;color:var(--ink);margin:0;line-height:1.2;letter-spacing:-.01em;opacity:0;animation:pwTextIn .7s var(--ease-out-expo) .3s forwards}.welcome-brand{font-family:var(--font-display);font-size:clamp(2.75rem,11vw,3.75rem);font-weight:900;color:var(--ink);margin:2px 0 0;line-height:1;letter-spacing:-.03em;text-transform:uppercase;opacity:0;animation:pwTextIn .7s var(--ease-out-expo) .5s forwards}.welcome-highlight{font-family:var(--font-display);font-size:clamp(1.75rem,7vw,2.25rem);font-weight:600;color:#7c9a82;margin:0;line-height:1.2;letter-spacing:.02em;opacity:0;animation:pwTextIn .7s var(--ease-out-expo) .7s forwards}.welcome-crown{width:clamp(160px,45vw,220px);height:auto;margin:32px 0;opacity:0;animation:welcomeCrownIn .8s var(--ease-out-back) .9s forwards}@keyframes welcomeCrownIn{0%{opacity:0;transform:scale(.8) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}.welcome-description{font-family:var(--font-body);font-size:1rem;color:var(--muted);margin:0;line-height:1.5;max-width:280px;opacity:0;animation:pwTextIn .7s var(--ease-out-expo) 1.2s forwards}.welcome-helper{font-family:var(--font-display);font-size:1.0625rem;font-weight:700;color:var(--ink);margin:12px 0 0;line-height:1.4;opacity:0;animation:pwTextIn .7s var(--ease-out-expo) 1.4s forwards}.welcome-trial-reminder{font-family:var(--font-text, var(--font-display));font-size:.9375rem;font-weight:500;color:#0000009e;margin:18px 24px 0;padding:12px 16px;line-height:1.45;border-radius:14px;background:#0000000a;text-align:center;opacity:0;animation:pwTextIn .7s var(--ease-out-expo) 1.6s forwards}.welcome-footer{position:relative;z-index:2;width:100%;padding:0 24px 24px;margin-top:auto;opacity:0;animation:pwTextIn .7s var(--ease-out-expo) 1.6s forwards}.welcome-cta{width:100%;padding:18px 24px;background:var(--ink);color:#fff;border:none;border-radius:16px;font-family:var(--font-body);font-size:1.0625rem;font-weight:600;cursor:pointer;transition:opacity .15s ease,transform .15s ease;position:relative;overflow:hidden}.welcome-cta:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.15) 45%,rgba(255,255,255,.25) 50%,rgba(255,255,255,.15) 55%,transparent 60%);animation:pwShimmer 3s ease-in-out 2.5s infinite}.welcome-cta:active{transform:scale(.98);opacity:.85}@keyframes wardrobeIntroIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.pw-icon-cluster{position:relative;width:120px;height:80px;margin-bottom:28px}.pw-icon-item{position:absolute;top:50%;left:50%;font-size:2.25rem;line-height:1;opacity:0;animation:pwIconPop .55s var(--ease-out-back) var(--pw-delay, 0s) forwards;transform:translate(calc(-50% + var(--pw-x, 0px)),calc(-50% + var(--pw-y, 0px)))}@keyframes pwIconPop{0%{opacity:0;transform:translate(calc(-50% + var(--pw-x, 0px)),calc(-50% + var(--pw-y, 0px))) scale(0)}to{opacity:1;transform:translate(calc(-50% + var(--pw-x, 0px)),calc(-50% + var(--pw-y, 0px))) scale(1)}}.wardrobe-intro-screenshot{margin-top:16px;width:100%;max-width:240px;border-radius:16px;overflow:hidden;opacity:0;animation:pwTextIn .7s var(--ease-out-expo) .4s forwards;flex:1;min-height:0}.wardrobe-intro-img{width:100%;display:block;object-fit:cover;object-position:top}.ai-ring{position:absolute;z-index:50;pointer-events:none;transition:top .7s var(--ease-out-expo),left .7s var(--ease-out-expo),right .7s var(--ease-out-expo),width .7s var(--ease-out-expo),height .7s var(--ease-out-expo),transform .7s var(--ease-out-expo),opacity .4s ease}.ai-ring.is-full{top:28%;left:50%;transform:translate(-50%,-50%);width:140px;height:140px}.ai-ring.is-mini{top:12px;right:8px;left:auto;transform:none;width:44px;height:44px}.onboarding-plan-shell:has(.ai-ring.is-mini) .onboarding-header{padding-right:56px}.ai-ring.is-hidden{opacity:0;pointer-events:none;width:44px;height:44px;top:8px;right:0;left:auto;transform:none}.ai-ring-svg{width:100%;height:100%;display:block}.ai-ring-progress{transition:stroke-dashoffset .3s ease-out}.ai-ring-number{font-family:var(--font-display);font-weight:800;fill:var(--ink);transition:font-size .7s var(--ease-out-expo)}.ai-ring.is-full .ai-ring-number{font-size:24px}.ai-ring.is-mini .ai-ring-number{font-size:28px}.ai-trainer-card .pw-card-content{padding-top:0}.ai-trainer-ring-spacer{height:160px;flex-shrink:0}.ai-trainer-intro-ring-phase{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 24px;animation:pwFadeUp .6s var(--ease-out-expo) both}.ai-complete-card{overflow:hidden;justify-content:flex-start}.ai-complete-card>.pw-footer{margin-top:auto}.ai-complete-vortex{position:relative;width:200px;height:200px;margin:0 auto;margin-top:15vh;flex-shrink:0;transition:transform .8s var(--ease-out-expo),opacity .6s ease}.ai-complete-vortex.is-done{transform:scale(.65) translateY(-20px);margin-top:8vh}.ai-complete-ring-anchor{position:absolute;top:50%;left:50%;width:140px;height:140px;transform:translate(-50%,-50%)}.ai-complete-ring-svg{width:100%;height:100%}.ai-complete-ring-spinning{animation:aiCompleteRingSpin 3s linear infinite;transform-origin:60px 60px}@keyframes aiCompleteRingSpin{to{transform:rotate(360deg)}}.ai-complete-ring-progress{transition:stroke-dashoffset 2s var(--ease-out-expo)}.ai-complete-ring-num{font-family:var(--font-display);font-size:26px;font-weight:800;fill:var(--ink)}.ai-complete-particles{position:absolute;top:0;right:0;bottom:0;left:0}.ai-complete-particle{position:absolute;top:50%;left:50%;font-family:var(--font-body);font-size:.7rem;font-weight:600;color:var(--ink-soft);background:var(--card);padding:4px 10px;border-radius:20px;white-space:nowrap;transform:translate(-50%,-50%) rotate(var(--p-angle)) translate(var(--p-distance)) rotate(calc(-1 * var(--p-angle)));opacity:0;animation:aiParticleOrbit 1.5s var(--ease-out-expo) var(--p-delay) forwards}@keyframes aiParticleOrbit{0%{opacity:0;transform:translate(-50%,-50%) rotate(var(--p-angle)) translate(0) rotate(calc(-1 * var(--p-angle))) scale(.5)}to{opacity:1;transform:translate(-50%,-50%) rotate(var(--p-angle)) translate(var(--p-distance)) rotate(calc(-1 * var(--p-angle))) scale(1)}}.ai-complete-particle.is-absorbed{animation:aiParticleAbsorb .8s var(--ease-out-expo) var(--p-delay) forwards}@keyframes aiParticleAbsorb{0%{opacity:1;transform:translate(-50%,-50%) rotate(var(--p-angle)) translate(var(--p-distance)) rotate(calc(-1 * var(--p-angle))) scale(1)}to{opacity:0;transform:translate(-50%,-50%) rotate(calc(var(--p-angle) + 90deg)) translate(0) rotate(calc(-1 * (var(--p-angle) + 90deg))) scale(0)}}.ai-complete-processing{font-family:var(--font-body);font-size:.9rem;color:var(--muted);text-align:center;margin:16px 0 0;opacity:0;animation:pwTextIn .4s var(--ease-out-expo) both}.ai-complete-reveal{text-align:center;padding:0 24px}.ai-complete-title{font-family:var(--font-display);font-size:clamp(1.5rem,6vw,2rem);font-weight:800;color:var(--ink);margin:0;line-height:1.15;letter-spacing:-.03em;opacity:0;animation:pwTextIn .6s var(--ease-out-expo) .2s forwards}.ai-complete-background{display:flex;flex-direction:column;align-items:center;padding:20px 20px 0;opacity:0;animation:pwFadeUp .6s var(--ease-out-expo) .1s forwards}.ai-complete-live{display:flex;align-items:center;gap:8px;margin-bottom:12px}.ai-complete-live-dot{width:8px;height:8px;border-radius:50%;background:#34c759;animation:aiLivePulse 1.5s ease-in-out infinite}@keyframes aiLivePulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.3)}}.ai-complete-live-label{font-family:var(--font-body);font-size:.8rem;font-weight:600;color:#34c759;text-transform:uppercase;letter-spacing:.06em}.ai-complete-bg-text{font-family:var(--font-body);font-size:.95rem;color:var(--muted);text-align:center;margin:0;line-height:1.55;max-width:300px}.ai-complete-timeline{display:flex;align-items:flex-start;gap:0;width:100%;max-width:340px;margin-top:24px;position:relative}.ai-complete-timeline:before{content:"";position:absolute;top:13px;left:calc(100% / 6);right:calc(100% / 6);height:2px;background:var(--border-default)}.ai-complete-timeline:after{content:"";position:absolute;top:13px;left:calc(100% / 6);width:0;height:2px;background:var(--ink);animation:aiTimelineFill 1s var(--ease-out-expo) 1s forwards}@keyframes aiTimelineFill{to{width:calc(100% / 6)}}.ai-complete-tl-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;position:relative}.ai-complete-tl-marker{width:16px;height:16px;border-radius:50%;border:2px solid var(--border-default);background:var(--paper);z-index:1;transition:transform .3s ease;margin-top:5px}.ai-complete-tl-marker.is-done{width:28px;height:28px;margin-top:0;background:var(--ink);border-color:var(--ink);box-shadow:0 4px 14px #00000040;animation:aiTodayBounce .7s var(--ease-out-back) .3s both;display:flex;align-items:center;justify-content:center}.ai-complete-tl-marker.is-done:after{content:"✓";font-size:.7rem;color:#fff;font-weight:800}@keyframes aiTodayBounce{0%{transform:scale(0);opacity:0}50%{transform:scale(1.35)}70%{transform:scale(.9)}to{transform:scale(1);opacity:1}}.ai-complete-tl-marker.is-active{border-color:var(--ink);background:var(--paper);animation:aiLivePulse 1.5s ease-in-out infinite}.ai-complete-tl-item:first-child .ai-complete-tl-label{font-family:var(--font-display);font-size:.8rem;font-weight:800;color:var(--ink);text-transform:uppercase;letter-spacing:.04em}.ai-complete-tl-item:first-child .ai-complete-tl-desc{font-family:var(--font-body);font-size:.72rem;font-weight:600;color:var(--ink-soft);text-align:center;line-height:1.3}.ai-complete-tl-label{font-family:var(--font-display);font-size:.7rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.ai-complete-tl-desc{font-family:var(--font-body);font-size:.7rem;color:var(--subtle);text-align:center;line-height:1.3}.ai-trainer-ring-explanation{font-family:var(--font-body);font-size:1rem;color:var(--muted);margin:0;line-height:1.55;max-width:280px;opacity:0;animation:pwTextIn .5s var(--ease-out-expo) .8s forwards}.ai-trainer-intro-card{padding:0}.ai-trainer-intro-content{flex:1;display:flex;flex-direction:column;justify-content:center;padding:60px 8px 0;width:100%}.ai-trainer-typewriter{font-family:var(--font-body);font-size:1.15rem;font-weight:500;line-height:1.65;color:var(--ink);white-space:pre-line;min-height:120px}.ai-trainer-cursor{display:inline;font-weight:300;color:var(--ink);animation:aiCursorBlink .6s step-end infinite}@keyframes aiCursorBlink{0%,to{opacity:1}50%{opacity:0}}.ai-trainer-intro-ring-label{font-family:var(--font-body);font-size:.9rem;color:var(--muted);margin-top:20px;text-align:center;opacity:0;animation:pwTextIn .5s var(--ease-out-expo) .1s forwards}.pw-footer.is-invisible{opacity:0;pointer-events:none}.style-train-card{padding:0}.style-train-header{text-align:center;padding:16px 8px 0;flex-shrink:0}.style-train-title{font-family:var(--font-display);font-size:clamp(1.375rem,5.5vw,1.625rem);font-weight:800;color:var(--ink);margin:0;line-height:1.15;letter-spacing:-.03em}.style-train-subtitle{font-family:var(--font-body);font-size:.9rem;color:var(--muted);margin:6px 0 0;line-height:1.45}.style-train-counter{display:flex;align-items:center;gap:10px;margin-top:16px;padding:0 4px}.style-train-bar{flex:1;height:4px;background:var(--card);border-radius:2px;overflow:hidden}.style-train-bar-fill{height:100%;background:var(--ink);border-radius:2px;transition:width .35s var(--ease-out-expo)}.style-train-count{font-family:var(--font-body);font-size:.75rem;font-weight:600;color:var(--subtle);flex-shrink:0;min-width:32px;text-align:right}.style-train-stage{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:12px 16px;perspective:800px}.style-train-item{display:flex;flex-direction:column;align-items:center;width:100%;max-width:300px;max-height:100%;background:var(--card);border-radius:20px;overflow:hidden}@keyframes stItemIn{0%{opacity:0;transform:scale(.92) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}.style-train-item.exit-yes{animation:stExitYes .3s var(--ease-out-expo) forwards}.style-train-item.exit-no{animation:stExitNo .3s var(--ease-out-expo) forwards}@keyframes stExitYes{to{opacity:0;transform:translate(80px) rotate(6deg) scale(.9)}}@keyframes stExitNo{to{opacity:0;transform:translate(-80px) rotate(-6deg) scale(.9)}}.style-train-img{width:100%;flex:1;min-height:0;object-fit:cover;display:block}.style-train-name{font-family:var(--font-body);font-size:.85rem;font-weight:600;color:var(--ink-soft);padding:12px 16px 14px;text-align:center;line-height:1.3}.style-train-item.is-skeleton{animation:none;width:100%;max-width:300px}.style-train-img-skeleton{width:100%;aspect-ratio:3 / 4;border-radius:20px;background:linear-gradient(90deg,var(--card) 25%,var(--card-hover) 50%,var(--card) 75%);background-size:200% 100%;animation:bsShimmer 1.5s infinite}.style-train-done{display:flex;align-items:center;justify-content:center;width:80px;height:80px}.style-train-done-emoji{font-size:2.5rem;color:var(--ink);opacity:0;animation:pwTextIn .5s var(--ease-out-back) .1s forwards}.style-train-footer{display:flex;flex-direction:column;align-items:center;gap:8px;padding:0 8px 36px;flex-shrink:0;width:100%}.style-train-buttons{display:flex;gap:12px;width:100%}.style-train-continue{margin-top:8px}.style-train-skip-progress{display:flex;flex-direction:column;align-items:center;gap:6px;width:100%;max-width:220px;padding:4px 0}.style-train-skip-bar{width:100%;height:5px;background:#eee;border-radius:3px;overflow:hidden}.style-train-skip-bar-fill{height:100%;background:#435e3b;border-radius:3px;transition:width .6s cubic-bezier(.22,1,.36,1)}.style-train-remaining{font-family:var(--font-body);font-size:.75rem;font-weight:500;color:var(--subtle)}.style-train-skip-anyway{margin-top:2px;background:none;border:none;padding:4px 8px;font-family:var(--font-body);font-size:.7rem;font-weight:600;color:var(--subtle);text-decoration:underline;opacity:.7;cursor:pointer}.style-train-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:16px 12px;border:none;border-radius:16px;font-family:var(--font-body);font-size:.95rem;font-weight:600;cursor:pointer;transition:opacity .15s ease,transform .15s ease;-webkit-tap-highlight-color:transparent}.style-train-btn:active{transform:scale(.96)}.style-train-btn:disabled{pointer-events:none;opacity:.4}.style-train-btn svg{width:20px;height:20px;flex-shrink:0}.style-train-btn.is-no{background:var(--card);color:var(--ink-soft)}.style-train-btn.is-yes{background:var(--ink);color:#fff}.job-picker-card .pw-card-content{justify-content:flex-start;padding-top:8px}.job-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;width:100%;margin-top:28px}.job-option{display:flex;flex-direction:column;align-items:center;gap:10px;padding:24px 8px;background:var(--card);border:2px solid transparent;border-radius:16px;cursor:pointer;transition:border-color .2s ease,transform .15s ease;animation:cardEnter .35s var(--ease-out-expo) both;animation-delay:var(--delay, 0ms);-webkit-tap-highlight-color:transparent}.job-option:active{transform:scale(.96)}.job-option.is-selected{border-color:var(--ink)}.job-option.is-other{border-style:dashed;border-color:var(--border-default)}.job-option.is-other.is-selected{border-style:solid;border-color:var(--ink)}.job-option-emoji{font-size:1.5rem;line-height:1}.job-option-label{font-family:var(--font-body);font-size:.78rem;font-weight:600;color:var(--ink-soft);text-align:center;line-height:1.3}.job-custom{display:flex;flex-direction:column;align-items:center;gap:16px;width:100%;margin-top:28px;animation:pwFadeUp .35s var(--ease-out-expo) both}.job-custom-input{width:100%;padding:18px 20px;font-family:var(--font-body);font-size:1rem;font-weight:500;color:var(--ink);background:var(--card);border:2px solid var(--border-default);border-radius:16px;outline:none;transition:border-color .2s ease;-webkit-appearance:none}.job-custom-input::placeholder{color:var(--subtle);font-weight:400}.job-custom-input:focus{border-color:var(--ink)}.job-custom-back{background:none;border:none;font-family:var(--font-body);font-size:.85rem;font-weight:500;color:var(--muted);cursor:pointer;padding:8px 16px;-webkit-tap-highlight-color:transparent}.job-custom-back:active{opacity:.6}.location-visual{margin-bottom:24px}.location-icon{width:80px;height:80px;display:flex;align-items:center;justify-content:center;opacity:0;animation:pwTextIn .5s var(--ease-out-back) .15s forwards}.location-icon.is-granted{width:64px;height:64px;border-radius:50%;background:var(--ink);color:#fff;font-family:var(--font-display);font-size:1.5rem;font-weight:800;animation:pwTextIn .4s var(--ease-out-back) .1s forwards}.location-img{width:100%;max-width:300px;border-radius:16px;opacity:0;animation:pwTextIn .5s var(--ease-out-back) .15s forwards}.location-pin-svg{width:100%;height:100%}.location-denied-msg{font-family:var(--font-body);font-size:.85rem;color:var(--muted);text-align:center;margin-top:20px;padding:14px 20px;background:var(--card);border-radius:12px;opacity:0;animation:pwFadeUp .35s var(--ease-out-expo) both}.location-skip{display:block;width:100%;padding:12px;margin-top:4px;font-family:var(--font-body);font-size:.875rem;font-weight:500;color:var(--muted);background:none;border:none;cursor:pointer;text-align:center;-webkit-tap-highlight-color:transparent}.location-skip:active{opacity:.6}.streak-card .pw-card-content{justify-content:center;gap:0}.streak-fire{width:180px;height:180px;object-fit:contain;opacity:0;animation:streakFireIn .6s var(--ease-out-back) .2s forwards}@keyframes streakFireIn{0%{opacity:0;transform:scale(0) rotate(-15deg)}to{opacity:1;transform:scale(1) rotate(0)}}.streak-count{font-family:var(--font-display);font-size:clamp(5rem,20vw,7rem);font-weight:900;color:var(--ink);line-height:1;margin-top:16px;opacity:0;animation:streakCountIn .5s var(--ease-out-expo) .5s forwards}@keyframes streakCountIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.streak-label{font-family:var(--font-display);font-size:clamp(1.5rem,6vw,2rem);font-weight:700;color:var(--ink);line-height:1.2;opacity:0;animation:streakCountIn .5s var(--ease-out-expo) .65s forwards}.streak-week{display:flex;gap:12px;margin-top:40px;opacity:0;animation:streakCountIn .5s var(--ease-out-expo) .9s forwards}.streak-day{display:flex;flex-direction:column;align-items:center;gap:8px}.streak-day-label{font-family:var(--font-body);font-size:.8rem;font-weight:600;color:var(--muted);text-transform:capitalize}.streak-day-dot{width:36px;height:36px;border-radius:50%;background:var(--card, #f0f0f0);display:flex;align-items:center;justify-content:center;transition:all .3s ease}.streak-day-dot.is-done{background:var(--accent, #5c7c5e);color:#fff;animation:streakDotPop .4s var(--ease-out-back) 1.1s both}@keyframes streakDotPop{0%{transform:scale(0)}to{transform:scale(1)}}.commit-card .pw-card-content{justify-content:flex-start;padding-top:8px}.commit-gauge{display:flex;flex-direction:column;gap:14px;width:100%;margin-top:32px}.commit-gauge-option{position:relative;display:flex;align-items:center;gap:16px;padding:18px 20px;background:var(--card);border:2px solid transparent;border-radius:16px;text-align:left;cursor:pointer;transition:border-color .2s ease,transform .15s ease;animation:cardEnter .35s var(--ease-out-expo) both;animation-delay:var(--delay, 0ms);-webkit-tap-highlight-color:transparent}.commit-gauge-option:active{transform:scale(.98)}.commit-gauge-option.is-selected{border-color:var(--ink)}.commit-gauge-bar{width:6px;height:100%;min-height:36px;border-radius:3px;background:var(--border-default);position:relative;overflow:hidden;flex-shrink:0}.commit-gauge-fill{position:absolute;bottom:0;left:0;right:0;height:calc(var(--intensity) * 33.33%);background:var(--ink);border-radius:3px;transition:height .3s var(--ease-out-expo);opacity:.3}.commit-gauge-option.is-selected .commit-gauge-fill{opacity:1}.commit-gauge-info{flex:1;display:flex;flex-direction:column;gap:2px}.commit-gauge-label{font-family:var(--font-display);font-size:1rem;font-weight:700;color:var(--ink);line-height:1.3}.commit-gauge-freq{font-family:var(--font-body);font-size:.85rem;color:var(--muted);line-height:1.4}.commit-gauge-rec{font-family:var(--font-body);font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:3px 8px;border-radius:6px;background:var(--ink);color:#fff;flex-shrink:0}.commit-result{display:flex;flex-direction:column;align-items:center;text-align:center;margin-top:32px;padding:24px 20px;background:var(--card);border-radius:20px;width:100%;animation:pwFadeUp .4s var(--ease-out-expo) both}.commit-result-target{display:flex;flex-direction:column;align-items:center;gap:4px}.commit-result-date{font-family:var(--font-display);font-size:clamp(2rem,8vw,2.75rem);font-weight:800;color:var(--ink);line-height:1;letter-spacing:-.04em}.commit-result-label{font-family:var(--font-body);font-size:.9rem;color:var(--muted);line-height:1.4}.commit-result-note{font-family:var(--font-body);font-size:.72rem;color:var(--subtle);margin-top:12px}.commit-reassurance{font-family:var(--font-body);font-size:.8rem;color:var(--subtle);text-align:center;margin-top:28px;padding:0 16px;line-height:1.5}.wardrobe-primer{display:flex;flex-direction:column;align-items:center;height:100%;text-align:center;animation:wardrobePrimerIn .45s var(--ease-out-expo) both}.wardrobe-primer-extraction{width:100%}@keyframes wardrobePrimerIn{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}.wardrobe-primer-dots{display:flex;gap:8px;margin-bottom:24px;flex-shrink:0}.wardrobe-primer-dot{width:8px;height:8px;border-radius:50%;background:var(--border-default);transition:all .3s ease}.wardrobe-primer-dot.is-active{width:24px;border-radius:4px;background:var(--ink)}.wardrobe-primer-dot.is-done{background:var(--ink)}.wardrobe-primer-media{max-width:600px;border-radius:24px;overflow:hidden;flex:1 1 0;min-height:0}.wardrobe-primer-content,.wardrobe-primer-footer{flex-shrink:0}.wardrobe-primer-image{width:100%;height:100%;max-height:500px;object-fit:cover;display:block;box-shadow:0 12px 40px #0000001f}.wardrobe-primer-video{width:100%;height:100%;display:block}.wardrobe-primer-content{display:flex;flex-direction:column;align-items:center;gap:4px;padding:24px 8px;max-width:320px;flex-shrink:0}.wardrobe-primer-emoji{font-size:2rem;line-height:1;margin-bottom:8px}.wardrobe-primer-title{font-family:var(--font-display);font-size:clamp(1.375rem,5.5vw,1.625rem);font-weight:700;color:var(--ink);margin:0;line-height:1.2;letter-spacing:-.02em}.wardrobe-primer-subtitle{font-family:var(--font-body);font-size:.95rem;color:var(--muted);margin:8px 0 0;line-height:1.5}.wardrobe-primer-footer{width:100%;max-width:400px;display:flex;flex-direction:column;gap:8px;align-items:center;padding:16px 0 36px;flex-shrink:0}.wardrobe-primer-cta{width:100%;padding:18px 24px;background:var(--ink);color:#fff;border:none;border-radius:16px;font-family:var(--font-body);font-size:1.0625rem;font-weight:600;cursor:pointer;transition:opacity .15s ease,transform .15s ease}.wardrobe-primer-cta:active{transform:scale(.98);opacity:.85}.wardrobe-primer-skip{background:none;border:none;font-family:var(--font-body);font-size:.875rem;color:var(--muted);cursor:pointer;padding:8px 16px}.wardrobe-primer-skip:active{opacity:.6}.extraction-demo{width:100%;height:100%;display:flex;gap:8px;padding:10px;background:var(--card, #f5f5f5);border-radius:20px}.extraction-source{border-radius:12px;overflow:hidden;opacity:0;animation:extractSourceIn .55s var(--ease-out-expo) .15s forwards}.extraction-source img{width:100%;height:100%;object-fit:cover;display:block}.extraction-item{border-radius:10px;overflow:hidden;background:#fff;opacity:0;transform:scale(.65);animation:extractItemPop .5s var(--ease-out-back) calc(.55s + var(--extract-i) * .1s) forwards}.extraction-item img{width:100%;height:100%;object-fit:cover;display:block}@keyframes extractSourceIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes extractItemPop{0%{opacity:0;transform:scale(.65)}60%{opacity:1;transform:scale(1.04)}to{opacity:1;transform:scale(1)}}.extraction-side{flex-direction:row;align-items:stretch}.extraction-side .extraction-source{flex:1;min-width:0;min-height:0;height:100%}.extraction-side .extraction-source img{height:100%;object-fit:cover}.extraction-side .extraction-items{flex:0 0 100px;display:flex;flex-direction:column;gap:6px;overflow-y:auto}.extraction-side .extraction-item{flex-shrink:0;width:24vw;max-width:150px;max-height:150px;height:24vw;border-radius:10px}.extraction-grid{flex-direction:column}.extraction-grid .extraction-source{flex-shrink:1;min-height:20vh;width:100%;border-radius:12px;overflow:hidden}.extraction-grid .extraction-source img{width:100%;height:100%;object-fit:cover;object-position:center}.extraction-grid .extraction-items{flex-shrink:0;display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.extraction-grid .extraction-item{flex-shrink:0;width:100px;height:100px;border-radius:10px}.extraction-single{flex-direction:column;align-items:center;justify-content:center}.extraction-single .extraction-source{width:200px;height:200px;flex-shrink:0}.extraction-single .extraction-items{display:flex}.extraction-single .extraction-item{width:200px;height:200px;flex-shrink:0}.upload-skip-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#00000073;display:flex;align-items:flex-end;justify-content:center;animation:uploadOverlayIn .25s ease both;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}@keyframes uploadOverlayIn{0%{opacity:0}to{opacity:1}}.upload-skip-modal{width:100%;max-width:420px;background:var(--paper);border-radius:24px 24px 0 0;padding:24px 24px 40px;overflow:hidden;display:flex;flex-direction:column;align-items:center;text-align:center;animation:uploadModalIn .35s var(--ease-out-expo) both}@keyframes uploadModalIn{0%{transform:translateY(100%)}to{transform:translateY(0)}}.upload-skip-modal-img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:16px;margin-bottom:16px}.upload-skip-modal-emoji{font-size:2.5rem;line-height:1;margin-bottom:16px}.upload-skip-modal-title{font-family:var(--font-display);font-size:1.375rem;font-weight:800;color:var(--ink);margin:0;line-height:1.2;letter-spacing:-.02em}.upload-skip-modal-text{font-family:var(--font-body);font-size:.925rem;color:var(--muted);margin:12px 0 0;line-height:1.55;max-width:320px}.upload-skip-modal-cta{width:100%;padding:18px 24px;margin-top:24px;background:var(--ink);color:#fff;border:none;border-radius:16px;font-family:var(--font-body);font-size:1.0625rem;font-weight:600;cursor:pointer;transition:opacity .15s ease,transform .15s ease;-webkit-tap-highlight-color:transparent}.upload-skip-modal-cta:active{transform:scale(.98);opacity:.85}.upload-skip-modal-dismiss{background:none;border:none;font-family:var(--font-body);font-size:.875rem;font-weight:500;color:var(--subtle);cursor:pointer;padding:12px 16px;margin-top:4px;-webkit-tap-highlight-color:transparent}.upload-skip-modal-dismiss:active{opacity:.6}.ws-check-mark{width:80px;height:80px;margin-bottom:24px;opacity:0;animation:pwTextIn .5s var(--ease-out-back) .15s forwards}.ws-check-svg{width:100%;height:100%}.ws-check-ring{stroke-dasharray:190;stroke-dashoffset:190;animation:wsRingDraw .8s var(--ease-out-expo) .3s forwards}@keyframes wsRingDraw{to{stroke-dashoffset:0}}.ws-check-path{stroke-dasharray:40;stroke-dashoffset:40;animation:wsCheckDraw .4s var(--ease-out-expo) .9s forwards}@keyframes wsCheckDraw{to{stroke-dashoffset:0}}.ws-photos{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;width:100%;max-width:280px;margin-top:24px}.ws-photo-item{border-radius:12px;overflow:hidden;opacity:0;animation:wsPhotoIn .45s var(--ease-out-expo) var(--delay, 0s) forwards}@keyframes wsPhotoIn{0%{opacity:0;transform:scale(.88)}to{opacity:1;transform:scale(1)}}.ws-photo-img{width:100%;aspect-ratio:1;object-fit:cover;display:block}.basics-select-card{padding-top:32px;padding-bottom:0;overflow-y:auto}.basics-select-header{text-align:center;margin-bottom:20px;padding:0 8px}.basics-search{position:relative;width:100%;padding:0 4px;margin-bottom:16px}.basics-search-input{width:100%;padding:14px 18px;font-family:var(--font-body);font-size:.95rem;font-weight:500;color:var(--ink);background:var(--card);border:2px solid transparent;border-radius:14px;outline:none;transition:border-color .2s ease;-webkit-appearance:none}.basics-search-input::placeholder{color:var(--subtle);font-weight:400}.basics-search-input:focus{border-color:var(--ink)}.basics-search-spinner{position:absolute;top:50%;right:20px;width:16px;height:16px;border:2px solid var(--border-default);border-top-color:var(--ink);border-radius:50%;animation:bsSpinnerSpin .6s linear infinite;transform:translateY(-50%)}@keyframes bsSpinnerSpin{to{transform:translateY(-50%) rotate(360deg)}}.basics-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:60px 24px}.basics-loading-spinner{width:32px;height:32px;border:3px solid var(--card);border-top-color:var(--ink);border-radius:50%;animation:basicsLoaderSpin .7s linear infinite}@keyframes basicsLoaderSpin{to{transform:rotate(360deg)}}.basics-loading-msg-wrap{height:44px;display:flex;align-items:center;justify-content:center;max-width:260px}.basics-loading-msg{font-family:var(--font-body);font-size:.9rem;color:var(--muted);text-align:center;margin:0;line-height:1.5;transition:opacity .3s ease}.basics-empty{font-family:var(--font-body);font-size:.9rem;color:var(--muted);text-align:center;padding:40px 20px}.basics-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;width:100%;padding:0 4px 120px}@media (min-width: 600px){.basics-grid{grid-template-columns:repeat(3,1fr)}}.basics-tile{display:flex;flex-direction:column;padding:0;background:var(--card);border:2px solid transparent;border-radius:16px;cursor:pointer;overflow:hidden;-webkit-tap-highlight-color:transparent;transition:border-color .2s ease,transform .15s ease;opacity:0;animation:basicsIn .4s var(--ease-out-expo) var(--delay, 0ms) forwards}@keyframes basicsIn{0%{opacity:0;transform:translateY(14px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.basics-tile:active{transform:scale(.96)}.basics-tile.is-selected{border-color:var(--ink)}.basics-tile.is-skeleton{animation:none;opacity:1;pointer-events:none}.basics-tile-img{position:relative;width:100%;aspect-ratio:1;background:var(--card-hover);overflow:hidden}.basics-tile-img img,.basics-tile-img ion-img{width:100%;height:100%;object-fit:cover;display:block}.basics-tile-img ion-img::part(image){object-fit:cover}.basics-tile-check{position:absolute;top:8px;right:8px;width:26px;height:26px;background:var(--ink);border-radius:50%;display:flex;align-items:center;justify-content:center;transform:scale(0);opacity:0;transition:transform .2s var(--ease-out-back),opacity .15s ease}.basics-tile-check.is-visible{transform:scale(1);opacity:1}.basics-tile-check svg{width:14px;height:14px}.basics-tile-name{font-family:var(--font-body);font-size:.8rem;font-weight:600;color:var(--ink-soft);padding:8px 8px 10px;text-align:center;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.basics-tile-img-skeleton{width:100%;aspect-ratio:1;background:linear-gradient(90deg,var(--card) 25%,var(--card-hover) 50%,var(--card) 75%);background-size:200% 100%;animation:bsShimmer 1.5s infinite}.basics-tile-lbl-skeleton{width:60%;height:12px;border-radius:6px;margin:10px auto 12px;background:linear-gradient(90deg,var(--card) 25%,var(--card-hover) 50%,var(--card) 75%);background-size:200% 100%;animation:bsShimmer 1.5s infinite}@keyframes bsShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.basics-show-more{display:block;width:100%;padding:14px;margin:4px 4px 0;font-family:var(--font-body);font-size:.875rem;font-weight:600;color:var(--ink-soft);background:var(--card);border:none;border-radius:14px;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:opacity .15s ease}.basics-show-more:active{opacity:.7}.basics-footer{width:100%;max-width:400px;margin:20px auto 0;padding:24px 4px 36px;position:sticky;bottom:0;background:linear-gradient(to top,var(--paper) 75%,transparent);display:flex;flex-direction:column;gap:4px;align-items:center}.basics-skip{background:none;border:none;font-family:var(--font-body);font-size:.875rem;font-weight:500;color:var(--muted);cursor:pointer;padding:10px 16px;-webkit-tap-highlight-color:transparent}.basics-skip:active{opacity:.6}.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}#root{display:flex;flex-direction:column}#root>.app-banner{flex:0 0 auto}#root>*:not(.app-banner){flex:1 1 auto;min-height:0}@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{background:#fff;--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;--muted: #6b6b6b;--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--ease-out-back: cubic-bezier(.34, 1.56, .64, 1)}.download-steps-content{justify-content:flex-start;padding-top:64px;padding-bottom:32px}.download-steps-content .welcome-crown{margin:20px 0}.download-steps-content .welcome-description{margin-bottom:28px}.download-app-header{position:absolute;top:0;right:0;left:0;z-index:3;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-steps{list-style:none;margin:0;padding:0;width:100%;max-width:380px;display:flex;flex-direction:column;gap:16px;text-align:left}.download-step{display:flex;gap:14px;background:#f8f8f8;border-radius:18px;padding:18px;opacity:0;animation:pwTextIn .7s var(--ease-out-expo, cubic-bezier(.16, 1, .3, 1)) forwards}.download-step:nth-child(1){animation-delay:1.3s}.download-step:nth-child(2){animation-delay:1.5s}.download-step-number{flex-shrink:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#3d5438;color:#fff;font-size:15px;font-weight:700;line-height:1}.download-step-body{flex:1;min-width:0}.download-step-title{font-size:16px;font-weight:700;color:#1a1a1a;margin:2px 0 4px;line-height:1.3}.download-step-text{font-size:14px;color:#6b6b6b;line-height:1.45;margin:0}.download-step-badges{display:flex;flex-wrap:wrap;gap:12px;margin-top:14px}.download-app-badge{height:46px;border-radius:8px;transition:transform .2s ease}.download-app-badge:hover{transform:scale(1.04)}.download-step-cta{display:inline-flex;align-items:center;justify-content:center;width:100%;margin-top:14px;padding:13px 20px;background:#1a1a1a;color:#fff;border:none;border-radius:14px;font-family:inherit;font-size:15px;font-weight:600;text-decoration:none;cursor:pointer;transition:opacity .15s ease,transform .15s ease}.download-step-cta:hover{opacity:.9}.download-step-cta:active{transform:scale(.98)}.download-step-cta:disabled{opacity:.35;cursor:default}.download-app-help{margin-top:28px;font-size:13px;color:#999;line-height:1.5;text-align:center}.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}.ca-intro-card .ca-intro-actions{flex-direction:column-reverse}button.ca-intro-skip{font-size:1.05rem;font-weight:800;padding:14px 24px;color:#6b6b6b;text-decoration:underline;text-underline-offset:3px}.onboarding-plan-page .signup-card{justify-content:flex-start;min-height:auto;padding-top:32px;padding-bottom:32px}.app-banner{position:relative;z-index:10000;display:flex;align-items:center;gap:12px;width:100%;padding:16px 14px;padding-top:max(16px,env(safe-area-inset-top,16px));background:#fff;color:#1a1a1a;border-top:3px solid #3d5438;box-shadow:0 6px 24px #0000001f;cursor:pointer;animation:appBannerSlideDown .4s cubic-bezier(.16,1,.3,1)}.app-banner:hover .app-banner-cta{background:#324528}.app-banner.is-collapsed{gap:10px;padding:8px 14px;padding-top:max(8px,env(safe-area-inset-top,8px));box-shadow:0 3px 12px #0000001a;transition:padding .3s cubic-bezier(.16,1,.3,1)}.app-banner.is-collapsed .app-banner-icon{width:32px;height:32px;border-radius:8px}.app-banner.is-collapsed .app-banner-title{font-size:13px}.app-banner.is-collapsed .app-banner-name,.app-banner.is-collapsed .app-banner-social{display:none}.app-banner.is-collapsed .app-banner-cta{padding:7px 18px;font-size:13px;animation:none}@keyframes appBannerSlideDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.app-banner-close{position:absolute;top:max(4px,env(safe-area-inset-top,4px));left:4px;z-index:1;width:22px;height:22px;display:flex;align-items:center;justify-content:center;font-size:18px;line-height:1;color:#999;background:none;border:none;cursor:pointer;border-radius:50%;transition:background .15s ease,color .15s ease}.app-banner-close:hover{background:#0000000f;color:#555}.app-banner-icon{flex-shrink:0;width:48px;height:48px;border-radius:11px;object-fit:cover;box-shadow:0 2px 8px #00000026}.app-banner-text{flex:1;display:flex;flex-direction:column;min-width:0;line-height:1.3}.app-banner-title{font-size:15px;font-weight:700;color:#1a1a1a;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-banner-name{font-size:12px;color:#777;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-banner-subtitle{font-size:13px;color:#777;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-banner-social{display:flex;align-items:center;gap:5px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-banner-stars{flex-shrink:0;font-size:12px;letter-spacing:1px;color:#f5a623}.app-banner-rating{flex-shrink:0;font-size:13px;font-weight:700;color:#1a1a1a}.app-banner-social-text{font-size:13px;color:#777;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-banner-cta{flex-shrink:0;padding:9px 22px;font-size:14px;font-weight:700;color:#fff;background:#3d5438;border-radius:100px;text-decoration:none;box-shadow:0 0 #3d543880;animation:appBannerPulse 2s infinite;transition:transform .15s ease,background .15s ease}.app-banner-cta:hover{transform:scale(1.05);background:#324528}@keyframes appBannerPulse{0%{box-shadow:0 0 #3d543873}70%{box-shadow:0 0 0 10px #3d543800}to{box-shadow:0 0 #3d543800}}.onboarding-step:not(.is-landing):not(:has(.paywall-trial-card)):not(:has(.paywall-reminder-card)){justify-content:flex-start;padding-top:8px;padding-bottom:200px}
