:root{--bg:#fffaf3;--card:#fff;--text:#2b2118;--muted:#7a6a5c;--border:#eadfce;--primary:#c2410c;--primary-soft:#ffedd5;--danger:#b91c1c}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;font-size:18px}body{background:var(--bg);min-height:100dvh;color:var(--text);-webkit-tap-highlight-color:transparent;margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.4}h1,h2,h3{margin:0;line-height:1.2}h3{margin:1.6rem 0 .6rem;font-size:1.25rem}a{color:inherit}.topbar{z-index:10;background:var(--primary);color:#fff;align-items:center;gap:.25rem;height:3.2rem;padding:0 .5rem;display:flex;position:sticky;top:0}.topbar h1{text-overflow:ellipsis;white-space:nowrap;flex:1;padding:0 .5rem;font-size:1.15rem;overflow:hidden}.back{color:#fff;justify-content:center;align-items:center;width:3rem;height:3rem;font-size:2.2rem;line-height:1;text-decoration:none;display:flex}.page{max-width:44rem;margin:0 auto;padding:1rem 1rem 7rem}.btn{border:2px solid var(--border);background:var(--card);min-height:3rem;color:var(--text);font:inherit;cursor:pointer;border-radius:.8rem;justify-content:center;align-items:center;gap:.4rem;padding:0 1.1rem;font-weight:600;text-decoration:none;display:inline-flex}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.4}.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn.danger{color:var(--danger);border-color:var(--danger)}.btn.big{min-height:3.5rem;font-size:1.15rem}.btn.block{width:100%;display:flex}.btn.round{border-radius:50%;width:3.4rem;height:3.4rem;padding:0;font-size:1.8rem}.btn.small{min-height:2.4rem;padding:0 .7rem}.fab{right:1.1rem;bottom:calc(1.1rem + env(safe-area-inset-bottom));background:var(--primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:4rem;height:4rem;font-size:2.4rem;line-height:1;text-decoration:none;display:flex;position:fixed;box-shadow:0 4px 14px #0000004d}.input{border:2px solid var(--border);background:var(--card);width:100%;min-height:3rem;color:var(--text);font:inherit;border-radius:.8rem;padding:.5rem .8rem;display:block}.input:focus{border-color:var(--primary);outline:none}textarea.input{resize:vertical}.field{margin-bottom:1.1rem}.label{margin-bottom:.3rem;font-weight:600;display:block}.row{gap:.6rem;display:flex}.row>*{flex:1;min-width:0}.row>.btn{flex:none}.error{color:var(--danger);background:#fee2e2;border-radius:.8rem;margin:.8rem 0;padding:.7rem .9rem}.ok{color:#166534;background:#dcfce7;border-radius:.8rem;margin:.8rem 0;padding:.7rem .9rem}.muted{color:var(--muted)}.chips{flex-wrap:wrap;gap:.5rem;margin:.7rem 0;display:flex}.chip{border:2px solid var(--border);background:var(--card);min-height:2.4rem;color:var(--text);font:inherit;border-radius:999px;align-items:center;padding:0 .9rem;font-size:.9rem;display:inline-flex}button.chip{cursor:pointer}.chip.on{background:var(--primary);border-color:var(--primary);color:#fff}.chip.static{background:var(--primary-soft);border-color:var(--primary-soft);min-height:1.9rem;padding:0 .7rem}.cards{gap:.8rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.card{background:var(--card);min-height:6rem;color:inherit;border-radius:1rem;align-items:center;gap:.9rem;text-decoration:none;display:flex;overflow:hidden;box-shadow:0 1px 4px #3c281426}.card .thumb{object-fit:cover;flex:none;width:6rem;height:6rem}.card .thumb.ph{background:var(--primary-soft);justify-content:center;align-items:center;font-size:2.4rem;display:flex}.card .body{flex:1;min-width:0;padding:.5rem .8rem .5rem 0}.card .name{font-size:1.15rem;font-weight:700}.card .meta{color:var(--muted);font-size:.9rem}.card .tags{color:var(--primary);font-size:.85rem}.hero{object-fit:cover;border-radius:1rem;width:100%;max-height:18rem;margin-bottom:1rem;display:block}.title{margin-bottom:.3rem;font-size:1.7rem}.times{color:var(--muted);margin-bottom:1rem}.portions{justify-content:center;align-items:center;gap:1.2rem;margin:.4rem 0 1rem;font-size:1.1rem;font-weight:700;display:flex}.portions span{text-align:center;min-width:8rem}.ing-grid{grid-template-columns:max-content 1fr;gap:.6rem 1rem;font-size:1.1rem;display:grid}.ing-grid .q{text-align:right;font-weight:700}.steps{margin:0;padding-left:1.5rem;font-size:1.1rem;line-height:1.5}.steps li{margin-bottom:.9rem;padding-left:.3rem}.notes{white-space:pre-wrap;background:var(--primary-soft);overflow-wrap:anywhere;border-radius:.8rem;padding:.8rem 1rem}.actions{gap:.8rem;margin-top:2rem;display:flex}.actions>*{flex:1}.box{background:var(--primary-soft);border-radius:1rem;margin-bottom:1.1rem;padding:.9rem}.photo-preview{object-fit:cover;border-radius:1rem;width:100%;max-height:14rem;margin-bottom:.6rem;display:block}.ing-row{grid-template-columns:5.5rem 1fr 3rem;gap:.4rem;margin-bottom:.8rem;display:grid}.ing-row .name{grid-column:1/3}.ing-row .btn{grid-area:1/3/3;align-self:stretch;padding:0}.step-row{grid-template-columns:1fr 3rem;gap:.4rem;margin-bottom:.8rem;display:grid}.step-row .side{flex-direction:column;gap:.3rem;display:flex}.step-row .side .btn{flex:1;min-height:0;padding:0}.form-actions{z-index:10;padding:.7rem 1rem calc(.7rem + env(safe-area-inset-bottom));background:var(--bg);border-top:1px solid var(--border);gap:.6rem;display:flex;position:fixed;bottom:0;left:0;right:0}.form-actions .btn{flex:1}.form-actions .btn.primary{flex:2}.hidden{display:none}.cook{z-index:20;background:var(--bg);overscroll-behavior:contain;flex-direction:column;display:flex;position:fixed;inset:0}.cook-top{justify-content:space-between;align-items:center;padding:.5rem .8rem;font-size:1.1rem;font-weight:700;display:flex}.progress{background:var(--border);height:.4rem}.progress div{background:var(--primary);height:100%;transition:width .2s}.cook-step{flex:1;align-items:center;padding:1.5rem 1.4rem;animation:.2s fade;display:flex;overflow-y:auto}.cook-step p{overflow-wrap:anywhere;width:100%;margin:0;font-size:clamp(1.7rem,7vw,2.8rem);line-height:1.35}@keyframes fade{0%{opacity:0}to{opacity:1}}.cook-nav{padding:.8rem 1rem calc(1rem + env(safe-area-inset-bottom));grid-template-columns:1fr 1fr;gap:.8rem;display:grid}.cook-nav .btn{min-height:4.2rem;font-size:1.3rem}.sheet{z-index:30;background:#00000080;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet-card{width:100%;max-height:85dvh;padding:1.2rem 1.2rem calc(1.2rem + env(safe-area-inset-bottom));background:var(--bg);border-radius:1.2rem 1.2rem 0 0;overflow-y:auto}.sheet-card .ing-grid{margin-bottom:1.2rem;font-size:1.3rem}
