body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.theme-quick-switch{align-items:center;background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-pill);box-shadow:var(--shadow-sm);display:inline-flex;gap:8px;padding:4px 8px 4px 4px}.theme-quick-preview{align-items:flex-start;background-position:50%;background-size:140%;border:none;border-radius:var(--radius-pill);color:var(--color-text-primary);cursor:pointer;display:flex;flex-direction:column;justify-content:center;min-width:120px;padding:8px 12px;transition:transform .2s ease,box-shadow .2s ease}.theme-quick-preview:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.theme-preview-label{font-size:.92rem;font-weight:700}.theme-preview-sub{font-size:.7rem;opacity:.85}.theme-quick-select{border:1px solid #0000;border-radius:var(--radius-pill);color:var(--color-text-primary);font-weight:600;padding:6px 12px}.theme-quick-select,.theme-quick-settings{background:var(--color-surface);cursor:pointer}.theme-quick-settings{border:1px solid #0000;border-radius:50%;box-shadow:var(--shadow-sm);display:grid;height:36px;place-items:center;transition:transform .2s ease,box-shadow .2s ease;width:36px}.theme-quick-settings:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.theme-quick-switch-compact{background:#0000;border:none;box-shadow:none;gap:0;padding:0;position:relative}.theme-compact-trigger{background:var(--color-surface);border:1px solid color-mix(in srgb,var(--color-border) 65%,#0000);border-radius:50%;box-shadow:var(--shadow-sm);cursor:pointer;display:grid;height:38px;place-items:center;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;width:38px}.theme-compact-trigger:hover,.theme-quick-switch-compact.open .theme-compact-trigger{border-color:color-mix(in srgb,var(--color-accent) 45%,var(--color-border));box-shadow:var(--shadow-md);transform:translateY(-1px)}.theme-compact-icon{font-size:1.05rem}.theme-compact-popover{background:var(--color-surface);border:1px solid color-mix(in srgb,var(--color-border) 70%,#0000);border-radius:16px;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:12px;max-width:min(280px,90vw);min-width:220px;opacity:0;padding:14px;pointer-events:none;position:absolute;right:0;top:calc(100% + 8px);transform:translateY(-6px);transition:opacity .18s ease,transform .18s ease;z-index:30}.theme-quick-switch-compact.open .theme-compact-popover{opacity:1;pointer-events:auto;transform:translateY(0)}.theme-compact-header{align-items:center;display:flex;gap:8px;justify-content:space-between}.theme-compact-title{color:var(--color-text-primary);font-size:.95rem;font-weight:700}.theme-compact-settings{background:var(--color-surface-alt);border:1px solid color-mix(in srgb,var(--color-border) 60%,#0000);border-radius:50%;cursor:pointer;display:grid;height:32px;place-items:center;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;width:32px}.theme-compact-settings:hover{border-color:color-mix(in srgb,var(--color-accent) 40%,var(--color-border));box-shadow:var(--shadow-sm);transform:translateY(-1px)}.theme-compact-body{display:flex;flex-direction:column;gap:10px}.theme-compact-preview{border-radius:12px;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-border) 50%,#0000);height:38px;width:100%}.theme-compact-label{color:var(--color-text-muted);font-size:.75rem;font-weight:600}.theme-compact-select{background:var(--color-surface-alt);border:1px solid color-mix(in srgb,var(--color-border) 70%,#0000);border-radius:12px;color:var(--color-text-primary);font-weight:600;padding:8px 12px;width:100%}.theme-compact-select:focus-visible{outline:2px solid color-mix(in srgb,var(--color-accent) 60%,#0000);outline-offset:2px}@media (max-width:768px){.theme-quick-switch:not(.theme-quick-switch-compact){justify-content:space-between;padding:6px;width:100%}}.theme-settings-overlay{align-items:stretch;display:flex;inset:0;justify-content:flex-end;overflow:hidden;position:fixed;z-index:2000}.theme-settings-panel{background:var(--color-surface);border-left:1px solid var(--color-border);box-shadow:var(--shadow-lg);color:var(--color-text-primary);display:flex;flex-direction:column;gap:24px;max-width:calc(100% - 48px);overflow-y:auto;padding:24px;pointer-events:auto;position:relative;width:clamp(0px,calc(100% - 48px),420px);z-index:1}.theme-settings-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.theme-settings-header h2{font-size:1.6rem;margin:0}.theme-settings-header p{color:var(--color-text-secondary);line-height:1.45;margin:6px 0 0}.theme-close-btn{background:var(--color-surface-alt);border:none;border-radius:50%;box-shadow:var(--shadow-sm);cursor:pointer;height:36px;width:36px}.theme-section{display:flex;flex-direction:column;gap:16px}.theme-section-header{display:flex;flex-direction:column;gap:4px}.theme-section-header h3{font-size:1.2rem;margin:0}.theme-section-header span{color:var(--color-text-muted);font-size:.85rem}.theme-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.theme-card{border:none;border-radius:var(--radius-lg);color:var(--color-primary-contrast);cursor:pointer;display:flex;flex-direction:column;justify-content:flex-end;min-height:112px;padding:16px;text-align:left;transition:transform .2s ease,box-shadow .2s ease}.theme-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.theme-card.active{box-shadow:var(--shadow-lg);outline:3px solid var(--color-primary)}.theme-card-title{font-size:1.05rem;font-weight:700}.theme-card-tagline{font-size:.75rem;opacity:.85}.theme-recommendations{grid-gap:12px;display:grid;gap:12px}.theme-recommendation-card{grid-gap:12px;align-items:center;background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:grid;gap:12px;grid-template-columns:80px 1fr;padding:12px}.theme-recommendation-preview{border-radius:var(--radius-md);box-shadow:var(--shadow-sm);height:64px;width:80px}.theme-select-control{background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-pill);color:var(--color-text-primary);cursor:pointer;font-weight:600;padding:10px 14px}.theme-helper-text{color:var(--color-text-muted);font-size:.85rem}.theme-toggle-group{display:flex;flex-direction:column;gap:18px}.theme-toggle-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.theme-toggle-btn{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-pill);cursor:pointer;font-weight:600;padding:6px 14px}.theme-toggle-btn.active{background:var(--color-accent);border-color:#0000;box-shadow:var(--shadow-sm);color:var(--color-accent-contrast)}.theme-switch{align-items:center;display:flex;font-weight:600;gap:10px}.theme-switch input{height:20px;width:20px}.theme-overlay-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0f172a66;border:none;cursor:pointer;inset:0;pointer-events:auto;position:absolute;z-index:0}@media (max-width:1024px){.theme-settings-overlay{justify-content:center;padding:24px}.theme-settings-panel{border-left:none;border-radius:24px;box-shadow:var(--shadow-xl);width:clamp(0px,calc(100% - 48px),420px)}}@media (max-width:768px){.theme-settings-overlay{align-items:flex-end;justify-content:center;padding:16px}.theme-settings-panel{border-left:none;border-radius:24px 24px 8px 8px;border-top:1px solid var(--color-border);box-shadow:var(--shadow-xl);max-height:calc(100vh - 32px);width:100%}.theme-overlay-backdrop{background:#0f172a8c}}.navigation{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:var(--color-surface);box-shadow:var(--shadow-md);position:-webkit-sticky;position:sticky;top:0;z-index:1000}.nav-container{grid-gap:20px;align-items:center;display:grid;gap:20px;grid-template-columns:auto 1fr auto;margin:0 auto;max-width:1200px;min-height:70px;padding:0 20px}.navigation-compact{box-shadow:none}.nav-container-compact{gap:20px;grid-template-columns:auto 1fr auto;max-width:880px}.nav-placeholder{align-items:center;background:var(--color-surface-alt);border:1px dashed color-mix(in srgb,var(--color-border) 65%,#0000);border-radius:16px;color:var(--color-text-muted);display:flex;font-size:.9rem;justify-content:center;justify-self:center;min-height:52px;padding:12px 16px;text-align:center}.nav-placeholder-text{line-height:1.4}.nav-utilities-compact{align-self:center;justify-content:flex-end}.utilities-head{align-items:center;display:flex;gap:12px;justify-content:flex-end}.nav-toggle{align-items:center;background:var(--color-surface-alt);border:1px solid color-mix(in srgb,var(--color-border) 60%,#0000);border-radius:12px;box-shadow:var(--shadow-sm);color:var(--color-text-primary);cursor:pointer;display:none;font-weight:600;gap:8px;padding:8px 12px;transition:all .2s ease}.nav-toggle:hover{background:var(--color-surface-hover);transform:translateY(-1px)}.nav-toggle:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.nav-toggle-icon{font-size:1.05rem;line-height:1}.nav-toggle-label{font-size:.85rem}.nav-menu-open{display:flex}.nav-menu-collapsed{display:none}.nav-menu-mobile{align-items:stretch;background:var(--color-surface);border:1px solid color-mix(in srgb,var(--color-border) 65%,#0000);border-radius:16px;box-shadow:var(--shadow-sm);flex-direction:column;gap:10px;padding:10px}.nav-menu-mobile .nav-item{align-items:center;flex-direction:row;gap:12px;justify-content:flex-start;min-width:0;padding:12px 14px}.nav-menu-mobile .nav-emoji{font-size:clamp(.95rem,calc(2.8vw + .6rem),1.1rem)}.nav-menu-mobile .nav-label{font-size:clamp(.78rem,calc(2.4vw + .6rem),.94rem)}.navigation-mobile{box-shadow:var(--shadow-sm)}.nav-container-mobile{align-items:center;gap:6px 12px;grid-template-areas:"logo utilities" "menu menu";grid-template-columns:auto minmax(0,1fr);min-height:auto;padding:8px 14px}.navigation-mobile .nav-logo{gap:8px;grid-area:logo;justify-content:flex-start;padding:0;width:auto}.navigation-mobile .logo-wordmark{align-items:flex-start}.navigation-mobile .logo-title{font-size:clamp(.95rem,calc(2.8vw + .7rem),1.08rem)}.navigation-mobile .logo-subtitle{display:none}.navigation-mobile .nav-utilities{align-items:flex-end;gap:4px;grid-area:utilities;justify-content:flex-end;padding:0;width:auto}.navigation-mobile .utilities-head{align-items:center;display:flex;gap:8px;justify-content:flex-end}.navigation-mobile .nav-toggle{border-radius:50%;display:inline-flex;height:38px;justify-content:center;padding:0;width:38px}.navigation-mobile .nav-toggle-icon{font-size:1rem}.navigation-mobile .nav-toggle-label{display:none}.navigation-mobile .utilities-main{align-items:flex-end;flex-direction:column;gap:8px;grid-area:menu}.navigation-mobile .nav-menu,.navigation-mobile .nav-placeholder{grid-area:menu}.navigation-mobile-open .nav-menu-mobile{animation:mobileMenuDrop .2s ease-out}@keyframes mobileMenuDrop{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.nav-logo{align-items:center;border-radius:16px;cursor:pointer;display:flex;gap:12px;padding:6px 12px;transition:transform .2s ease;-webkit-user-select:none;user-select:none}.nav-logo:hover{transform:translateY(-1px)}.nav-logo:hover .logo-icon-wrapper{background:var(--color-surface-hover);box-shadow:var(--shadow-lg)}.logo-icon-wrapper{align-items:center;background:var(--color-surface-alt);border-radius:16px;box-shadow:var(--shadow-sm);display:flex;height:48px;justify-content:center;width:48px}.logo-icon{border-radius:12px;height:38px;object-fit:cover;width:38px}.logo-wordmark{display:flex;flex-direction:column;gap:4px;line-height:1.05}.logo-title{color:var(--color-text-primary);font-size:1.35rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.logo-subtitle{color:var(--color-text-secondary);font-size:.74rem;font-weight:600;letter-spacing:.14em;text-transform:none;white-space:nowrap}.nav-menu{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.nav-item{align-items:center;background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:12px;color:var(--color-text-secondary);cursor:pointer;display:flex;flex-direction:column;font-size:14px;font-weight:500;gap:4px;min-width:80px;padding:12px 16px;text-align:center;transition:all .3s ease}.nav-item:hover:not(:disabled){background:var(--color-surface-hover);border-color:var(--color-border-strong);box-shadow:var(--shadow-sm);color:var(--color-text-primary);transform:translateY(-2px)}.nav-item.active{background:var(--color-accent);border-color:#0000;box-shadow:var(--shadow-md);color:var(--color-accent-contrast)}.nav-item.disabled{background:var(--color-surface);border-color:var(--color-border);cursor:not-allowed;opacity:.5}.nav-emoji{display:block;font-size:1.2rem}.nav-label{font-size:.85rem;font-weight:600;white-space:nowrap}.nav-status{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.nav-utilities{align-items:flex-end;display:flex;flex-direction:column;gap:12px;height:100%;justify-content:flex-start;padding-bottom:12px;padding-top:12px;position:relative}.navigation-mobile .nav-utilities{gap:8px;padding-bottom:6px;padding-top:4px}.nav-profile{position:relative}.utilities-main{align-items:flex-end;display:flex;flex-direction:column;gap:12px;justify-content:space-between}.utilities-main:after{content:"";flex-grow:1}.navigation-mobile .utilities-main:after{display:none}.utilities-main .nav-status{order:2}.utilities-main>:first-child{order:1}.nav-container{align-items:stretch}.profile-trigger{align-items:center;background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:14px;color:var(--color-text-secondary);cursor:pointer;display:flex;font-size:.85rem;gap:10px;padding:6px 12px;transition:all .2s ease}.profile-trigger:hover{background:var(--color-surface-hover);box-shadow:var(--shadow-sm);color:var(--color-text-primary)}.profile-trigger-compact{background:var(--color-surface);border:1px solid color-mix(in srgb,var(--color-border) 65%,#0000);border-radius:999px;box-shadow:var(--shadow-sm);gap:0;min-width:0;padding:4px}.profile-trigger-compact:hover{border-color:color-mix(in srgb,var(--color-accent) 45%,var(--color-border));box-shadow:var(--shadow-md);transform:translateY(-1px)}.profile-avatar{align-items:center;background:var(--color-accent);border-radius:50%;color:var(--color-accent-contrast);display:flex;font-size:.9rem;font-weight:600;height:32px;justify-content:center;overflow:hidden;width:32px}.profile-avatar-compact{height:40px;width:40px}.profile-avatar img{height:100%;object-fit:cover;width:100%}.profile-meta{align-items:flex-start;display:flex;flex-direction:column;line-height:1.1}.profile-name{color:var(--color-text-primary);font-weight:600}.profile-caret,.profile-email{font-size:.75rem}.profile-caret{opacity:.7}.profile-dropdown{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:6px;min-width:180px;padding:8px;position:absolute;right:0;top:calc(100% + 8px);z-index:20}.profile-link{background:var(--color-surface-alt);border:none;border-radius:10px;color:var(--color-text-primary);cursor:pointer;font-weight:600;padding:10px 12px;transition:background .2s ease,transform .2s ease;width:100%}.profile-link:hover{background:var(--color-surface-hover);transform:translateX(2px)}.profile-action{background:var(--color-surface-alt);border:none;border-radius:10px;color:var(--color-danger);cursor:pointer;font-weight:600;padding:10px 12px;transition:background .2s ease;width:100%}.profile-action:hover{background:color-mix(in srgb,var(--color-danger) 16%,#0000)}.nav-toast{background:var(--color-surface);border:1px solid color-mix(in srgb,var(--color-border) 70%,#0000);border-radius:14px;box-shadow:var(--shadow-lg);color:var(--color-text-primary);opacity:0;padding:12px 18px;pointer-events:none;position:fixed;right:32px;top:88px;transform:translateY(-6px);transition:opacity .25s ease,transform .25s ease;z-index:1200}.nav-toast-visible{opacity:1;pointer-events:auto;transform:translateY(0)}.status-badge{align-items:center;animation:slideIn .3s ease-out;background:var(--color-surface-alt);border-radius:16px;color:var(--color-text-secondary);display:flex;font-size:.75rem;font-weight:600;padding:6px 12px;white-space:nowrap}.ingredients-badge{background:#22c55e2e;color:var(--color-success)}.recipes-badge{background:#f59e0b2e;color:var(--color-warning)}.shopping-badge{background:#3b82f633;color:var(--color-info)}.favorites-badge{background:#ec489933;color:var(--color-danger)}.notifications-badge{background:#3b82f638;color:var(--color-info)}.cuisine-badge{background:#fbbf2438;color:var(--color-text-primary)}@keyframes slideIn{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}@media (max-width:768px){.nav-container{gap:6px 12px;grid-template-areas:"logo utilities" "menu menu";min-height:auto;padding:8px 14px;text-align:left}.nav-container,.nav-container-compact{grid-template-columns:auto 1fr}.nav-logo{gap:8px;grid-area:logo;justify-content:flex-start;padding:0;width:auto}.logo-icon-wrapper{border-radius:14px;height:40px;width:40px}.logo-icon{height:30px;width:30px}.logo-wordmark{align-items:flex-start}.logo-title{font-size:1.08rem}.logo-subtitle{display:none}.nav-menu,.nav-placeholder{grid-area:menu}.nav-menu{flex-wrap:wrap;gap:6px;justify-content:center}.nav-item{font-size:12px;min-width:70px;padding:10px 12px}.nav-emoji{font-size:1rem}.nav-label{font-size:.75rem}.nav-status{flex-wrap:wrap;gap:6px;justify-content:flex-start}.nav-utilities,.nav-utilities-compact{align-items:flex-end;flex-direction:column;gap:4px;grid-area:utilities;height:auto;padding:0}.utilities-head{gap:8px;justify-content:flex-end}.nav-toggle{border-radius:50%;height:38px;justify-content:center;padding:0;width:38px}.nav-toggle-label{display:none}.utilities-main{align-items:flex-end}.profile-trigger{justify-content:center;width:auto}.profile-dropdown{right:0;transform:none}.nav-toast{bottom:24px;left:16px;right:16px;top:auto;transform:translateY(8px)}.status-badge{font-size:.7rem;padding:4px 8px}}@media (max-width:480px){.nav-container{padding:10px 12px}.nav-logo{padding:8px 12px}.logo-icon{height:34px;width:34px}.logo-title{font-size:1.08rem;letter-spacing:.06em}.logo-subtitle{font-size:.64rem;letter-spacing:.08em}.nav-menu{gap:4px}.nav-item{min-width:60px;padding:8px 10px}.nav-label{font-size:.7rem}.nav-utilities{gap:8px;height:auto;padding:0}.navigation-mobile .nav-menu-mobile{gap:8px;padding:8px}.navigation-mobile .nav-menu-mobile .nav-item{padding:10px 12px}}.nav-item{animation:navItemSlide .3s ease-out}@keyframes navItemSlide{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.nav-item:first-child{animation-delay:.1s}.nav-item:nth-child(2){animation-delay:.2s}.nav-item:nth-child(3){animation-delay:.3s}.nav-item:nth-child(4){animation-delay:.4s}.nav-item:nth-child(5){animation-delay:.5s}.nav-item:nth-child(6){animation-delay:.6s}.nav-item:nth-child(7){animation-delay:.7s}.nav-item:nth-child(8){animation-delay:.8s}.nav-item:not(.disabled):not(.active):hover .nav-emoji{animation:bounce .6s ease}@keyframes bounce{0%,20%,60%,to{transform:translateY(0)}40%{transform:translateY(-4px)}80%{transform:translateY(-2px)}}@media (max-width:1100px){.nav-container{gap:16px;grid-template-columns:1fr;grid-template-rows:auto auto auto;justify-items:center;padding:12px 18px}.nav-logo,.nav-menu{justify-content:center;width:100%}.nav-menu{flex-wrap:wrap;gap:6px}.nav-item{min-width:72px}.nav-utilities{flex-wrap:wrap;gap:10px;width:100%}.nav-status,.nav-utilities{justify-content:center}}.nav-item.active{animation:activePulse 2s ease-in-out infinite}@keyframes activePulse{0%,to{box-shadow:0 4px 12px #0003}50%{box-shadow:0 6px 20px #0000004d}}.tour-overlay{align-items:flex-end;background:linear-gradient(180deg,#0f172a00,#0f172a73);inset:0;justify-content:center;pointer-events:none;position:fixed;z-index:1400}.tour-card,.tour-overlay{display:flex;padding:24px}.tour-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffffa;border-radius:24px;box-shadow:0 28px 70px #0f172a59;flex-direction:column;gap:16px;max-width:420px;pointer-events:all;width:100%}.tour-header{align-items:center;display:flex;justify-content:space-between}.tour-step{background:#3b82f61f;border-radius:999px;color:#1d4ed8;font-size:14px;font-weight:600;padding:4px 10px}.tour-close{background:#94a3b826;border:none;border-radius:999px;color:#475569;cursor:pointer;font-size:16px;height:34px;transition:background .2s ease;width:34px}.tour-close:hover{background:#3b82f633;color:#1d4ed8}.tour-title{color:#0f172a;font-size:20px;margin:0}.tour-description{color:#475569;line-height:1.6;margin:0}.tour-actions{display:flex;gap:12px;justify-content:flex-end}@media (max-width:640px){.tour-overlay{align-items:stretch;padding:16px}.tour-card{border-radius:20px}}.ai-composer-card{background:var(--color-surface);border-radius:24px;box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:20px;padding:24px}.composer-header{gap:16px;justify-content:space-between}.composer-header,.composer-title{align-items:flex-start;display:flex}.composer-title{gap:12px}.composer-title h2{color:var(--color-text-primary);font-size:1.4rem;margin:0}.composer-title p{color:var(--color-text-secondary);font-size:.95rem;margin:4px 0 0}.composer-emoji{font-size:1.8rem}.composer-meta{color:var(--color-text-secondary);font-size:.9rem}.composer-section{display:flex;flex-direction:column;gap:12px}.section-label{font-size:.85rem;letter-spacing:.04em;text-transform:uppercase}.chip-row{display:flex;flex-wrap:wrap;gap:10px}.prompt-chip{align-items:center;background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:999px;color:var(--color-text-secondary);display:inline-flex;font-size:.9rem;gap:6px;padding:8px 14px;transition:all .2s ease}.prompt-chip:hover{border-color:var(--color-accent);color:var(--color-accent)}.prompt-chip.selected{background:color-mix(in srgb,var(--color-accent) 72%,var(--color-surface));border-color:color-mix(in srgb,var(--color-accent) 65%,#0000);box-shadow:0 6px 14px color-mix(in srgb,var(--color-accent) 22%,#0000);color:var(--color-accent-contrast)}.prompt-chip .chip-label{font-weight:600}.prompt-chip .chip-desc{font-size:.75rem;opacity:.8}.prompt-chip.selected .chip-label{color:inherit}.prompt-chip.selected .chip-desc{color:color-mix(in srgb,var(--color-accent-contrast) 70%,#0000);opacity:1}.mode-toggle{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.mode-option{background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:16px;color:var(--color-text-secondary);padding:14px;text-align:left;transition:all .2s ease}.mode-option.active,.mode-option:hover{border-color:var(--color-accent)}.mode-option.active{background:color-mix(in srgb,var(--color-accent) 16%,var(--color-surface));box-shadow:var(--shadow-sm);color:var(--color-text-primary)}.mode-label{display:block;font-weight:600}.mode-hint{color:var(--color-text-muted);font-size:.82rem}.prompt-textarea{background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:16px;color:var(--color-text-primary);font-size:.95rem;min-height:96px;padding:14px 16px;resize:vertical;transition:border .2s ease;width:100%}.prompt-textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-accent) 25%,#0000);outline:none}.composer-actions{align-items:center;display:flex;gap:16px}.compose-btn{min-width:200px}.help-text{color:var(--color-text-muted);font-size:.85rem}.composer-feedback{border-radius:12px;font-size:.9rem;padding:12px 16px}.composer-feedback.error{background:color-mix(in srgb,var(--color-danger) 12%,#0000);color:var(--color-danger)}.composer-result{border-top:1px solid var(--color-border);gap:16px;margin-top:8px;padding-top:16px}.composer-result,.result-header{display:flex;flex-direction:column}.result-header{gap:6px}.result-title{color:var(--color-text-primary);font-weight:600}.result-summary{color:var(--color-text-secondary);font-size:.95rem}.result-tags{display:flex;flex-wrap:wrap;gap:8px}.result-tag{background:color-mix(in srgb,var(--color-accent) 14%,#0000);border-radius:999px;color:var(--color-accent);font-size:.85rem;font-weight:600;padding:6px 12px}.result-recipes{grid-gap:12px;display:grid;gap:12px}.result-recipe-card{background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:14px;display:flex;flex-direction:column;gap:8px;padding:12px 14px}.result-recipe-header{align-items:center;display:flex;gap:12px}.result-recipe-emoji{font-size:1.8rem}.result-recipe-name{color:var(--color-text-primary);font-weight:600}.result-recipe-meta{color:var(--color-text-muted);font-size:.85rem}.result-recipe-tags{display:flex;flex-wrap:wrap;gap:6px}.recipe-tag{background:color-mix(in srgb,var(--color-info) 14%,#0000);border-radius:999px;color:var(--color-info);font-size:.8rem;padding:4px 10px}.result-actions{display:flex;justify-content:flex-end}@media (max-width:768px){.composer-header{align-items:flex-start;flex-direction:column}.composer-actions{align-items:stretch;flex-direction:column}.compose-btn{width:100%}.result-actions{justify-content:center}}.home-page{margin:0 auto;max-width:800px;padding:20px 20px 100px}.home-header{margin-bottom:32px;text-align:center}.home-header h1{-webkit-text-fill-color:#0000;background:var(--gradient-hero);-webkit-background-clip:text;background-clip:text;font-size:2.5rem;margin-bottom:12px}.home-header p{color:var(--color-text-secondary);font-size:1.1rem}.input-section h2{color:var(--color-text-primary)}.input-form,.input-section h2{margin-bottom:16px}.input-group{align-items:center;display:flex;gap:12px;height:48px}.ingredient-input{background:var(--color-surface);border:1px solid var(--color-border);border-radius:24px;box-shadow:var(--shadow-sm);color:var(--color-text-primary);flex:1 1;font-size:16px;height:100%;padding:0 16px;transition:all .3s ease}.ingredient-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}.voice-btn{align-items:center;background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:50%;cursor:pointer;display:flex;font-size:20px;height:48px;justify-content:center;padding:0;transition:all .3s ease;width:48px}.voice-btn:hover{background:var(--color-surface-hover);transform:scale(1.05)}.voice-btn.listening{animation:pulse 1.5s ease-in-out infinite;background:var(--color-surface-hover);border-color:var(--color-danger);color:var(--color-danger)}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}.voice-indicator{align-items:center;color:var(--color-danger);display:flex;font-size:14px;gap:8px;margin-top:8px}.selected-ingredients{background:var(--gradient-surface);border:2px solid var(--color-info);margin-bottom:16px;position:relative}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.selected-ingredients-content{display:flex;flex-direction:column;gap:16px;padding-bottom:8px}.section-header h3{color:var(--color-info);margin:0}.ingredient-tags{margin-bottom:0;margin-right:0;padding-bottom:8px}.ingredient-emoji{font-size:16px}.remove-icon{font-weight:700;opacity:.7;transition:opacity .2s}.tag-removable:hover .remove-icon{opacity:1}.common-ingredients h3{color:var(--color-text-primary);margin-bottom:16px}.common-ingredients-header{background:var(--color-background);border-bottom:1px solid var(--color-border);margin-bottom:12px;padding-bottom:12px;position:-webkit-sticky;position:sticky;top:0;z-index:10}.category-nav{-webkit-overflow-scrolling:touch;display:flex;gap:8px;overflow-x:auto;padding:4px 0 12px;scrollbar-width:none}.category-nav::-webkit-scrollbar{display:none}.category-pill{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:20px;color:var(--color-text-secondary);cursor:pointer;display:flex;flex:0 0 auto;font-size:14px;gap:6px;padding:6px 16px;transition:all .2s ease}.category-pill:hover{background:var(--color-surface-hover);border-color:var(--color-accent)}.category-pill.active{background:var(--color-primary);border-color:var(--color-primary);box-shadow:var(--shadow-sm);color:var(--color-primary-contrast)}.pill-emoji{font-size:16px}.common-ingredients-content{margin-bottom:20px;overflow-y:visible;position:relative}.ingredient-categories{display:flex;flex-direction:column;gap:24px;padding-right:8px}.common-ingredients-content::-webkit-scrollbar{width:8px}.common-ingredients-content::-webkit-scrollbar-track{background:var(--color-surface-alt);border-radius:4px}.common-ingredients-content::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px;-webkit-transition:background .3s ease;transition:background .3s ease}.common-ingredients-content::-webkit-scrollbar-thumb:hover{background:var(--color-border-strong)}.common-ingredients-content{scrollbar-color:var(--color-border) var(--color-surface-alt);scrollbar-width:thin}.ingredient-category{background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:16px;padding:16px;transition:transform .2s ease}.category-title{color:var(--color-text-secondary);font-size:16px;font-weight:600;margin-bottom:12px}.category-emoji{font-size:18px}.ingredient-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.ingredient-item{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;box-shadow:var(--shadow-sm);cursor:pointer;display:flex;flex-direction:column;font-size:14px;gap:4px;min-height:70px;padding:12px 8px;transition:all .2s cubic-bezier(.4,0,.2,1)}.ingredient-item:hover:not(:disabled){background:var(--color-surface-hover);border-color:var(--color-accent);box-shadow:var(--shadow-md);transform:translateY(-2px)}.ingredient-item.selected{background:var(--color-surface-alt);border-color:var(--color-success);box-shadow:inset 0 0 0 1px var(--color-success);color:var(--color-success)}.ingredient-item:disabled{cursor:not-allowed;opacity:.7}.ingredient-item .ingredient-emoji{font-size:20px}.ingredient-name{line-height:1.2;text-align:center}.generate-section{align-self:center;display:flex;flex-direction:column;margin-top:auto;padding-top:12px;width:100%}.generate-btn{align-items:center;background:var(--gradient-accent);border:none;border-radius:20px;box-shadow:var(--shadow-md);color:var(--color-primary-contrast);cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:8px;height:38px;justify-content:center;min-width:130px;overflow:hidden;padding:10px 20px;position:relative;transition:all .3s ease}.generate-btn:hover:not(:disabled){box-shadow:var(--shadow-lg);filter:brightness(1.05);transform:translateY(-2px)}.generate-btn:active{transform:translateY(0)}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.generate-btn:not(:disabled){animation:float 3s ease-in-out infinite}.generate-btn:hover{animation-play-state:paused}.generate-feedback{color:var(--color-text-secondary);font-size:13px;min-height:20px;text-align:center;width:100%}.feedback-error{color:var(--color-danger);font-weight:500}.generate-btn:after{align-items:center;animation:none;border:2px solid var(--color-surface);border-radius:50%;box-shadow:var(--shadow-sm);color:var(--color-primary-contrast);content:attr(data-count);display:flex;font-size:12px;font-weight:700;justify-content:center}.generate-btn:after,.generate-btn:before{background:var(--color-success);height:24px;position:absolute;right:-6px;top:-6px;width:24px}.generate-btn:before{animation:pulse-badge 2s ease-in-out infinite;border-radius:50%;content:"";z-index:-1}@keyframes pulse-badge{0%,to{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(1.3)}}.generate-btn:disabled{background:var(--color-surface-alt);box-shadow:none;color:var(--color-text-muted);cursor:not-allowed;transform:none}.floating-action-bar{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:#ffffffe6;background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:32px;bottom:24px;box-shadow:0 8px 32px #0000001f;display:flex;flex-direction:column;gap:0;left:50%;max-width:500px;padding:8px 8px 8px 24px;position:fixed;transform:translateX(-50%) translateY(150%);transition:transform .4s cubic-bezier(.34,1.56,.64,1);width:90%;z-index:100}.floating-action-bar.visible{transform:translateX(-50%) translateY(0)}.fab-content{justify-content:space-between;width:100%}.fab-content,.fab-info{align-items:center;display:flex}.fab-info{gap:8px}.fab-count{align-items:center;background:var(--color-surface-alt);border-radius:50%;color:var(--color-primary);display:flex;font-size:20px;font-weight:800;height:32px;justify-content:center;width:32px}.fab-label{color:var(--color-text-primary);font-size:14px;font-weight:500}.fab-actions{align-items:center;display:flex;gap:8px}.fab-clear-btn{background:#0000;border:none;border-radius:16px;color:var(--color-text-secondary);cursor:pointer;font-size:13px;padding:8px 12px;transition:all .2s}.fab-clear-btn:hover{background:var(--color-surface-hover);color:var(--color-danger)}.fab-btn{align-items:center;background:linear-gradient(135deg,var(--color-primary) 0,var(--color-accent) 100%);border:none;border-radius:24px;box-shadow:0 4px 12px rgba(var(--color-primary-rgb),.3);color:#fff;display:flex;font-size:16px;font-weight:700;gap:8px;height:48px;justify-content:center;margin:0;min-width:140px;transition:all .3s cubic-bezier(.34,1.56,.64,1)}.fab-btn:hover:not(:disabled){box-shadow:0 6px 16px rgba(var(--color-primary-rgb),.4);transform:scale(1.05)}.fab-btn:active:not(:disabled){transform:scale(.95)}.fab-btn:disabled{background:var(--color-surface-alt);box-shadow:none;color:var(--color-text-muted);cursor:not-allowed}.fab-error{background:#ff00000d;border-radius:12px;color:var(--color-danger);font-size:12px;margin-right:16px;margin-top:8px;padding:6px 12px;text-align:center}@media (max-width:768px){.home-page{padding:16px 16px 90px}.home-header{margin-bottom:24px}.home-header h1{font-size:1.8rem;margin-bottom:8px}.home-header p{font-size:.95rem}.input-group{flex-direction:row;gap:8px}.ingredient-input{font-size:14px;padding:10px 14px}.voice-btn{font-size:18px;height:40px;width:40px}.btn-primary{font-size:14px;height:40px;padding:0 16px;white-space:nowrap}.floating-action-bar{border-radius:20px;bottom:16px;width:calc(100% - 32px)}.common-ingredients-header{top:-1px}}@media (max-width:480px){.common-ingredients-content{max-height:40vh}.ingredient-grid{grid-template-columns:repeat(3,1fr)}.ingredient-categories{gap:16px}.ingredient-category{padding:12px}.ingredient-tags{margin-right:0}.generate-btn{font-size:12px;height:34px;min-width:110px;padding:6px 12px}}.recipe-list-page{margin:0 auto;max-width:1200px;padding:20px}.page-header{margin-bottom:32px}.header-content{grid-gap:20px;align-items:center;background:var(--gradient-hero);border-radius:16px;display:grid;gap:20px;grid-template-columns:auto 1fr auto;padding:24px}.back-btn,.header-content{color:var(--color-primary-contrast)}.back-btn{background:#0000;border:1px solid}.back-btn:hover{background:var(--color-primary-contrast);color:var(--color-primary)}.header-info h1{margin:0 0 8px;text-align:center}.header-info p{font-size:1.1rem;opacity:.9;text-align:center}.shopping-btn{background:#0000;border:1px solid;color:var(--color-primary-contrast);white-space:nowrap}.shopping-btn:hover{background:var(--color-primary-contrast);color:var(--color-primary)}.selected-ingredients-display{background:var(--color-surface-alt);border-left:4px solid var(--color-primary);border-radius:12px;margin-bottom:32px;padding:20px}.selected-ingredients-display h3{color:var(--color-text-primary);margin:0 0 12px}.generation-details{display:flex;flex-direction:column;gap:16px}.generation-block{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;display:flex;flex-direction:column;gap:8px;padding:12px 14px}.generation-label{color:var(--color-text-secondary);font-size:.85rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.generation-text{color:var(--color-text-primary);line-height:1.5;margin:0}.generation-tags{display:flex;flex-wrap:wrap;gap:8px}.generation-tag{background:color-mix(in srgb,var(--color-accent) 16%,#0000);border-radius:999px;color:var(--color-accent);font-size:.85rem;font-weight:600;padding:6px 12px}.ingredient-tags{display:flex;flex-wrap:wrap;gap:8px}.ingredient-emoji{margin-right:4px}.recipe-grid{grid-template-columns:repeat(auto-fill,minmax(360px,1fr));margin-bottom:32px}.recipe-card{border-radius:18px;box-shadow:var(--shadow-md);gap:20px;min-height:260px;padding:24px;transition:all .3s ease}.recipe-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.recipe-card-header{align-items:flex-start;display:flex;gap:18px}.recipe-icon-wrapper{align-items:center;background:var(--gradient-accent);border-radius:20px;box-shadow:inset 0 0 0 1px var(--color-border);display:flex;flex-shrink:0;height:72px;justify-content:center;width:72px}.recipe-emoji{font-size:2.6rem}.recipe-header-text{display:flex;flex:1 1;flex-direction:column;gap:10px;min-width:0}.recipe-header-top{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.recipe-title{flex:1 1 auto;font-size:1.3rem;margin:0;min-width:180px}.difficulty-tag{border-radius:999px;font-size:12px;font-weight:600;padding:4px 12px;white-space:nowrap}.recipe-meta-row{display:flex;flex-wrap:wrap;gap:8px}.meta-chip{align-items:center;background:var(--color-surface-alt);border-radius:999px;box-shadow:inset 0 0 0 1px var(--color-border);color:var(--color-text-secondary);display:inline-flex;font-size:13px;gap:6px;padding:6px 12px;white-space:nowrap}.taste-tags{margin:0}.taste-tag{background:var(--color-surface-alt);border-radius:999px;color:var(--color-accent);font-size:12px;font-weight:500;padding:4px 10px}.recipe-card-body{display:flex;flex-direction:column;gap:16px}.recipe-ingredients-block{display:flex;flex-direction:column;gap:10px}.section-label{color:var(--color-text-secondary);font-size:13px;font-weight:600}.recipe-ingredients-row{display:flex;flex-wrap:wrap;gap:8px}.ingredient-chip{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;color:var(--color-text-secondary);display:inline-flex;font-size:12px;gap:6px;max-width:160px;overflow:hidden;padding:6px 12px;text-overflow:ellipsis;white-space:nowrap}.ingredient-chip.more{background:var(--color-surface-hover);color:var(--color-accent);font-weight:600}.recipe-card-footer{display:flex;justify-content:center;margin-top:auto}.view-btn{border-radius:999px;font-size:14px;min-width:140px;padding:12px 20px}.page-footer{border-top:1px solid var(--color-border);padding-top:32px}.footer-tips{background:var(--color-surface-alt);border-left:4px solid var(--color-success);border-radius:12px;padding:20px}.footer-tips h4{color:var(--color-text-primary);margin:0 0 12px}.footer-tips ul{color:var(--color-text-secondary);margin:0;padding-left:20px}.footer-tips li{margin-bottom:4px}@media (max-width:768px){.recipe-list-page{padding:16px}.header-content{gap:16px;grid-template-columns:1fr;padding:20px;text-align:center}.header-content .btn{justify-content:center;width:100%}.header-info h1{font-size:1.6rem}.header-info p{font-size:1rem}.recipe-grid{gap:20px;grid-template-columns:1fr}.selected-ingredients-display{margin:0 -4px 24px;padding:16px}}@media (max-width:480px){.recipe-grid{grid-template-columns:1fr}.recipe-card{gap:16px;padding:20px}.recipe-card-header{flex-direction:row}.recipe-header-top{align-items:flex-start;flex-direction:column}.recipe-card-footer,.view-btn{width:100%}}.recipe-card{animation:slideUp .3s ease-out}.recipe-grid .recipe-card:first-child{animation-delay:.1s}.recipe-grid .recipe-card:nth-child(2){animation-delay:.2s}.recipe-grid .recipe-card:nth-child(3){animation-delay:.3s}.recipe-grid .recipe-card:nth-child(4){animation-delay:.4s}.recipe-grid .recipe-card:nth-child(5){animation-delay:.5s}.recipe-detail-page{margin:0 auto;max-width:900px;padding:20px}.page-header{justify-content:space-between}.back-btn{align-items:center;display:flex;gap:8px}.favorite-btn.active{background:#ec48991f;border-color:#ec489966;color:#be185d}.recipe-overview{margin-bottom:24px}.recipe-header{grid-gap:24px;align-items:start;display:grid;gap:24px;grid-template-columns:120px 1fr}.recipe-image-large{align-items:center;background:linear-gradient(135deg,#ff9a9e,#fecfef 50%,#fecfef);border-radius:16px;box-shadow:0 4px 16px #0000001a;display:flex;height:120px;justify-content:center;width:120px}.recipe-emoji-large{filter:drop-shadow(0 4px 8px rgba(0,0,0,.1));font-size:4rem}.recipe-basic-info{min-width:0}.recipe-title{color:#333;font-size:2.2rem;font-weight:700;margin:0 0 16px}.recipe-stats{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-bottom:16px}.stat-item{background:#f8f9fa;border-radius:12px;padding:12px}.stat-icon{font-size:1.5rem;margin-bottom:4px}.stat-label{color:#666;font-size:.875rem;margin-bottom:4px}.stat-value{color:#333;font-weight:600}.taste-tags{display:flex;flex-wrap:wrap;gap:8px}.taste-tag{background:#e3f2fd;color:#1565c0;font-size:14px}.ingredients-section h2{color:#333;margin-bottom:20px}.ingredients-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.ingredient-card{align-items:center;background:#f8f9fa;border:2px solid #e9ecef;border-radius:12px;display:flex;flex-direction:column;padding:16px 12px;text-align:center;transition:all .3s ease}.ingredient-card:hover{background:#fff5f5;border-color:#ff6b6b;transform:translateY(-2px)}.ingredient-card .ingredient-emoji{font-size:1.8rem;margin-bottom:8px}.ingredient-name{color:#333;font-weight:500;margin-bottom:4px}.ingredient-amount{color:#666;font-size:.875rem}.steps-section h2{color:#333;margin:0}.steps-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.steps-actions{display:flex;gap:8px}.steps-list{display:flex;flex-direction:column;gap:12px}.step-item{background:#fff;border:2px solid #e9ecef;border-radius:12px;overflow:hidden;transition:all .3s ease}.step-item.expanded{border-color:#ff6b6b;box-shadow:0 4px 16px #ff6b6b1a}.step-item.reading{animation:reading-pulse 1.5s ease-in-out infinite;border-color:#28a745;box-shadow:0 4px 16px #28a74533}@keyframes reading-pulse{0%,to{box-shadow:0 4px 16px #28a74533}50%{box-shadow:0 6px 20px #28a7454d}}.step-header{grid-gap:16px;align-items:center;cursor:pointer;display:grid;gap:16px;grid-template-columns:60px 1fr 40px;padding:16px;transition:background-color .2s ease}.step-header:hover{background:#f8f9fa}.step-number{align-items:center;background:linear-gradient(135deg,#ff6b6b,orange);border-radius:50%;box-shadow:0 4px 12px #ff6b6b4d;color:#fff;display:flex;font-size:1.1rem;font-weight:600;height:44px;justify-content:center;width:44px}.step-preview{min-width:0}.step-description-short{color:#333;font-weight:500;line-height:1.4;margin-bottom:4px}.step-duration{align-items:center;color:#666;display:flex;font-size:.875rem;gap:4px}.step-toggle{color:#666;font-size:1.2rem;transition:transform .3s ease}.step-item.expanded .step-toggle{transform:rotate(0deg)}.step-content{animation:slideDown .3s ease-out;border-top:1px solid #f0f0f0;padding:0 16px 20px}@keyframes slideDown{0%{max-height:0;opacity:0;padding-bottom:0;padding-top:0}to{max-height:500px;opacity:1;padding-bottom:20px;padding-top:16px}}.step-description-full{background:#f8f9fa;border-left:4px solid #ff6b6b;border-radius:8px;color:#333;font-size:1rem;line-height:1.6;margin-bottom:16px;padding:16px}.step-tip{background:#fff3cd;border:1px solid #ffeaa7;border-radius:8px;display:flex;gap:12px;margin-bottom:16px;padding:12px}.tip-icon{font-size:1.2rem}.tip-content{color:#856404;flex:1 1;font-size:.9rem;line-height:1.5}.step-actions{display:flex;gap:12px}.voice-btn.reading{background:#d4edda;border-color:#c3e6cb;color:#155724}.page-footer{margin-top:40px}.cooking-tips{margin-bottom:24px}.cooking-tips h3{color:#333;margin-bottom:16px}.cooking-tips ul{margin:0;padding-left:20px}.cooking-tips li{color:#666;line-height:1.5;margin-bottom:8px}.action-buttons{display:flex;gap:16px;justify-content:center}.share-toast{animation:toast-slide-up .25s ease;background:#0f172aeb;border-radius:12px;bottom:32px;box-shadow:0 18px 36px #0f172a59;color:#fff;left:50%;padding:12px 18px;position:fixed;transform:translateX(-50%);z-index:1000}@keyframes toast-slide-up{0%{opacity:0;transform:translate(-50%,20px)}to{opacity:1;transform:translate(-50%)}}@media (max-width:768px){.recipe-detail-page{padding:16px}.page-header{align-items:stretch;flex-direction:column;gap:16px}.header-actions{justify-content:center}.header-actions .btn{flex:1 1;font-size:14px;min-width:auto;padding:10px 12px}.recipe-header{gap:16px;grid-template-columns:1fr;text-align:center}.recipe-image-large{height:100px;margin:0 auto;width:100px}.recipe-emoji-large{font-size:3.5rem}.recipe-title{font-size:1.8rem}.recipe-stats{gap:12px;grid-template-columns:1fr 1fr}.ingredients-grid{grid-template-columns:repeat(2,1fr)}.step-header{gap:12px;grid-template-columns:50px 1fr 30px;padding:12px}.step-number{font-size:1rem;height:36px;width:36px}.steps-actions{gap:6px}.action-buttons,.steps-actions{flex-direction:column}}@media (max-width:480px){.ingredients-grid,.recipe-stats{grid-template-columns:1fr}.step-content{padding:0 12px 16px}.step-description-full{margin-bottom:12px;padding:12px}.step-tip{margin-bottom:12px;padding:10px}}.shopping-list-page{margin:0 auto;max-width:1000px;padding:20px}.shopping-list-page.empty-state{align-items:center;display:flex;justify-content:center;min-height:70vh}.empty-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:28px;box-shadow:var(--shadow-lg);max-width:540px;padding:48px;text-align:center}.empty-card h2{color:var(--color-text-primary);font-size:28px;margin-bottom:12px}.empty-card p{color:var(--color-text-secondary);margin-bottom:24px}.empty-actions{display:flex;gap:12px;justify-content:center}.page-header{grid-gap:20px;background:var(--gradient-hero);border-radius:16px;color:var(--color-text-primary);display:grid;grid-template-columns:auto 1fr auto;padding:20px}.back-btn,.page-header{border:1px solid var(--color-border)}.back-btn{background:var(--color-surface);color:var(--color-text-secondary)}.back-btn:hover{background:var(--color-surface-hover);border-color:var(--color-text-primary);color:var(--color-text-primary)}.header-info{text-align:center}.header-info h1{font-size:2rem;margin:0 0 4px}.header-actions .btn{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary)}.header-actions .btn:hover{background:var(--color-surface-hover);border-color:var(--color-text-primary);color:var(--color-text-primary)}.spinner.small{border-width:1px;height:14px;margin-right:6px;width:14px}.progress-card{background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-md);color:var(--color-text-primary);margin-bottom:24px}.progress-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.progress-header h2{color:var(--color-text-secondary);margin:0}.progress-actions{display:flex;gap:8px}.progress-actions .btn{background:var(--color-surface-alt);border:1px solid var(--color-border);color:var(--color-text-secondary)}.progress-actions .btn:hover:not(:disabled){background:var(--color-surface-hover)}.progress-actions .btn:disabled{opacity:.5}.progress-actions .btn-danger{background:var(--color-danger);border-color:var(--color-danger);color:var(--color-primary-contrast)}.progress-actions .btn-danger:hover:not(:disabled){background:#ff3860eb}.progress-stats{grid-gap:24px;align-items:center;display:grid;gap:24px;grid-template-columns:1fr auto}.progress-bar-container{flex:1 1}.progress-bar{background:var(--color-border);border-radius:6px;margin-bottom:8px}.progress-fill{background:linear-gradient(90deg,#4caf50,#81c784);border-radius:6px;transition:width .6s ease}.progress-text{color:var(--color-text-secondary);font-size:.9rem;text-align:center}.quick-stats{display:flex;gap:16px}.stat-item{align-items:center;display:flex;flex-direction:column;text-align:center}.stat-value{font-size:1.5rem;font-weight:700;line-height:1}.stat-label,.stat-value{color:var(--color-text-secondary)}.stat-label{font-size:.8rem;margin-top:2px}.progress-card .stat-label{color:var(--color-text-secondary)}.text-success{color:#4caf50}.text-orange{color:#ff9800}.categories-container{display:flex;flex-direction:column;gap:20px;margin-bottom:32px}.category-section{border-left:4px solid var(--color-primary)}.category-header{margin-bottom:16px}.category-title{align-items:center;color:var(--color-text-primary);display:flex;font-size:1.3rem;gap:8px;margin:0}.category-emoji{font-size:1.5rem}.category-badge{background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:12px;color:var(--color-primary);font-size:.85rem;font-weight:600;margin-left:auto;padding:4px 8px}.items-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.shopping-item{grid-gap:12px;align-items:center;background:var(--color-surface);border:2px solid var(--color-border);border-radius:12px;cursor:pointer;display:grid;gap:12px;grid-template-columns:auto 1fr auto;padding:12px;transition:all .3s ease;-webkit-user-select:none;user-select:none}.shopping-item:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md);transform:translateY(-1px)}.shopping-item.purchased{background:var(--color-surface-alt);opacity:.8}.shopping-item.purchased,.shopping-item.purchased:hover{border-color:var(--color-success)}.shopping-item.pending{background:var(--color-surface)}.shopping-item.pending,.shopping-item.pending:hover{border-color:var(--color-warning)}.item-checkbox{align-items:center;display:flex;font-size:1.2rem;height:24px;justify-content:center;width:24px}.item-info{flex:1 1;min-width:0}.item-header{align-items:center;display:flex;gap:6px;margin-bottom:2px}.item-emoji{font-size:1.1rem}.item-name{color:var(--color-text-primary);font-weight:500}.shopping-item.purchased .item-name{color:var(--color-text-muted);text-decoration:line-through}.item-quantity{color:var(--color-text-secondary);font-size:.85rem}.item-status{text-align:right}.status-text{border-radius:8px;font-size:.75rem;font-weight:500;padding:4px 8px}.purchased-text{background:var(--color-success-light);color:var(--color-success)}.pending-text{background:var(--color-warning-light);color:var(--color-warning)}.related-recipes{margin-bottom:24px}.related-recipes h3{color:var(--color-text-primary);margin-bottom:16px}.recipes-list{display:flex;flex-direction:column;gap:12px}.recipe-item{align-items:center;background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:8px;display:flex;gap:12px;padding:12px}.recipe-emoji{font-size:1.5rem}.recipe-name{flex:1 1;font-weight:500}.shopping-tips h3{color:var(--color-text-primary);margin-bottom:20px}.tips-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.tip-item{background:var(--color-surface-alt);border-left:1px solid var(--color-info);border:1px solid var(--color-border);border-left-width:4px;border-radius:12px;display:flex;gap:12px;padding:16px}.tip-icon{flex-shrink:0;font-size:1.5rem}.tip-content h4{color:var(--color-text-primary);font-size:1rem;margin:0 0 6px}.tip-content p{color:var(--color-text-secondary);font-size:.9rem;line-height:1.4;margin:0}.shopping-toast{animation:shopping-toast-in .25s ease;background:#3b82f6e6;border-radius:12px;bottom:32px;box-shadow:0 18px 32px #3b82f640;color:#fff;left:50%;padding:10px 16px;position:fixed;transform:translateX(-50%);z-index:40}@keyframes shopping-toast-in{0%{opacity:0;transform:translate(-50%,16px)}to{opacity:1;transform:translate(-50%)}}@media (max-width:768px){.shopping-list-page{padding:16px}.page-header{gap:16px;grid-template-columns:1fr;padding:16px;text-align:center}.header-actions{flex-wrap:wrap;justify-content:center}.progress-stats{gap:16px;grid-template-columns:1fr}.quick-stats{justify-content:center}.progress-header{align-items:flex-start;flex-direction:column;gap:12px}.progress-actions{justify-content:center;width:100%}.items-grid,.tips-grid{grid-template-columns:1fr}.category-title{font-size:1.2rem}}@media (max-width:480px){.shopping-item{gap:8px;grid-template-columns:auto 1fr}.item-status{grid-column:2;margin-top:4px;text-align:left}.recipe-item{align-items:flex-start;flex-direction:column;gap:8px}.recipe-item .btn{align-self:stretch}}.shopping-item{animation:slideUp .3s ease-out}.category-section:first-child .shopping-item{animation-delay:.1s}.category-section:nth-child(2) .shopping-item{animation-delay:.2s}.category-section:nth-child(3) .shopping-item{animation-delay:.3s}.history-page{background:var(--gradient-hero);color:var(--color-text-primary);margin:0 auto;max-width:1200px;min-height:calc(100vh - 80px);padding:20px}.page-header{align-items:center;display:flex;gap:20px;margin-bottom:24px}.page-header h1{color:var(--color-text-primary);font-size:2rem;margin:0}.tab-navigation{background:var(--color-surface-alt);border-radius:12px;display:flex;gap:4px;margin-bottom:24px;padding:4px;width:-webkit-fit-content;width:fit-content}.tab-btn{background:#0000;border:none;border-radius:8px;color:var(--color-text-secondary);cursor:pointer;font-size:16px;font-weight:500;padding:12px 24px;transition:all .3s ease;white-space:nowrap}.tab-btn:hover{background:var(--color-surface-hover)}.tab-btn.active,.tab-btn:hover{color:var(--color-text-primary)}.tab-btn.active{background:var(--color-surface);box-shadow:var(--shadow-sm)}.empty-state{margin:0 auto;max-width:400px;padding:60px 40px;text-align:center}.empty-icon{font-size:4rem;opacity:.6}.empty-state h3{color:var(--color-text-primary);font-size:1.5rem;margin:0 0 12px}.empty-state p{color:var(--color-text-secondary);line-height:1.5;margin:0 0 24px}.history-list{display:flex;flex-direction:column;gap:16px}.history-item{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:16px;transition:transform .2s ease,box-shadow .2s ease}.history-item:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.history-header{grid-gap:20px;align-items:center;display:grid;gap:20px;grid-template-columns:1fr auto;margin-bottom:16px}.recipe-info{align-items:center;display:flex;gap:16px}.recipe-image-small{align-items:center;background:var(--gradient-surface);border:1px solid var(--color-border);border-radius:12px;display:flex;flex-shrink:0;height:60px;justify-content:center;width:60px}.recipe-image-small .recipe-emoji{font-size:2rem}.recipe-details{flex:1 1;min-width:0}.recipe-name{color:var(--color-text-primary);font-size:1.3rem;font-weight:600;margin:0 0 8px}.recipe-meta{align-items:center;gap:12px}.cooked-date,.duration{align-items:center;color:var(--color-text-secondary);display:flex;font-size:.9rem;gap:4px}.history-actions{display:flex;flex-shrink:0;gap:8px}.history-actions .btn-danger{background:#0000;border:1px solid var(--color-border);box-shadow:none;color:var(--color-text-secondary)}.history-actions .btn-danger:hover{background:var(--color-surface-hover);border-color:var(--color-danger);color:var(--color-danger)}.rating-display{color:var(--color-text-secondary);font-size:.95rem;margin-bottom:12px}.notes-display{background:var(--color-surface-alt);border-left:4px solid var(--color-accent);border-radius:8px;padding:12px}.notes-display strong{color:var(--color-text-primary)}.notes-display p{color:var(--color-text-secondary);line-height:1.5;margin:4px 0 0}.recommendation-filters{margin-bottom:24px}.recommendation-filters h3{color:var(--color-text-primary);margin:0 0 16px}.filter-tags{display:flex;flex-wrap:wrap;gap:8px}.filter-tag{align-items:center;background:var(--color-surface);border:2px solid var(--color-border);border-radius:20px;color:var(--color-text-secondary);cursor:pointer;display:flex;font-size:14px;gap:6px;padding:8px 16px;transition:all .3s ease}.filter-tag:hover{border-color:var(--color-primary);color:var(--color-primary)}.filter-tag.active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-primary-contrast)}.tag-emoji{font-size:16px}.recipe-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.recommendation-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;transition:all .3s ease}.recommendation-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.recipe-image{align-items:center;background:var(--gradient-surface);display:flex;height:120px;justify-content:center;position:relative}.recipe-image .recipe-emoji{filter:drop-shadow(0 4px 8px rgba(0,0,0,.1));font-size:3rem}.ai-badge{background:var(--color-surface);border-radius:12px;box-shadow:var(--shadow-sm);color:var(--color-text-primary);font-size:.75rem;font-weight:600;padding:4px 8px;position:absolute;right:8px;top:8px}.recipe-content{padding:20px}.recipe-title{color:var(--color-text-primary);font-size:1.2rem;font-weight:600;margin:0 0 12px}.recipe-stats{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px}.stat{align-items:center;color:var(--color-text-secondary);display:flex;font-size:.85rem;gap:4px}.recommendation-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.recommendation-tag{background:color-mix(in srgb,var(--color-success) 15%,#0000);border-radius:12px;color:var(--color-success);font-size:.75rem;font-weight:500;padding:4px 8px}.taste-preview{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.taste-tag{background:color-mix(in srgb,var(--color-info) 15%,#0000);border-radius:12px;color:var(--color-info);font-size:.75rem;padding:4px 8px}.card-actions{display:flex;gap:8px}.card-actions .btn{flex:1 1}.stats-section{margin-top:40px}.stats-section h3{color:var(--color-text-primary);margin:0 0 20px;text-align:center}.stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.stat-card{background:var(--gradient-accent);border-radius:18px;box-shadow:var(--shadow-md);color:var(--color-primary-contrast);overflow:hidden;padding:26px 18px;position:relative;text-align:center;transition:transform .2s ease,box-shadow .2s ease}.stat-card:after{background:linear-gradient(120deg,#ffffff1f,#fff0);content:"";inset:0;pointer-events:none;position:absolute}.stat-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.stat-number{font-size:2.8rem;font-weight:700;line-height:1;margin-bottom:10px}.stat-label,.stat-number{color:var(--color-primary-contrast);position:relative}.stat-label{font-size:.95rem;font-weight:500;opacity:.9}@media (max-width:768px){.history-page{padding:16px}.page-header{align-items:flex-start;flex-direction:column;gap:12px}.tab-navigation{width:100%}.tab-btn{flex:1 1;text-align:center}.history-header{gap:16px;grid-template-columns:1fr}.history-actions{justify-content:stretch}.history-actions .btn{flex:1 1}.recipe-info{gap:12px}.recipe-meta{font-size:.85rem;gap:8px}.filter-tags{justify-content:center}.recipe-grid{gap:16px;grid-template-columns:1fr}.stats-grid{gap:16px;grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.empty-state{padding:40px 20px}.recipe-info{flex-direction:column;text-align:center}.recipe-meta{justify-content:center}.filter-tag{font-size:13px;padding:6px 12px}.stats-grid{grid-template-columns:1fr}.stat-number{font-size:2rem}}.history-item,.recommendation-card{animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.history-item:first-child{animation-delay:.1s}.history-item:nth-child(2){animation-delay:.2s}.history-item:nth-child(3){animation-delay:.3s}.recommendation-card:first-child{animation-delay:.1s}.recommendation-card:nth-child(2){animation-delay:.2s}.recommendation-card:nth-child(3){animation-delay:.3s}.recommendation-card:nth-child(4){animation-delay:.4s}.cook-mode-page{background:var(--gradient-surface);background-color:var(--color-background);display:flex;flex-direction:column;gap:24px;min-height:calc(100vh - 120px);padding:24px}.cook-mode-page.empty-state{align-items:center;justify-content:center}.cook-mode-page .empty-card{background:var(--color-surface);border-radius:24px;box-shadow:var(--shadow-lg);max-width:520px;padding:48px;text-align:center}.cook-mode-page .empty-card h2{font-size:28px;margin-bottom:12px}.cook-mode-page .empty-card p{color:var(--color-text-secondary);margin-bottom:24px}.cook-mode-page .empty-actions{display:flex;gap:12px;justify-content:center}.cook-header{align-items:center;display:flex;gap:16px;justify-content:space-between}.cook-header .back-btn{align-items:center;display:inline-flex;font-weight:600;gap:8px}.cook-header-info{display:flex;flex:1 1;flex-direction:column;gap:4px}.cook-title{align-items:center;display:flex;gap:12px}.cook-title .recipe-emoji{font-size:34px}.cook-title h1{font-size:28px;margin:0}.cook-meta{color:var(--color-text-secondary);display:flex;font-size:14px;gap:16px}.cook-controls{align-items:center;display:flex}.voice-toggle{align-items:center;display:inline-flex;gap:8px}.voice-toggle.active{background:var(--color-surface-alt);border-color:var(--color-success);color:var(--color-success)}.cook-progress{background:var(--color-surface);border-radius:20px;box-shadow:var(--shadow-md);padding:18px 24px}.cook-progress .progress-label{color:var(--color-text-secondary);font-weight:600;margin-bottom:8px}.progress-bar{background:var(--color-surface-alt);border-radius:999px;height:12px;overflow:hidden;width:100%}.progress-fill{background:var(--gradient-accent);border-radius:999px;height:100%;transition:width .3s ease}.cook-content{grid-gap:24px;display:grid;gap:24px;grid-template-columns:2fr 1fr}.current-step{background:var(--color-surface);border-radius:28px;box-shadow:var(--shadow-lg);padding:32px}.current-step .step-header{align-items:center;color:var(--color-accent);display:flex;font-size:18px;font-weight:600;justify-content:space-between;margin-bottom:18px}.current-step .step-body{color:var(--color-text-primary);display:flex;flex-direction:column;font-size:18px;gap:12px;line-height:1.6}.step-tip{align-items:flex-start;background:var(--color-surface-alt);border-radius:12px;color:var(--color-success);display:inline-flex;font-size:14px;gap:8px;padding:10px 14px}.timer-display{align-items:center;display:flex;gap:16px;margin-bottom:16px;margin-top:24px}.timer-value{font-feature-settings:"tnum";background:var(--color-surface-alt);border-radius:16px;box-shadow:inset 0 0 0 1px var(--color-border);font-size:34px;font-variant-numeric:tabular-nums;font-weight:700;padding:10px 18px}.step-buttons,.timer-controls{display:flex;gap:12px}.step-buttons{flex-wrap:wrap}.step-buttons .next-step{background:var(--gradient-accent);border:none;box-shadow:var(--shadow-md);color:var(--color-accent-contrast)}.step-buttons .speaking{background:var(--color-surface-hover);border-color:var(--color-info);color:var(--color-info)}.completed-steps,.upcoming-steps{display:flex;flex-direction:column;gap:16px}.completed-steps h2,.upcoming-steps h2{font-size:20px;margin:0}.upcoming-list{display:flex;flex-direction:column;gap:12px}.completed-card,.upcoming-card{background:var(--color-surface);border-radius:18px;box-shadow:var(--shadow-md);padding:18px}.completed-index,.upcoming-header{align-items:center;color:var(--color-accent);display:flex;font-weight:600;justify-content:space-between;margin-bottom:8px}.completed-card p,.upcoming-card p{color:var(--color-text-primary);line-height:1.5;margin:0}.upcoming-tip{color:var(--color-text-secondary);font-size:14px;margin-top:8px}.completed-card.empty{color:var(--color-text-muted);text-align:center}.completed-list{display:flex;flex-direction:column;gap:12px}.cook-toast{animation:cook-toast-in .25s ease;background:color-mix(in srgb,var(--color-danger) 85%,#0000);border-radius:12px;bottom:32px;box-shadow:var(--shadow-lg);color:var(--color-primary-contrast);left:50%;padding:12px 18px;position:fixed;transform:translateX(-50%)}@keyframes cook-toast-in{0%{opacity:0;transform:translate(-50%,16px)}to{opacity:1;transform:translate(-50%)}}@media (max-width:1024px){.cook-content{grid-template-columns:1fr}.cook-mode-page{padding:20px}.current-step{order:-1}}@media (max-width:640px){.cook-header{align-items:flex-start;flex-direction:column;gap:12px}.cook-controls{width:100%}.cook-progress{padding:16px}.timer-display{align-items:flex-start;flex-direction:column}.timer-controls{justify-content:space-between;width:100%}.step-buttons{flex-direction:column}.step-buttons .btn{justify-content:center;width:100%}}.collections-page{background:var(--gradient-hero);display:flex;flex-direction:column;gap:24px;min-height:calc(100vh - 120px);padding:24px}.collections-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.header-titles h1{color:var(--color-text-primary);font-size:32px;margin-bottom:8px}.header-titles p{color:var(--color-text-secondary);margin:0}.collections-filters{background:var(--color-surface);border:1px solid var(--color-border);border-radius:20px;box-shadow:var(--shadow-md);padding:20px 24px}.filters-row{display:flex;flex-wrap:wrap;gap:12px}.tag-chip{background:var(--color-surface-alt);border:none;border:1px solid var(--color-border);border-radius:999px;color:var(--color-text-secondary);cursor:pointer;font-weight:600;padding:10px 16px;transition:all .2s ease}.tag-chip:hover{border-color:var(--color-primary);color:var(--color-primary)}.tag-chip.active{background:var(--gradient-accent);border-color:#0000;box-shadow:var(--shadow-sm);color:var(--color-primary-contrast)}.favorites-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.favorite-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:24px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:16px;padding:22px;transition:transform .2s ease,box-shadow .2s ease}.favorite-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.tag-placeholder{color:var(--color-text-muted);font-size:.9rem}.favorite-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.favorite-title{align-items:center;display:flex;gap:12px}.favorite-title h3{color:var(--color-text-primary);font-size:20px;margin:0}.favorite-emoji{font-size:32px}.favorite-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.favorite-meta{color:var(--color-text-secondary);display:flex;font-size:14px;gap:12px}.favorite-notes{background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:16px;color:var(--color-text-primary);margin:0;min-height:64px;padding:12px 16px}.favorite-notes-empty{color:var(--color-text-muted);font-style:italic}.favorite-actions{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.btn-link{background:none;border:none;cursor:pointer;font-weight:600;padding:4px 0;transition:color .2s ease}.btn-link,.btn-link:hover{color:var(--color-primary)}.btn-link:hover{opacity:.8}.btn-ghost{background:#0000;border:1px solid var(--color-border-strong);color:var(--color-text-secondary)}.btn-ghost:hover{border-color:var(--color-text-secondary);color:var(--color-text-primary)}.btn-small{font-size:.85rem;padding:6px 12px}.favorite-section{display:flex;flex-direction:column;gap:12px}.favorite-section-header{align-items:center;display:flex;gap:12px;justify-content:space-between}.favorite-section-title{color:var(--color-text-primary);font-weight:700}.favorite-edit-actions{display:flex;gap:8px}.favorite-tags-edit{display:flex;flex-direction:column;gap:10px}.favorite-tags-input{background:var(--color-surface-alt);border:1px solid var(--color-border-strong);border-radius:12px;color:var(--color-text-primary);font-size:.95rem;padding:10px 14px;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.favorite-tags-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}.tag-preview{display:flex;flex-wrap:wrap;gap:8px;min-height:28px}.tag-preview-chip{background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:999px;color:var(--color-primary);font-size:.85rem;font-weight:600;padding:4px 12px}.favorite-notes-input{background:var(--color-surface-alt);border:1px solid var(--color-border-strong);border-radius:16px;color:var(--color-text-primary);font-size:.95rem;line-height:1.6;min-height:120px;padding:12px 16px;resize:vertical;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.favorite-notes-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}.icon-btn{align-items:center;background:var(--color-surface-alt);border:none;border-radius:50%;color:var(--color-text-secondary);cursor:pointer;display:inline-flex;height:32px;justify-content:center;transition:all .2s ease;width:32px}.icon-btn:hover{background:var(--color-surface-hover);color:var(--color-primary)}.empty-favorites{background:var(--color-surface);border:1px solid var(--color-border);border-radius:28px;box-shadow:var(--shadow-md);padding:48px;text-align:center}.empty-favorites h2{color:var(--color-text-primary);font-size:26px;margin-bottom:12px}.share-modal{align-items:center;background:var(--color-overlay);display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.share-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:28px;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:16px;max-width:540px;padding:32px;width:90%}.share-header{align-items:center;display:flex;justify-content:space-between}.share-header h2{color:var(--color-text-primary)}.share-guides{display:flex;flex-direction:column;gap:12px}.share-guide{background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:16px;padding:12px 16px}.share-guide h3{color:var(--color-text-primary);margin:0 0 4px}.share-guide p{color:var(--color-text-secondary);margin:0}.share-link{background:var(--color-background);border-radius:8px;font-size:13px;margin-top:6px;padding:8px;word-break:break-all}.collections-toast,.share-link{color:var(--color-text-primary)}.collections-toast{animation:toast-in .25s ease;background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:12px;bottom:32px;box-shadow:var(--shadow-lg);padding:12px 18px;position:fixed;right:32px}@keyframes toast-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.collections-page{padding:20px}.favorite-actions{grid-template-columns:1fr}.share-card{padding:24px}}.planner-page{background:var(--color-background);background-image:radial-gradient(circle at top left,color-mix(in srgb,var(--color-success) 18%,#0000),#0000 55%),var(--gradient-surface);background-repeat:no-repeat;display:flex;flex-direction:column;gap:24px;min-height:calc(100vh - 120px);padding:24px}.planner-header{grid-gap:16px;align-items:center;display:grid;gap:16px;grid-template-columns:1fr auto auto}.header-week-nav{align-items:center;display:flex;gap:12px}.week-label{background:color-mix(in srgb,var(--color-success) 18%,#0000);border-radius:12px;color:var(--color-success);font-weight:600;padding:10px 16px}.planner-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:2fr 1fr}.week-board{background:var(--color-surface);border-radius:28px;box-shadow:var(--shadow-lg);padding:24px}.board-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.week-table{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.day-column{background:var(--color-surface-alt);border-radius:20px;box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:12px;padding:16px}.day-header{align-items:center;border-bottom:1px dashed color-mix(in srgb,var(--color-success) 40%,#0000);color:var(--color-success);display:flex;font-weight:600;justify-content:space-between;padding-bottom:8px}.day-meals{gap:12px}.day-meals,.meal-slot{display:flex;flex-direction:column}.meal-slot{background:var(--color-surface);border:1.5px dashed color-mix(in srgb,var(--color-border) 60%,#0000);border-radius:18px;cursor:pointer;gap:10px;min-height:110px;padding:12px;transition:all .2s ease}.meal-slot.selected{background:color-mix(in srgb,var(--color-success) 15%,var(--color-surface));border-color:var(--color-success);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-success) 35%,#0000)}.meal-title{color:var(--color-text-primary);font-weight:600}.meal-placeholder{align-items:center;color:var(--color-text-muted);display:flex;flex:1 1;font-size:14px;justify-content:center}.meal-content{display:flex;flex-direction:column;gap:10px}.meal-recipe{align-items:center;display:flex;gap:10px}.meal-emoji{font-size:28px}.meal-text{display:flex;flex-direction:column;gap:4px}.meal-actions{align-items:center;display:flex;justify-content:space-between}.serving-adjust{align-items:center;background:color-mix(in srgb,var(--color-success) 18%,#0000);border-radius:12px;color:var(--color-success);display:inline-flex;font-weight:600;gap:8px;padding:4px 8px}.serving-adjust button{background:#0000;border:none;color:inherit;cursor:pointer;font-size:16px}.planner-sidebar{display:flex;flex-direction:column;gap:20px}.planner-actions,.recipe-library,.slot-detail{background:var(--color-surface);border-radius:24px;box-shadow:var(--shadow-lg);padding:20px}.slot-tip{color:var(--color-text-secondary);margin-top:8px}.library-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.library-list{display:flex;flex-direction:column;gap:10px;max-height:320px;overflow-y:auto}.library-item{align-items:center;background:color-mix(in srgb,var(--color-accent) 12%,#0000);border:none;border-radius:16px;cursor:pointer;display:flex;gap:12px;padding:12px 16px;text-align:left;transition:all .2s ease}.library-item:disabled{cursor:not-allowed;opacity:.6}.library-item:hover:not(:disabled){background:color-mix(in srgb,var(--color-accent) 20%,#0000)}.library-emoji{font-size:26px}.library-text{display:flex;flex:1 1;flex-direction:column;gap:4px}.library-text span{color:var(--color-text-secondary);font-size:13px}.library-cta{color:var(--color-accent);font-size:13px;font-weight:600}.planner-actions{display:flex;flex-direction:column;gap:12px}.shopping-preview{background:color-mix(in srgb,var(--color-warning) 18%,#0000);border-radius:16px;color:var(--color-warning);display:flex;flex-direction:column;gap:8px;margin-top:12px;padding:12px}.planner-toast{animation:planner-toast-in .25s ease;background:color-mix(in srgb,var(--color-info) 85%,#0000);border-radius:12px;bottom:32px;box-shadow:var(--shadow-lg);color:var(--color-primary-contrast);padding:12px 18px;position:fixed;right:32px}@keyframes planner-toast-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.loading-state{align-items:center;color:var(--color-text-secondary);display:flex;font-size:18px;justify-content:center;min-height:60vh}.mobile-recipe-sheet-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;bottom:0;left:0;opacity:0;pointer-events:none;position:fixed;right:0;top:0;transition:opacity .3s ease;z-index:900}.mobile-recipe-sheet-overlay.visible{opacity:1;pointer-events:auto}.mobile-recipe-sheet{background:var(--color-surface);border-radius:24px 24px 0 0;bottom:0;box-shadow:0 -4px 20px #00000026;display:flex;flex-direction:column;left:0;max-height:80vh;position:fixed;right:0;transform:translateY(100%);transition:transform .3s cubic-bezier(.2,.8,.2,1);z-index:1000}.mobile-recipe-sheet.visible{transform:translateY(0)}.sheet-header{align-items:flex-start;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;padding:20px 24px}.sheet-title h3{font-size:18px;margin:0 0 4px}.sheet-title p{font-size:13px;margin:0}.btn-close,.sheet-title p{color:var(--color-text-secondary)}.btn-close{background:none;border:none;cursor:pointer;font-size:28px;line-height:1;padding:0 8px}.sheet-content{display:flex;flex-direction:column;gap:12px;overflow-y:auto;padding:16px}@media (min-width:769px){.mobile-recipe-sheet,.mobile-recipe-sheet-overlay{display:none!important}}@media (max-width:768px){.planner-sidebar .recipe-library,.planner-sidebar .slot-detail{display:none}.planner-sidebar{order:2}.planner-page{overflow-x:hidden;padding:16px 16px 100px}.planner-header{grid-template-columns:1fr}.header-week-nav{justify-content:space-between;width:100%}.week-board{background:#0000;box-shadow:none;margin-bottom:20px;padding:0}.board-header{margin-bottom:12px;padding:0 16px}.week-table{-webkit-overflow-scrolling:touch;display:flex;gap:12px;margin:0;overflow-x:auto;padding:0 16px 20px;scroll-snap-type:x mandatory}.week-table::-webkit-scrollbar{display:none}.day-column{background:var(--color-surface);border-radius:20px;box-shadow:var(--shadow-md);flex:0 0 85vw;scroll-snap-align:center}}.notifications-page{background:var(--gradient-hero);display:flex;flex-direction:column;gap:24px;min-height:calc(100vh - 120px);padding:24px}.notifications-header{grid-gap:16px;align-items:center;display:grid;gap:16px;grid-template-columns:1fr auto auto}.header-filters{background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:999px;display:inline-flex;gap:8px;padding:6px}.filter-btn{background:#0000;border:none;border-radius:999px;color:var(--color-text-secondary);cursor:pointer;font-weight:600;padding:8px 16px;transition:all .2s ease}.filter-btn:hover{background:var(--color-surface-hover);color:var(--color-primary)}.filter-btn.active{background:var(--gradient-accent);box-shadow:var(--shadow-sm);color:var(--color-primary-contrast)}.header-actions .btn{align-items:center;border:none;border-radius:12px;cursor:pointer;display:flex;font-weight:600;gap:8px;padding:10px 16px;transition:all .2s ease;white-space:nowrap}.header-actions .btn-primary{background:var(--color-primary);box-shadow:var(--shadow-sm);color:var(--color-primary-contrast)}.header-actions .btn-primary:hover{opacity:.9}.header-actions .btn-secondary{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary)}.header-actions .btn-secondary:hover{background:var(--color-surface-hover);border-color:var(--color-text-primary);color:var(--color-text-primary)}.notifications-layout{grid-gap:24px;display:grid;gap:24px;grid-template-columns:2fr 1fr}.notifications-list{background:var(--color-surface);border:1px solid var(--color-border);border-radius:28px;box-shadow:var(--shadow-md);min-height:400px;padding:24px}.notifications-feed{display:flex;flex-direction:column;gap:24px}.notification-group{display:flex;flex-direction:column;gap:12px}.group-header{color:var(--color-text-muted);font-size:14px;font-weight:600;letter-spacing:.05em;margin-left:8px;text-transform:uppercase}.notification-item{background:var(--color-surface);border:1px solid var(--color-border);border-radius:20px;display:flex;gap:16px;padding:20px;position:relative;transition:all .2s ease}.notification-item:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.notification-item.unread{background:var(--color-surface-alt);border-color:var(--color-primary)}.notification-item.unread .notification-icon{background:var(--color-surface);color:var(--color-primary)}.notification-icon{align-items:center;background:var(--color-surface-alt);border-radius:16px;color:var(--color-text-secondary);display:flex;flex-shrink:0;font-size:24px;height:48px;justify-content:center;width:48px}.notification-content{display:flex;flex:1 1;flex-direction:column;gap:8px}.notification-header-row{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.notification-title{color:var(--color-text-primary);font-size:16px;font-weight:600;line-height:1.4;margin:0}.time-badge{background:var(--color-surface-alt);border-radius:6px;color:var(--color-text-secondary);font-size:12px;padding:4px 8px;white-space:nowrap}.notification-content p{color:var(--color-text-secondary);font-size:14px;line-height:1.5;margin:0}.notification-actions-row{align-items:center;display:flex;gap:16px;margin-top:4px}.action-link{align-items:center;color:var(--color-primary);cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:4px;text-decoration:none}.action-link:hover{text-decoration:underline}.unread-dot{background:var(--color-primary);border-radius:50%;box-shadow:0 0 0 4px var(--color-surface);height:8px;position:absolute;right:20px;top:20px;width:8px}.empty-list{align-items:center;background:var(--color-surface-alt);border:2px dashed var(--color-border);border-radius:20px;color:var(--color-text-muted);display:flex;flex-direction:column;justify-content:center;padding:60px 24px;text-align:center}.empty-icon{font-size:48px;margin-bottom:16px;opacity:.5}.empty-list h3{color:var(--color-text-primary);font-size:18px;margin:0 0 8px}.empty-list p{color:var(--color-text-secondary);margin:0}.notifications-settings{display:flex;flex-direction:column;gap:20px}.insight-card,.preference-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:24px;box-shadow:var(--shadow-md);padding:24px}.insight-card h2,.preference-card h2{align-items:center;color:var(--color-text-primary);display:flex;font-size:18px;gap:8px;margin:0 0 20px}.preference-section{display:flex;flex-direction:column;gap:16px}.channel-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr}.toggle-card{background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:16px;cursor:pointer;padding:16px;transition:all .2s ease}.toggle-card:hover{background:var(--color-surface-hover);border-color:var(--color-border-strong)}.toggle-card.active{background:var(--color-primary-light);border-color:var(--color-primary)}.toggle-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:4px}.toggle-label{color:var(--color-text-primary);font-weight:600}.toggle-card.active .toggle-label{color:var(--color-primary)}.toggle-indicator{border-radius:999px;font-size:12px;font-weight:600;padding:2px 8px}.toggle-indicator.on{background:var(--color-success-light);color:var(--color-success)}.toggle-indicator.off{background:var(--color-error-light);color:var(--color-error)}.toggle-description{color:var(--color-text-secondary);font-size:13px;margin:0}.toggle-row{align-items:center;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;padding:12px 0}.toggle-row:last-child{border-bottom:none}.toggle-row-label{color:var(--color-text-primary);font-weight:500}.switch{display:inline-block;height:24px;position:relative;width:44px}.switch input{height:0;opacity:0;width:0}.slider{background-color:var(--color-border-strong);border-radius:999px;bottom:0;cursor:pointer;left:0;right:0;top:0}.slider,.slider:before{position:absolute;transition:.2s}.slider:before{background-color:var(--color-surface);border-radius:50%;bottom:3px;box-shadow:var(--shadow-sm);content:"";height:18px;left:3px;width:18px}input:checked+.slider{background-color:var(--color-primary)}input:checked+.slider:before{transform:translateX(20px)}.quiet-hours{display:flex;gap:12px;margin-top:8px}.quiet-field{display:flex;flex:1 1;flex-direction:column;gap:6px}.quiet-field label{color:var(--color-text-secondary);font-size:12px;font-weight:500}.quiet-field input{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text-primary);font-size:14px;padding:8px 12px}.quiet-summary{font-size:13px;font-style:italic;margin-top:8px}.insight-card ul,.quiet-summary{color:var(--color-text-secondary)}.insight-card ul{margin:0;padding-left:20px}.insight-card li{font-size:14px;margin-bottom:8px}.notifications-toast{align-items:center;animation:toast-pop .3s cubic-bezier(.175,.885,.32,1.275);background:var(--color-surface-inverse);border-radius:999px;bottom:28px;box-shadow:var(--shadow-lg);color:var(--color-text-inverse);display:flex;font-weight:500;gap:8px;left:50%;padding:12px 24px;position:fixed;transform:translateX(-50%);z-index:100}@media (max-width:1024px){.notifications-layout{grid-template-columns:1fr}.notifications-settings{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}}@media (max-width:768px){.notifications-page{padding:16px}.notifications-header{gap:12px;grid-template-columns:1fr}.header-actions{justify-content:stretch;width:100%}.header-actions .btn{flex:1 1;justify-content:center}.notification-item{padding:16px}.notification-icon{font-size:20px;height:40px;width:40px}}.cuisine-explorer{background:var(--color-background);background-image:var(--gradient-surface);color:var(--color-text-primary);display:flex;flex-direction:column;gap:24px;min-height:calc(100vh - 120px);padding:24px}.cuisine-header{align-items:center;display:flex;gap:16px;justify-content:space-between}.header-info h1{color:var(--color-text-primary);font-size:32px;margin-bottom:8px}.header-info p{color:var(--color-text-secondary);margin:0}.header-actions{gap:12px}.cuisine-spotlight{grid-gap:24px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);display:grid;gap:24px;grid-template-columns:2fr 1fr;padding:28px}.spotlight-main{display:flex;gap:18px}.spotlight-emoji{align-items:center;display:flex;font-size:64px;justify-content:center}.spotlight-text h2{color:var(--color-text-primary);font-size:28px;margin:0 0 8px}.spotlight-text p{color:var(--color-text-secondary);margin:0}.spotlight-flavors{display:flex;gap:8px;margin-top:12px}.flavor-chip{background:color-mix(in srgb,var(--color-accent) 16%,#0000);border-radius:var(--radius-pill);color:var(--color-accent);font-weight:600;padding:6px 12px}.spotlight-actions{margin-top:16px}.spotlight-actions .btn.active{background:color-mix(in srgb,var(--color-primary) 12%,#0000);border-color:color-mix(in srgb,var(--color-primary) 40%,#0000);color:var(--color-primary)}.spotlight-styles{background:var(--color-surface-alt);border-radius:var(--radius-lg);padding:18px}.spotlight-styles h3{color:var(--color-text-primary);margin-top:0}.spotlight-styles ul{color:var(--color-text-secondary);margin:0;padding-left:20px}.cuisine-history,.cuisine-recommendations,.cuisine-wheel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:24px}.wheel-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-top:16px}.wheel-card{align-items:center;background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);cursor:pointer;display:flex;flex-direction:column;gap:8px;padding:16px;transition:all .2s ease}.wheel-card:hover{background:var(--color-surface-hover);border-color:var(--color-accent)}.wheel-card.active{background:color-mix(in srgb,var(--color-accent) 10%,var(--color-surface));border-color:var(--color-accent);box-shadow:var(--shadow-sm)}.wheel-emoji{font-size:28px}.wheel-name{font-weight:600}.recommendations-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.recommendations-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.recipe-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:12px;padding:18px}.recipe-header{align-items:center;display:flex;gap:12px}.recipe-emoji{font-size:30px}.recipe-meta{color:var(--color-text-secondary);display:flex;flex-wrap:wrap;gap:8px}.recipe-actions{display:flex;gap:10px}.empty-badge{background:var(--color-surface-alt);border-radius:var(--radius-pill);padding:6px 12px}.empty-badge,.empty-recipes{color:var(--color-text-muted)}.empty-recipes{padding:32px 0;text-align:center}.history-track{display:flex;flex-wrap:wrap;gap:12px}.history-chip{background:var(--color-surface-alt);border:none;border-radius:var(--radius-pill);color:var(--color-text-secondary);cursor:pointer;font-weight:600;padding:10px 16px;transition:all .2s ease}.history-chip:hover{background:var(--color-surface-hover);color:var(--color-primary)}.history-emoji{margin-right:6px}.cuisine-toast{animation:toast-appear .25s ease;background:var(--color-primary);border-radius:var(--radius-md);bottom:32px;box-shadow:var(--shadow-lg);color:var(--color-primary-contrast);padding:12px 18px;position:fixed;right:32px;z-index:100}@keyframes toast-appear{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width:1024px){.cuisine-spotlight{grid-template-columns:1fr}}@media (max-width:768px){.cuisine-explorer{padding:20px}.cuisine-header{align-items:flex-start;flex-direction:column}.header-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}}.fatloss-page{display:flex;flex-direction:column;gap:24px}.fatloss-hero{align-items:center;background:var(--gradient-hero);border:none;color:var(--color-text-secondary);display:flex;gap:24px;justify-content:space-between}.fatloss-calculator{grid-gap:20px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));padding:24px}.calc-group{display:flex;flex-direction:column;gap:8px}.calc-group label{color:var(--color-text-secondary);font-size:.9rem;font-weight:600}.calc-group input,.calc-group select{background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text-primary);font-size:1rem;padding:10px 12px}.calc-result{align-items:center;border-top:1px solid var(--color-border);display:flex;grid-column:1/-1;justify-content:space-between;margin-top:8px;padding-top:16px}.tdee-display{display:flex;flex-direction:column}.tdee-display span{color:var(--color-text-secondary);font-size:.9rem}.tdee-display strong{color:var(--color-primary);font-size:1.5rem}.fatloss-hero h1{font-size:2rem;margin-bottom:12px}.fatloss-hero p{font-size:1.05rem;margin-bottom:12px;max-width:540px}.hero-tags{display:flex;flex-wrap:wrap;gap:8px}.hero-actions{display:flex;flex-direction:column;gap:12px}.fatloss-plan-selector .selector-header{align-items:center;display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between}.calorie-slider{display:flex;flex-direction:column;gap:8px;min-width:260px}.calorie-slider input[type=range]{accent-color:var(--color-accent);width:100%}.slider-label{font-weight:600}.slider-scale{color:var(--color-text-secondary);display:flex;font-size:.85rem;justify-content:space-between}.plan-tabs{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:24px}.plan-tab{background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:16px;cursor:pointer;display:flex;flex-direction:column;gap:4px;padding:16px;text-align:left;transition:all .3s ease}.plan-tab.active{background:var(--gradient-accent);border-color:#0000;box-shadow:var(--shadow-md);color:var(--color-primary-contrast)}.plan-tab:hover{transform:translateY(-2px)}.plan-tab .plan-tab-title{font-size:1.05rem;font-weight:700}.plan-tab .plan-tab-subtitle{color:inherit;font-size:.85rem}.macro-overview{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-top:28px}.macro-card{background:var(--color-surface-alt);border-radius:16px;display:flex;flex-direction:column;gap:8px;min-height:120px;padding:16px}.macro-card h3{font-size:1.4rem}.macro-card-header{align-items:center;display:flex;justify-content:space-between}.macro-progress{background:color-mix(in srgb,var(--color-border) 30%,#0000);border-radius:999px;height:8px;overflow:hidden}.macro-progress-bar{background:var(--gradient-accent);height:100%}.macro-percent{color:var(--color-text-secondary);font-size:.8rem}.fatloss-meals .section-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:20px}.section-metrics{color:var(--color-text-secondary);display:flex;flex-wrap:wrap;font-weight:600;gap:12px}.meal-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.meal-card{background:var(--color-surface);border-radius:18px;box-shadow:inset 0 0 0 1px var(--color-border);display:flex;flex-direction:column;gap:12px;padding:20px}.meal-card-header{align-items:flex-start;display:flex;gap:12px}.meal-emoji{font-size:2rem}.meal-highlights{color:var(--color-text-secondary);display:flex;flex-direction:column;gap:6px;list-style:disc;margin-left:22px}.meal-highlights li::marker{color:var(--color-accent)}.meal-nutrition{color:var(--color-text-secondary);display:flex;flex-wrap:wrap;font-size:.9rem;font-weight:600;gap:12px}.meal-hydration{color:var(--color-accent);font-size:.85rem}.fatloss-insights ul{color:var(--color-text-secondary);display:flex;flex-direction:column;gap:10px;list-style:none}.insight-card{background:var(--color-surface);border:1px solid color-mix(in srgb,var(--color-border) 60%,#0000)}.fatloss-toolkit{display:flex;flex-direction:column;gap:24px}.toolkit-header{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}.snack-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.snack-card{background:color-mix(in srgb,var(--color-warning) 12%,var(--color-surface));border:1px solid var(--color-border);border-radius:16px;flex-direction:column;padding:18px}.snack-card,.snack-header{display:flex;gap:12px}.snack-emoji{font-size:1.8rem}.snack-nutrition{color:var(--color-text-secondary);display:flex;flex-wrap:wrap;font-size:.85rem;font-weight:600;gap:10px}.lifestyle-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.lifestyle-tip{background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;display:flex;flex-direction:column;gap:8px;padding:16px}.tip-badge{align-self:flex-start;border-radius:999px;font-size:.75rem;font-weight:600;padding:4px 10px}.tip-nutrition{background:color-mix(in srgb,var(--color-success) 18%,#0000);color:var(--color-success)}.tip-training{background:color-mix(in srgb,var(--color-accent) 18%,#0000);color:var(--color-accent)}.tip-lifestyle{background:color-mix(in srgb,var(--color-warning) 18%,#0000);color:var(--color-warning)}.supplement-notes{border-top:1px dashed color-mix(in srgb,var(--color-border) 50%,#0000);padding-top:12px}.supplement-notes ul{color:var(--color-text-secondary);display:flex;flex-direction:column;gap:8px;margin-top:12px}.fatloss-next .next-actions{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.next-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;display:flex;flex-direction:column;gap:12px;padding:20px}.next-emoji{font-size:2rem}@media (max-width:768px){.fatloss-hero{align-items:flex-start;flex-direction:column;text-align:center}.hero-actions,.hero-actions .btn{width:100%}.fatloss-plan-selector .selector-header{align-items:flex-start;flex-direction:column}}.fatloss-toast{animation:toast-pop .2s ease;background:#1e40afeb;border-radius:12px;bottom:28px;box-shadow:0 18px 36px #1e40af52;color:#fff;left:50%;padding:12px 18px;position:fixed;transform:translateX(-50%);z-index:100}@keyframes toast-pop{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}.weight-page{color:var(--color-text-primary);display:flex;flex-direction:column;gap:1.5rem;padding:1.5rem 2rem 2.5rem}.weight-page .card{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.weight-header{align-items:center;display:flex;gap:1.5rem;justify-content:space-between;padding:1.8rem 2.2rem}.weight-header h1{color:var(--color-text-primary);font-size:calc(2rem*var(--font-scale-heading));margin:0}.weight-header p{color:var(--color-text-secondary);line-height:1.5;margin:.35rem 0 0;max-width:34rem}.header-actions{display:flex;flex-wrap:wrap;gap:.75rem}.weight-log-feedback{align-items:center;border:1px solid #0000;border-radius:var(--radius-md);display:flex;font-weight:600;gap:.5rem;margin:-.35rem 0 1rem;padding:.8rem 1.1rem}.weight-log-feedback-success{background:color-mix(in srgb,var(--color-success) 16%,#0000);border-color:color-mix(in srgb,var(--color-success) 35%,#0000);color:var(--color-success)}.weight-log-feedback-error{background:color-mix(in srgb,var(--color-danger) 14%,#0000);border-color:color-mix(in srgb,var(--color-danger) 35%,#0000);color:var(--color-danger)}.weight-log-card{padding:1.6rem 1.8rem}.weight-log-form{grid-gap:1.25rem;display:grid;gap:1.25rem}.weight-log-form-header h2{color:var(--color-text-primary);font-size:calc(1.3rem*var(--font-scale-heading));margin:0}.weight-log-form-header p{color:var(--color-text-secondary);line-height:1.4;margin:.4rem 0 0}.weight-log-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.weight-log-field{color:var(--color-text-primary);display:flex;flex-direction:column;gap:.45rem}.weight-log-field span{align-items:baseline;display:inline-flex;font-size:.95rem;font-weight:600;gap:.35rem}.weight-log-field small{color:var(--color-text-muted);font-weight:500}.weight-log-field sup{color:var(--color-danger);font-size:.75rem}.weight-log-notes{min-height:96px;resize:vertical}.weight-log-actions{display:flex;gap:.75rem;justify-content:flex-end}.weight-log-error{background:color-mix(in srgb,var(--color-danger) 14%,#0000);border:1px solid color-mix(in srgb,var(--color-danger) 35%,#0000);border-radius:var(--radius-md);color:var(--color-danger);font-weight:600;padding:.75rem 1rem}.weight-header .btn{border:none;border-radius:12px;font-weight:600;padding:.65rem 1.2rem;transition:transform .2s ease,box-shadow .2s ease}.weight-header .btn:disabled{cursor:not-allowed;opacity:.55}.weight-header .btn-primary{background:var(--gradient-accent);color:var(--color-primary-contrast)}.weight-header .btn-secondary{background:var(--color-surface-alt);color:var(--color-text-secondary)}.metric-grid{grid-gap:1.2rem;display:grid;gap:1.2rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.metric-card{background:var(--color-surface-alt);display:flex;flex-direction:column;gap:.5rem;padding:1.4rem 1.5rem}.metric-label{color:var(--color-text-secondary);font-size:.95rem;letter-spacing:.08em;text-transform:uppercase}.metric-value{color:var(--color-text-primary);font-size:calc(1.9rem*var(--font-scale-display));font-weight:700}.metric-caption{color:var(--color-text-muted);font-size:.9rem;line-height:1.4}.metric-up{color:var(--color-danger)}.metric-down{color:var(--color-success)}.metric-stable{color:var(--color-info)}.chart-card{padding:1.8rem 1.75rem 2rem}.chart-header{align-items:flex-end;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1rem}.chart-header h2{color:var(--color-text-primary);font-size:calc(1.4rem*var(--font-scale-heading));margin:0}.chart-header p{color:var(--color-text-secondary);margin:.35rem 0 0;max-width:28rem}.chart-legend-hint{background:#60a5fa24;border-radius:var(--radius-pill);color:var(--color-text-secondary);font-size:.95rem;padding:.5rem .8rem}.chart-wrapper{height:320px}.chart-empty{color:var(--color-text-muted);display:grid;font-size:1rem;height:100%;place-items:center}.trend-tooltip{background:#0f172adb;border-radius:var(--radius-md);box-shadow:var(--shadow-lg);color:#f8fafc;display:flex;flex-direction:column;gap:.35rem;padding:.8rem 1rem}.trend-tooltip-date{color:var(--color-chart-neutral);font-weight:700}.insight-grid{grid-gap:1.2rem;display:grid;gap:1.2rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.insight-card{border-left:6px solid #0000;color:var(--color-text-primary);display:flex;flex-direction:column;gap:.6rem;padding:1.5rem 1.6rem}.insight-tag{color:var(--color-text-secondary);font-size:.85rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.insight-positive{background:linear-gradient(120deg,#22c55e1f,#38bdf814);border-color:var(--color-success)}.insight-warning{background:linear-gradient(120deg,#f9731d1f,#f472b61a);border-color:var(--color-danger)}.insight-neutral{background:linear-gradient(120deg,#3b82f61f,#a855f714);border-color:var(--color-info)}.insight-card h3{font-size:calc(1.15rem*var(--font-scale-heading));margin:0}.insight-card p{color:var(--color-text-secondary);line-height:1.4;margin:0}.log-table{padding:1.6rem 1.8rem 2rem}.log-header{align-items:baseline;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1rem}.log-header h2{color:var(--color-text-primary);font-size:calc(1.35rem*var(--font-scale-heading));margin:0}.log-header span{color:var(--color-text-secondary);max-width:32rem}.log-list{border:1px solid var(--color-border);border-radius:var(--radius-md);max-height:360px;overflow:auto}.log-empty{color:var(--color-text-muted);padding:2rem 1rem;text-align:center}.log-list table{border-collapse:collapse;color:var(--color-text-primary);width:100%}.log-list td,.log-list th{font-size:.95rem;padding:.85rem 1rem;text-align:left}.log-list thead{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#94a3b82e;position:-webkit-sticky;position:sticky;top:0;z-index:1}.log-list tbody tr:nth-child(2n){background:#94a3b814}@media (max-width:768px){.weight-page{padding:1.25rem 1rem 2rem}.weight-header{align-items:flex-start;flex-direction:column}.header-actions{justify-content:flex-start;width:100%}.chart-wrapper{height:280px}}.personal-center-page{display:flex;flex-direction:column;gap:28px;margin:0 auto;max-width:1080px;padding:32px}.personal-center-page .page-header{align-items:flex-start;display:flex;flex-direction:column;gap:12px}.personal-center-page .page-header h1{color:var(--color-text-primary);font-size:2rem;margin:0}.page-subtitle{color:var(--color-text-secondary);font-size:.95rem;margin:0}.personal-center-page .back-btn{align-items:center;background:var(--color-surface-alt);border:1px solid color-mix(in srgb,var(--color-border) 60%,#0000);border-radius:14px;color:var(--color-text-secondary);cursor:pointer;display:inline-flex;gap:10px;padding:8px 14px 8px 10px;transition:all .2s ease}.personal-center-page .back-btn:hover{background:color-mix(in srgb,var(--color-surface-hover) 70%,#0000);border-color:color-mix(in srgb,var(--color-accent) 40%,var(--color-border));color:var(--color-text-primary);transform:translateX(-2px)}.personal-center-page .back-icon-wrapper{align-items:center;background:linear-gradient(135deg,#6366f12e,#3b82f614);border-radius:50%;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-accent) 35%,#0000);display:inline-flex;height:36px;justify-content:center;transition:transform .2s ease,box-shadow .2s ease;width:36px}.personal-center-page .back-btn:hover .back-icon-wrapper{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-accent) 55%,#0000),0 6px 12px #3b82f62e;transform:translateX(-2px)}.personal-center-page .back-icon{height:24px;width:24px}.personal-center-page .back-label{color:var(--color-text-primary);font-weight:600}.profile-card{grid-gap:24px;background:var(--color-surface);border:1px solid color-mix(in srgb,var(--color-border) 80%,#0000);border-radius:24px;box-shadow:var(--shadow-md);display:grid;gap:24px;grid-template-columns:auto 1fr;padding:24px}.profile-avatar-large{align-items:center;background:#3b82f61a;background:var(--color-accent-transparent,#3b82f61a);border:1px solid color-mix(in srgb,var(--color-accent) 40%,#0000);border-radius:30px;color:var(--color-accent);display:flex;font-size:2.8rem;font-weight:700;height:108px;justify-content:center;overflow:hidden;width:108px}.profile-avatar-large img{height:100%;object-fit:cover;width:100%}.profile-basics{display:flex;flex-direction:column;gap:10px;justify-content:center}.profile-basics h2{color:var(--color-text-primary);font-size:1.6rem;margin:0}.profile-email{color:var(--color-text-secondary);margin:0}.status-pill{align-items:center;border-radius:999px;display:inline-flex;font-size:.85rem;font-weight:600;gap:6px;padding:6px 12px}.status-active{background:#22c55e2e;color:var(--color-success)}.status-inactive{background:#f8717133;color:var(--color-danger)}.profile-actions{display:flex;flex-wrap:wrap;gap:12px;grid-column:1/-1}.action-btn{background:var(--color-surface-alt);border:none;border-radius:12px;box-shadow:var(--shadow-sm);color:var(--color-text-primary);cursor:pointer;font-weight:600;padding:10px 16px;transition:all .2s ease}.action-btn:hover{background:var(--color-surface-hover);transform:translateY(-1px)}.action-btn:disabled{cursor:not-allowed;opacity:.6}.action-btn-danger{background:#f871712e;color:var(--color-danger)}.action-btn-danger:hover{background:#f8717147}.info-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.info-card{background:var(--color-surface);border:1px solid color-mix(in srgb,var(--color-border) 70%,#0000);border-radius:20px;box-shadow:var(--shadow-sm);gap:16px;padding:20px}.info-card,.info-card header{display:flex;flex-direction:column}.info-card header{gap:4px}.info-card h3{color:var(--color-text-primary);font-size:1.1rem;margin:0}.info-meta{color:var(--color-text-muted);font-size:.8rem}.info-list,.preference-list,.tips-list{display:flex;flex-direction:column;gap:10px;list-style:none;margin:0;padding:0}.info-list li,.preference-list li{display:flex;font-size:.95rem;gap:12px;justify-content:space-between}.label{color:var(--color-text-secondary)}.value{color:var(--color-text-primary);font-weight:600;word-break:break-all}.tips-list li{font-size:.95rem;line-height:1.6}.empty-preferences,.tips-list li{color:var(--color-text-secondary)}.empty-preferences{background:var(--color-surface-alt);border-radius:16px;display:flex;flex-direction:column;gap:12px;padding:16px}.link-btn{align-self:flex-start;background:#3b82f626;border:none;border-radius:12px;color:var(--color-info);cursor:pointer;font-weight:600;padding:8px 12px;transition:all .2s ease}.link-btn:hover{background:#3b82f640}@media (max-width:768px){.personal-center-page{padding:20px 16px}.profile-card{grid-template-columns:1fr;text-align:center}.profile-actions{justify-content:center}.info-list li,.preference-list li{align-items:flex-start;flex-direction:column}}.auth-page{align-items:center;background:radial-gradient(circle at 12% 20%,#fed76638,#0000 60%),radial-gradient(circle at 88% 16%,#7dd3fc2e,#0000 62%),radial-gradient(circle at 50% 86%,#f472b61f,#0000 55%);display:flex;justify-content:center;min-height:calc(100vh - 96px);padding:56px 16px}.auth-container{align-items:stretch;width:min(440px,100%)}.auth-card,.auth-container{display:flex;flex-direction:column;gap:28px}.auth-card{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:var(--color-surface);border:1px solid color-mix(in srgb,var(--color-border) 65%,#0000);border-radius:28px;box-shadow:var(--shadow-lg);overflow:hidden;padding:40px 36px;position:relative}.auth-card:before{background:linear-gradient(135deg,#fbbf24b3,#38bdf899,#ec48998c);border-radius:inherit;inset:-1px;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;padding:1.6px}.auth-card:after,.auth-card:before{content:"";pointer-events:none;position:absolute}.auth-card:after{background:linear-gradient(160deg,#fbbf240f,#3b82f614 45%,#0000);inset:0;opacity:.6}.auth-card>*{position:relative;z-index:1}.auth-badge{align-items:center;align-self:flex-start;background:#38bdf826;border-radius:999px;color:var(--color-info);display:inline-flex;font-size:.75rem;font-weight:600;gap:6px;letter-spacing:.04em;padding:6px 12px}.auth-header{display:flex;flex-direction:column;gap:10px}.auth-header h1{color:var(--color-text-primary);font-size:1.85rem;font-weight:800;letter-spacing:.02em;margin:0}.auth-header p{color:var(--color-text-secondary);font-size:.98rem;line-height:1.6;margin:0}.auth-form{gap:18px}.auth-field,.auth-form{display:flex;flex-direction:column}.auth-field{gap:8px}.auth-field label{color:var(--color-text-secondary);font-size:.88rem;font-weight:600;letter-spacing:.02em}.auth-field-control{align-items:center;background:var(--color-surface-alt);border:1px solid color-mix(in srgb,var(--color-border) 70%,#0000);border-radius:18px;box-shadow:var(--shadow-sm);display:flex;gap:12px;padding:14px 16px;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.auth-field-control:focus-within{background:color-mix(in srgb,var(--color-surface-alt) 75%,#0000);border-color:var(--color-accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--color-accent) 18%,#0000)}.auth-field-icon{font-size:1.2rem}.auth-field input{background:#0000;border:none;color:var(--color-text-primary);flex:1 1;font-size:1rem;font-weight:500}.auth-field input::placeholder{color:var(--color-text-muted)}.auth-field input:focus{outline:none}.auth-error{background:color-mix(in srgb,var(--color-danger) 18%,#0000);border:1px solid color-mix(in srgb,var(--color-danger) 45%,#0000);border-radius:16px;box-shadow:var(--shadow-sm);color:var(--color-danger);font-size:.9rem;font-weight:600;padding:12px 16px}.auth-actions{display:flex;flex-direction:column;gap:14px}.auth-primary{align-items:center;border-radius:18px;box-shadow:var(--shadow-md);display:inline-flex;font-size:1rem;font-weight:700;gap:8px;justify-content:center;letter-spacing:.02em;padding:14px;transition:transform .2s ease,box-shadow .2s ease;width:100%}.auth-primary:disabled{box-shadow:none;cursor:not-allowed;opacity:.7}.auth-primary:not(:disabled):hover{box-shadow:var(--shadow-lg);transform:translateY(-1px)}.auth-secondary{background:color-mix(in srgb,var(--color-surface-alt) 70%,#0000);border:1px solid color-mix(in srgb,var(--color-border) 80%,#0000);border-radius:18px;color:var(--color-text-primary);font-size:.95rem;font-weight:600;padding:13px;transition:background .2s ease,border-color .2s ease;width:100%}.auth-secondary:hover{background:color-mix(in srgb,var(--color-surface-alt) 85%,#0000);border-color:color-mix(in srgb,var(--color-border) 65%,#0000)}.auth-link-button{align-items:center;background:none;border:none;color:var(--color-accent);cursor:pointer;display:inline-flex;font-size:.92rem;font-weight:700;gap:6px;padding:0}.auth-meta{align-items:center;border-top:1px solid color-mix(in srgb,var(--color-border) 55%,#0000);color:var(--color-text-secondary);display:flex;font-size:.88rem;gap:12px;justify-content:space-between;padding-top:8px}.auth-hint{color:var(--color-text-muted);font-size:.84rem;line-height:1.6;text-align:center}.auth-hint a{color:var(--color-accent);font-weight:600}.auth-agreement{align-items:flex-start;color:var(--color-text-muted);cursor:pointer;display:flex;font-size:.82rem;gap:10px;line-height:1.5;-webkit-user-select:none;user-select:none}.auth-agreement input{margin-top:4px}.auth-loading{align-items:center;color:var(--color-text-secondary);display:flex;flex-direction:column;gap:18px;justify-content:center;min-height:40vh;padding:48px 16px}.auth-spinner{animation:auth-spin .9s linear infinite;border:3px solid color-mix(in srgb,var(--color-border) 60%,#0000);border-radius:50%;border-top-color:var(--color-accent);height:46px;width:46px}@keyframes auth-spin{to{transform:rotate(1turn)}}@media (max-width:640px){.auth-page{padding:40px 14px}.auth-card{border-radius:22px;padding:32px 24px}.auth-header h1{font-size:1.6rem}.auth-meta{align-items:flex-start;flex-direction:column;gap:6px}}.legal-page{background:radial-gradient(circle at top,#ffd16624,#0000 60%),radial-gradient(circle at bottom,#81b29a1f,#0000 55%);display:flex;justify-content:center;min-height:calc(100vh - 120px);padding:48px 16px 64px}.legal-card{background:var(--color-surface);border-radius:28px;box-shadow:var(--shadow-lg);gap:32px;padding:40px clamp(24px,4vw,56px);width:min(920px,100%)}.legal-card,.legal-header{display:flex;flex-direction:column}.legal-header{gap:16px}.legal-title{color:var(--color-text-primary);font-size:clamp(2rem,4vw,2.6rem);margin:0}.legal-subtitle{color:color-mix(in srgb,var(--color-text-secondary) 90%,#0000);font-size:1rem;line-height:1.6;margin:0}.legal-back{align-items:center;align-self:flex-start;background:color-mix(in srgb,var(--color-surface-alt) 75%,#0000);border:1px solid color-mix(in srgb,var(--color-border) 75%,#0000);border-radius:14px;color:var(--color-text-primary);cursor:pointer;display:inline-flex;font-size:.92rem;font-weight:600;gap:8px;padding:10px 16px;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.legal-back:hover{background:color-mix(in srgb,var(--color-surface-alt) 85%,#0000);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.legal-section{background:color-mix(in srgb,var(--color-surface-alt) 65%,#0000);border:1px solid color-mix(in srgb,var(--color-border) 70%,#0000);border-radius:18px;display:flex;flex-direction:column;gap:12px;padding:24px}.legal-section h2{color:var(--color-text-primary);font-size:1.35rem;margin:0}.legal-section li,.legal-section p{color:var(--color-text-secondary);font-size:.98rem;line-height:1.7;margin:0}.legal-section a{color:var(--color-accent);font-weight:600;text-decoration:none}.legal-section a:hover{text-decoration:underline}.legal-section ul{grid-gap:6px;display:grid;gap:6px;margin:0;padding-left:1.3rem}.legal-footnote{color:var(--color-text-muted);font-size:.82rem;line-height:1.6}@media (max-width:840px){.legal-card{border-radius:22px;padding:32px clamp(20px,6vw,40px)}.legal-section{padding:20px}}@media (max-width:560px){.legal-page{padding:32px 12px 48px}.legal-card{border-radius:20px;gap:24px;padding:28px 22px}.legal-back{justify-content:center;width:100%}}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-attachment:fixed;background-color:var(--color-background);background-image:var(--gradient-hero);color:var(--color-text-primary);font-family:var(--font-family-base);font-size:var(--font-size-base);line-height:var(--line-height-base);overflow-x:hidden;transition:background-color .35s ease,color .35s ease}.app-container{background:linear-gradient(180deg,#0000 0,var(--color-background) 100%)}.main-content{margin:0 auto;max-width:1200px;padding:20px;width:100%}.card{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);margin-bottom:20px;padding:24px;transition:transform .3s ease,box-shadow .3s ease,background .3s ease}.card:hover{background:var(--color-surface-alt);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.card-small{border-radius:var(--radius-md);padding:16px}.btn{background:var(--color-surface-alt);border:1px solid #0000;border-radius:var(--radius-pill);box-shadow:var(--shadow-sm);color:var(--color-text-primary);cursor:pointer;font-size:calc(1rem*var(--font-scale-body));font-weight:600;gap:8px;min-height:48px;padding:12px 24px;text-decoration:none;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease,background .25s ease}.back-icon,.btn{align-items:center;display:inline-flex;justify-content:center}.back-icon,.back-icon svg{height:20px;width:20px}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-primary{background:var(--gradient-accent);border-color:#0000;box-shadow:var(--shadow-md);color:var(--color-primary-contrast)}.btn-primary:hover:not(:disabled){box-shadow:var(--shadow-lg);filter:brightness(1.05);transform:translateY(-1px)}.btn-secondary{background:var(--color-surface-alt);border-color:var(--color-border);color:var(--color-text-secondary)}.btn-secondary:hover:not(:disabled){background:var(--color-surface-hover);border-color:var(--color-border-strong)}.btn-danger{background:var(--color-danger);border:none;color:var(--color-primary-contrast)}.btn-danger:hover:not(:disabled){filter:brightness(1.05)}.btn-small{font-size:14px;min-height:36px;padding:8px 16px}.btn-icon{border-radius:50%;height:48px;padding:12px;width:48px}.input{background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:calc(1rem*var(--font-scale-body));padding:12px 16px;transition:all .3s ease;width:100%}.input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}.input::placeholder{color:var(--color-text-muted)}.tag{align-items:center;background:var(--color-surface-alt);border-radius:var(--radius-pill);color:var(--color-text-secondary);display:inline-flex;font-size:14px;gap:6px;margin:4px;padding:6px 12px}.tag-removable{background:var(--color-warning);color:var(--color-primary-contrast);cursor:pointer}.tag-removable:hover{filter:brightness(1.05)}.tag-difficulty-easy{background:#10b98133;color:var(--color-success)}.tag-difficulty-medium{background:#f59e0b38;color:var(--color-warning)}.tag-difficulty-hard{background:#f9731633;color:var(--color-danger)}.grid{grid-gap:20px;display:grid;gap:20px}.grid-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.grid-4{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.loading{align-items:center;color:var(--color-text-muted);display:flex;justify-content:center;padding:40px}.spinner{animation:spin 1s linear infinite;border:2px solid #ffffff2e;border-radius:50%;border-top:2px solid var(--color-primary);height:24px;margin-right:12px;width:24px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:768px){.card,.main-content{padding:16px}.card{border-radius:12px}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.btn{font-size:14px;min-height:44px;padding:10px 20px}body{font-size:clamp(15px,var(--font-size-base),17px);line-height:clamp(1.5,var(--line-height-base),1.7)}h1{font-size:clamp(1.4rem,calc(4.8vw + .8rem),2rem)}h2{font-size:clamp(1.15rem,calc(3.8vw + .7rem),1.6rem)}h3{font-size:clamp(1.05rem,calc(3vw + .6rem),1.35rem)}label,li,p{font-size:clamp(.95rem,calc(2.8vw + .5rem),1.05rem)}}@media (max-width:480px){body{font-size:clamp(14px,calc(3.2vw + 12px),16px)}.main-content{padding:12px 12px 28px}.card{padding:14px}.btn{font-size:clamp(.88rem,calc(2.6vw + .5rem),.98rem);min-height:40px;padding:9px 16px}.grid{gap:16px}.tag{font-size:13px;padding:5px 10px}}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mb-0{margin-bottom:0}.mb-1{margin-bottom:8px}.mb-2{margin-bottom:16px}.mb-3{margin-bottom:24px}.mb-4{margin-bottom:32px}.mt-0{margin-top:0}.mt-1{margin-top:8px}.mt-2{margin-top:16px}.mt-3{margin-top:24px}.mt-4{margin-top:32px}.flex{display:flex}.flex-column{flex-direction:column}.flex-center{align-items:center;justify-content:center}.flex-between{justify-content:space-between}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1 1}.hidden{display:none}.visible{display:block}.app-container{background:var(--color-background);color:var(--color-text-primary);display:flex;flex-direction:column;min-height:100vh}.main-content{color:inherit;flex:1 1;padding-bottom:40px;padding-top:20px}
/*# sourceMappingURL=main.cc24ddda.css.map*/