:root{
  --cloud-dancer:#f4f1ea;
  --bg:#fff8df;
  --surface:#fffdf5;
  --surface-variant:#f8edcf;
  --primary:#d99b22;
  --primary-container:#ffe6ad;
  --on-primary:#3f2600;
  --secondary:#78613a;
  --outline:#ddc994;
  --text:#241a08;
  --muted:#796b55;
  --shadow:0 14px 36px rgba(92,58,4,.12);
  --radius-xl:32px;--radius-lg:22px;--radius-md:16px;
}
*{box-sizing:border-box}body{margin:0;font-family:"Noto Sans SC",system-ui,sans-serif;background:linear-gradient(180deg,var(--cloud-dancer),var(--bg));color:var(--text)}a{text-decoration:none;color:inherit}.top-app-bar{position:sticky;top:0;z-index:20;background:rgba(244,241,234,.92);backdrop-filter:blur(18px);border-bottom:1px solid rgba(221,201,148,.65)}.top-inner{max-width:1180px;height:78px;margin:0 auto;padding:0 28px;display:grid;grid-template-columns:auto minmax(260px,560px) auto;align-items:center;gap:28px}.brand{display:flex;align-items:center;gap:12px;font-size:22px;font-weight:800;white-space:nowrap}.logo{width:46px;height:46px;border-radius:17px;background:linear-gradient(135deg,#ffb33e,var(--primary));display:grid;place-items:center;box-shadow:0 10px 22px rgba(217,155,34,.28)}.logo span{color:white}.search{height:52px;border-radius:999px;background:var(--surface);border:1px solid var(--outline);display:flex;align-items:center;gap:10px;padding:0 18px;box-shadow:0 6px 20px rgba(60,35,10,.06)}.search input{width:100%;border:0;outline:0;background:transparent;font-size:16px;color:var(--text)}.material-symbols-rounded{font-size:24px;color:var(--muted)}.my-button,.nav-pill{height:46px;border:0;border-radius:999px;background:var(--primary-container);color:var(--on-primary);font-weight:800;font-size:15px;display:flex;align-items:center;gap:6px;padding:0 18px;cursor:pointer}.user-menu{position:relative;justify-self:end}.dropdown{position:absolute;right:0;top:56px;width:210px;background:var(--surface);border:1px solid var(--outline);border-radius:20px;box-shadow:var(--shadow);padding:8px;display:none}.dropdown.show{display:block}.dropdown a{display:flex;align-items:center;gap:10px;padding:13px;border-radius:14px;font-size:14px}.dropdown a:hover{background:var(--surface-variant)}.page{max-width:1180px;margin:0 auto;padding:26px 28px 64px}.narrow-page{max-width:980px}.tags{display:flex;gap:12px;overflow-x:auto;padding:4px 0 28px}.tag{height:40px;padding:0 18px;border-radius:999px;border:1px solid var(--outline);background:var(--surface);color:var(--muted);font-size:15px;cursor:pointer;white-space:nowrap}.tag.active{background:var(--primary-container);color:var(--on-primary);border-color:var(--primary);font-weight:800}.section-head{display:flex;align-items:center;justify-content:space-between;margin:8px 0 18px}.section-title{display:flex;align-items:center;gap:8px;font-size:26px;font-weight:800}.section-title .material-symbols-rounded{color:var(--primary)}.section-meta,.eyebrow{color:var(--muted);font-size:14px}.hero-card{position:relative;height:420px;border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow);background:var(--surface)}.hero-card img{width:100%;height:100%;object-fit:cover;display:block}.hero-card:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.68),rgba(0,0,0,.12) 60%,transparent)}.hero-content{position:absolute;left:34px;right:34px;bottom:32px;z-index:2;color:white;max-width:720px}.badge{display:inline-flex;align-items:center;height:32px;padding:0 14px;border-radius:999px;background:var(--primary);font-size:14px;font-weight:800;margin-bottom:14px}.hero-content h1{margin:0 0 10px;font-size:clamp(34px,4vw,52px);line-height:1.05}.hero-content p{margin:0;font-size:17px;line-height:1.7}.updates{margin-top:44px}.recipe-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.recipe-card{position:relative;overflow:hidden;border-radius:var(--radius-lg);background:var(--surface);border:1px solid rgba(221,201,148,.8);box-shadow:0 8px 22px rgba(92,58,4,.08)}.recipe-card img{width:100%;height:180px;object-fit:cover;display:block}.recipe-body{padding:16px}.recipe-body h3{margin:0 0 8px;font-size:19px}.recipe-body p{margin:0;color:var(--muted);font-size:14px;line-height:1.6}.add-button{position:absolute;right:14px;bottom:92px;width:46px;height:46px;border:0;border-radius:16px;background:var(--primary);display:grid;place-items:center;box-shadow:0 8px 20px rgba(217,155,34,.35);cursor:pointer}.add-button span{color:white}.page-title{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin:12px 0 24px;padding:28px;border-radius:var(--radius-xl);background:var(--surface);border:1px solid var(--outline);box-shadow:var(--shadow)}.page-title h1{margin:4px 0 8px;font-size:42px;line-height:1.1}.page-title p{margin:0;color:var(--muted);line-height:1.7}.page-icon{font-size:54px;color:var(--primary)}.menu-stack{display:grid;gap:18px}.menu-dish-card{background:var(--surface);border:1px solid var(--outline);border-radius:28px;padding:22px;box-shadow:0 10px 26px rgba(92,58,4,.09)}.dish-row{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.dish-row h2{margin:0 0 8px;font-size:34px;line-height:1.18}.dish-row p{margin:0;color:var(--muted);font-size:15px}.action-pair,.mini-actions{display:flex;gap:8px;flex-shrink:0}.round-action{width:46px;height:46px;border:0;border-radius:16px;background:var(--primary);display:grid;place-items:center;cursor:pointer}.round-action span{color:white}.round-action.ghost{background:var(--surface-variant)}.round-action.ghost span{color:var(--on-primary)}.ingredient-list{margin-top:18px;margin-left:28px;display:grid;gap:10px}.ingredient-row,.shopping-row{display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--surface-variant);border:1px solid rgba(221,201,148,.72);border-radius:18px;padding:14px 16px}.ingredient-row strong,.shopping-row strong{display:block;font-size:18px;line-height:1.25}.ingredient-row span,.shopping-row span{display:block;margin-top:4px;color:var(--muted);font-size:13px}.mini-actions button{width:30px;height:30px;border:0;border-radius:10px;background:var(--primary-container);color:var(--on-primary);font-weight:800;cursor:pointer}.shopping-list{display:grid;gap:12px}.shopping-row{padding:18px 20px}.shopping-row.featured{background:linear-gradient(135deg,var(--primary-container),var(--surface));border-color:var(--primary)}.about-card{background:var(--surface);border:1px solid var(--outline);border-radius:var(--radius-xl);box-shadow:var(--shadow);padding:34px}.about-card h1{margin:6px 0 18px;font-size:42px}.about-card p{color:var(--muted);font-size:17px;line-height:1.9;margin:0 0 16px}.empty{grid-column:1/-1;padding:42px;text-align:center;color:var(--muted);background:var(--surface);border-radius:var(--radius-lg);border:1px dashed var(--outline)}@media(max-width:760px){.top-inner{height:auto;grid-template-columns:1fr auto;padding:14px 18px;gap:12px}.search{grid-column:1/-1}.page{padding:18px}.hero-card{height:320px}.recipe-grid{grid-template-columns:repeat(2,1fr);gap:12px}.recipe-card img{height:126px}.recipe-body p{display:none}.dish-row{flex-direction:column}.ingredient-list{margin-left:0}.page-title h1{font-size:34px}}@media(max-width:430px){.recipe-grid{grid-template-columns:1fr}.page-title{flex-direction:column}.top-inner{grid-template-columns:1fr}.user-menu{justify-self:start}}
.count{min-width:22px;height:22px;border-radius:999px;background:var(--primary);color:white;display:grid;place-items:center;font-size:12px;padding:0 6px}.add-button.added{background:#5f7f2f}.recipe-form{display:grid;gap:20px}.image-uploader input{display:none}.image-preview{min-height:310px;border:1px dashed var(--outline);border-radius:var(--radius-xl);background:var(--surface);display:grid;place-items:center;text-align:center;padding:28px;box-shadow:var(--shadow);cursor:pointer;overflow:hidden}.image-preview img{width:100%;height:360px;object-fit:cover;border-radius:24px}.image-preview .material-symbols-rounded{font-size:64px;color:var(--primary)}.image-preview strong{display:block;font-size:24px;margin-top:8px}.image-preview small{display:block;color:var(--muted);margin-top:6px}.form-grid{display:grid;grid-template-columns:1fr 220px;gap:16px}.md-field{display:grid;gap:8px;background:var(--surface);border:1px solid var(--outline);border-radius:22px;padding:16px 18px}.md-field span{font-size:13px;color:var(--muted);font-weight:800}.md-field input,.md-field select,.dynamic-field input{width:100%;border:0;outline:0;background:transparent;font:inherit;color:var(--text)}.form-section{background:var(--surface);border:1px solid var(--outline);border-radius:var(--radius-xl);padding:22px;box-shadow:0 8px 22px rgba(92,58,4,.08)}.form-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.form-section-head h2{margin:0 0 6px;font-size:26px}.form-section-head p{margin:0;color:var(--muted)}.dynamic-list{display:grid;gap:10px}.dynamic-field{display:flex;align-items:center;gap:10px;background:var(--surface-variant);border:1px solid rgba(221,201,148,.75);border-radius:18px;padding:12px 14px}.field-remove{width:34px;height:34px;border:0;border-radius:12px;background:var(--primary-container);display:grid;place-items:center;cursor:pointer}.field-remove span{font-size:20px}.submit-button{height:56px;border:0;border-radius:999px;background:var(--primary);color:white;font-size:17px;font-weight:800;cursor:pointer;box-shadow:0 12px 28px rgba(217,155,34,.28)}@media(max-width:760px){.form-grid{grid-template-columns:1fr}.image-preview{min-height:220px}.image-preview img{height:260px}}

.ingredient-row.zero,.shopping-row.zero{opacity:.46}.ingredient-row.zero strong,.ingredient-row.zero span,.shopping-row.zero strong,.shopping-row.zero span{text-decoration:line-through}.ingredient-row.zero .mini-actions,.shopping-row.zero .mini-actions{opacity:1;text-decoration:none}
.profile-card{display:flex;gap:22px;align-items:center;background:var(--surface);border:1px solid var(--outline);border-radius:var(--radius-xl);box-shadow:var(--shadow);padding:30px;margin:12px 0 20px}.profile-avatar{width:86px;height:86px;border-radius:28px;background:linear-gradient(135deg,var(--primary-container),var(--primary));display:grid;place-items:center;font-size:36px;font-weight:800;color:var(--on-primary)}.profile-main h1{margin:4px 0 8px;font-size:40px;line-height:1.1}.profile-main p{margin:0;color:var(--muted);line-height:1.7}.settings-list{display:grid;gap:12px}.settings-row{width:100%;border:1px solid var(--outline);border-radius:22px;background:var(--surface);padding:18px 20px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;text-align:left;cursor:pointer;box-shadow:0 8px 22px rgba(92,58,4,.06)}.settings-row strong{display:block;font-size:18px}.settings-row small{display:block;margin-top:4px;color:var(--muted);font-size:14px}.logout-button{height:52px;border:0;border-radius:999px;background:var(--surface-variant);color:var(--on-primary);font-weight:800;cursor:pointer}.auth-card{background:var(--surface);border:1px solid var(--outline);border-radius:var(--radius-xl);box-shadow:var(--shadow);padding:34px;margin-top:12px}.auth-card h1{margin:6px 0 12px;font-size:42px}.auth-card p{margin:0 0 22px;color:var(--muted);line-height:1.8}.auth-form{display:grid;gap:14px}.auth-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:8px}.submit-button.secondary{background:var(--primary-container);color:var(--on-primary)}@media(max-width:760px){.profile-card{align-items:flex-start}.auth-actions{grid-template-columns:1fr}}
.link-button{text-decoration:none;display:grid;place-items:center}.static-row{cursor:default}.import-row input{display:none}.notice-card{background:var(--primary-container);border:1px solid var(--outline);border-radius:var(--radius-xl);padding:22px;line-height:1.7;color:var(--on-primary);margin:18px 0}.notice-card strong{display:block;font-size:20px;margin-bottom:6px}
