:root {
  --ink: #29243d;
  --muted: #625e72;
  --paper: #f6f4f9;
  --white: #fff;
  --line: #ded9e7;
  --green: #352e59;
  --green-2: #514477;
  --accent: #db6a56;
  --soft: #eae6f2;
}
.brand-mark { font: 15px Georgia,serif; letter-spacing: -2px; width: 48px; height: 48px; }
.brand-mark span { color: #f2b4a6; }
.area-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.area-card { box-shadow: 0 18px 45px #352e591f; }
.area-card-alt { background: #624769; }
.area-card-alt:hover { background: #7a5b82; }
.category-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.card-open { text-decoration: none; }
.tag-list { display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0; }
.tag { font-size: 13px; padding: 6px 10px; border-radius: 999px; background: var(--soft); color: var(--green); }
.inline-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.filter-bar { display: flex; gap: 12px; align-items: center; margin: 0 0 24px; }
.filter-bar select { min-height: 44px; padding: 8px 12px; border: 1px solid var(--line); border-radius: 8px; background: white; }
.detail-top { margin-top: 24px; }
.detail-photo.empty-photo { background: var(--soft); }
.metric-list { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.metric-list div { display: flex; justify-content: space-between; gap: 10px; border-bottom: 1px solid var(--line); padding: 9px 0; }
.metric-list dt { color: var(--muted); }
.metric-list dd { margin: 0; font-weight: 700; }
.metric-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 16px 0; }
.metric-fields label { display: grid; gap: 6px; font-size: 14px; font-weight: 650; }
.metric-fields select { min-height: 44px; border: 1px solid var(--line); border-radius: 8px; padding: 8px; background: white; }
.rating-box .form-field { margin-top: 16px; }
.shopping-layout { display: grid; grid-template-columns: minmax(240px,.8fr) minmax(0,1.2fr); gap: 24px; }
.shopping-panel { background: white; border: 1px solid var(--line); border-radius: var(--radius); padding: 24px; align-self: start; }
.shopping-panel h2 { font: 30px Georgia,serif; margin: 0 0 22px; }
.shopping-choice { display: flex; align-items: center; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.shopping-choice input,.shopping-items input { width: 18px; height: 18px; accent-color: var(--green); }
.shopping-items { list-style: none; padding: 0; margin: 0 0 24px; }
.shopping-items li { border-bottom: 1px solid var(--line); padding: 12px 0; }
.shopping-items label { display: flex; gap: 12px; align-items: center; }
.shopping-items input:checked + span { text-decoration: line-through; color: var(--muted); }
.ingredient-row { display: grid; grid-template-columns: 100px 110px 1fr 42px; gap: 8px; margin: 0 0 8px; }
.ingredient-row input { min-width: 0; min-height: 44px; padding: 9px; border: 1px solid var(--line); border-radius: 8px; }
.icon-button { border: 1px solid var(--line); border-radius: 8px; background: white; font-size: 24px; }
#add-ingredient { margin: 8px 0 22px; }
.tag-fieldset { border: 0; padding: 0; margin: 18px 0 24px; display: flex; gap: 12px 18px; flex-wrap: wrap; }
.tag-fieldset legend { margin-bottom: 10px; }
.tag-fieldset label { display: flex; align-items: center; gap: 7px; font-size: 14px; }
.tag-fieldset input { width: 18px; height: 18px; accent-color: var(--green); }
.section-heading p { color: var(--muted); font-size: 14px; margin: 8px 0 0; }
@media (max-width: 800px) { .area-grid,.category-grid,.shopping-layout { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .ingredient-row { grid-template-columns: 72px 75px minmax(0,1fr) 36px; gap: 5px; } .ingredient-row input { font-size: 14px; padding: 6px; } .metric-fields { grid-template-columns: 1fr; } }
