:root{color-scheme:light;--paper: #f3eadb;--ink: #2a1a12;--muted: #6b5346;--card: #fffaf2;--line: #e2d2c0;--terracotta: #c45c26;--terracotta-dark: #9a3f14;--sage: #3f5d45;--success: #2f6b45;--danger: #9b2c2c;--shadow: 0 18px 40px rgba(61, 32, 16, .08);font-family:Segoe UI,Candara,Gill Sans,sans-serif;line-height:1.5;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}html,body,#root{min-height:100%;min-height:100dvh;margin:0}body{background:radial-gradient(circle at top left,rgba(196,92,38,.12),transparent 28%),linear-gradient(180deg,#f7f0e4 0%,var(--paper) 40%)}a{color:var(--terracotta-dark)}button,input,.button{font:inherit}.app-shell{max-width:960px;margin:0 auto;padding:32px 20px 64px;padding-top:max(32px,env(safe-area-inset-top));padding-right:max(20px,env(safe-area-inset-right));padding-bottom:max(64px,env(safe-area-inset-bottom));padding-left:max(20px,env(safe-area-inset-left))}.site-header{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;margin-bottom:28px;padding-bottom:20px;border-bottom:1px solid var(--line)}.brand{display:flex;gap:14px;align-items:center}.brand-mark{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:var(--terracotta);color:#fff8ef;font-weight:700;letter-spacing:.04em}.brand-kicker,.eyebrow{margin:0;text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;color:var(--muted)}.brand h1,.panel h2,.ingredient-editor h3{margin:0;font-family:Georgia,Iowan Old Style,Palatino Linotype,serif}.brand h1{font-size:1.8rem}.header-tools{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;justify-content:flex-end}.account-chip{display:flex;gap:10px;align-items:center;color:var(--muted);font-size:.92rem}.site-nav{display:flex;flex-wrap:wrap;gap:8px}.auth-panel{max-width:480px}.auth-switch{margin:18px 0 0;color:var(--muted)}.text-button{border:0;padding:0;background:none;color:var(--terracotta-dark);cursor:pointer;text-decoration:underline}.site-nav a,.button,.edit-link{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 14px;border-radius:999px;text-decoration:none;border:1px solid transparent}.site-nav a{color:var(--ink);background:transparent;border-color:var(--line)}.site-nav a.active{background:var(--ink);color:#fff8ef;border-color:var(--ink)}.page{display:grid;gap:20px}.panel{background:var(--card);border:1px solid var(--line);border-radius:24px;padding:28px;box-shadow:var(--shadow)}.panel-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:24px}.lede,.muted,.empty-state{color:var(--muted)}.lede{margin:8px 0 0;max-width:58ch}.stack{display:grid;gap:20px}.field{display:grid;gap:6px}.field span{font-size:.88rem;font-weight:600}.field input{width:100%;min-height:44px;padding:0 12px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink)}.ingredient-editor,.recipe-list,.ingredient-table{width:100%}.ingredient-editor-header,.actions{display:flex;justify-content:space-between;gap:12px;align-items:center}.ingredient-rows,.recipe-list{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:12px}.ingredient-row,.recipe-card{display:grid;gap:12px;padding:14px;border:1px solid var(--line);border-radius:16px;background:#fff}.ingredient-row{grid-template-columns:2fr 1fr 1fr auto;align-items:end}.recipe-card{grid-template-columns:1fr auto;align-items:center}.recipe-card.selected{border-color:var(--terracotta);background:#fff4ea}.recipe-select{display:flex;gap:12px;align-items:center}.recipe-select span{display:grid}.recipe-select em{font-style:normal;color:var(--muted);font-size:.9rem}.button{cursor:pointer;background:#fff;color:var(--ink);border-color:var(--line)}.button-primary{background:var(--terracotta);color:#fff8ef;border-color:var(--terracotta)}.button-primary:hover,.site-nav a.active:hover{background:var(--terracotta-dark);border-color:var(--terracotta-dark)}.button-ghost,.edit-link{background:transparent;color:var(--sage);border-color:#c7d4c8}.button-quiet{background:transparent;color:var(--danger);border-color:transparent;padding-inline:8px}.button-danger{background:#fff;color:var(--danger);border-color:#e8b4b4;margin-right:auto}.button:disabled,.button.disabled{opacity:.5;pointer-events:none}.banner{margin:0 0 16px;padding:12px 14px;border-radius:14px}.banner-warning{background:#fff1d6;color:#6a4b12}.banner-error{background:#fde8e8;color:var(--danger)}.banner-success{background:#e7f5ec;color:var(--success)}.update-bar{position:sticky;top:0;z-index:30;display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin:0 auto;max-width:960px;padding:max(12px,env(safe-area-inset-top)) 16px 12px;background:#fff1d6;color:#6a4b12;border-bottom:1px solid var(--line)}.update-bar p{margin:0}.selection-count{margin:0;font-weight:700;color:var(--sage)}.ingredient-table{border-collapse:collapse;margin-top:16px}.ingredient-table th,.ingredient-table td{text-align:left;padding:12px 10px;border-bottom:1px solid var(--line)}.ingredient-table th{font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.ingredient-checklist{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:10px}.ingredient-check{display:flex;gap:12px;align-items:flex-start;padding:14px;border:1px solid var(--line);border-radius:16px;background:#fff;cursor:pointer}.ingredient-check input{width:1.2rem;height:1.2rem;margin-top:3px;flex:none;accent-color:var(--sage)}.ingredient-check span{display:grid;gap:2px}.ingredient-check em{font-style:normal;color:var(--muted);font-size:.9rem}.ingredient-check.collected{background:#f4eee6;border-color:#ddd0c2}.ingredient-check.collected strong,.ingredient-check.collected em{color:var(--muted);text-decoration:line-through}.empty-state{padding:18px;border:1px dashed var(--line);border-radius:16px}@media(max-width:760px){.site-header,.panel-header,.ingredient-editor-header,.actions,.ingredient-row,.recipe-card{grid-template-columns:1fr;display:grid}.header-tools,.account-chip{display:grid;justify-items:stretch}.actions{justify-content:stretch}.actions .button,.actions a{width:100%}}body.has-install-bar .app-shell{padding-bottom:max(140px,calc(env(safe-area-inset-bottom) + 120px))}.install-bar{position:fixed;left:0;right:0;bottom:0;z-index:20;display:grid;gap:12px;margin:0 auto;max-width:960px;padding:14px 16px max(14px,env(safe-area-inset-bottom));background:var(--card);border-top:1px solid var(--line);box-shadow:var(--shadow)}.install-bar p{margin:0;color:var(--ink)}.install-bar-actions{display:flex;flex-wrap:wrap;gap:8px}@media(display-mode:standalone){html,body{overscroll-behavior:none}.install-bar{display:none}}
