:root{color-scheme:dark;font-family:Arial,sans-serif;color:#eee4d5;background:#17140f;--accent:#dbac74}*{box-sizing:border-box}body{margin:0;background:linear-gradient(#17140ff2,#17140ff2),url('/assets/hero.png') center/cover fixed}button,input,select,textarea,.button{font:inherit}button,.button{min-height:46px;border:1px solid #61503c;border-radius:9px;background:#27231c;color:#f3e7d4;padding:12px 17px;cursor:pointer;text-decoration:none;display:inline-block}button:hover{border-color:var(--accent)}button.primary,button.active{background:var(--accent);color:#1b160e;font-weight:bold}button:disabled{opacity:.5}a{color:var(--accent)}h1,h2,h3{font-family:Georgia,serif;font-weight:500;line-height:1.2}h1{font-size:38px}h2{font-size:27px}p,li{line-height:1.65}small{display:block;color:#c1b5a5;line-height:1.6}label{display:block;margin:18px 0;line-height:1.6}input,select,textarea{display:block;width:100%;padding:13px;margin-top:6px;border:1px solid #766249;border-radius:8px;background:#181711;color:#faf1e5;min-height:48px}input[type=checkbox]{display:inline-block;width:auto;min-height:0}textarea{resize:vertical}.shell{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh}.shell aside{padding:26px 18px;border-right:1px solid #4c3c2c;background:#15140feb;position:sticky;top:0;height:100vh;overflow:auto}.brand,.wordmark{font:24px Georgia,serif;letter-spacing:1px;color:#f1e3cc;text-decoration:none;display:block}.brand small{font:10px Arial;letter-spacing:4px;margin-top:10px;color:var(--accent)}aside nav{display:grid;gap:8px;margin:32px 0}aside button{text-align:left}main{max-width:1450px;width:100%;padding:28px 40px 60px}main header{display:flex;justify-content:space-between;align-items:center}.eyebrow{font-size:11px;letter-spacing:2px;color:var(--accent);text-transform:uppercase}main header button{display:none}.status{font-size:12px;color:#c5bea8}.status.error,#formerror{color:#ffb3a8}.card{padding:25px;background:#222019d9;border:1px solid #5c4b36;border-radius:14px;margin:20px 0;min-width:0}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.stat strong{display:block;font-size:36px;color:var(--accent)}.toolbar,.welcome-actions{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.welcome img,.public-hero img{width:100%;display:block;border-radius:14px}.welcome-actions{justify-content:center}.ingredients>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;padding:13px 0;border-bottom:1px solid #5d503c}.ingredients strong{color:#edc694}.ingredient-row{display:grid;grid-template-columns:minmax(0,1fr) 90px 75px 42px;gap:7px;margin:12px 0}.ingredient-row input,.ingredient-row select{margin:0}.ingredient-row button{padding:7px}.steps li{padding:9px 0}.pre{white-space:pre-wrap}dl>div{display:grid;grid-template-columns:1fr 1.5fr;gap:16px;padding:8px 0}dt{color:#c0b29e}dd{margin:0;overflow-wrap:anywhere}.links{display:grid;gap:12px}.photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px}.photos a{border:1px solid #6e563a;padding:10px;border-radius:8px;overflow-wrap:anywhere}.photos img{width:100%;height:160px;object-fit:cover}.photos span{display:block;font-size:12px}.camera{background:#3b2b1a;border:1px solid var(--accent);padding:15px;border-radius:9px}.bottom{display:none}dialog{border:1px solid #846443;border-radius:16px;background:#1b1913;color:#f0e7d9;max-width:800px;width:90vw;max-height:90vh;padding:28px}dialog::backdrop{background:#000b}.close{float:right;position:sticky;top:0}.auth{max-width:540px;margin:30px auto;padding:20px}.auth .card{margin:0}.auth .wordmark{margin:20px 0}.auth button{margin:8px 0}.public-head{display:flex;justify-content:space-between;align-items:center;max-width:1500px;margin:auto;padding:26px 30px;border-bottom:1px solid #5d4730}.public-hero{max-width:1500px;padding:26px 30px;margin:auto;text-align:center}.public-hero button{margin-top:24px;min-width:230px}.notice{padding:18px;border-left:3px solid var(--accent);background:#3a2c1e}.access-actions{margin-top:15px}[hidden]{display:none!important}
@media(max-width:900px){.shell{display:block}.shell aside{display:none;position:fixed;inset:0 auto 0 0;width:min(86vw,320px);z-index:80;height:100dvh;box-shadow:0 0 0 100vmax #0009}.shell aside.open{display:block}main{padding:18px 16px 110px}main header button{display:block}h1{font-size:30px}h2{font-size:24px}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.card{padding:19px 16px;margin:16px 0}.toolbar{display:grid;grid-template-columns:1fr}.toolbar button{width:100%}.bottom{display:grid;position:fixed;bottom:0;left:0;right:0;grid-template-columns:repeat(5,minmax(0,1fr));background:#191710fa;border-top:1px solid #77603f;padding:7px 5px calc(7px + env(safe-area-inset-bottom));gap:3px;z-index:60}.bottom button{padding:10px 2px;font-size:12px;min-height:48px;border:0;background:transparent}.bottom button.active{background:var(--accent)}.ingredient-row{grid-template-columns:minmax(0,1fr) 70px 65px 35px}.ingredient-row input{min-width:0}.ingredient-row [data-i-name]{grid-column:1/-1}.ingredient-row [data-i-amount]{grid-column:1}.ingredient-row select{grid-column:2/4}.ingredient-row button{grid-column:4}.ingredients>div{gap:10px;font-size:15px}.ingredients span{overflow-wrap:anywhere}.public-head{padding:20px 16px}.public-head .brand{font-size:20px}.public-head .brand small{font-size:8px;letter-spacing:3px}.public-hero{padding:20px 12px}.public-hero img{border-radius:10px;object-fit:contain}.public-hero button{width:100%}.welcome-actions{display:grid;grid-template-columns:1fr}input,select,textarea{font-size:16px}dialog{max-width:none;width:100%;height:100dvh;max-height:100dvh;border-radius:0;margin:0;padding:20px 16px calc(30px + env(safe-area-inset-bottom))}dl>div{grid-template-columns:1fr;gap:3px}.auth{margin:20px auto;padding:12px}}
@media print{aside,.bottom,button,header,#save-status,dialog{display:none!important}.shell{display:block}body,main,.card{background:white;color:black;border:0}main{padding:0}.ingredients strong,a{color:black}}
.shopping-print{display:none}@media print{.shopping-print{display:block}.no-print,button{display:none!important}}

.source-recipe-photo{display:block;width:100%;max-width:760px;height:auto;border-radius:10px}figcaption{margin-top:12px;color:#c1b5a5;font-size:13px}.shopping-group{margin:24px 0 34px}.shopping-group-head{background:#342a1ee8;border:1px solid #b48c57}.shopping-group-head h2{overflow-wrap:anywhere}.shopping-group article{margin:0;border-top:0;border-radius:0}.shopping-group article:last-child{border-radius:0 0 14px 14px}.shopping-group-head{margin-bottom:0;border-radius:14px 14px 0 0}@media print{.shopping-group-head{background:white;color:black;border:1px solid black;break-after:avoid}.shopping-group article{break-inside:avoid}.source-recipe-photo{max-height:240px;object-fit:contain}}

.guide-table{overflow-x:auto;max-width:100%}.guide-table table{border-collapse:collapse;width:100%;font-size:.95rem}.guide-table th,.guide-table td{padding:.65rem;text-align:left;border-bottom:1px solid #665335;vertical-align:top}.guide-section li{margin-bottom:.65rem;line-height:1.6}.guide-note{border-left:3px solid #deb275;padding:.8rem;background:#211d15}.guide-section{margin:1.5rem 0}
