*{box-sizing:border-box}body{margin:0;background:#f5f3ed;color:#203b34;font:16px system-ui,sans-serif}main{max-width:850px;margin:auto;padding:25px 22px 70px}header,.sectionHead{display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit}.brand b{font-size:21px}.mark{background:#174d42;padding:9px;border-radius:14px;font-size:25px}nav{display:flex;gap:6px;margin-top:25px;overflow-x:auto}button,.file{font:inherit;cursor:pointer;border:0;border-radius:12px;padding:12px 15px;background:#e9eee6;color:#214c3e;display:inline-block}button:hover,.file:hover{background:#dce6db}nav button{white-space:nowrap;font-size:14px;background:transparent}nav .selected,.primary{background:#174d42;color:white}.primary:hover{background:#236b59}.intro{padding:32px 0 6px}h1{font:600 clamp(35px,7vw,58px)/1.06 Georgia,serif;letter-spacing:-1px;margin:15px 0 20px}h2{font-size:21px;margin:0 0 18px}h3{font-size:18px}p{line-height:1.6}.eyebrow{font-size:11px;letter-spacing:2px;color:#78846b;font-weight:700}.intro>p:last-child{color:#65756f}section,.recipe{background:white;border:1px solid #e2e5df;border-radius:23px;padding:23px;margin:20px 0;box-shadow:0 6px 24px #203b3405}label{display:block;font-size:14px;margin:10px 0;font-weight:600}input:not([type=checkbox]):not([type=file]),textarea,select{display:block;width:100%;font:16px system-ui;padding:14px;border:1px solid #ccd6ce;border-radius:12px;background:#fafbf8;margin-top:8px;color:#203b34}textarea{min-height:110px;resize:vertical}.actions{display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin:15px 0}.file{font-weight:400;margin:0}.file input{display:none}.grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px}.muted,footer{font-size:13px;color:#65756f}footer{margin-top:50px;border-top:1px solid #dde3d8;padding-top:20px}footer button,footer .file{font-size:12px;padding:8px;margin:8px}.check{display:flex;align-items:flex-start;gap:10px;line-height:1.5;margin:18px 0}.check input{width:18px;height:18px;flex-shrink:0;margin-top:2px}.full{width:100%;padding:17px;font-weight:600}.badge{font-size:11px;background:#edf2e7;border-radius:20px;padding:7px 10px;white-space:nowrap}.sectionHead h2{margin:0 0 12px}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}[hidden]{display:none!important}#photoPreview{max-height:240px;max-width:100%;border-radius:14px;margin-top:15px}#status,#authStatus,#listStatus{min-height:20px;white-space:pre-wrap}button:disabled{opacity:.6;cursor:wait}input:focus,textarea:focus,select:focus,button:focus-visible,.file:focus-within{outline:3px solid #95bba2;outline-offset:2px}.recipe h2{font:600 25px Georgia,serif;margin:15px 0}.recipe .meta{display:flex;gap:15px;color:#65756f;font-size:13px;flex-wrap:wrap}.recipe .actions button{font-size:13px}.source{color:#174d42;overflow-wrap:anywhere}dialog{border:0;border-radius:24px;padding:30px;max-width:680px;width:calc(100% - 30px);max-height:90vh;color:#203b34}dialog::backdrop{background:#16382dab}.close{float:right;font-size:24px;padding:5px 14px}li{line-height:1.6;margin:10px 0}.shoppingRow{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid #edf0e8}.shoppingRow label{flex:1;font-weight:400;margin:0}.shoppingRow button{padding:5px 10px}.shoppingRow input{width:20px;height:20px}.shoppingRow.done label{text-decoration:line-through;color:#79867e}#addItem input{flex:1;min-width:140px}.empty{padding:25px 0;color:#65756f;text-align:center}@media(max-width:450px){main{padding:18px 14px 60px}section,.recipe{padding:18px}header .brand b{font-size:17px}header button{font-size:12px;padding:10px}.grid{gap:8px}nav button{padding:11px 9px}}

.cooking{width:calc(100% - 20px);max-width:850px;padding:24px}.cooking>button:first-child{display:block;margin-left:auto}.cooking h1{font-size:clamp(23px,4vw,36px)}.cookStep{font-size:clamp(26px,5vw,42px);line-height:1.45;min-height:180px;overflow-wrap:anywhere}.cookNavigation{display:flex;gap:14px;margin:24px 0}.cookNavigation button{flex:1;min-height:70px;font-size:20px}.cooking>button{margin:8px 12px 8px 0}.cooking label{display:flex;align-items:center;gap:10px;margin-top:20px}.cooking input{width:24px;height:24px}.cooking details{margin-top:20px}.cooking summary{cursor:pointer;font-size:20px}@media(max-width:450px){.cooking{padding:18px}.cookNavigation{gap:8px}.cookNavigation button{font-size:17px;padding:12px}}
