:root{--bg:#faf6f0;--surface:#fff;--surface-2:#f1ebe1;--border:#e4dbcb;--text:#241f1a;--text-dim:#6b6055;--accent:#c8631f;--accent-ink:#fff;--herb:#3f6030;--herb-soft:#e3ecda;--error:#b3261e;--error-soft:#fbe9e7}@media (prefers-color-scheme:dark){:root{--bg:#17140f;--surface:#201b15;--surface-2:#2a231a;--border:#3a3128;--text:#f3ece0;--text-dim:#b3a693;--accent:#e08a3c;--accent-ink:#1a1108;--herb:#8fb374;--herb-soft:#263420;--error:#ff8a80;--error-soft:#3a2020}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:Work Sans,system-ui,sans-serif;font-size:15px;line-height:1.6}h1,h2,h3,h4{margin:0 0 8px;font-family:Fraunces,Georgia,serif;font-weight:500}.mono,code{font-family:IBM Plex Mono,ui-monospace,monospace}.shell{max-width:1080px;margin:0 auto}.topbar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:18px 24px;display:flex}.brand{align-items:baseline;gap:10px;display:flex}.brand-mark{font-family:Fraunces,serif;font-size:20px;font-weight:600}.brand-domain{color:var(--text-dim);font-family:IBM Plex Mono,monospace;font-size:12px}.pill-link{border:1px solid var(--border);background:var(--surface-2);color:var(--text);border-radius:7px;padding:7px 12px;font-family:IBM Plex Mono,monospace;font-size:12.5px;text-decoration:none}.layout{grid-template-columns:1fr 1fr;gap:20px;padding:24px;display:grid}@media (width<=800px){.layout{grid-template-columns:1fr}}.panel{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px}.muted{color:var(--text-dim);font-size:13.5px}.error{color:var(--error);background:var(--error-soft);border-radius:8px;padding:8px 12px;font-size:13px}.success{color:var(--herb);background:var(--herb-soft);border-radius:8px;padding:8px 12px;font-size:13px}.recipe-list{flex-direction:column;gap:6px;margin:0 0 16px;padding:0;list-style:none;display:flex}.recipe-row{text-align:left;background:var(--surface-2);cursor:pointer;width:100%;font:inherit;color:inherit;border:1px solid #0000;border-radius:8px;flex-direction:column;gap:2px;padding:10px 12px;display:flex}.recipe-row:hover{border-color:var(--accent)}.recipe-row-title{font-weight:600}.recipe-row-meta{color:var(--text-dim);font-size:12px}.detail{border-top:1px solid var(--border);padding-top:16px}.recipe-meta-row{color:var(--text-dim);gap:12px;margin-bottom:12px;font-family:IBM Plex Mono,monospace;font-size:11.5px;display:flex}.ingredient-list,.step-list{margin:0 0 16px;padding-left:0;list-style:none}.step-list{padding-left:20px;list-style:decimal}.ingredient-list li{border-bottom:1px dashed var(--border);justify-content:space-between;padding:4px 0;font-size:13.5px;display:flex}.ingredient-list li:last-child{border-bottom:none}.qty{color:var(--text-dim);font-family:IBM Plex Mono,monospace;font-size:12.5px}.field{color:var(--text-dim);flex-direction:column;gap:6px;margin-bottom:14px;font-size:12.5px;display:flex}.field input,.field textarea{font:inherit;color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:10px 12px}.field textarea{resize:vertical;font-size:12.5px}.actions{gap:10px;margin-bottom:14px;display:flex}.signed-in-row{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}button{font:inherit;border:1px solid var(--border);background:var(--surface-2);color:var(--text);cursor:pointer;border-radius:8px;padding:9px 16px}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--accent);color:var(--accent-ink);border-color:#0000;font-weight:600}.preview{border-top:1px solid var(--border);padding-top:14px}.preview-title{margin-bottom:6px;font-family:Fraunces,serif;font-size:17px;font-weight:500}
