@font-face{font-family:"Young Serif";src:url(/fonts/young-serif.woff2) format("woff2");font-weight:400;font-display:swap}:root{--paper: #FDFCFA;--ink: #221D22;--faded: #6E6068;--accent: #6B2D4F;--accent-deep: #522239;--hairline: rgba(34, 29, 34, .14)}*{margin:0;padding:0;box-sizing:border-box}body{background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;line-height:1.55;min-height:100vh}h1,h2,.display{font-family:"Young Serif",Georgia,serif;font-weight:400}a{color:var(--accent)}.brand{display:flex;align-items:center;gap:.5rem;color:inherit;text-decoration:none}.brand .logo{color:var(--accent);flex-shrink:0}.brand.big{gap:.75rem;margin-bottom:.4rem}.brand.big h1{margin-bottom:0}.door{min-height:100vh;display:grid;place-items:center;padding:2rem 1.25rem}.door-card{width:100%;max-width:24rem}.door-card h1{font-size:3rem;line-height:1;margin-bottom:.4rem}.door-card .sub{color:var(--faded);font-size:.95rem;margin-bottom:2rem}.field{display:block;margin-bottom:1rem}.field span{display:block;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--faded);margin-bottom:.35rem}.field input{width:100%;font:inherit;padding:.6rem .75rem;border:1px solid var(--hairline);border-radius:6px;background:#fff;color:var(--ink)}.field input:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-color:transparent}button.primary{font:inherit;font-weight:600;color:#fff;background:var(--accent);border:none;border-radius:6px;padding:.65rem 1.2rem;cursor:pointer;width:100%}button.primary:hover{background:var(--accent-deep)}button.primary:disabled{opacity:.6;cursor:default}button.primary:focus-visible,a:focus-visible,button.quiet:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button.primary.google{background:#fff;color:var(--ink);border:1px solid var(--hairline)}button.primary.google:hover{border-color:var(--accent);background:#fff}.divider{text-align:center;color:var(--faded);font-size:.8rem;margin:.9rem 0}.alt-auth{display:block;margin:.9rem auto 0}.notice{margin-top:1rem;font-size:.92rem;border-left:3px solid var(--accent);padding:.5rem .75rem;background:#6b2d4f0f;border-radius:0 6px 6px 0}.tagline{margin-top:3rem;color:var(--faded);font-style:italic;font-size:.85rem}header.app{display:flex;align-items:baseline;gap:1rem;padding:1.1rem clamp(1rem,4vw,2.5rem);border-bottom:1px solid var(--hairline)}header.app h1{font-size:1.4rem}header.app .who{margin-left:auto;color:var(--faded);font-size:.85rem}button.quiet{font:inherit;font-size:.85rem;color:var(--accent);background:none;border:none;cursor:pointer;text-decoration:underline;text-underline-offset:2px}main.app{max-width:46rem;margin:0 auto;padding:clamp(1.5rem,5vw,3rem) 1.25rem}.empty{text-align:center;padding:4rem 1rem;color:var(--faded)}.empty h2{color:var(--ink);font-size:1.5rem;margin-bottom:.5rem}.import-row{display:flex;gap:.6rem;margin-bottom:1.5rem}.import-row input{flex:1;font:inherit;padding:.6rem .75rem;border:1px solid var(--hairline);border-radius:6px;background:#fff;color:var(--ink);min-width:0}.import-row input:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-color:transparent}button.primary.slim{width:auto;padding:.6rem 1.4rem;flex-shrink:0}.stats-filters{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;margin-bottom:1.25rem}.chip{font:inherit;font-size:.85rem;border:1px solid var(--hairline);border-radius:999px;background:none;color:var(--ink);padding:.3rem .9rem;cursor:pointer}.chip.on{background:var(--accent);border-color:var(--accent);color:#fff}.chip.toggle{display:inline-flex;gap:.4rem;align-items:center}.kpis{display:flex;gap:.75rem;flex-wrap:wrap}.kpi{border:1px solid var(--hairline);border-radius:8px;padding:.6rem 1rem;min-width:6rem}.kpi strong{display:block;font-family:"Young Serif",Georgia,serif;font-weight:400;font-size:1.6rem;line-height:1.1}.kpi span{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--faded)}.kpi.bot{border-style:dashed;color:var(--faded)}.stats-note{font-size:.8rem;color:var(--faded);margin:.6rem 0 1.25rem}.stats .panel{border:1px solid var(--hairline);border-radius:8px;padding:1rem 1.1rem;margin-bottom:1rem}.stats .panel h2{font-size:1.05rem;margin-bottom:.6rem}.panel-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1rem}.panel-row .panel{margin-bottom:1rem}.legend{display:flex;gap:1rem;font-size:.8rem;color:var(--faded);margin-bottom:.6rem}.legend i{display:inline-block;width:.7rem;height:.7rem;border-radius:2px;margin-right:.35rem;vertical-align:-1px}.daybars{display:flex;gap:.6rem;align-items:flex-end;height:9rem;overflow-x:auto;padding-bottom:.2rem}.daycol{display:flex;flex-direction:column;align-items:center;gap:.3rem;height:100%}.daycol-bars{display:flex;gap:2px;align-items:flex-end;flex:1}.barpair{display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:100%;gap:2px}.bar{width:1.1rem;min-height:2px;border-radius:4px 4px 0 0}.barlabel,.daylabel{font-size:.68rem;color:var(--faded)}.funnel{width:100%;border-collapse:collapse;font-size:.9rem}.funnel th,.funnel td,.stats-table th,.stats-table td{text-align:left;padding:.35rem .6rem .35rem 0;border-bottom:1px solid var(--hairline)}.funnel th,.stats-table th{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--faded)}.barlist{list-style:none;display:grid;gap:.4rem}.barlist li{display:grid;grid-template-columns:minmax(0,10rem) 1fr 2.5rem;gap:.6rem;align-items:center;font-size:.85rem}.barlist .k{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.barlist .track{background:#6b2d4f14;border-radius:3px;height:.7rem}.barlist .fill{background:#8a3563;height:100%;border-radius:3px;min-width:2px}.barlist .v{text-align:right;color:var(--faded)}.stats-table{margin-top:.5rem;font-size:.85rem}.stats-table summary{cursor:pointer;color:var(--faded)}.stats-table table{width:100%;border-collapse:collapse;margin-top:.6rem}.sub.small{font-size:.8rem;color:var(--faded);margin-bottom:.5rem}.site-footer{margin-top:3.5rem;padding-top:1rem;border-top:1px solid var(--hairline);display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem;font-size:.82rem;color:var(--faded)}.site-footer span{font-style:italic}.bookmarklet{font-size:.85rem;color:var(--faded);margin:-.75rem 0 1.25rem}.bookmarklet summary{cursor:pointer;width:fit-content}.bookmarklet summary:hover{color:var(--accent)}.bookmarklet p{margin:.5rem 0;max-width:34rem}.bookmarklet .bm{display:inline-block;font-weight:600;color:var(--accent);border:1px dashed var(--accent);border-radius:6px;padding:.35rem .8rem;text-decoration:none;cursor:grab}.bookmarklet .bm.as-button{font:inherit;font-weight:600;background:none;cursor:pointer}.bm-steps{margin:.5rem 0 .5rem 1.2rem;display:grid;gap:.45rem;max-width:34rem}.collection{list-style:none}.collection li+li{margin-top:.5rem}.card-row{display:flex;align-items:center;gap:.9rem;width:100%;text-align:left;font:inherit;color:var(--ink);background:none;border:1px solid var(--hairline);border-radius:8px;padding:.6rem .8rem;cursor:pointer}.card-row:hover{border-color:var(--accent)}.card-row:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.card-row img{width:3.4rem;height:3.4rem;object-fit:cover;border-radius:6px;flex-shrink:0}.card-row strong{display:block;font-family:"Young Serif",Georgia,serif;font-weight:400;font-size:1.08rem}.card-row small{color:var(--faded)}button.quiet.back{margin-bottom:1rem;text-decoration:none}.danger-row{margin-top:3rem;padding-top:1rem;border-top:1px solid var(--hairline)}.danger-row .quiet{color:var(--faded)}.danger-row .quiet:hover{color:var(--accent)}.page-actions{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:1rem}.page-actions .back{margin-bottom:0}.edit h2{font-size:1.15rem;margin:1.5rem 0 .75rem}.edit textarea{width:100%;font:inherit;padding:.6rem .75rem;border:1px solid var(--hairline);border-radius:6px;background:#fff;color:var(--ink);resize:vertical}.edit textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-color:transparent}.edit-times{display:grid;grid-template-columns:repeat(auto-fit,minmax(6rem,1fr));gap:.75rem}.edit-group{margin-bottom:1rem}.edit-ingredient{display:grid;grid-template-columns:4rem 4rem minmax(0,1fr) minmax(0,1fr) 2rem;gap:.4rem;margin-bottom:.4rem;align-items:center}.edit-ingredient input{font:inherit;font-size:.92rem;padding:.45rem .55rem;border:1px solid var(--hairline);border-radius:6px;background:#fff;color:var(--ink);min-width:0}.edit-ingredient input:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-color:transparent}@media (max-width: 36rem){.edit-ingredient{grid-template-columns:3rem 3rem minmax(0,1fr) 2rem}.edit-ingredient .note{grid-column:1 / -2}}.edit-step{display:grid;grid-template-columns:1.6rem minmax(0,1fr) 2rem;gap:.5rem;margin-bottom:.5rem;align-items:start}.edit-step .step-num{width:1.6rem;height:1.6rem;border-radius:50%;background:var(--accent);color:var(--paper);font-family:"Young Serif",Georgia,serif;font-size:.9rem;display:grid;place-items:center;margin-top:.35rem}.edit-actions{display:flex;gap:1rem;align-items:center;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--hairline)}.recipe-page .hero{width:100%;max-height:300px;object-fit:cover;border-radius:10px;margin-bottom:1.25rem}.title-row{display:flex;align-items:baseline;gap:1rem;flex-wrap:wrap}.title-row h1{font-size:clamp(1.8rem,5vw,2.4rem)}.title-row a{font-size:.85rem}.recipe-page .description{margin:.5rem 0 1.25rem;max-width:38rem}.recipe-page .meta{display:flex;flex-wrap:wrap;gap:.5rem 2rem;border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);padding:.8rem 0;margin-bottom:1.75rem}.recipe-page .meta dt{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--faded)}.recipe-page .meta dd{font-weight:600}.servings{display:inline-flex;align-items:center;gap:.5rem}.servings button{font:inherit;font-weight:600;width:1.5rem;height:1.5rem;border-radius:50%;border:1px solid var(--accent);color:var(--accent);background:none;cursor:pointer;line-height:1}.servings button:hover{background:#6b2d4f14}.servings button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.inferred{margin-left:.6rem;font-size:.75rem;font-style:italic;color:var(--accent)}.recipe-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:2.25rem}@media (max-width: 36rem){.recipe-grid{grid-template-columns:1fr}}.recipe-grid h2{font-size:1.15rem;margin-bottom:.9rem}.recipe-grid h3{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--faded);margin:1rem 0 .3rem}.ingredients{list-style:none}.ingredients li{font-size:.95rem;padding:.5rem 0;border-bottom:1px dotted rgba(34,29,34,.3)}.ingredients li:last-child{border-bottom:none}.ingredients .amount{font-weight:650}.ingredients small{color:var(--faded)}.method{list-style:none;counter-reset:step}.method li{counter-increment:step;position:relative;padding:0 0 1.1rem 2.4rem;font-size:.97rem}.method li:before{content:counter(step);position:absolute;left:0;top:.05rem;width:1.6rem;height:1.6rem;border-radius:50%;background:var(--accent);color:var(--paper);font-family:"Young Serif",Georgia,serif;font-size:.9rem;display:grid;place-items:center}
