:root{font-family:Georgia,Times New Roman,serif;color:#213027;background:#f4f0e7;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,textarea{font:inherit}button{border:0;border-radius:6px;background:#365e49;color:#fff;cursor:pointer;padding:.68rem 1rem;font-weight:700}button:hover{background:#294a38}button:disabled{cursor:not-allowed;opacity:.55}input,textarea{border:1px solid #cfc8ba;border-radius:5px;background:#fffdf8;color:#213027;padding:.65rem;width:100%}textarea{resize:vertical}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(2rem,5vw,3rem);margin-bottom:0}h2{font-size:1.55rem;margin-bottom:.35rem}h3{font-size:1.05rem}.eyebrow{color:#83652f;font-family:system-ui,sans-serif;font-size:.7rem;font-weight:800;letter-spacing:.12em;margin-bottom:.35rem;text-transform:uppercase}.auth-shell{align-items:center;background:radial-gradient(circle at top left,#e4d6bc,transparent 40%),#f4f0e7;display:flex;justify-content:center;min-height:100vh;padding:1.5rem}.auth-card{background:#fffdf8;box-shadow:0 1.5rem 4rem #443d3030;max-width:29rem;padding:3rem;text-align:center;width:100%}.intro{color:#627066;font-size:1.25rem;margin:.6rem 0 2rem}.google-button{background:#fff;border:1px solid #cfc8ba;color:#213027;width:100%}.google-button span{color:#4285f4;font-family:Arial,sans-serif;font-size:1.15rem;margin-right:.5rem}.fine-print{color:#6c736d;font-family:system-ui,sans-serif;font-size:.8rem;margin:1.5rem 0 0}.message{border-radius:6px;font-family:system-ui,sans-serif;padding:.8rem 1rem}.error{background:#f8dfd7;color:#852e1c}.loading{color:#365e49;font-size:1.2rem}.app-shell{margin:0 auto;max-width:1440px;padding:2rem clamp(1rem,4vw,4rem)}.app-header{align-items:center;border-bottom:1px solid #d6cebf;display:flex;justify-content:space-between;padding-bottom:1.5rem}.user-menu{align-items:center;display:flex;font-family:system-ui,sans-serif;font-size:.85rem;gap:1rem}.secondary{background:transparent;border:1px solid #78857a;color:#294a38}.secondary:hover{background:#e6eee7}.danger{background:#9b3d2e}.danger:hover{background:#7d3024}.workspace{display:grid;gap:2rem;grid-template-columns:minmax(14rem,20rem) 1fr;padding-top:2rem}.recipe-list{border-right:1px solid #d6cebf;padding-right:1.5rem}.list-heading{align-items:end;display:flex;justify-content:space-between;margin-bottom:1rem}.list-heading h2{margin:0}.recipe-items{display:grid;gap:.45rem}.recipe-item{background:transparent;color:#213027;display:grid;padding:.85rem;text-align:left}.recipe-item:hover,.recipe-item.active{background:#dfe9de}.recipe-item span{color:#6c736d;font-family:system-ui,sans-serif;font-size:.75rem;margin-top:.2rem}.empty-list{color:#6c736d;font-size:.95rem;line-height:1.5}.content-panel{min-width:0}.empty-state{border:1px dashed #b8b0a1;color:#647066;min-height:25rem;padding:4rem 2rem}.empty-state h2{color:#213027;max-width:26rem}.recipe-detail,.recipe-form{background:#fffdf8;box-shadow:0 .6rem 2rem #443d3014;padding:clamp(1.25rem,4vw,3rem)}.detail-header{border-bottom:1px solid #e0d9cb;display:flex;gap:1rem;justify-content:space-between;padding-bottom:1.5rem}.detail-header h2{font-size:clamp(2rem,5vw,3.4rem);line-height:1}.description{color:#5f6d62;font-size:1.15rem;margin:1rem 0 0;max-width:43rem}.detail-actions{display:flex;gap:.5rem;height:fit-content}.facts{display:flex;gap:2rem;margin:1.5rem 0}.facts div{min-width:4rem}.facts dt{color:#6c736d;font-family:system-ui,sans-serif;font-size:.72rem;text-transform:uppercase}.facts dd{font-weight:700;margin:.2rem 0 0}.detail-grid{display:grid;gap:3rem;grid-template-columns:minmax(13rem,.8fr) minmax(18rem,1.2fr)}.ingredients,.steps{line-height:1.6;margin:0;padding-left:1.25rem}.ingredients li{padding:.35rem 0}.ingredients span{color:#83652f;display:inline-block;font-family:system-ui,sans-serif;font-size:.85rem;min-width:5.2rem}.steps li{padding:0 0 .9rem .25rem}.notes{background:#f5f1e7;margin-top:2rem;padding:1.25rem}.notes h3{margin-bottom:.5rem}.notes p{margin-bottom:0;white-space:pre-wrap}.recipe-form{display:grid;gap:1.25rem}.form-heading{border-bottom:1px solid #e0d9cb;padding-bottom:1rem}.form-heading h2{margin:0}.recipe-form label{display:grid;font-family:system-ui,sans-serif;font-size:.85rem;font-weight:700;gap:.4rem}.form-grid{display:grid;gap:1rem;grid-template-columns:repeat(2,1fr)}.recipe-form fieldset{border:0;border-top:1px solid #e0d9cb;margin:0;padding:1.25rem 0 0}.recipe-form legend{font-size:1.05rem;font-weight:700;padding:0 .4rem 0 0}.ingredient-row,.step-row{display:grid;gap:.5rem;margin-bottom:.55rem}.ingredient-row{grid-template-columns:5.5rem 5.5rem 1fr auto}.step-row{align-items:start;grid-template-columns:1.5rem 1fr auto}.step-row span{color:#83652f;font-weight:700;padding-top:.6rem}.icon-button{font-family:system-ui,sans-serif;font-size:.75rem;padding:.55rem .65rem}.text-button{background:transparent;color:#365e49;padding:.5rem 0}.text-button:hover{background:transparent;color:#213027}.form-actions{display:flex;gap:.75rem;justify-content:end;padding-top:.5rem}@media(max-width:760px){.app-shell{padding-top:1.25rem}.app-header{align-items:flex-start;gap:1rem}.user-menu{align-items:end;flex-direction:column;gap:.5rem;text-align:right}.workspace{grid-template-columns:1fr}.recipe-list{border-bottom:1px solid #d6cebf;border-right:0;padding:0 0 1.5rem}.recipe-items{display:flex;overflow-x:auto}.recipe-item{flex:0 0 10rem}.detail-header,.detail-grid{display:grid;grid-template-columns:1fr}.detail-actions{order:2}.facts{gap:1rem}.form-grid{grid-template-columns:1fr}.ingredient-row{grid-template-columns:1fr 1fr}.ingredient-row input:last-of-type{grid-column:span 2}.ingredient-row .icon-button{grid-column:span 2}.recipe-detail,.recipe-form{padding:1.25rem}}
