.bottom-nav{width:100%;max-width:var(--max-width);height:var(--nav-height);padding-bottom:var(--safe-area-bottom);-webkit-backdrop-filter:blur(24px);border-top:1px solid var(--color-border);z-index:var(--z-nav);background:#ffffffeb;justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.bottom-nav__item{height:100%;padding:var(--space-2) 0;color:var(--color-text-muted);transition:color var(--transition-fast), transform var(--transition-fast);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;text-decoration:none;display:flex;position:relative}.bottom-nav__item:active{transform:scale(.9)}.bottom-nav__item--active{color:var(--color-primary)}.bottom-nav__item--active:before{content:"";background:var(--gradient-primary);border-radius:0 0 var(--radius-full) var(--radius-full);width:24px;height:2px;position:absolute;top:0;left:50%;transform:translate(-50%)}.bottom-nav__icon{transition:transform var(--transition-spring);font-size:22px;line-height:1}.bottom-nav__item--active .bottom-nav__icon{transform:scale(1.1)}.bottom-nav__label{font-size:10px;font-weight:var(--font-weight-medium);letter-spacing:.02em;white-space:nowrap}.btn{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-full);font-family:var(--font-family);font-weight:var(--font-weight-semibold);letter-spacing:.01em;cursor:pointer;transition:transform var(--transition-fast), opacity var(--transition-fast), box-shadow var(--transition-fast), background-color var(--transition-fast);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;white-space:nowrap;border:none;display:inline-flex;position:relative;overflow:hidden}.btn--sm{height:40px;padding:0 var(--space-5);font-size:var(--font-size-sm)}.btn--md{height:52px;padding:0 var(--space-6);font-size:var(--font-size-base)}.btn--lg{height:60px;padding:0 var(--space-8);font-size:var(--font-size-md)}.btn--full-width{width:100%}.btn--primary{color:#fff;background:linear-gradient(135deg,#d57e94 0%,#bd5a73 100%);border:1px solid #bd5a731a;font-weight:700;box-shadow:0 4px 20px #bd5a7359}.btn--primary:hover:not(:disabled){background:linear-gradient(135deg,#db859a 0%,#c7627b 100%);transform:translateY(-1px);box-shadow:0 6px 28px #bd5a7373}.btn--primary:active:not(:disabled){background:linear-gradient(135deg,#ce748a 0%,#b5546d 100%);transform:translateY(0);box-shadow:0 2px 12px #bd5a734d}.btn--secondary{background:var(--color-surface);border:1px solid var(--color-border-strong);color:var(--color-text-primary)}.btn--secondary:hover:not(:disabled){background:var(--color-surface-hover);border-color:#fffc}.btn--ghost{color:var(--color-text-secondary);background:0 0}.btn--ghost:hover:not(:disabled){background:var(--color-surface);color:var(--color-text-primary)}.btn--accent{background:var(--gradient-accent);color:#fff;box-shadow:var(--shadow-accent)}.btn--accent:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 32px #e2c8b559}.btn--danger{color:var(--color-error);background:#e39dae1a;border:1px solid #e39dae33}.btn--danger:hover:not(:disabled){background:#e39dae26}.btn:disabled,.btn--loading{opacity:.5;cursor:not-allowed;transform:none!important}.btn__spinner{border:2px solid #fff9;border-top-color:#fff;border-radius:50%;width:20px;height:20px;animation:.8s linear infinite spin}.btn__icon{align-items:center;font-size:1.1em;display:flex}.input-field{gap:var(--space-2);flex-direction:column;display:flex}.input-field__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);letter-spacing:.01em}.input-field__wrapper{align-items:center;display:flex;position:relative}.input-field__input{width:100%;height:52px;padding:0 var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--font-size-base);font-family:var(--font-family);font-weight:var(--font-weight-medium);transition:border-color var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast);appearance:none;outline:none}.input-field__input::placeholder{color:var(--color-text-muted);font-weight:var(--font-weight-regular)}.input-field__input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-glow);background:#e39dae0a}.input-field__input.has-left-icon{padding-left:44px}.input-field__input.has-right-icon{padding-right:44px}.input-field__input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.input-field__input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.input-field__input[type=number]{appearance:textfield}.input-field--error .input-field__input{border-color:var(--color-error)}.input-field--error .input-field__input:focus{box-shadow:0 0 0 3px var(--color-error-muted)}.input-field__icon{color:var(--color-text-muted);pointer-events:none;font-size:1.1em;position:absolute;top:50%;transform:translateY(-50%)}.input-field__icon--left{left:var(--space-3)}.input-field__icon--right{right:var(--space-3)}.input-field__error{font-size:var(--font-size-xs);color:var(--color-error);margin:0}.input-field__hint{font-size:var(--font-size-xs);color:var(--color-text-muted);margin:0}.auth-page{min-height:100dvh;padding:var(--space-6) var(--space-4);justify-content:center;align-items:center;gap:var(--space-4);flex-direction:column;display:flex;position:relative;overflow:hidden}.auth-page__glow{background:radial-gradient(circle, var(--color-primary-alpha-15) 0%, transparent 70%);pointer-events:none;z-index:0;width:600px;height:600px;position:absolute;top:-40%;left:50%;transform:translate(-50%)}.auth-page__logo{background:var(--gradient-primary);width:72px;height:72px;box-shadow:0 8px 32px var(--color-primary-alpha-25);z-index:1;border-radius:50%;justify-content:center;align-items:center;display:flex}.auth-page__logo-icon{font-size:2rem}.auth-page__title{font-family:var(--font-heading);color:var(--color-text);text-align:center;z-index:1;margin:0;font-size:1.6rem;font-weight:700;line-height:1.3}.auth-page__subtitle{color:var(--color-text-muted);text-align:center;z-index:1;max-width:320px;margin:0;font-size:.95rem;line-height:1.5}.auth-page__form{gap:var(--space-4);z-index:1;flex-direction:column;width:100%;max-width:380px;display:flex}.auth-page__error{color:#dc2626;padding:var(--space-3);border-radius:var(--radius-md);text-align:center;background:#dc262614;border:1px solid #dc262633;margin:0;font-size:.85rem}.auth-page__links{align-items:center;gap:var(--space-2);flex-direction:column;display:flex}.auth-page__link{color:var(--color-text-muted);cursor:pointer;padding:var(--space-1);background:0 0;border:none;font-size:.85rem;transition:color .2s}.auth-page__link:hover{color:var(--color-primary)}.auth-page__link strong{color:var(--color-primary);font-weight:600}.auth-page__reset-success{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6) var(--space-4);text-align:center;align-items:center;gap:var(--space-3);z-index:1;flex-direction:column;max-width:380px;display:flex}.auth-page__reset-success span{font-size:2.5rem}.auth-page__reset-success p{color:var(--color-text-muted);margin:0;font-size:.9rem;line-height:1.5}.auth-page__signature{align-items:center;gap:var(--space-3);z-index:1;margin-top:var(--space-3);display:flex}.auth-page__signature-avatar{font-size:1.8rem}.auth-page__signature-name{color:var(--color-text);margin:0;font-size:.85rem;font-weight:600}.auth-page__signature-title{color:var(--color-text-muted);margin:0;font-size:.75rem}.welcome-page{min-height:100dvh;padding:calc(var(--space-12) + var(--safe-area-top)) var(--space-6) calc(var(--space-10) + var(--safe-area-bottom));background:var(--color-bg);flex-direction:column;align-items:center;display:flex;position:relative;overflow:hidden}.welcome-page__glow{pointer-events:none;z-index:0;background:radial-gradient(#e39dae1f 0%,#0000 70%);width:400px;height:400px;position:absolute;top:-100px;left:50%;transform:translate(-50%)}.welcome-page__logo{z-index:1;margin-bottom:var(--space-8);position:relative}.welcome-page__logo-icon{background:var(--color-surface);border-radius:var(--radius-2xl);border:1px solid #e39dae40;justify-content:center;align-items:center;width:88px;height:88px;font-size:44px;display:flex;box-shadow:0 0 40px #e39dae26}.welcome-page__badge{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-primary);margin-bottom:var(--space-8);z-index:1;background:#e39dae14;border:1px solid #e39dae33;display:flex;position:relative}.welcome-page__badge-dot{background:var(--color-primary);border-radius:50%;width:7px;height:7px;animation:2s ease-in-out infinite pulse}.welcome-page__headline{text-align:center;margin-bottom:var(--space-8);z-index:1;position:relative}.welcome-page__title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-extrabold);letter-spacing:var(--letter-spacing-tight);line-height:var(--line-height-tight);color:var(--color-text-primary);margin-bottom:var(--space-4)}.welcome-page__subtitle{font-size:var(--font-size-base);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);max-width:320px;margin:0 auto}.welcome-page__pills{gap:var(--space-3);width:100%;margin-bottom:var(--space-10);z-index:1;flex-direction:column;display:flex;position:relative}.welcome-page__pill{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);display:flex}.welcome-page__pill span:first-child{font-size:18px}.welcome-page__cta{align-items:center;gap:var(--space-3);z-index:1;width:100%;margin-bottom:var(--space-8);flex-direction:column;display:flex;position:relative}.welcome-page__cta-note{font-size:var(--font-size-sm);color:var(--color-text-muted)}.welcome-page__signature{align-items:center;gap:var(--space-3);z-index:1;display:flex;position:relative}.welcome-page__signature-avatar{background:var(--color-surface);border:1px solid var(--color-border);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:32px;display:flex}.welcome-page__signature-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:2px}.welcome-page__signature-title{font-size:var(--font-size-xs);color:var(--color-text-muted)}.onboarding-page{background:var(--color-bg);min-height:100dvh;padding-top:var(--safe-area-top);flex-direction:column;display:flex}.onboarding-page__header{align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);flex-shrink:0;display:flex}.onboarding-page__back{background:var(--color-surface);border:1px solid var(--color-border);cursor:pointer;width:36px;height:36px;color:var(--color-text-secondary);transition:all var(--transition-fast);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:22px;line-height:1;display:flex}.onboarding-page__back:active{transform:scale(.9)}.onboarding-page__progress-bar{background:var(--color-border);border-radius:var(--radius-full);flex:1;height:4px;overflow:hidden}.onboarding-page__progress-fill{background:var(--gradient-primary);border-radius:var(--radius-full);height:100%;transition:width var(--transition-slow)}.onboarding-page__step-count{font-size:var(--font-size-xs);color:var(--color-text-muted);font-weight:var(--font-weight-medium);white-space:nowrap}.onboarding-page__content{padding:var(--space-6) var(--space-5);flex:1;overflow-y:auto}.onboarding-page__step{gap:var(--space-5);flex-direction:column;display:flex}.onboarding-page__step-emoji{font-size:48px;line-height:1}.onboarding-page__step-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-extrabold);letter-spacing:var(--letter-spacing-tight);line-height:var(--line-height-snug);color:var(--color-text-primary)}.onboarding-page__step-subtitle{font-size:var(--font-size-base);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);margin-top:-var(--space-3)}.onboarding-page__field{margin-top:var(--space-2)}.onboarding-page__options{gap:var(--space-3);flex-direction:column;display:flex}.onboarding-page__option{align-items:center;gap:var(--space-3);padding:var(--space-4);background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;text-align:left;transition:all var(--transition-fast);font-family:var(--font-family);width:100%;display:flex}.onboarding-page__option:active{transform:scale(.98)}.onboarding-page__option:hover{background:var(--color-surface-hover);border-color:#ffffff26}.onboarding-page__option--selected{border-color:var(--color-primary);background:var(--color-primary-muted);box-shadow:0 0 0 1px var(--color-primary)}.onboarding-page__option-emoji{flex-shrink:0;font-size:24px}.onboarding-page__option-text{flex-direction:column;flex:1;gap:2px;display:flex}.onboarding-page__option-text strong{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.onboarding-page__option-text span{font-size:var(--font-size-sm);color:var(--color-text-muted)}.onboarding-page__option-check{background:var(--color-primary);color:#fff;width:24px;height:24px;font-size:13px;font-weight:var(--font-weight-bold);opacity:0;transition:opacity var(--transition-fast), transform var(--transition-spring);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex;transform:scale(.5)}.onboarding-page__option--selected .onboarding-page__option-check{opacity:1;transform:scale(1)}.onboarding-page__error{font-size:var(--font-size-sm);color:var(--color-error);padding:var(--space-3);background:var(--color-error-muted);border-radius:var(--radius-sm);border:1px solid #e39dae26}.onboarding-page__empathy{padding:var(--space-4);background:var(--color-primary-muted);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-primary-light);line-height:var(--line-height-relaxed);border:1px solid #e39dae26}.onboarding-page__footer{padding:var(--space-5);padding-bottom:calc(var(--space-5) + var(--safe-area-bottom));flex-shrink:0}.select-field{gap:var(--space-2);flex-direction:column;display:flex}.select-field__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.select-field__wrapper{position:relative}.select-field__select{width:100%;height:52px;padding:0 44px 0 var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--font-size-base);font-family:var(--font-family);font-weight:var(--font-weight-medium);appearance:none;cursor:pointer;transition:border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none}.select-field__select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-glow)}.select-field__select option{color:var(--color-text-primary);background:#fff}.select-field__arrow{right:var(--space-4);color:var(--color-text-muted);pointer-events:none;font-size:.85em;position:absolute;top:50%;transform:translateY(-50%)}.select-field--error .select-field__select{border-color:var(--color-error)}.select-field__error{font-size:var(--font-size-xs);color:var(--color-error);margin:0}.select-field__hint{font-size:var(--font-size-xs);color:var(--color-text-muted);margin:0}.profile-page{background:var(--color-bg);min-height:100dvh;padding-top:var(--safe-area-top);flex-direction:column;display:flex}.profile-page__header{padding:var(--space-4) var(--space-5) var(--space-5);flex-shrink:0}.profile-page__header-top{align-items:center;gap:var(--space-3);margin-bottom:var(--space-5);display:flex}.profile-page__back{background:var(--color-surface);border:1px solid var(--color-border);cursor:pointer;width:36px;height:36px;color:var(--color-text-secondary);transition:all var(--transition-fast);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:22px;line-height:1;display:flex}.profile-page__header-badge{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-accent);text-transform:uppercase;letter-spacing:.06em;background:#e2c8b514;border:1px solid #e2c8b526;display:flex}.profile-page__title{font-size:var(--font-size-xl);font-weight:var(--font-weight-extrabold);letter-spacing:var(--letter-spacing-tight);line-height:var(--line-height-snug);color:var(--color-text-primary);margin-bottom:var(--space-3)}.profile-page__subtitle{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-relaxed)}.profile-page__form{padding:0 var(--space-5) var(--space-5);gap:var(--space-4);flex-direction:column;flex:1;display:flex;overflow-y:auto}.profile-page__form-row{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.profile-page__privacy-note{font-size:var(--font-size-xs);color:var(--color-text-muted);text-align:center;padding:var(--space-3);background:var(--color-surface);border-radius:var(--radius-sm)}.profile-page__calculating{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:var(--z-overlay);padding:var(--space-6);background:#ffffffe6;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.profile-page__calculating-inner{text-align:center;max-width:300px}.profile-page__calculating-spinner{margin-bottom:var(--space-6);font-size:56px;animation:1.2s ease-in-out infinite bounce}.profile-page__calculating-inner h2{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--space-2)}.profile-page__calculating-inner p{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--space-6)}.profile-page__calculating-steps{gap:var(--space-2);text-align:left;flex-direction:column;display:flex}.profile-page__calculating-step{font-size:var(--font-size-sm);color:var(--color-primary);align-items:center;gap:var(--space-2);opacity:0;animation:.4s forwards fadeUp;display:flex}.profile-page__calculating-step span{color:var(--color-primary)}.profile-page__footer{padding:var(--space-5);padding-bottom:calc(var(--space-5) + var(--safe-area-bottom));flex-shrink:0}.card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-lg);position:relative;overflow:hidden}.card--pad-none{padding:0}.card--pad-sm{padding:var(--space-4)}.card--pad-md{padding:var(--space-5) var(--space-5)}.card--pad-lg{padding:var(--space-6) var(--space-6)}.card--glow-green{border-color:#e39dae33;box-shadow:0 0 24px #e39dae14,inset 0 0 40px #e39dae08}.card--glow-gold{border-color:#e2c8b533;box-shadow:0 0 24px #e2c8b514,inset 0 0 40px #e2c8b508}.card--glow-rose{border-color:#c4a4a833;box-shadow:0 0 24px #c4a4a814,inset 0 0 40px #c4a4a808}.card--flat{background:var(--color-bg-elevated);border-color:var(--color-border-subtle)}.card--clickable{cursor:pointer;transition:transform var(--transition-fast), box-shadow var(--transition-fast), border-color var(--transition-fast)}.card--clickable:hover{box-shadow:var(--shadow-md);border-color:#e39dae66;transform:translateY(-2px)}.card--clickable:active{transform:translateY(0)}.recipe-page{background:var(--color-bg);min-height:100dvh;position:relative;overflow:hidden}.recipe-page--revealing{justify-content:center;align-items:center;display:flex}.recipe-page__reveal-animation{text-align:center;color:var(--color-text-secondary)}.recipe-page__reveal-spinner{margin-bottom:var(--space-5);font-size:56px}.recipe-page__glow{pointer-events:none;background:radial-gradient(at top,#e39dae1a 0%,#0000 70%);width:500px;height:400px;position:fixed;top:-120px;left:50%;transform:translate(-50%)}.recipe-page__scroll-area{min-height:100dvh;padding:calc(var(--space-8) + var(--safe-area-top)) var(--space-5) calc(var(--nav-height) + var(--space-8));gap:var(--space-6);flex-direction:column;display:flex;overflow-y:auto}.recipe-page__hero{gap:var(--space-4);flex-direction:column;display:flex}.recipe-page__hero-badge{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.06em;border:1px solid;align-self:flex-start;display:inline-flex}.recipe-page__hero-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-extrabold);letter-spacing:var(--letter-spacing-tight);line-height:var(--line-height-snug);color:var(--color-text-primary)}.recipe-page__hero-title em{color:var(--color-primary);font-style:normal}.recipe-page__hero-subtitle{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-relaxed)}.recipe-page__prediction-content{align-items:center;gap:var(--space-4);display:flex}.recipe-page__prediction-number{font-size:var(--font-size-3xl);font-weight:var(--font-weight-extrabold);color:var(--color-primary);white-space:nowrap;letter-spacing:-.04em}.recipe-page__prediction-label strong{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin-bottom:2px;display:block}.recipe-page__prediction-label span{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.recipe-page__section{gap:var(--space-4);flex-direction:column;display:flex}.recipe-page__section-title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.recipe-page__ingredients{gap:var(--space-3);flex-direction:column;display:flex}.ingredient-card{gap:var(--space-3);padding:var(--space-4);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);animation-fill-mode:both;display:flex}.ingredient-card__emoji{flex-shrink:0;margin-top:2px;font-size:32px;line-height:1}.ingredient-card__body{gap:var(--space-1);flex-direction:column;flex:1;display:flex}.ingredient-card__name{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted)}.ingredient-card__amount{align-items:baseline;gap:var(--space-2);flex-wrap:wrap;display:flex}.ingredient-card__amount strong{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.ingredient-card__amount span{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.ingredient-card__description{font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:var(--line-height-normal)}.recipe-page__info-title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-4)}.recipe-page__info-rows{gap:var(--space-3);flex-direction:column;display:flex}.recipe-page__info-row{gap:var(--space-3);align-items:flex-start;display:flex}.recipe-page__info-icon{flex-shrink:0;margin-top:2px;font-size:18px}.recipe-page__info-row div{flex-direction:column;gap:2px;display:flex}.recipe-page__info-row strong{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.recipe-page__info-row span{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.recipe-page__personal-note{gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);background:#e39dae0a;border:1px solid #e39dae1f;align-items:flex-start;display:flex}.recipe-page__personal-note-avatar{flex-shrink:0;font-size:32px}.recipe-page__personal-note-text{flex:1}.recipe-page__personal-note-text strong{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-2);display:block}.recipe-page__personal-note-text p{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-relaxed)}.recipe-page__steps{gap:var(--space-3);flex-direction:column;display:flex}.recipe-page__step{align-items:flex-start;gap:var(--space-3);display:flex}.recipe-page__step-num{background:var(--color-primary);color:#fff;width:24px;height:24px;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:2px;display:flex}.recipe-page__step-icon{flex-shrink:0;font-size:20px}.recipe-page__step-text{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);flex:1;padding-top:2px}.recipe-page__actions{gap:var(--space-3);flex-direction:column;display:flex}.recipe-page__bmi-note{text-align:center;font-size:var(--font-size-xs);color:var(--color-text-muted);padding-bottom:var(--space-4)}.protocol-page{background:var(--color-bg);flex-direction:column;min-height:100dvh;display:flex}.protocol-page__header{background:var(--color-bg-elevated);border-bottom:1px solid var(--color-border-subtle);padding:calc(var(--space-5) + var(--safe-area-top)) var(--space-5) var(--space-5);flex-shrink:0}.protocol-page__header-top{margin-bottom:var(--space-4);justify-content:space-between;align-items:center;display:flex}.protocol-page__greeting{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--space-1)}.protocol-page__title{font-size:var(--font-size-xl);font-weight:var(--font-weight-extrabold);letter-spacing:var(--letter-spacing-tight)}.protocol-page__day-badge{background:var(--gradient-primary);border-radius:var(--radius-md);width:56px;height:56px;box-shadow:var(--shadow-primary);flex-direction:column;justify-content:center;align-items:center;display:flex}.protocol-page__day-num{font-size:var(--font-size-xl);font-weight:var(--font-weight-extrabold);color:#fff;line-height:1}.protocol-page__day-label{color:#ffffffbf;font-size:10px;font-weight:var(--font-weight-medium)}.protocol-page__progress-info{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-bottom:var(--space-2);justify-content:space-between;display:flex}.protocol-page__progress-bar{background:var(--color-border);border-radius:var(--radius-full);height:6px;overflow:hidden}.protocol-page__progress-fill{background:var(--gradient-primary);border-radius:var(--radius-full);height:100%;transition:width .5s cubic-bezier(.4,0,.2,1)}.protocol-page__content{padding:var(--space-5) var(--space-5) calc(var(--nav-height) + var(--space-8));gap:var(--space-5);flex-direction:column;flex:1;display:flex;overflow-y:auto}.protocol-page__motivation{align-items:flex-start;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);background:#e39dae0d;border:1px solid #e39dae1f;display:flex}.protocol-page__motivation-icon{flex-shrink:0;margin-top:1px;font-size:20px}.protocol-page__motivation p{font-size:var(--font-size-sm);color:var(--color-primary-light);line-height:var(--line-height-relaxed);font-style:italic}.protocol-page__checklist{gap:var(--space-3);flex-direction:column;display:flex}.protocol-item{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-4);background:var(--glass-bg);border:1.5px solid var(--glass-border);border-radius:var(--radius-md);cursor:pointer;text-align:left;font-family:var(--font-family);transition:all var(--transition-fast);display:flex}.protocol-item:active{transform:scale(.98)}.protocol-item--done{background:#e39dae0a;border-color:#e39dae40}.protocol-item--celebrating{animation:.4s cubic-bezier(.34,1.56,.64,1) bounce}.protocol-item__check{border:2px solid var(--color-border-strong);width:26px;height:26px;transition:all var(--transition-spring);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.protocol-item__check--done{background:var(--color-primary);border-color:var(--color-primary);transform:scale(1)}.protocol-item__check svg{color:#fff;stroke-dasharray:40;stroke-dashoffset:0;width:14px;height:14px;animation:.3s forwards checkmark}.protocol-item__emoji{flex-shrink:0;font-size:22px}.protocol-item__body{flex-direction:column;flex:1;gap:3px;display:flex}.protocol-item__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.protocol-item--done .protocol-item__label{color:var(--color-text-secondary);-webkit-text-decoration:line-through #e39dae66;text-decoration:line-through #e39dae66}.protocol-item__desc{font-size:var(--font-size-xs);color:var(--color-text-muted)}.protocol-page__phase{gap:var(--space-3);flex-direction:column;display:flex}.protocol-page__phase-badge{padding:4px var(--space-3);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-accent);text-transform:uppercase;letter-spacing:.05em;background:#e2c8b51a;border:1px solid #e2c8b533;align-self:flex-start;display:inline-flex}.protocol-page__phase-desc{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-relaxed)}.protocol-page__phase-expectations strong{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin-bottom:var(--space-2);display:block}.protocol-page__phase-expectations ul{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.protocol-page__phase-expectations li{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.protocol-page__recipe-recap-header{align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);display:flex}.protocol-page__recipe-recap-header strong{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);flex:1}.protocol-page__view-recipe{font-size:var(--font-size-xs);color:var(--color-primary);font-weight:var(--font-weight-medium);cursor:pointer;font-family:var(--font-family);background:0 0;border:none;padding:0}.protocol-page__recipe-quick{gap:var(--space-2);flex-wrap:wrap;display:flex}.protocol-page__recipe-tag{padding:4px var(--space-3);background:var(--color-primary-muted);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-primary-light);border:1px solid #e39dae26}.protocol-page__quick-access{gap:var(--space-3);grid-template-columns:repeat(3,1fr);display:grid}.protocol-page__qa-btn{align-items:center;gap:var(--space-2);padding:var(--space-4);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);cursor:pointer;font-family:var(--font-family);transition:all var(--transition-fast);flex-direction:column;display:flex}.protocol-page__qa-btn:active{transform:scale(.95)}.protocol-page__qa-btn span:first-child{font-size:24px}.protocol-page__qa-btn span:last-child{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.protocol-page__celebration{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:var(--z-modal);padding:var(--space-6);background:#ffffffeb;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.protocol-page__celebration-inner{text-align:center;align-items:center;gap:var(--space-5);flex-direction:column;max-width:320px;display:flex}.protocol-page__celebration-emoji{font-size:80px;animation:1s ease-in-out infinite bounce}.protocol-page__celebration-inner h2{font-size:var(--font-size-2xl);font-weight:var(--font-weight-extrabold);color:var(--color-primary)}.protocol-page__celebration-inner p{font-size:var(--font-size-base);color:var(--color-text-secondary);line-height:var(--line-height-relaxed)}.progress-page{background:var(--color-bg);flex-direction:column;min-height:100dvh;display:flex}.progress-page--loading{justify-content:center;align-items:center}.progress-page__header{background:var(--color-bg-elevated);border-bottom:1px solid var(--color-border-subtle);padding:calc(var(--space-5) + var(--safe-area-top)) var(--space-5) var(--space-5)}.progress-page__title{font-size:var(--font-size-xl);font-weight:var(--font-weight-extrabold);letter-spacing:var(--letter-spacing-tight)}.progress-page__subtitle{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-top:var(--space-1)}.progress-page__content{padding:var(--space-5) var(--space-5) calc(var(--nav-height) + var(--space-8));gap:var(--space-5);flex-direction:column;flex:1;display:flex;overflow-y:auto}.progress-page__stats{gap:var(--space-3);grid-template-columns:repeat(3,1fr);display:grid}.stat-card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);padding:var(--space-4);align-items:center;gap:var(--space-1);flex-direction:column;display:flex}.stat-card__emoji{font-size:22px}.stat-card__value{font-size:var(--font-size-xl);font-weight:var(--font-weight-extrabold);color:var(--stat-color,var(--color-primary));letter-spacing:-.03em}.stat-card__unit{color:var(--color-text-muted);font-size:10px;font-weight:var(--font-weight-medium)}.stat-card__label{color:var(--color-text-muted);text-align:center;font-size:11px}.progress-page__goal{gap:var(--space-3);flex-direction:column;display:flex}.progress-page__goal-header{justify-content:space-between;align-items:center;display:flex}.progress-page__goal-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.progress-page__goal-values{font-size:var(--font-size-sm);color:var(--color-text-muted)}.progress-page__goal-bar{background:var(--color-border);border-radius:var(--radius-full);height:10px;overflow:hidden}.progress-page__goal-fill{background:var(--gradient-primary);border-radius:var(--radius-full);min-width:4px;height:100%;transition:width 1s cubic-bezier(.4,0,.2,1)}.progress-page__goal-remaining{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.progress-page__added{padding:var(--space-3) var(--space-4);background:var(--color-primary-muted);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-primary);font-weight:var(--font-weight-medium);text-align:center;border:1px solid #e39dae33}.progress-page__entry-form{gap:var(--space-4);flex-direction:column;display:flex}.progress-page__entry-form h3{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold)}.progress-page__entry-actions{gap:var(--space-3);justify-content:flex-end;display:flex}.progress-page__chart-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-4)}.mini-chart{gap:var(--space-2);flex-direction:column;display:flex}.mini-chart__svg{width:100%;height:80px;overflow:visible}.mini-chart__labels{color:var(--color-text-muted);justify-content:space-between;font-size:10px;display:flex}.progress-page__achievements{gap:var(--space-3);flex-direction:column;display:flex}.progress-page__section-title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold)}.progress-page__badges{gap:var(--space-3);grid-template-columns:repeat(4,1fr);display:grid}.achievement-badge{align-items:center;gap:var(--space-1);padding:var(--space-3) var(--space-2);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);opacity:.4;transition:all var(--transition-fast);flex-direction:column;display:flex;position:relative}.achievement-badge--unlocked{opacity:1;background:#e2c8b50f;border-color:#e2c8b54d}.achievement-badge__emoji{font-size:24px}.achievement-badge__label{font-size:10px;font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);text-align:center}.achievement-badge__lock{border-radius:inherit;background:#ffffff80;justify-content:center;align-items:center;font-size:16px;display:flex;position:absolute;inset:0}.progress-page__log{gap:var(--space-3);flex-direction:column;display:flex}.progress-page__log-item{align-items:center;gap:var(--space-3);font-size:var(--font-size-sm);display:flex}.progress-page__log-date{color:var(--color-text-muted);min-width:60px}.progress-page__log-weight{font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.progress-page__log-note{color:var(--color-text-muted);font-size:var(--font-size-xs)}.progress-page__empty{align-items:center;gap:var(--space-4);padding:var(--space-10) var(--space-6);text-align:center;color:var(--color-text-muted);flex-direction:column;display:flex}.progress-page__empty span{font-size:48px}.progress-page__empty p{font-size:var(--font-size-sm);line-height:var(--line-height-relaxed)}.education-page{background:var(--color-bg);flex-direction:column;min-height:100dvh;display:flex}.education-page__header{background:var(--color-bg-elevated);border-bottom:1px solid var(--color-border-subtle);padding:calc(var(--space-5) + var(--safe-area-top)) var(--space-5) var(--space-5)}.education-page__title{font-size:var(--font-size-xl);font-weight:var(--font-weight-extrabold);letter-spacing:var(--letter-spacing-tight)}.education-page__subtitle{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-top:var(--space-2)}.education-page__content{padding:var(--space-5) var(--space-5) calc(var(--nav-height) + var(--space-8));gap:var(--space-3);flex-direction:column;flex:1;display:flex;overflow-y:auto}.education-card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);transition:border-color var(--transition-fast);overflow:hidden}.education-card__header{align-items:flex-start;gap:var(--space-3);width:100%;padding:var(--space-4);cursor:pointer;font-family:var(--font-family);text-align:left;transition:background var(--transition-fast);display:flex}.education-card__header:hover{background:var(--color-surface-hover)}.education-card__header--open{border-bottom:1px solid var(--color-border-subtle)}.education-card__emoji{flex-shrink:0;margin-top:2px;font-size:28px}.education-card__header-text{gap:var(--space-1);flex-direction:column;flex:1;display:flex}.education-card__badge{padding:2px var(--space-2);background:var(--color-accent-muted);border:1px solid var(--color-accent-glow);border-radius:var(--radius-full);font-size:10px;font-weight:var(--font-weight-semibold);color:var(--color-accent);text-transform:uppercase;letter-spacing:.06em;align-self:flex-start;display:inline-flex}.education-card__title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);line-height:var(--line-height-snug)}.education-card__teaser{font-size:var(--font-size-xs);color:var(--color-text-muted);line-height:var(--line-height-normal)}.education-card__arrow{color:var(--color-text-muted);transition:transform var(--transition-fast);flex-shrink:0;margin-top:4px;font-size:12px}.education-card__content{padding:var(--space-4);border-top:1px solid var(--color-border-subtle)}.education-card__body{gap:var(--space-3);flex-direction:column;display:flex}.education-card__paragraph{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-relaxed)}.education-card__list-item{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-normal);padding-left:var(--space-2)}.bonus-page{background:var(--color-bg);flex-direction:column;min-height:100dvh;display:flex}.bonus-page__header{background:var(--color-bg-elevated);border-bottom:1px solid var(--color-border-subtle);padding:calc(var(--space-5) + var(--safe-area-top)) var(--space-5) var(--space-5);position:relative;overflow:hidden}.bonus-page__header-glow{pointer-events:none;background:radial-gradient(#e2c8b51f 0%,#0000 70%);width:200px;height:200px;position:absolute;top:-50px;right:-50px}.bonus-page__title{font-size:var(--font-size-xl);font-weight:var(--font-weight-extrabold);letter-spacing:var(--letter-spacing-tight)}.bonus-page__subtitle{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-top:var(--space-2)}.bonus-page__total{align-items:center;gap:var(--space-2);margin-top:var(--space-4);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-text-secondary);background:#e2c8b50f;border:1px solid #e2c8b526;display:flex}.bonus-page__total strong{color:var(--color-accent)}.bonus-page__content{padding:var(--space-5) var(--space-5) calc(var(--nav-height) + var(--space-8));gap:var(--space-4);flex-direction:column;flex:1;display:flex;overflow-y:auto}.bonus-card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-lg);overflow:hidden}.bonus-card__top{gap:var(--space-4);padding:var(--space-5);display:flex}.bonus-card__icon-wrap{background:color-mix(in srgb, var(--bonus-color,var(--color-primary)) 15%, transparent);border:1px solid color-mix(in srgb, var(--bonus-color,var(--color-primary)) 30%, transparent);border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;display:flex}.bonus-card__icon{font-size:26px}.bonus-card__info{gap:var(--space-2);flex-direction:column;flex:1;display:flex}.bonus-card__badge{padding:2px var(--space-2);background:color-mix(in srgb, var(--bonus-color,var(--color-primary)) 10%, transparent);border:1px solid color-mix(in srgb, var(--bonus-color,var(--color-primary)) 25%, transparent);border-radius:var(--radius-full);font-size:10px;font-weight:var(--font-weight-bold);color:var(--bonus-color,var(--color-primary));text-transform:uppercase;letter-spacing:.05em;align-self:flex-start;display:inline-flex}.bonus-card__title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);line-height:var(--line-height-snug)}.bonus-card__description{font-size:var(--font-size-xs);color:var(--color-text-muted);line-height:var(--line-height-relaxed)}.bonus-card__value{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-accent)}.bonus-card__actions{padding:0 var(--space-5) var(--space-5)}.bonus-card__btn{height:40px;padding:0 var(--space-5);background:color-mix(in srgb, var(--bonus-color,var(--color-primary)) 12%, transparent);border:1px solid color-mix(in srgb, var(--bonus-color,var(--color-primary)) 25%, transparent);border-radius:var(--radius-full);color:var(--bonus-color,var(--color-primary));font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);font-family:var(--font-family);cursor:pointer;transition:all var(--transition-fast);justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.bonus-card__btn:hover{background:color-mix(in srgb, var(--bonus-color,var(--color-primary)) 20%, transparent)}.bonus-card__btn:active{transform:scale(.97)}.bonus-card__btn--locked{opacity:.6;cursor:default}.bonus-card__content{padding:var(--space-5);border-top:1px solid var(--color-border-subtle);gap:var(--space-2);background:#ffffff05;flex-direction:column;display:flex}.bonus-card__content-line{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-relaxed)}.bonus-card__content-line:empty{display:none}.bonus-card__content-detail{font-size:var(--font-size-xs);color:var(--color-text-muted);padding-left:var(--space-4);line-height:var(--line-height-normal)}.settings-page{background:var(--color-bg);flex-direction:column;min-height:100dvh;display:flex}.settings-page__header{background:var(--color-bg-elevated);border-bottom:1px solid var(--color-border-subtle);padding:calc(var(--space-5) + var(--safe-area-top)) var(--space-5) var(--space-5);align-items:center;gap:var(--space-4);display:flex}.settings-page__avatar{background:var(--gradient-primary);width:56px;height:56px;font-size:var(--font-size-xl);font-weight:var(--font-weight-extrabold);color:#fff;box-shadow:var(--shadow-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.settings-page__name{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold)}.settings-page__info{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-top:2px}.settings-page__content{padding:var(--space-5) var(--space-5) calc(var(--nav-height) + var(--space-8));gap:var(--space-5);flex-direction:column;flex:1;display:flex;overflow-y:auto}.settings-page__section-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-4)}.settings-page__form{gap:var(--space-4);flex-direction:column;display:flex}.settings-page__form-row{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.settings-page__readonly{gap:var(--space-1);padding:var(--space-3) var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;display:flex}.settings-page__readonly label{font-size:var(--font-size-xs);color:var(--color-text-muted);font-weight:var(--font-weight-medium)}.settings-page__readonly span{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary)}.settings-page__status{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.settings-page__status--success{background:var(--color-primary-muted);color:var(--color-primary);border:1px solid #e39dae33}.settings-page__status--error{background:var(--color-error-muted);color:var(--color-error);border:1px solid #e39dae33}.settings-page__info-list{gap:var(--space-3);flex-direction:column;display:flex}.settings-page__info-item{font-size:var(--font-size-sm);justify-content:space-between;align-items:center;display:flex}.settings-page__info-item span{color:var(--color-text-muted)}.settings-page__info-item strong{color:var(--color-text-primary)}.settings-page__support-links{gap:var(--space-3);flex-direction:column;display:flex}.settings-page__support-link{align-items:center;gap:var(--space-3);font-size:var(--font-size-sm);color:var(--color-text-secondary);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border-subtle);transition:color var(--transition-fast);text-decoration:none;display:flex}.settings-page__support-link:last-child{border-bottom:none}.settings-page__support-link:hover{color:var(--color-primary)}.settings-page__support-link span:first-child{font-size:18px}.settings-page__guarantee{gap:var(--space-4);align-items:flex-start;display:flex}.settings-page__guarantee-icon{flex-shrink:0;font-size:32px}.settings-page__guarantee strong{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-2);display:block}.settings-page__guarantee p{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);margin-bottom:var(--space-3)}.settings-page__guarantee-link{font-size:var(--font-size-sm);color:var(--color-primary);font-weight:var(--font-weight-medium);text-decoration:none}.settings-page__danger{align-items:center;gap:var(--space-4);flex-direction:column;display:flex}.settings-page__danger-btn{font-size:var(--font-size-sm);color:var(--color-text-muted);cursor:pointer;font-family:var(--font-family);background:0 0;border:none;text-decoration:underline}.settings-page__danger-confirm{width:100%;padding:var(--space-4);background:var(--color-error-muted);border-radius:var(--radius-md);gap:var(--space-4);border:1px solid #e39dae33;flex-direction:column;display:flex}.settings-page__danger-confirm p{font-size:var(--font-size-sm);color:var(--color-error)}.settings-page__version{text-align:center;font-size:var(--font-size-xs);color:var(--color-text-muted)}:root{--color-bg:#faf8f7;--color-bg-elevated:#fff;--color-surface:#ffffffb3;--color-surface-hover:#ffffffe6;--color-surface-press:#ffffff80;--color-border:#0000000f;--color-border-subtle:#00000008;--color-border-strong:#0000001f;--color-primary:#e39dae;--color-primary-dark:#ce8699;--color-primary-light:#f2bdcb;--color-primary-glow:#e39dae26;--color-primary-muted:#e39dae1f;--color-accent:#e2c8b5;--color-accent-dark:#cbaa93;--color-accent-light:#f5dfd0;--color-accent-glow:#e2c8b526;--color-accent-muted:#e2c8b51f;--color-rose:#c4a4a8;--color-rose-dark:#a6878b;--color-rose-light:#e0c4c8;--color-rose-glow:#c4a4a826;--color-rose-muted:#c4a4a81f;--color-success:#8fb9a6;--color-warning:#e2c8b5;--color-error:#e39dae;--color-error-muted:#e39dae1a;--color-info:#aec5d6;--color-text-primary:#4a4546;--color-text-secondary:#857f80;--color-text-muted:#b5b0b1;--color-text-disabled:#d6d2d3;--color-text-inverse:#fff;--font-family:"Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-md:1.0625rem;--font-size-lg:1.25rem;--font-size-xl:1.5rem;--font-size-2xl:1.875rem;--font-size-3xl:2.25rem;--font-size-4xl:2.75rem;--font-weight-light:300;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--line-height-tight:1.2;--line-height-snug:1.35;--line-height-normal:1.5;--line-height-relaxed:1.65;--letter-spacing-tight:-.03em;--letter-spacing-normal:0em;--letter-spacing-wide:.04em;--letter-spacing-wider:.08em;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--space-24:96px;--radius-xs:6px;--radius-sm:10px;--radius-md:16px;--radius-lg:20px;--radius-xl:28px;--radius-2xl:36px;--radius-full:999px;--shadow-sm:0 2px 8px #0000000a;--shadow-md:0 4px 20px #0000000f;--shadow-lg:0 8px 40px #00000014;--shadow-primary:0 4px 24px #e39dae4d;--shadow-accent:0 4px 24px #e2c8b54d;--z-base:1;--z-raised:10;--z-overlay:100;--z-modal:1000;--z-toast:2000;--z-nav:500;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-normal:.25s cubic-bezier(.4, 0, .2, 1);--transition-slow:.4s cubic-bezier(.4, 0, .2, 1);--transition-spring:.35s cubic-bezier(.34, 1.56, .64, 1);--max-width:430px;--nav-height:72px;--header-height:60px;--safe-area-bottom:env(safe-area-inset-bottom,0px);--safe-area-top:env(safe-area-inset-top,0px);--gradient-primary:linear-gradient(135deg, #f2bdcb 0%, #e39dae 100%);--gradient-accent:linear-gradient(135deg, #f5dfd0 0%, #e2c8b5 100%);--gradient-rose:linear-gradient(135deg, #e0c4c8 0%, #c4a4a8 100%);--gradient-dark:linear-gradient(180deg, #fff 0%, #faf8f7 100%);--gradient-glow-primary:radial-gradient(ellipse at top, #e39dae26 0%, transparent 70%);--gradient-glow-accent:radial-gradient(ellipse at top, #e2c8b526 0%, transparent 70%);--glass-bg:#fff9;--glass-border:#fffc;--glass-blur:blur(20px)}*,:before,:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;overscroll-behavior:none;font-size:16px}body{font-family:var(--font-family);font-size:var(--font-size-base);font-weight:var(--font-weight-regular);line-height:var(--line-height-normal);color:var(--color-text-primary);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior:none;min-height:100dvh;margin:0;padding:0}#root{flex-direction:column;min-height:100dvh;display:flex}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit}input,select,textarea{font-family:inherit}img,svg{max-width:100%;display:block}p{margin:0}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-tight);margin:0}.app-shell{min-height:100dvh;max-width:var(--max-width);background-color:var(--color-bg);flex-direction:column;margin:0 auto;display:flex;position:relative}.app-screen{padding-bottom:calc(var(--nav-height) + var(--safe-area-bottom) + var(--space-4));-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;display:flex;overflow:hidden auto}.app-screen--no-nav{padding-bottom:0}.screen-content{padding:var(--space-6) var(--space-5);flex-direction:column;flex:1;display:flex}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-base{font-size:var(--font-size-base)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-2xl{font-size:var(--font-size-2xl)}.text-3xl{font-size:var(--font-size-3xl)}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-muted{color:var(--color-text-muted)}.text-green{color:var(--color-primary)}.text-gold{color:var(--color-accent)}.text-rose{color:var(--color-rose)}.font-light{font-weight:var(--font-weight-light)}.font-regular{font-weight:var(--font-weight-regular)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.font-extrabold{font-weight:var(--font-weight-extrabold)}.text-center{text-align:center}.text-left{text-align:left}.tracking-wide{letter-spacing:var(--letter-spacing-wide)}.tracking-wider{letter-spacing:var(--letter-spacing-wider)}.uppercase{text-transform:uppercase}.flex{display:flex}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.items-center{align-items:center}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.flex-1{flex:1}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-5{gap:var(--space-5)}.gap-6{gap:var(--space-6)}.mt-1{margin-top:var(--space-1)}.mt-2{margin-top:var(--space-2)}.mt-3{margin-top:var(--space-3)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mt-8{margin-top:var(--space-8)}.mb-2{margin-bottom:var(--space-2)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.mb-8{margin-bottom:var(--space-8)}.w-full{width:100%}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-xs)}::selection{background:var(--color-primary-muted);color:var(--color-text-primary)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeDown{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.88)}to{opacity:1;transform:scale(1)}}@keyframes scaleReveal{0%{opacity:0;transform:scale(.7)}60%{transform:scale(1.05)}to{opacity:1;transform:scale(1)}}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes shimmer{0%{background-position:-200%}to{background-position:200%}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes checkmark{0%{stroke-dashoffset:40px;opacity:0}50%{opacity:1}to{stroke-dashoffset:0;opacity:1}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes glowPulse{0%,to{box-shadow:0 0 20px #e39dae33}50%{box-shadow:0 0 40px #e39dae66}}@keyframes progressFill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes numberCount{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn var(--transition-normal) ease forwards}.animate-fade-up{animation:fadeUp var(--transition-slow) cubic-bezier(.4, 0, .2, 1) forwards}.animate-scale-in{animation:scaleIn var(--transition-slow) cubic-bezier(.34, 1.56, .64, 1) forwards}.animate-scale-reveal{animation:.6s cubic-bezier(.34,1.56,.64,1) forwards scaleReveal}.animate-slide-right{animation:slideInRight var(--transition-slow) cubic-bezier(.4, 0, .2, 1) forwards}.animate-pulse{animation:2s ease-in-out infinite pulse}.animate-spin{animation:1s linear infinite spin}.animate-bounce{animation:1.5s ease-in-out infinite bounce}.animate-glow{animation:2.5s ease-in-out infinite glowPulse}.delay-100{animation-delay:.1s}.delay-150{animation-delay:.15s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}.delay-400{animation-delay:.4s}.delay-500{animation-delay:.5s}.delay-600{animation-delay:.6s}.delay-700{animation-delay:.7s}.delay-800{animation-delay:.8s}.anim-hidden{opacity:0}.transition-all{transition:all var(--transition-normal)}.transition-fast{transition:all var(--transition-fast)}.transition-colors{transition:color var(--transition-fast), background-color var(--transition-fast), border-color var(--transition-fast)}.transition-transform{transition:transform var(--transition-normal)}.shimmer{background:linear-gradient(90deg, var(--color-surface) 25%, #fff9 50%, var(--color-surface) 75%);background-size:200% 100%;animation:1.5s infinite shimmer}
