*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--primary:#C5622E;--primary-dark:#A34E23;--primary-light:#F9EDE6;--primary-mid:#EDCFBF;--text:#1A1A1A;--text-secondary:#6B6B6B;--text-tertiary:#9E9E9E;--bg:#FAF8F5;--surface:#FFFFFF;--surface-raised:#FFFFFF;--border:#E8E2D9;--border-light:#F0EBE3;--success:#16A34A;--success-light:#DCFCE7;--warning:#D97706;--warning-light:#FEF3C7;--danger:#DC2626;--danger-light:#FEE2E2;--locked:#BFBAB4;--locked-bg:#F5F3F0;--badge-free:#16A34A;--badge-free-bg:#DCFCE7;--badge-basic:#2563EB;--badge-basic-bg:#DBEAFE;--badge-pro:#7C3AED;--badge-pro-bg:#EDE9FE;--badge-unlimited:#B45309;--badge-unlimited-bg:#FEF3C7;--radius-sm:6px;--radius:10px;--radius-lg:16px;--radius-xl:24px;--shadow-sm:0 1px 3px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.04);--shadow:0 4px 12px rgba(0,0,0,.08),0 1px 3px rgba(0,0,0,.04);--shadow-lg:0 12px 32px rgba(0,0,0,.10),0 4px 8px rgba(0,0,0,.06);--font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-display:Georgia,"Times New Roman",serif}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;display:block}.container{max-width:1100px}.container,.container-sm{margin:0 auto;padding:0 24px}.container-sm{max-width:720px}.container-xs{max-width:520px;margin:0 auto;padding:0 24px}.section{padding:72px 0}.section-sm{padding:48px 0}.nav{background:var(--surface);border-bottom:1px solid var(--border);position:-webkit-sticky;position:sticky;top:0;z-index:100}.nav-inner{max-width:1100px;margin:0 auto;padding:0 24px;height:60px;gap:32px}.nav-inner,.nav-logo{display:flex;align-items:center}.nav-logo{gap:10px;text-decoration:none;color:var(--text);flex-shrink:0}.logo-mark{width:34px;height:34px;background:var(--primary);color:white;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;letter-spacing:.5px}.logo-name{font-weight:600;font-size:17px}.nav-links{display:flex;gap:4px;flex:1 1}.nav-link{padding:6px 12px;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:15px;text-decoration:none;transition:color .15s,background .15s}.nav-link:hover{color:var(--text);background:var(--bg);text-decoration:none}.nav-link.active{color:var(--text);font-weight:500}.nav-right{display:flex;align-items:center;gap:10px;margin-left:auto}.nav-tier{font-size:12px;font-weight:600;padding:3px 8px;border-radius:20px;background:var(--badge-free-bg);color:var(--badge-free)}.nav-tier.tier-basic{background:var(--badge-basic-bg);color:var(--badge-basic)}.nav-tier.tier-pro{background:var(--badge-pro-bg);color:var(--badge-pro)}.nav-tier.tier-unlimited{background:var(--badge-unlimited-bg);color:var(--badge-unlimited)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;font-family:var(--font);font-size:15px;font-weight:500;padding:10px 20px;border-radius:var(--radius);border:none;cursor:pointer;transition:all .15s;white-space:nowrap}.btn,.btn:hover{text-decoration:none}.btn-primary{background:var(--primary);color:white;box-shadow:0 1px 3px rgba(197,98,46,.3)}.btn-primary:hover{background:var(--primary-dark);color:white}.btn-outline{background:transparent;color:var(--text);border:1.5px solid var(--border)}.btn-outline:hover{border-color:var(--text-secondary)}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover{background:var(--bg);color:var(--text)}.btn-success{background:var(--success);color:white}.btn-success:hover{background:#15803D;color:white}.btn-danger{background:var(--danger);color:white}.btn-danger:hover{background:#B91C1C;color:white}.btn-lg{font-size:17px;padding:14px 28px;border-radius:var(--radius-lg)}.btn-sm{font-size:14px;padding:7px 14px}.btn-sm,.btn-xs{border-radius:var(--radius-sm)}.btn-xs{font-size:12px;padding:4px 10px}.btn-full{width:100%}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-icon{font-size:18px;padding:0;width:36px;height:36px;border-radius:var(--radius-sm)}.badge{display:inline-flex;align-items:center;font-size:11px;font-weight:600;letter-spacing:.3px;padding:3px 8px;border-radius:20px;text-transform:uppercase}.badge-free{background:var(--badge-free-bg);color:var(--badge-free)}.badge-basic{background:var(--badge-basic-bg);color:var(--badge-basic)}.badge-pro{background:var(--badge-pro-bg);color:var(--badge-pro)}.badge-unlimited{background:var(--badge-unlimited-bg);color:var(--badge-unlimited)}.badge-skill{background:var(--bg);color:var(--text-secondary);border:1px solid var(--border)}.badge-done{background:var(--success-light);color:var(--success)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:box-shadow .2s,transform .2s}.card:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.card-locked{opacity:.75}.card-locked:hover{transform:none;box-shadow:none;cursor:default}.card-body{padding:20px}.card-header{padding:20px 20px 0}.card-footer{padding:0 20px 20px}.progress-bar{height:6px;background:var(--border);border-radius:99px;overflow:hidden}.progress-fill{height:100%;background:var(--success);border-radius:99px;transition:width .4s ease}.progress-label{font-size:13px;color:var(--text-secondary);margin-top:6px}.dots{display:inline-flex;gap:3px;align-items:center}.dot{width:6px;height:6px;border-radius:50%;background:var(--border)}.dot-filled{background:var(--primary)}.divider{border:none;border-top:1px solid var(--border);margin:32px 0}.input,input[type=email],input[type=number],input[type=password],input[type=search],input[type=text],input[type=url],select,textarea{width:100%;padding:11px 14px;border:1.5px solid var(--border);border-radius:var(--radius);font-family:var(--font);font-size:15px;color:var(--text);background:var(--surface);transition:border-color .15s,box-shadow .15s}.input:focus,input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(197,98,46,.12)}.form-group{margin-bottom:18px}.form-label,label{display:block;font-size:14px;font-weight:500;margin-bottom:6px;color:var(--text)}.choice-grid{display:flex;flex-direction:column;gap:10px}.choice-card{padding:16px 18px;border:2px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:border-color .15s,background .15s;display:flex;align-items:center;gap:12px;background:var(--surface)}.choice-card:hover{border-color:var(--primary-mid);background:var(--primary-light)}.choice-card.selected{border-color:var(--primary);background:var(--primary-light)}.choice-icon{font-size:22px;flex-shrink:0}.choice-text h4{font-size:15px;font-weight:600;margin-bottom:2px}.choice-text p{font-size:13px;color:var(--text-secondary);line-height:1.4}.hero{padding:80px 0 64px;text-align:center}.hero-eyebrow{display:inline-block;font-size:13px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--primary);margin-bottom:20px;padding:4px 12px;background:var(--primary-light);border-radius:20px}.hero-title{font-family:var(--font-display);font-size:clamp(36px,5vw,56px);font-weight:700;line-height:1.15;letter-spacing:-.5px;margin-bottom:20px;color:var(--text)}.hero-subtitle{font-size:clamp(17px,2vw,20px);color:var(--text-secondary);max-width:560px;margin:0 auto 36px;line-height:1.6}.hero-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.hero-note{font-size:13px;color:var(--text-tertiary);margin-top:12px}.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:20px;gap:20px}.pricing-card{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-lg);padding:28px 24px;display:flex;flex-direction:column}.plan-card--current,.pricing-card.featured{border-color:var(--primary);box-shadow:0 0 0 3px rgba(197,98,46,.08)}.pricing-badge{margin-bottom:16px}.pricing-price{margin-bottom:6px}.pricing-amount{font-size:36px;font-weight:700;line-height:1}.pricing-period{font-size:14px;color:var(--text-secondary)}.pricing-annual{font-size:13px;color:var(--text-secondary);margin-bottom:20px}.pricing-name{font-size:18px;font-weight:600;margin-bottom:8px}.pricing-desc{font-size:14px;color:var(--text-secondary);margin-bottom:20px;line-height:1.5}.pricing-features{list-style:none;margin-bottom:24px;flex:1 1}.pricing-features li{font-size:14px;padding:7px 0;border-bottom:1px solid var(--border-light);display:flex;align-items:flex-start;gap:8px}.pricing-features li:last-child{border-bottom:none}.check{color:var(--success);font-size:15px;margin-top:1px;flex-shrink:0}.callout{padding:16px 20px;border-radius:var(--radius);font-size:14px;line-height:1.6}.callout-info{background:#EFF6FF;border-left:3px solid #2563eb;color:#1E40AF}.callout-success{background:var(--success-light);border-left:3px solid var(--success);color:#166534}.callout-warning{background:var(--warning-light);border-left:3px solid var(--warning);color:#92400E}.feature-item{display:flex;gap:16px}.feature-icon{width:44px;height:44px;background:var(--primary-light);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}.feature-title{font-size:17px;font-weight:600;margin-bottom:6px}.feature-desc{font-size:14px;color:var(--text-secondary);line-height:1.6}.persona-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:16px;gap:16px}.persona-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.persona-emoji{font-size:28px;margin-bottom:10px}.persona-name{font-size:15px;font-weight:600;margin-bottom:4px}.persona-desc{font-size:13px;color:var(--text-secondary);line-height:1.5}.unlock-sequence{display:flex;flex-direction:column;gap:8px;margin:24px 0}.unlock-recipe-row{display:flex;align-items:center;gap:14px;padding:12px 16px;border-radius:var(--radius);background:var(--bg);border:1px solid var(--border)}.unlock-recipe-row.unlocked{background:var(--success-light);border-color:#86EFAC}.unlock-recipe-row.locked{opacity:.6}.unlock-icon{font-size:18px}.unlock-recipe-title{font-size:15px;font-weight:500;flex:1 1}.unlock-status{font-size:13px;font-weight:600}.unlocked .unlock-status{color:var(--success)}.locked .unlock-status{color:var(--locked)}.section-header{margin-bottom:32px}.section-title{font-size:clamp(22px,3vw,28px);font-weight:700;margin-bottom:8px}.section-subtitle{font-size:16px;color:var(--text-secondary)}.grid-3{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:20px;gap:20px}.grid-2{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));grid-gap:24px;gap:24px}.breadcrumb{display:flex;align-items:center;gap:8px;font-size:14px;margin-bottom:20px}.breadcrumb,.breadcrumb a{color:var(--text-secondary)}.breadcrumb a:hover{color:var(--text);text-decoration:none}.breadcrumb-sep{color:var(--border)}.text-center{text-align:center}.text-secondary{color:var(--text-secondary)}.text-sm{font-size:14px}.font-medium{font-weight:500}.font-bold{font-weight:700}.mb-4{margin-bottom:4px}.mb-8{margin-bottom:8px}.mb-12{margin-bottom:12px}.mb-16{margin-bottom:16px}.mb-20{margin-bottom:20px}.mb-24{margin-bottom:24px}.mb-32{margin-bottom:32px}.mb-40{margin-bottom:40px}.mt-8{margin-top:8px}.mt-12{margin-top:12px}.mt-16{margin-top:16px}.mt-20{margin-top:20px}.mt-24{margin-top:24px}.flex{display:flex}.items-center{align-items:center}.gap-8{gap:8px}.gap-12{gap:12px}.gap-16{gap:16px}.recipes-page{max-width:1200px;margin:0 auto;padding:40px 24px 64px}.recipes-header{margin-bottom:28px;display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:8px}.recipes-header h1{font-family:var(--font-display);font-size:clamp(28px,3.5vw,36px);font-weight:700;margin:0}.recipes-count{font-size:14px;color:var(--text-secondary);margin:0}.recipes-layout{display:grid;grid-template-columns:260px 1fr;grid-gap:32px;gap:32px;align-items:start}.recipes-sidebar{position:-webkit-sticky;position:sticky;top:80px}.recipes-main{min-width:0}.recipe-filters{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;gap:16px}.filter-field,.recipe-filters{display:flex;flex-direction:column}.filter-field{gap:6px}.filter-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:var(--text-secondary);margin:0}.filter-checkboxes{display:flex;flex-direction:column;gap:8px;margin-top:2px}.filter-checkbox-label{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:400;color:var(--text);cursor:pointer;margin:0;padding:2px 0}.filter-checkbox-label input[type=checkbox]{width:16px;height:16px;margin:0;accent-color:var(--primary);cursor:pointer}.pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:32px;padding-top:24px;border-top:1px solid var(--border-light)}.pagination-btn{font-family:var(--font);font-size:14px;font-weight:500;padding:8px 16px;border:1.5px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);cursor:pointer;transition:border-color .15s,color .15s}.pagination-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}.pagination-info{font-size:14px;color:var(--text-secondary)}@media (max-width:900px){.recipes-layout{grid-template-columns:1fr}.recipes-sidebar{position:static}}.plan-card{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-lg);padding:28px 24px;display:flex;flex-direction:column;position:relative}.plan-card--current,.plan-card--popular{border-color:var(--primary);box-shadow:0 0 0 3px rgba(197,98,46,.08)}.plan-card__content{display:flex;flex-direction:column;flex:1 1;gap:0}.plan-card__header{margin-bottom:20px}.plan-card__title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;min-height:24px}.plan-card__current-badge,.plan-card__popular-badge{display:inline-flex;align-items:center;font-size:11px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;padding:3px 10px;border-radius:20px;flex-shrink:0}.plan-card__popular-badge{background:var(--primary-light);color:var(--primary)}.plan-card__current-badge{background:var(--success-light);color:var(--success)}.plan-card__name{font-size:18px;font-weight:600;margin:0}.plan-card__price{display:flex;align-items:baseline;gap:4px;font-size:36px;font-weight:700;line-height:1;margin-bottom:6px}.plan-card__price-period{font-size:14px;font-weight:500;color:var(--text-secondary)}.plan-card__annual-total,.plan-card__savings{font-size:13px;color:var(--text-secondary);margin:4px 0 0}.plan-card__savings{color:var(--success);font-weight:600}.plan-card__features{list-style:none;padding:0;margin:0 0 24px;flex:1 1}.plan-card__feature{display:flex;align-items:flex-start;gap:8px;font-size:14px;padding:7px 0;border-bottom:1px solid var(--border-light);line-height:1.5}.plan-card__feature:last-child{border-bottom:none}.plan-card__feature>span[aria-hidden=true]{color:var(--success);font-weight:700;flex-shrink:0;margin-top:1px}.plan-card__cta{margin-top:auto}.plan-card__cta-link{display:inline-flex;align-items:center;justify-content:center;width:100%;background:var(--primary);color:#fff;font-size:15px;font-weight:500;padding:10px 20px;border-radius:var(--radius);text-decoration:none;transition:background .15s;box-shadow:0 1px 3px rgba(197,98,46,.3)}.plan-card__cta-link:hover{background:var(--primary-dark);color:#fff;text-decoration:none}.plan-card__cta-current{display:inline-flex;align-items:center;justify-content:center;width:100%;padding:10px 20px;font-size:14px;font-weight:500;color:var(--success);background:var(--success-light);border-radius:var(--radius)}.comparison-table{width:100%;border-collapse:separate;border-spacing:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;font-size:14px}.comparison-table td,.comparison-table th{padding:14px 16px;text-align:left;border-bottom:1px solid var(--border-light)}.comparison-table tbody tr:last-child td{border-bottom:none}.comparison-table thead th{background:var(--bg);font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:var(--text-secondary)}.comparison-table__feature-col{width:45%}.comparison-table__col{text-align:center;width:18%}.comparison-table__col--current{color:var(--primary);background:var(--primary-light)!important}.comparison-table__feature-label{font-weight:500;color:var(--text)}.comparison-table__cell{text-align:center;color:var(--text-secondary)}.comparison-table__check{display:inline-flex;width:22px;height:22px;align-items:center;justify-content:center;border-radius:50%;background:var(--success-light);color:var(--success);font-weight:700}.comparison-table__cross{color:var(--text-tertiary);font-weight:400}@media (max-width:640px){.comparison-table td,.comparison-table th{padding:10px 8px;font-size:13px}}.learning-page{max-width:1200px;margin:0 auto;padding:40px 24px 64px}.learning-header{margin-bottom:28px;display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:8px}.learning-header h1{font-family:var(--font-display);font-size:clamp(28px,3.5vw,36px);font-weight:700;margin:0}.learning-count{font-size:14px;color:var(--text-secondary);margin:0}.learning-layout{display:grid;grid-template-columns:260px 1fr;grid-gap:32px;gap:32px;align-items:start}.learning-sidebar{position:-webkit-sticky;position:sticky;top:80px}.learning-main{min-width:0}.track-filters{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;display:flex;flex-direction:column;gap:16px}.track-grid,.track-grid-loading{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:24px;gap:24px}.track-card-skeleton{height:280px;background:linear-gradient(90deg,var(--border-light) 25%,var(--border) 50%,var(--border-light) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.4s infinite;border-radius:var(--radius-lg)}.track-grid-empty{text-align:center;padding:3rem 1rem;color:var(--text-secondary)}.track-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:box-shadow .2s ease,transform .2s ease;display:flex;flex-direction:column}.track-card:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.track-card-image{aspect-ratio:16/9;overflow:hidden;background:var(--primary-light)}.track-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .2s ease}.track-card:hover .track-card-image img{transform:scale(1.03)}.track-card-body{padding:20px;display:flex;flex-direction:column;gap:10px}.track-card-badges{display:flex;flex-wrap:wrap;gap:6px}.track-card-title{font-size:18px;font-weight:700;line-height:1.3;margin:0}.track-card-description{font-size:14px;color:var(--text-secondary);line-height:1.5;margin:0;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.track-card-meta{display:flex;align-items:center;gap:12px;padding-top:12px;margin-top:auto;border-top:1px solid var(--border-light);font-size:13px;color:var(--text-secondary)}.track-skill-level{font-weight:600;color:var(--text)}.track-recipe-count:before{content:"·";margin-right:12px;color:var(--text-tertiary)}.track-type-badge{display:inline-flex;font-size:11px;font-weight:600;letter-spacing:.3px;text-transform:uppercase;padding:3px 8px;border-radius:20px}.track-type-series{background:var(--badge-free-bg);color:var(--badge-free)}.track-type-course{background:var(--badge-pro-bg);color:var(--badge-pro)}.track-gated-badge{font-size:12px;color:var(--text-secondary)}@media (max-width:900px){.learning-layout{grid-template-columns:1fr}.learning-sidebar{position:static}}.billing-success{max-width:640px;margin:0 auto;padding:64px 24px;display:flex;justify-content:center}.billing-success__card{width:100%;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);padding:48px 40px;text-align:center;box-shadow:var(--shadow)}.billing-success__icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:var(--success-light);color:var(--success);font-size:32px;font-weight:700;margin-bottom:20px}.billing-success__title{font-family:var(--font-display);font-size:clamp(24px,3.5vw,32px);font-weight:700;margin:0 0 14px;line-height:1.2}.billing-success__body{font-size:16px;color:var(--text-secondary);line-height:1.55;margin:0 0 10px}.billing-success__email-note{font-size:13px;color:var(--text-tertiary);margin:0 0 28px}.billing-success__actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.billing-success__cta{display:inline-flex;align-items:center;justify-content:center;padding:10px 20px;background:var(--primary);color:#fff;font-size:14px;font-weight:500;border-radius:var(--radius);text-decoration:none;box-shadow:0 1px 3px rgba(197,98,46,.3)}.billing-success__cta:hover{background:var(--primary-dark);color:#fff;text-decoration:none}.billing-success__cta--secondary{background:var(--surface);color:var(--text);border:1.5px solid var(--border);box-shadow:none}.billing-success__cta--secondary:hover{border-color:var(--primary);color:var(--primary);background:var(--surface)}@media (max-width:640px){.billing-success{padding:32px 16px}.billing-success__card{padding:32px 24px}}.dashboard-page{max-width:900px;margin:0 auto;padding:40px 24px 64px}.dashboard-page h1{font-family:var(--font-display);font-size:clamp(28px,3.5vw,36px);font-weight:700;margin:0 0 24px}.dashboard-empty{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:40px 24px;text-align:center;color:var(--text-secondary);margin:0}.dashboard-empty a{color:var(--primary);font-weight:500}.dashboard-enrollment-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:16px}.dashboard-enrollment-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px 24px;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;grid-gap:16px 24px;gap:16px 24px;align-items:center}.enrollment-info{grid-column:1/-1;grid-row:1;display:flex;flex-direction:column;gap:4px}.enrollment-type{font-size:11px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--primary);background:var(--primary-light);padding:3px 10px;border-radius:20px;align-self:start}.enrollment-title{font-family:var(--font-display);font-size:20px;font-weight:700;margin:4px 0 0;line-height:1.3}.enrollment-status{font-size:12px;color:var(--text-secondary);text-transform:capitalize}.dashboard-enrollment-item .progress-bar-wrapper{grid-column:1;grid-row:2}.enrollment-continue-link{grid-column:2;grid-row:2;display:inline-flex;align-items:center;justify-content:center;padding:10px 20px;background:var(--primary);color:#fff;font-size:14px;font-weight:500;border-radius:var(--radius);text-decoration:none;box-shadow:0 1px 3px rgba(197,98,46,.3);white-space:nowrap}.enrollment-continue-link:hover{background:var(--primary-dark);color:#fff;text-decoration:none}.certificate-page{max-width:720px;margin:0 auto;padding:48px 24px 64px}.certificate-card{position:relative;background:var(--surface);border:2px solid var(--primary);border-radius:var(--radius-xl);padding:56px 40px;text-align:center;box-shadow:var(--shadow-lg)}.certificate-card:before{content:"";position:absolute;inset:8px;border:1px solid var(--primary-mid);border-radius:calc(var(--radius-xl) - 4px);pointer-events:none}.certificate-heading{font-size:clamp(22px,3vw,28px);letter-spacing:.5px;text-transform:uppercase;color:var(--primary);margin:0 0 20px}.certificate-heading,.certificate-track-title{font-family:var(--font-display);font-weight:700}.certificate-track-title{font-size:clamp(28px,4.5vw,40px);line-height:1.2;margin:0 0 10px;color:var(--text)}.certificate-track-type{font-size:13px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;color:var(--text-secondary);margin:0 0 28px}.certificate-completed-at{font-size:15px;color:var(--text-secondary);margin:0 0 32px;font-style:italic}.certificate-dashboard-link{display:inline-flex;align-items:center;justify-content:center;padding:10px 20px;border:1.5px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:14px;font-weight:500;text-decoration:none;background:var(--surface)}.certificate-dashboard-link:hover{border-color:var(--primary);color:var(--primary);text-decoration:none}@media (max-width:640px){.certificate-page,.dashboard-page{padding:24px 16px 48px}.dashboard-enrollment-item{grid-template-columns:1fr}.enrollment-continue-link{grid-column:1;grid-row:3;justify-self:start}.certificate-card{padding:40px 24px}}.creator-page{max-width:860px;margin:0 auto;padding:40px 24px 64px}.creator-dashboard-header h1,.creator-page h1,.creator-page h2:first-child{font-family:var(--font-display)}.recipe-create-container,.recipe-edit-container,.video-extract-container{display:flex;flex-direction:column;gap:20px}.recipe-create-container h1,.recipe-edit-container h1,.video-extract-container h1{font-size:clamp(26px,3.5vw,34px);font-weight:700;margin:0 0 4px}.recipe-create-container>p,.recipe-edit-container>p,.video-extract-container>p{font-size:15px;color:var(--text-secondary);margin:0 0 12px}.form-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px 24px;display:flex;flex-direction:column;gap:14px}.form-section h2,.form-section h3{font-family:var(--font-display);font-size:18px;font-weight:700;margin:0 0 4px}.creator-page .field,.recipe-create-container .field,.recipe-edit-container .field,.video-extract-container .field{margin-bottom:4px}.creator-page .field label,.recipe-create-container .field label,.recipe-edit-container .field label,.video-extract-container .field label{display:block;font-size:14px;font-weight:500;color:var(--text);margin-bottom:6px}.ingredient-row,.step-row{display:grid;grid-template-columns:1fr auto;grid-gap:10px 12px;gap:10px 12px;padding:12px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius)}.ingredient-row input,.step-row input,.step-row textarea{width:100%}.ingredient-row button,.step-row button{font-family:var(--font);font-size:13px;font-weight:500;padding:6px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-secondary);cursor:pointer;align-self:start}.ingredient-row button:hover,.step-row button:hover{border-color:var(--danger);color:var(--danger)}.extract-button,.publish-button,.save-button,.submit-button{font-family:var(--font);font-size:15px;font-weight:500;padding:10px 20px;border:none;border-radius:var(--radius);background:var(--primary);color:#fff;cursor:pointer;box-shadow:0 1px 3px rgba(197,98,46,.3);transition:background .15s}.extract-button:hover:not(:disabled),.publish-button:hover:not(:disabled),.save-button:hover:not(:disabled),.submit-button:hover:not(:disabled){background:var(--primary-dark)}.extract-button:disabled,.publish-button:disabled,.save-button:disabled,.submit-button:disabled{opacity:.5;cursor:not-allowed}.save-button{background:var(--surface);color:var(--text);border:1.5px solid var(--border);box-shadow:none}.save-button:hover:not(:disabled){border-color:var(--primary);color:var(--primary);background:var(--surface)}.recipe-create-success{background:var(--success-light);border:1px solid #86efac;border-radius:var(--radius);padding:14px 18px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:14px;color:#166534}.dashboard-link{font-weight:500;color:var(--primary)}.extraction-progress{padding:14px 18px;font-size:14px}.extracted-data,.extraction-progress,.steps-data{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-secondary)}.extracted-data,.steps-data{padding:14px 16px;font-size:13px;overflow-x:auto}.creator-dashboard{display:flex;flex-direction:column;gap:20px}.creator-dashboard-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.creator-dashboard-header h1{font-size:clamp(26px,3.5vw,34px);font-weight:700;margin:0}.create-recipe-link{display:inline-flex;align-items:center;justify-content:center;background:var(--primary);color:#fff;font-size:15px;font-weight:500;padding:10px 20px;border-radius:var(--radius);text-decoration:none;box-shadow:0 1px 3px rgba(197,98,46,.3)}.create-recipe-link:hover{background:var(--primary-dark);color:#fff;text-decoration:none}.creator-dashboard-empty,.creator-dashboard-loading{padding:40px 24px;text-align:center;color:var(--text-secondary)}.creator-dashboard-empty,.creator-dashboard-loading,.creator-recipe-list{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.creator-recipe-list{list-style:none;padding:0;margin:0;overflow:hidden}.creator-recipe-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;border-bottom:1px solid var(--border-light);font-size:15px}.creator-recipe-item:last-child{border-bottom:none}.creator-recipe-title{font-weight:500;color:var(--text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.creator-recipe-title:hover{color:var(--primary)}.creator-agreement-page{max-width:720px;margin:0 auto;padding:40px 24px 64px}.creator-agreement-page__header{margin-bottom:24px}.creator-agreement-page h1{font-family:var(--font-display);font-size:clamp(28px,3.5vw,36px);font-weight:700;margin:0 0 6px}.creator-agreement-page__doc-link{margin:0 0 16px;font-size:14px}.creator-agreement-page__doc-link a{color:var(--primary);font-weight:500}.creator-agreement-page .settings-panel+.settings-panel{margin-top:16px}.creator-agreement-history{list-style:none;padding:0;margin:0}.creator-agreement-history li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--border-light);font-size:14px}.creator-agreement-history li:last-child{border-bottom:none}.creator-agreement-history__version{font-weight:500;color:var(--text)}.creator-agreement-history__date{color:var(--text-secondary);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (max-width:640px){.creator-agreement-page,.creator-page{padding:24px 16px 48px}.ingredient-row,.step-row{grid-template-columns:1fr}}.content-page{max-width:760px;margin:0 auto;padding:40px 24px 64px}.content-page__header{margin-bottom:28px}.content-page h1{font-size:clamp(28px,4vw,40px);line-height:1.15;letter-spacing:-.3px;margin:0 0 12px}.content-page h1,.content-page h2{font-family:var(--font-display);font-weight:700}.content-page h2{font-size:22px;margin:32px 0 14px}.content-page h2:first-child{margin-top:0}.content-page section+section{margin-top:8px}.content-page__lede{font-size:17px;color:var(--text-secondary);line-height:1.6;margin:0;max-width:620px}.content-meta{display:grid;grid-template-columns:auto 1fr;grid-gap:6px 16px;gap:6px 16px;margin:16px 0 0;font-size:14px}.content-meta dt{font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:var(--text-tertiary);font-weight:600;align-self:center}.content-meta dd{margin:0;color:var(--text);font-weight:500}.content-recipe-list{list-style:none;padding:0;margin:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.content-recipe-list li{border-bottom:1px solid var(--border-light)}.content-recipe-list li:last-child{border-bottom:none}.content-recipe-list a{display:flex;align-items:center;padding:14px 20px;color:var(--text);font-size:15px;font-weight:500;text-decoration:none;transition:background .15s,color .15s}.content-recipe-list a:after{content:"→";margin-left:auto;color:var(--text-tertiary);transition:color .15s,transform .15s}.content-recipe-list a:hover{background:var(--bg);color:var(--primary)}.content-recipe-list a:hover:after{color:var(--primary);transform:translateX(2px)}.content-steps{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:0;counter-reset:content-step}.content-steps li{position:relative;counter-increment:content-step;padding:0 0 24px 48px;font-size:16px;line-height:1.65;color:var(--text)}.content-steps li:before{content:counter(content-step);position:absolute;left:0;top:0;width:32px;height:32px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px}.content-steps li:not(:last-child):after{content:"";position:absolute;left:15px;top:32px;bottom:0;width:2px;background:var(--border-light)}.substitution-options{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:14px}.substitution-option{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px 20px}.substitution-option__header{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}.substitution-option__impact{display:inline-flex;align-items:center;font-size:11px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;padding:3px 10px;border-radius:20px;background:var(--bg);color:var(--text-secondary)}.substitution-option.impact-minimal .substitution-option__impact,.substitution-option.impact-none .substitution-option__impact{background:var(--success-light);color:var(--success)}.substitution-option.impact-minor .substitution-option__impact,.substitution-option.impact-moderate .substitution-option__impact{background:var(--warning-light);color:var(--warning)}.substitution-option.impact-major .substitution-option__impact,.substitution-option.impact-significant .substitution-option__impact{background:var(--danger-light);color:var(--danger)}.substitution-option__context{font-size:13px;color:var(--text-secondary)}.substitution-option__notes{font-size:14px;color:var(--text-secondary);line-height:1.55;margin:0 0 12px}.substitution-option__items{list-style:none;padding:0;margin:0}.substitution-option__items li{display:flex;gap:8px;padding:6px 0;font-size:15px;border-top:1px dashed var(--border-light)}.substitution-option__items li:first-child{border-top:none;padding-top:0}.substitution-option__item-qty{color:var(--text-secondary);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;min-width:80px}.substitution-option__item-name{color:var(--text);font-weight:500}@media (max-width:640px){.content-page{padding:24px 16px 48px}}.billing-history-page{max-width:820px;margin:0 auto;padding:40px 24px 64px}.billing-history-page>h1{font-family:var(--font-display);font-size:clamp(28px,3.5vw,36px);font-weight:700;margin:0 0 8px}.billing-history-page>section>h2{font-family:var(--font-display);font-size:18px;font-weight:700;margin:0 0 20px;color:var(--text-secondary)}.billing-history-page>section>h2[id=billing-history-heading]{font-size:14px;text-transform:uppercase;letter-spacing:.4px;font-family:var(--font);font-weight:600}.billing-history__filters{display:flex;align-items:end;gap:12px;flex-wrap:wrap;padding:16px 20px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:24px}.billing-history__filters label{font-size:12px;text-transform:uppercase;letter-spacing:.4px;font-weight:600;color:var(--text-secondary);margin:0;padding-bottom:2px}.billing-history__filters input[type=date]{padding:8px 12px;font-size:14px;width:auto;min-width:160px}.billing-history__filters button{font-family:var(--font);font-size:14px;font-weight:500;padding:9px 16px;border:none;border-radius:var(--radius);background:var(--primary);color:#fff;cursor:pointer;box-shadow:0 1px 3px rgba(197,98,46,.3)}.billing-history__filters button:hover{background:var(--primary-dark)}.billing-history__empty{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:40px 24px;text-align:center;color:var(--text-secondary);margin:0}.billing-history__events-section,.billing-history__invoices-section{margin-bottom:28px}.billing-history__events,.billing-history__invoices{list-style:none;padding:0;margin:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.billing-history__invoice{padding:14px 20px;border-bottom:1px solid var(--border-light)}.billing-history__invoice:last-child{border-bottom:none}.billing-history__invoice-summary{display:flex;align-items:center;gap:16px;flex-wrap:wrap;font-size:14px}.billing-history__invoice-number{font-weight:600;color:var(--text);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.billing-history__invoice-date{color:var(--text-secondary);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.billing-history__invoice-amount{font-weight:600;margin-left:auto;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.billing-history__invoice-status{display:inline-flex;align-items:center;font-size:11px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;padding:3px 10px;border-radius:20px}.billing-history__invoice-status--paid{background:var(--success-light);color:var(--success)}.billing-history__invoice-status--open{background:var(--warning-light);color:var(--warning)}.billing-history__invoice-status--draft{background:var(--bg);color:var(--text-secondary);border:1px solid var(--border)}.billing-history__invoice-status--uncollectible,.billing-history__invoice-status--void{background:var(--danger-light);color:var(--danger)}.billing-history__pdf-link{font-size:13px;font-weight:500;color:var(--primary)}.billing-history__toggle{font-family:var(--font);font-size:13px;font-weight:500;padding:4px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-secondary);cursor:pointer}.billing-history__toggle:hover{border-color:var(--primary);color:var(--primary)}.billing-history__line-items{list-style:none;padding:14px 16px 4px;margin:12px 0 0;background:var(--bg);border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:8px}.billing-history__line-item{display:flex;gap:12px;font-size:13px;color:var(--text-secondary);padding-bottom:8px;border-bottom:1px dashed var(--border-light)}.billing-history__line-item:last-child{border-bottom:none}.billing-history__line-item>span:first-child{flex:1 1;color:var(--text)}.billing-history__line-item>span:nth-child(2){font-weight:600;color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.billing-history__line-item>span:nth-child(3){font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:12px}.billing-history__event{display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:14px;gap:14px;padding:12px 20px;border-bottom:1px solid var(--border-light);font-size:14px}.billing-history__event:last-child{border-bottom:none}.billing-history__event-type{font-size:11px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;padding:3px 10px;border-radius:20px;background:var(--bg);color:var(--text-secondary);border:1px solid var(--border)}.billing-history__event-description{color:var(--text);min-width:0}.billing-history__event-date{color:var(--text-tertiary);font-size:13px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (max-width:640px){.billing-history-page{padding:24px 16px 48px}.billing-history__invoice-summary{display:grid;grid-template-columns:1fr auto;grid-gap:6px 10px;gap:6px 10px}.billing-history__invoice-amount{margin-left:0;grid-column:2;grid-row:1}.billing-history__event{grid-template-columns:1fr;gap:4px}}.collection-detail-page,.collections-page{max-width:1100px;margin:0 auto;padding:40px 24px 64px}.collection-detail-title h1,.collections-page h1{font-family:var(--font-display);font-size:clamp(28px,3.5vw,36px);font-weight:700;margin:0}.collections-page-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px;flex-wrap:wrap}.collections-sort{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--text-secondary)}.collections-sort label{margin:0;font-weight:500}.collections-sort-select{width:auto;min-width:160px}.collections-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:20px;gap:20px}.collection-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:box-shadow .15s,transform .15s}.collection-card:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.collection-card--default{border-color:var(--primary-mid)}.collection-card-link{display:block;padding:20px;color:inherit;text-decoration:none}.collection-card-link:hover{text-decoration:none}.collection-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:8px}.collection-card-name{font-size:17px;font-weight:600;line-height:1.3;margin:0}.collection-card-badges{display:flex;gap:6px;flex-shrink:0;flex-wrap:wrap}.collection-default-badge,.collection-private-badge,.collection-public-badge{display:inline-flex;align-items:center;font-size:10.5px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;padding:2px 8px;border-radius:20px}.collection-default-badge{background:var(--primary-light);color:var(--primary)}.collection-public-badge{background:var(--badge-basic-bg);color:var(--badge-basic)}.collection-private-badge{background:var(--bg);color:var(--text-secondary);border:1px solid var(--border)}.collection-card-description{font-size:14px;color:var(--text-secondary);line-height:1.5;margin:0 0 12px;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.collection-card-count{font-size:13px;color:var(--text-tertiary);font-weight:500}.collection-empty,.collections-empty{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:48px 24px;text-align:center;color:var(--text-secondary);display:flex;flex-direction:column;gap:12px;align-items:center}.collection-empty a,.collections-empty a{font-weight:500;color:var(--primary)}.collection-loading,.collections-loading{padding:8px 0}.collection-skeleton,.collections-skeleton{height:280px;background:linear-gradient(90deg,var(--border-light) 25%,var(--border) 50%,var(--border-light) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.4s infinite;border-radius:var(--radius-lg)}.collection-detail-header{margin-bottom:28px}.collection-back-link{display:inline-flex;align-items:center;font-size:14px;color:var(--text-secondary);margin-bottom:16px;text-decoration:none}.collection-back-link:hover{color:var(--text)}.collection-detail-title{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:10px}.collection-badges{display:flex;gap:6px;flex-wrap:wrap}.collection-detail-description{font-size:16px;color:var(--text-secondary);line-height:1.6;margin:0 0 8px;max-width:720px}.collection-detail-count{font-size:13px;color:var(--text-tertiary);margin:0;font-weight:500}.collection-recipe-list{list-style:none;padding:0;margin:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.collection-recipe-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;border-bottom:1px solid var(--border-light);font-size:15px}.collection-recipe-item:last-child{border-bottom:none}.collection-recipe-link{color:var(--text);font-weight:500;text-decoration:none;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.collection-recipe-link:hover{color:var(--primary);text-decoration:underline}.collection-recipe-saved{font-size:13px;color:var(--text-tertiary);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;flex-shrink:0}.collection-pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:24px;padding-top:20px;border-top:1px solid var(--border-light)}.collection-pagination-next,.collection-pagination-prev{font-family:var(--font);font-size:14px;font-weight:500;padding:8px 16px;border:1.5px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);cursor:pointer;transition:border-color .15s,color .15s}.collection-pagination-next:hover:not(:disabled),.collection-pagination-prev:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.collection-pagination-next:disabled,.collection-pagination-prev:disabled{opacity:.4;cursor:not-allowed}.collection-pagination-info{font-size:14px;color:var(--text-secondary)}@media (max-width:640px){.collection-detail-page,.collections-page{padding:24px 16px 48px}.collections-list{grid-template-columns:1fr}}.grocery-page{max-width:820px;margin:0 auto;padding:40px 24px 64px}.grocery-page h1{font-family:var(--font-display);font-size:clamp(28px,3.5vw,36px);font-weight:700;margin:0 0 20px}.grocery-page-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px;flex-wrap:wrap}.grocery-page-header h1{margin:0}.grocery-clear-btn{font-family:var(--font);font-size:14px;font-weight:500;padding:8px 14px;border:1.5px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text-secondary);cursor:pointer;transition:border-color .15s,color .15s}.grocery-clear-btn:hover{border-color:var(--danger);color:var(--danger)}.grocery-empty{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:48px 24px;text-align:center;color:var(--text-secondary);display:flex;flex-direction:column;gap:12px;align-items:center}.grocery-empty a{font-weight:500;color:var(--primary)}.grocery-loading{padding:8px 0}.grocery-skeleton{height:220px;background:linear-gradient(90deg,var(--border-light) 25%,var(--border) 50%,var(--border-light) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.4s infinite;border-radius:var(--radius-lg)}.grocery-list{display:flex;flex-direction:column;gap:20px;margin-top:20px}.grocery-recipe-group{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.grocery-recipe-title{margin:0;padding:16px 20px;background:var(--bg);border-bottom:1px solid var(--border-light);display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:16px;font-weight:600}.grocery-recipe-title a{color:var(--text);text-decoration:none}.grocery-recipe-title a:hover{color:var(--primary);text-decoration:underline}.grocery-recipe-servings{font-size:13px;font-weight:500;color:var(--text-secondary)}.grocery-ingredients{list-style:none;padding:0;margin:0}.grocery-item{display:grid;grid-template-columns:1fr 80px auto auto;align-items:center;grid-gap:12px;gap:12px;padding:12px 20px;border-bottom:1px solid var(--border-light);font-size:15px}.grocery-item:last-child{border-bottom:none}.grocery-item--have{opacity:.55}.grocery-item--have .grocery-ingredient-name{text-decoration:line-through}.grocery-item-label{display:flex;align-items:center;gap:10px;cursor:pointer;margin:0;min-width:0}.grocery-item-check{width:18px;height:18px;accent-color:var(--primary);cursor:pointer;flex-shrink:0}.grocery-ingredient-name{font-weight:500;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grocery-ingredient-qty-input{width:80px;padding:6px 10px;font-size:14px;text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.grocery-ingredient-unit{font-size:13px;color:var(--text-secondary)}.grocery-ingredient-notes{grid-column:1/-1;font-size:13px;color:var(--text-tertiary);font-style:italic;padding-left:28px}.grocery-item-remove{font-family:var(--font);font-size:13px;font-weight:500;padding:6px 10px;border:none;background:transparent;color:var(--text-tertiary);cursor:pointer;border-radius:var(--radius-sm);transition:color .15s,background .15s}.grocery-item-remove:hover{color:var(--danger);background:var(--danger-light)}@media (max-width:640px){.grocery-page{padding:24px 16px 48px}.grocery-item{grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:6px 10px}.grocery-ingredient-qty-input{grid-column:1;width:100px}.grocery-ingredient-unit{grid-column:2}.grocery-item-remove{grid-column:2;justify-self:end}}.track-detail-page{max-width:820px;margin:0 auto;padding:40px 24px 64px}.track-detail-header{margin-bottom:24px}.track-detail-type{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;padding:3px 10px;border-radius:20px;background:var(--primary-light);color:var(--primary);margin-bottom:12px}.track-detail-title{font-family:var(--font-display);font-size:clamp(28px,4vw,40px);font-weight:700;line-height:1.15;letter-spacing:-.3px;margin:0 0 12px}.track-detail-description{font-size:17px;color:var(--text-secondary);line-height:1.6;margin:0 0 14px;max-width:680px}.track-detail-skill{display:inline-flex;align-items:center;font-size:12px;font-weight:600;letter-spacing:.3px;text-transform:capitalize;padding:4px 10px;border-radius:20px;background:var(--bg);border:1px solid var(--border);color:var(--text-secondary)}.track-detail-progress{margin-bottom:32px;padding:20px 24px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.progress-bar-wrapper{display:flex;flex-direction:column;gap:10px}.progress-bar-track{height:8px;background:var(--border);border-radius:99px;overflow:hidden}.progress-bar-fill{height:100%;background:var(--success);border-radius:99px;transition:width .4s ease}.progress-bar-label{margin:0;font-size:14px;color:var(--text-secondary)}.track-detail-history,.track-detail-recipes{margin-bottom:32px}.track-detail-history>h2,.track-detail-recipes>h2{font-family:var(--font-display);font-size:22px;font-weight:700;margin:0 0 16px}.track-preview{display:flex;flex-direction:column;gap:16px}.track-preview-unlock-message{background:var(--primary-light);border:1px solid var(--primary-mid);border-radius:var(--radius);padding:12px 16px;font-size:14px;color:var(--text);line-height:1.55;margin:0}.track-preview-progress{font-size:13px;color:var(--text-secondary);font-weight:500}.track-preview-recipes{display:flex;flex-direction:column;gap:10px}.track-preview-recipe{display:grid;grid-template-columns:36px 1fr auto auto;align-items:center;grid-gap:14px;gap:14px;padding:14px 18px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);transition:border-color .15s,box-shadow .15s}.track-preview-recipe--unlocked:hover{box-shadow:var(--shadow-sm)}.track-preview-recipe--completed{background:var(--success-light);border-color:#86EFAC}.track-preview-recipe--locked{opacity:.7}.track-preview-recipe--next{border-color:var(--primary)}.track-preview-recipe-number{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;flex-shrink:0;background:var(--bg);color:var(--text-secondary);border:1.5px solid var(--border)}.track-preview-recipe--unlocked .track-preview-recipe-number{background:var(--surface);border-color:var(--primary-mid);color:var(--primary)}.track-preview-recipe--completed .track-preview-recipe-number{background:var(--success);border-color:var(--success);color:#fff;font-size:16px}.track-preview-recipe-info{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.track-preview-recipe-title{font-size:15px;font-weight:500;color:var(--text)}.recipe-next-badge{display:inline-flex;align-items:center;font-size:11px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;padding:2px 8px;border-radius:20px;background:var(--primary);color:#fff}.track-preview-recipe-status{flex-shrink:0}.badge-unlocked{background:var(--success-light);color:var(--success)}.badge-locked,.badge-unlocked{font-size:11px;font-weight:600;letter-spacing:.3px;text-transform:uppercase;padding:3px 8px;border-radius:20px}.badge-locked{background:var(--locked-bg);color:var(--locked)}.track-preview-upgrade-gate{background:var(--surface);border:2px solid var(--primary-mid);border-radius:var(--radius-lg);padding:24px;text-align:center}.track-preview-upgrade-gate h3{font-family:var(--font-display);font-size:18px;font-weight:700;margin:0 0 8px}.track-preview-upgrade-gate p{font-size:14px;color:var(--text-secondary);margin:0 0 16px;line-height:1.55}.track-preview-start-btn{align-self:flex-start}.track-preview-signup-cta{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;text-align:center;display:flex;flex-direction:column;gap:12px;align-items:center}.track-preview-signup-cta p{margin:0;font-size:15px;color:var(--text-secondary)}.completion-history-list{list-style:none;padding:0;margin:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.completion-history-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;border-bottom:1px solid var(--border-light);font-size:14px}.completion-history-item:last-child{border-bottom:none}.completion-history-slug{color:var(--text);font-weight:500}.completion-history-date{color:var(--text-secondary);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (max-width:640px){.track-detail-page{padding:24px 16px 48px}.track-preview-recipe{grid-template-columns:32px 1fr;grid-template-rows:auto auto;gap:10px 12px}.track-preview-recipe-status{grid-column:2}}.settings-page{max-width:720px;margin:0 auto;padding:40px 24px 64px}.settings-page__header{margin-bottom:28px}.settings-page__header h1{font-family:var(--font-display);font-size:clamp(28px,3.5vw,36px);font-weight:700;margin:0 0 6px}.settings-page__header p{font-size:15px;color:var(--text-secondary);margin:0;line-height:1.55}.settings-page__panels{display:flex;flex-direction:column;gap:16px}.settings-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px 28px}.settings-panel--links{padding:18px 28px}.settings-panel--danger{border-color:#FECACA}.settings-panel__heading-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.settings-panel__heading-row .settings-panel__title{margin:0}.settings-panel__title{font-family:var(--font-display);font-size:20px;font-weight:700;margin:0 0 6px}.settings-panel__subtitle{font-size:14px;color:var(--text-secondary);margin:0 0 20px;line-height:1.55}.settings-link{display:inline-flex;align-items:center;gap:6px;font-size:15px;font-weight:500;color:var(--primary)}.settings-form{display:flex;flex-direction:column}.settings-form .form-group{margin-bottom:16px}.settings-form__actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:4px}.settings-success{background:var(--success-light);color:var(--success);font-size:14px;padding:10px 14px;border-radius:var(--radius-sm);margin-bottom:14px}.settings-mfa-setup{display:flex;flex-direction:column;gap:12px}.settings-mfa-secret{display:block;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 14px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px;letter-spacing:.5px;word-break:break-all}.settings-mfa-enabled{display:flex;align-items:center;justify-content:space-between;gap:12px}.settings-mfa-status{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--success)}.settings-mfa-dot{width:8px;height:8px;border-radius:50%;background:var(--success)}.connected-accounts{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:0}.connected-account{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid var(--border-light)}.connected-account:first-child{padding-top:4px}.connected-account:last-child{border-bottom:none;padding-bottom:4px}.connected-account__provider{font-weight:500;font-size:15px}.subscription-management__details{display:grid;grid-template-columns:auto 1fr;grid-gap:8px 20px;gap:8px 20px;margin:0 0 20px;font-size:14px}.subscription-management__details dt{color:var(--text-secondary);font-weight:500}.subscription-management__details dd{margin:0;color:var(--text);font-weight:600}.subscription-management__cancellation-notice{background:var(--warning-light);color:#92400E;border-radius:var(--radius-sm);padding:10px 14px;font-size:14px;margin:0 0 16px;line-height:1.55}.cancel-subscription-button{font-family:var(--font);font-size:14px;font-weight:500;padding:8px 16px;border:1.5px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);cursor:pointer}.cancel-subscription-button:hover{border-color:var(--text-secondary)}.cancel-subscription-confirm{display:flex;flex-direction:column;gap:12px}.cancel-subscription-confirm__message{font-size:14px;color:var(--text);line-height:1.55;margin:0}.cancel-subscription-confirm__reason{display:flex;flex-direction:column;gap:6px}.cancel-subscription-confirm__error{color:var(--danger);font-size:13px;margin:0}.cancel-subscription-confirm__actions{display:flex;gap:10px;flex-wrap:wrap}.cancel-subscription-confirm__confirm{font-family:var(--font);font-size:14px;font-weight:500;padding:8px 16px;border:none;border-radius:var(--radius);background:var(--danger);color:#fff;cursor:pointer}.cancel-subscription-confirm__confirm:hover{background:#B91C1C}.cancel-subscription-confirm__back{font-family:var(--font);font-size:14px;font-weight:500;padding:8px 16px;border:none;border-radius:var(--radius);background:transparent;color:var(--text-secondary);cursor:pointer}.cancel-subscription-confirm__back:hover{background:var(--bg);color:var(--text)}@media (max-width:640px){.settings-page{padding:24px 16px 48px}.settings-panel{padding:20px}}.onboarding-page{padding:48px 24px 64px}.onboarding-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);padding:40px;box-shadow:var(--shadow);max-width:560px;margin:0 auto}.onboarding-question{margin-bottom:24px}.onboarding-question h1,.onboarding-question h2{font-family:var(--font-display);font-size:26px;font-weight:700;line-height:1.2;margin:0 0 8px}.onboarding-question p{font-size:15px;color:var(--text-secondary);margin:0;line-height:1.55}.onboarding-fieldset{border:none;margin:0 0 28px;padding:0}.onboarding-fieldset legend{font-family:var(--font-display);font-size:20px;font-weight:700;line-height:1.25;margin-bottom:14px;padding:0}.choice-card__input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.choice-card:has(.choice-card__input:checked){border-color:var(--primary);background:var(--primary-light)}.choice-card:focus-within{outline:none;box-shadow:0 0 0 3px rgba(197,98,46,.18)}.onboarding-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:8px}.onboarding-actions__primary{margin-left:auto}.survey-recommendations{max-width:720px;margin:0 auto;padding:48px 24px 64px}.survey-recommendations__header{text-align:center;margin-bottom:28px}.survey-recommendations__header h2{font-family:var(--font-display);font-size:clamp(24px,3vw,32px);font-weight:700;margin:0 0 8px}.survey-recommendations__header p{font-size:15px;color:var(--text-secondary);margin:0}.track-recommendation{position:relative;background:var(--surface);border:2px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:border-color .15s,box-shadow .15s;list-style:none;margin-bottom:16px}.track-recommendation:hover{border-color:var(--primary-mid)}.track-recommendation.best-match{border-color:var(--primary)}.best-match-label{background:var(--primary);color:#fff;font-size:12px;font-weight:700;letter-spacing:.4px;padding:6px 16px;text-align:center;text-transform:uppercase}.track-rec-body{padding:20px}.track-rec-title{font-size:18px;font-weight:600;margin:0 0 6px}.track-rec-desc{font-size:14px;color:var(--text-secondary);line-height:1.5;margin:0 0 14px}.track-rec-meta{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--text-secondary);margin-bottom:16px}.track-rec-enroll{width:100%}.enroll-error{background:var(--danger-light);border:1px solid #fecaca;border-radius:var(--radius-sm);padding:12px 16px;color:var(--danger);font-size:14px;margin-bottom:16px}.survey-recommendations__footer{margin-top:24px;text-align:center}.auth-page{min-height:calc(100vh - 60px - 96px);display:flex;align-items:center;justify-content:center;padding:48px 24px}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow);padding:40px;width:100%;max-width:440px}.auth-card__title{font-family:var(--font-display);font-size:28px;font-weight:700;line-height:1.2;margin-bottom:8px}.auth-card__subtitle{font-size:15px;color:var(--text-secondary);margin-bottom:28px;line-height:1.5}.oauth-buttons{display:flex;flex-direction:column;gap:10px;margin-bottom:24px}.oauth-button{font-size:15px;font-weight:500;gap:10px}.oauth-button svg{flex-shrink:0}.oauth-apple svg{color:var(--text)}.auth-divider{display:flex;align-items:center;gap:12px;margin:4px 0 24px;font-size:13px;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px}.auth-divider:after,.auth-divider:before{content:"";flex:1 1;height:1px;background:var(--border)}.field{margin-bottom:18px}.field label{display:block;font-size:14px;font-weight:500;margin-bottom:6px;color:var(--text)}.field input[aria-invalid=true]{border-color:var(--danger)}.field-error{margin-top:6px;font-size:13px;color:var(--danger);line-height:1.4}.server-error{margin-bottom:18px}.submit-button{margin-top:8px}.sign-in-link{margin-top:24px;font-size:14px;color:var(--text-secondary);text-align:center}.sign-in-link a{color:var(--primary);font-weight:500}.home-insight{display:grid;grid-template-columns:1fr 1fr;grid-gap:48px;gap:48px;align-items:center}.home-insight__title{font-family:var(--font-display);font-size:28px;font-weight:700;line-height:1.3;margin-bottom:16px}.home-insight__para{font-size:16px;color:var(--text-secondary);line-height:1.7;margin-bottom:16px}.home-insight__para:last-child{margin-bottom:0}.home-insight__compare{display:flex;flex-direction:column;gap:16px}.home-insight__vs{text-align:center;font-size:20px;color:var(--text-tertiary)}.home-pricing-strip{display:flex;justify-content:center;gap:24px;flex-wrap:wrap;margin-bottom:28px;font-size:15px}.home-pricing-sep{color:var(--text-tertiary)}@media (max-width:768px){.home-insight{grid-template-columns:1fr;gap:32px}}.footer{background:var(--surface);border-top:1px solid var(--border);padding:32px 0;margin-top:80px;text-align:center;font-size:14px;color:var(--text-tertiary)}.recipe-detail-page{max-width:820px;margin:0 auto;padding:32px 24px 64px}.recipe-detail-breadcrumb{margin-bottom:20px;font-size:14px}.recipe-detail-breadcrumb a{color:var(--text-secondary);text-decoration:none}.recipe-detail-breadcrumb a:hover{text-decoration:underline;color:var(--text)}.recipe-detail{display:flex;flex-direction:column;gap:32px}.recipe-detail-hero{width:100%;aspect-ratio:16/9;overflow:hidden;border-radius:var(--radius-lg);background:var(--primary-light)}.recipe-detail-image{width:100%;height:100%;object-fit:cover}.recipe-detail-content{display:flex;flex-direction:column;gap:32px}.recipe-detail-header h1{font-family:var(--font-display);margin:0 0 14px;font-size:clamp(30px,4.5vw,44px);line-height:1.15;letter-spacing:-.3px}.recipe-detail-meta{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.recipe-detail-meta span{display:inline-flex;align-items:center;background:var(--surface);border:1px solid var(--border);color:var(--text-secondary);font-size:13px;font-weight:500;padding:5px 12px;border-radius:999px}.recipe-detail-meta .recipe-rating{background:var(--warning-light);border-color:transparent;color:var(--warning);font-weight:600}.recipe-detail-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}.recipe-detail-description{font-size:17px;color:var(--text-secondary);line-height:1.7;margin:0;border-left:3px solid var(--primary-mid);padding:4px 0 4px 20px}.recipe-detail-video video{width:100%;border-radius:var(--radius-lg);background:#000}.recipe-nutrition{background:var(--surface);border-radius:var(--radius-lg);padding:20px 24px;border:1px solid var(--border)}.recipe-nutrition h2{font-family:var(--font-display);margin:0 0 14px;font-size:18px;font-weight:700}.nutrition-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));grid-gap:14px;gap:14px;margin:0}.nutrition-list dt{font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:var(--text-tertiary);font-weight:600;margin-bottom:2px}.nutrition-list dd{margin:0;font-size:17px;font-weight:600;color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.recipe-ingredients h2,.recipe-steps h2{font-family:var(--font-display);font-size:22px;margin:0 0 16px;font-weight:700}.ingredients-list{list-style:none;padding:0;margin:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.ingredients-list li{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:14px 20px;border-bottom:1px solid var(--border-light);font-size:15px}.ingredients-list li:last-child{border-bottom:none}.ingredient-main{display:flex;flex-direction:column;gap:2px;min-width:0}.ingredient-name{font-weight:500;color:var(--text)}.ingredient-note,.ingredient-notes{font-size:13px;color:var(--text-secondary);font-style:italic}.ingredient-qty{font-size:14px;color:var(--text-secondary);white-space:nowrap;flex-shrink:0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.step-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:0}.step{position:relative;display:grid;grid-template-columns:40px 1fr;grid-gap:0 20px;gap:0 20px;padding:0 0 32px}.step:last-child{padding-bottom:0}.step:not(:last-child):before{content:"";position:absolute;left:19px;top:40px;bottom:0;width:2px;background:var(--border-light)}.step-number{width:40px;height:40px;background:var(--primary);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px;flex-shrink:0;position:relative;z-index:1}.step-content{padding-top:8px}.step-body{font-size:16px;line-height:1.7;color:var(--text-secondary);margin:0 0 12px}.step-duration{display:inline-block;font-size:13px;color:var(--text-tertiary);background:var(--bg);padding:2px 10px;border-radius:999px}.upgrade-prompt{background:var(--surface);border:2px solid var(--primary-mid);border-radius:var(--radius-lg);padding:32px 28px;text-align:center}.upgrade-prompt h2{font-family:var(--font-display);margin:0 0 10px;font-size:22px;font-weight:700}.upgrade-prompt p{margin:0 0 20px;color:var(--text-secondary);font-size:15px;line-height:1.6}.upgrade-btn{display:inline-flex;align-items:center;justify-content:center;background:var(--primary);color:#fff;padding:10px 24px;border-radius:var(--radius);text-decoration:none;font-weight:500;font-size:15px;box-shadow:0 1px 3px rgba(197,98,46,.3);transition:background .15s}.upgrade-btn:hover{background:var(--primary-dark);color:#fff;text-decoration:none}.learning-track-badge{display:inline-flex;align-items:center;gap:6px;background:var(--success-light);color:var(--success);font-size:12px;font-weight:600;letter-spacing:.2px;padding:4px 12px;border-radius:999px;margin-top:8px}.learning-track-badge:before{content:"🎓";font-size:13px}.recipe-detail-loading{padding:1rem}.recipe-detail-skeleton{width:100%;height:400px;background:linear-gradient(90deg,var(--border-light) 25%,var(--border) 50%,var(--border-light) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.4s infinite;border-radius:var(--radius)}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.recipe-not-found{text-align:center;padding:3rem 1rem}.recipe-not-found h1{font-family:var(--font-display);font-size:1.5rem;margin-bottom:.5rem}.recipe-not-found a{display:inline-block;margin-top:1rem;color:var(--primary);font-weight:600;text-decoration:none}.error-message{background:var(--danger-light);border:1px solid #fecaca;border-radius:var(--radius-sm);padding:1rem 1.25rem;color:var(--danger);font-size:.95rem}.recipe-grid,.recipe-grid-loading{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:1.5rem;gap:1.5rem;padding:1rem 0}.recipe-card-skeleton{height:320px;background:linear-gradient(90deg,var(--border-light) 25%,var(--border) 50%,var(--border-light) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.4s infinite;border-radius:var(--radius)}.recipe-grid-empty{text-align:center;padding:3rem 1rem;color:var(--text-secondary)}.recipe-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:box-shadow .2s ease,transform .2s ease}.recipe-card:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.recipe-card-link{display:block;text-decoration:none;color:inherit}.recipe-card-image{aspect-ratio:16/9;overflow:hidden;background:var(--border-light)}.recipe-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .2s ease}.recipe-card:hover .recipe-card-image img{transform:scale(1.03)}.recipe-card-body{padding:1rem}.recipe-card-badges{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.5rem}.recipe-card-title{font-size:1.05rem;font-weight:700;margin:0 0 .4rem;line-height:1.3}.recipe-card-description{font-size:.875rem;color:var(--text-secondary);margin:0 0 .75rem;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.recipe-card-meta{display:flex;flex-wrap:wrap;gap:.4rem;font-size:.8rem;color:var(--text-secondary);margin-bottom:.5rem}.recipe-card-stats{font-size:.85rem;color:var(--text);font-weight:600}.recipe-tier-badge{font-size:.7rem;font-weight:700;padding:.15rem .45rem;border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.04em}.recipe-tier-basic{background:var(--badge-basic-bg);color:var(--badge-basic)}.recipe-tier-premium{background:var(--badge-unlimited-bg);color:var(--badge-unlimited)}.recipe-gated-badge{font-size:.78rem;color:var(--text-secondary)}.recipe-cook-time,.recipe-cuisine,.recipe-difficulty,.recipe-rating,.recipe-servings{font-size:.8rem}.pricing-page{max-width:1100px;margin:0 auto;padding:48px 24px}.pricing-header{text-align:center;margin-bottom:36px}.pricing-header h1{font-family:var(--font-display);font-size:clamp(32px,4vw,44px);font-weight:700;margin-bottom:8px}.pricing-subtitle{font-size:16px;color:var(--text-secondary)}.pricing-toggle{display:inline-flex;background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:4px;margin:0 auto 32px;gap:4px}.pricing-toggle__btn{background:transparent;border:none;cursor:pointer;font-family:var(--font);font-size:14px;font-weight:500;color:var(--text-secondary);padding:8px 20px;border-radius:999px;transition:all .15s}.pricing-toggle__btn--active{background:var(--primary);color:white;box-shadow:0 1px 3px rgba(197,98,46,.3)}.pricing-toggle__save-label{font-size:11px;margin-left:4px;opacity:.85}.pricing-plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:20px;gap:20px;margin-bottom:48px}.pricing-comparison{max-width:900px;margin:0 auto}.pricing-comparison h2{font-family:var(--font-display);font-size:24px;margin-bottom:20px;text-align:center}.pricing-page>.pricing-toggle{display:inline-flex}.pricing-page{text-align:center}.pricing-page .pricing-comparison,.pricing-page .pricing-plans{text-align:left}@media (max-width:640px){.recipe-detail-page{padding:20px 16px 48px}.recipe-detail-header h1{font-size:24px}.recipe-detail-actions{flex-direction:column;align-items:stretch}.recipe-detail-actions>*{width:100%;text-align:center}.nutrition-list{grid-template-columns:repeat(2,1fr)}.step{grid-template-columns:32px 1fr;gap:0 14px;padding-bottom:24px}.step:not(:last-child):before{left:15px;top:32px}.step-number{width:32px;height:32px;font-size:13px}.recipe-grid,.recipe-grid-loading{grid-template-columns:1fr}.upgrade-prompt{padding:20px}.ingredients-list li{padding:12px 16px}}@media (max-width:768px){.nav-links{display:none}.section{padding:48px 0}.hero{padding:48px 0 40px}.pricing-grid,.pricing-plans{grid-template-columns:1fr}}