body:has(.recipe){padding-bottom:calc(7rem + env(safe-area-inset-bottom))}.head-actions{gap:.25rem;display:flex}@media (width<=599px){.head-actions .btn span{display:none}.head-actions .btn{padding:0 .75rem}.print-btn{display:none}}.intro{padding-top:clamp(1rem,4vw,3rem)}.title{font-size:var(--t-hero);letter-spacing:-.035em;max-width:16ch;font-weight:600;line-height:1}.summary{max-width:54ch;font-size:var(--t-lg);color:var(--ink-2);margin-top:1.25rem;line-height:1.45}.facts{flex-wrap:wrap;gap:.75rem 2.5rem;margin:2rem 0 0;display:flex}.facts div{flex-direction:column-reverse;display:flex}.facts dt{font-size:var(--t-sm);color:var(--ink-3)}.facts dd{font-family:var(--font-display);font-size:var(--t-lg);letter-spacing:-.01em;margin:0;font-weight:600}@media (width<=599px){.summary{font-size:var(--t-md);margin-top:.875rem}.facts{margin-top:1.25rem}}.hero-img{aspect-ratio:16/9;object-fit:cover;border-radius:var(--radius-m);background:var(--surface-2);width:100%;height:auto;max-height:72vh;margin-top:2.5rem;display:block}.layout{gap:3rem;margin-top:clamp(2rem,5vw,3.5rem);display:grid}@media (width>=960px){.layout{grid-template-columns:minmax(330px,400px) minmax(0,1fr);align-items:start;gap:clamp(3rem,6vw,5.5rem)}.ingredients{position:sticky;top:1rem}.ingredients .panel{overscroll-behavior:contain;scrollbar-width:thin;max-height:calc(100dvh - 2rem);overflow-y:auto}}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);padding:1.25rem clamp(1rem,3vw,1.5rem) 1rem}.panel-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.panel-head h2{font-size:var(--t-lg)}.method>h2{font-size:var(--t-xl)}.scaler{align-items:center;gap:.125rem;display:flex}.scaler .icon-btn{border-color:var(--line);width:40px;height:40px}.scale-value{text-align:center;min-width:7.25em;font-size:var(--t-sm);color:var(--ink-2)}.scale-value b{font-family:var(--font-display);font-size:var(--t-lg);color:var(--ink);margin-right:.1em;font-weight:600}.scaler.is-changed .scale-value b{color:var(--basil)}.group+.group{margin-top:.5rem}.group-name{border-bottom:1px solid var(--line);font-size:var(--t-md);justify-content:space-between;align-items:baseline;gap:1rem;margin-top:1.25rem;padding-bottom:.45rem;font-weight:600;display:flex}.group-count{font-family:var(--font-body);font-size:var(--t-xs);color:var(--ink-3);font-weight:500}.group.is-complete .group-count{color:var(--basil)}.ing-list{grid-template-columns:[box]24px[qty]minmax(1.5rem,max-content)[text]1fr;margin:.25rem 0 0;padding:0;list-style:none;display:grid}.ing,.ing label{grid-column:1/-1;grid-template-columns:subgrid;display:grid}.ing label{border-radius:var(--radius-s);cursor:pointer;align-items:baseline;column-gap:.8rem;margin-inline:-.5rem;padding:.55rem .5rem;transition:background-color .2s;position:relative}.ing label:hover{background:var(--surface-2)}.ing.is-lit label{background:var(--basil-soft)}.tick{opacity:0;width:1px;height:1px;position:absolute}.box{border:1.5px solid var(--line-strong);background:var(--surface);border-radius:50%;align-self:center;place-items:center;width:22px;height:22px;transition:background-color .15s,border-color .15s;display:grid}.box svg{stroke-width:3px;width:14px;height:14px;color:var(--basil-ink);transition:transform .2s var(--ease);transform:scale(0)}.tick:focus-visible+.box{outline:2.5px solid var(--basil);outline-offset:2px}.tick:checked+.box{background:var(--basil);border-color:var(--basil)}.tick:checked+.box svg{transform:scale(1)}.ing-qty{text-align:right;white-space:nowrap;overflow-wrap:anywhere;font-weight:600}.ing-unit{font-weight:600}.ing-text{min-width:0}.ing-prep{color:var(--ink-2)}.ing-note{font-size:var(--t-sm);color:var(--ink-3);display:block}.ing-tag{border:1px solid var(--line-strong);border-radius:var(--radius-pill);font-size:var(--t-xs);color:var(--ink-2);vertical-align:.1em;margin-left:.5em;padding:0 .5em;display:inline-block}.ing-qty,.ing-text{transition:color .2s,opacity .2s}.ing:has(.tick:checked) .ing-qty,.ing:has(.tick:checked) .ing-text{color:var(--ink-3);opacity:.75}.ing:has(.tick:checked) .ing-name{text-decoration:line-through 1.5px;text-decoration-color:var(--ink-3)}.ing:has(.tick:checked) .ing-prep{color:inherit}.panel-foot{justify-content:space-between;align-items:center;gap:1rem;min-height:44px;margin-top:.75rem;display:flex}.progress{font-size:var(--t-sm);color:var(--ink-3)}.clear-btn{margin-right:-.75rem}.method{min-width:0}.run+.run{margin-top:1rem}.section-title{font-size:var(--t-lg);color:var(--ink-2);margin-top:2rem;font-weight:600}.steps{margin:.5rem 0 0;padding:0;list-style:none}.step{border-top:1px solid var(--line);grid-template-columns:40px minmax(0,1fr);gap:1.1rem;padding:1.15rem 0 1.25rem;display:grid}.run:first-of-type .step:first-child:not(:has(+*)),.step:first-child{border-top-color:#0000}.step-n{border:1.5px solid var(--line-strong);width:40px;height:40px;font-family:var(--font-display);font-weight:600;font-size:var(--t-md);background:0 0;border-radius:50%;place-items:center;margin-top:-.2rem;padding:0;transition:background-color .2s,border-color .2s,color .2s;display:grid;position:relative}.step-n>*{transition:transform .25s var(--ease), opacity .2s;grid-area:1/1}.step-n svg{stroke-width:2.6px;opacity:0;width:20px;height:20px;transform:scale(.4)}.step-n:hover{border-color:var(--ink-3)}.step.is-current .step-n{border-color:var(--saffron);background:var(--saffron-soft)}.step.is-done .step-n{border-color:var(--basil);background:var(--basil);color:var(--basil-ink)}.step.is-done .step-n span{opacity:0;transform:scale(.4)}.step.is-done .step-n svg{opacity:1;transform:scale(1)}.step-body{transition:opacity .25s}.step.is-done .step-body{opacity:.45}.step-text{max-width:64ch;font-size:clamp(1.125rem,1.02rem + .35vw,1.25rem);line-height:1.6}.ref-label{font-weight:600}.ref-qty{color:var(--basil);white-space:nowrap;font-weight:600}.ref.is-lit .ref-label{text-decoration:underline;text-decoration-color:var(--basil);text-underline-offset:.2em;text-decoration-thickness:2px}.timer-chip{border:1px solid color-mix(in oklab, var(--saffron) 55%, transparent);border-radius:var(--radius-pill);background:var(--saffron-soft);white-space:nowrap;vertical-align:baseline;align-items:center;gap:.3em;margin:0 .05em;padding:0 .55em 0 .45em;font-weight:600;line-height:1.5;transition:transform .1s,background-color .15s;display:inline-flex}.timer-chip svg{stroke-width:2.2px;width:1em;height:1em;position:relative;top:-.05em}.timer-chip:hover{background:color-mix(in oklab, var(--saffron) 28%, var(--surface))}.timer-chip:active{transform:scale(.96)}.tip{border-left:2px solid var(--line-strong);max-width:60ch;font-size:var(--t-sm);color:var(--ink-2);margin-top:.75rem;padding-left:.9rem;line-height:1.55}.notes{border-top:1px solid var(--line);margin-top:2.5rem;padding-top:1.5rem}.notes h3{font-size:var(--t-lg)}.notes ul{max-width:62ch;color:var(--ink-2);margin:.75rem 0 0;padding-left:1.1rem}.notes li+li{margin-top:.5rem}.notes li::marker{color:var(--basil)}.recipe-foot{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:2.5rem;padding-top:1.5rem;display:flex}.tags{flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.tags a{border:1px solid var(--line-strong);border-radius:var(--radius-pill);font-size:var(--t-sm);color:var(--ink-2);padding:.2rem .75rem;text-decoration:none;display:inline-block}.tags a:hover{border-color:var(--ink-3);color:var(--ink)}.source{font-size:var(--t-sm);color:var(--ink-3)}.dock{z-index:40;left:50%;bottom:calc(env(safe-area-inset-bottom) + 1rem);border:1px solid var(--line);border-radius:var(--radius-pill);background:color-mix(in oklab, var(--surface) 82%, transparent);backdrop-filter:blur(18px)saturate(1.5);box-shadow:var(--shadow);white-space:nowrap;gap:.25rem;padding:.3rem;display:flex;position:fixed;translate:-50%}.dock-btn{border-radius:var(--radius-pill);min-height:50px;font-size:var(--t-sm);background:0 0;border:0;align-items:center;gap:.55rem;padding:0 1.25rem;font-weight:600;transition:background-color .15s,transform .1s;display:inline-flex}.dock-btn:hover{background:var(--surface-2)}.dock-btn:active{transform:scale(.97)}.dock-btn svg{width:18px;height:18px}.dock-primary{background:var(--basil);color:var(--basil-ink)}.dock-primary:hover{background:var(--basil);filter:brightness(1.08)}.dock-primary svg{fill:currentColor;stroke-width:1.2px}.wake-dot{border:2px solid var(--ink-3);border-radius:50%;width:12px;height:12px;transition:background-color .2s,border-color .2s;position:relative}[aria-pressed=true]>.wake-dot{border-color:var(--saffron);background:var(--saffron)}[aria-pressed=true]>.wake-dot:after{content:"";border:2px solid var(--saffron);animation:breathe 2.4s var(--ease) infinite;border-radius:50%;position:absolute;inset:-6px}@keyframes breathe{0%{opacity:.7;transform:scale(.6)}to{opacity:0;transform:scale(1.4)}}.timer-tray{z-index:41;left:50%;bottom:calc(env(safe-area-inset-bottom) + 5.4rem);pointer-events:none;flex-direction:column-reverse;align-items:center;gap:.5rem;display:flex;position:fixed;translate:-50%}@media (width>=960px){.timer-tray{left:auto;right:var(--gutter);bottom:calc(env(safe-area-inset-bottom) + 1.25rem);align-items:flex-end;translate:none}}.cook .timer-tray{bottom:calc(env(safe-area-inset-bottom) + 6.25rem)}.timer{border-radius:var(--radius-pill);background:var(--ink);color:var(--bg);box-shadow:var(--shadow);pointer-events:auto;animation:timer-in .35s var(--ease);align-items:center;gap:.75rem;padding:.35rem .35rem .35rem 1.1rem;display:flex}@keyframes timer-in{0%{opacity:0;transform:translateY(12px)scale(.96)}}.timer-meta{flex-direction:column;line-height:1.15;display:flex}.timer-label{font-size:var(--t-xs);opacity:.7;text-overflow:ellipsis;max-width:14rem;overflow:hidden}.timer-time{font-family:var(--font-display);font-size:var(--t-lg);font-variant-numeric:tabular-nums;min-width:4.2ch;font-weight:600}.timer .icon-btn{background:color-mix(in oklab, var(--bg) 16%, transparent);width:38px;height:38px;color:inherit;border:0}.timer .icon-btn svg{width:17px;height:17px}.timer.is-paused .timer-time{opacity:.55}.timer.is-done{background:var(--saffron);color:var(--saffron-ink);animation:1s ease-in-out infinite ring}@keyframes ring{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}.cook{background:var(--bg);width:100%;max-width:none;height:100%;max-height:none;color:var(--ink);border:0;margin:0;padding:0}.cook::backdrop{background:var(--bg)}.cook[open]{animation:cook-in .3s var(--ease)}@keyframes cook-in{0%{opacity:0;transform:translateY(16px)}}.cook-inner{height:100%;padding-top:env(safe-area-inset-top);grid-template-rows:auto auto minmax(0,1fr) auto;display:grid}.cook-head{padding:.875rem var(--gutter);justify-content:space-between;align-items:center;gap:1rem;display:flex}.cook-where{min-width:0}.cook-title{font-size:var(--t-sm);color:var(--ink-3);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.cook-pos{font-family:var(--font-display);font-size:var(--t-lg);font-weight:600}.cook-tools{gap:.5rem;display:flex}.cook-tools .icon-btn{border-color:var(--line)}.cook-wake[aria-pressed=true]{background:var(--saffron-soft);border-color:var(--saffron);color:var(--ink)}.cook-bar{padding-inline:var(--gutter);gap:4px;display:flex}.cook-bar span{background:var(--line);border-radius:2px;flex:1;height:4px;transition:background-color .3s}.cook-bar .is-done{background:var(--basil)}.cook-bar .is-here{background:var(--saffron)}.cook-track{overscroll-behavior:contain;padding:0 var(--gutter);touch-action:pan-y;overflow-y:auto}.slide{max-width:46rem;margin:0 auto;padding:clamp(1.5rem,6vh,4rem) 0 8rem}.slide.is-entering-next{animation:slide-next .3s var(--ease)}.slide.is-entering-prev{animation:slide-prev .3s var(--ease)}@keyframes slide-next{0%{opacity:0;transform:translate(28px)}}@keyframes slide-prev{0%{opacity:0;transform:translate(-28px)}}.slide-kicker{font-size:var(--t-sm);color:var(--ink-3);font-weight:600}.slide-heading{font-size:var(--t-2xl);letter-spacing:-.03em;margin-top:.4rem}.slide-text{letter-spacing:-.008em;margin-top:.75rem;font-size:clamp(1.5rem,1.05rem + 1.9vw,2.35rem);line-height:1.38}.slide-text .timer-chip{border-width:1.5px}.slide-tip{font-size:var(--t-md);margin-top:1.5rem}.gather{margin-top:1rem}.gather .ing label{padding-block:.7rem}.gather .group-name{margin-top:1.5rem}.needs{border-top:1px solid var(--line);margin-top:2.25rem;padding-top:1.25rem}.needs-h{font-family:var(--font-body);font-size:var(--t-sm);color:var(--ink-3);font-weight:600}.needs ul{font-size:var(--t-lg);grid-template-columns:minmax(1.5rem,max-content) 1fr;gap:.35rem 1rem;margin:.6rem 0 0;padding:0;list-style:none;display:grid}.needs li{grid-column:1/-1;grid-template-columns:subgrid;display:grid}.needs-name .ing-unit{color:var(--basil)}.needs-qty{text-align:right;color:var(--basil);font-weight:600}.cook-nav{padding:.75rem var(--gutter) calc(.875rem + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--bg);justify-content:space-between;gap:.75rem;display:flex}.cook-nav .btn{max-width:18rem;min-height:58px;font-size:var(--t-md);flex:1}.cook-prev:disabled{visibility:hidden}@media print{body{color:#000;background:#fff;font-size:11pt;padding:0!important}.dock,.timer-tray,.head-actions,.scaler .icon-btn,.panel-foot,.box,.cook,.hero-img{display:none!important}.title{font-size:30pt}.layout{grid-template-columns:1fr 1.8fr;gap:2rem;display:grid}.ingredients{position:static}.panel{border:0;padding:0}.ingredients .panel{max-height:none;overflow:visible}.ing-list{grid-template-columns:[box]0[qty]fit-content(8rem)[text]1fr}.step{break-inside:avoid}.step-n{border-color:#999;color:#000!important;background:0 0!important}.step-n span{opacity:1!important;transform:none!important}.step-n svg{display:none}.step-body{opacity:1!important}.timer-chip{font-weight:inherit;background:0 0;border:0;padding:0}.timer-chip svg{display:none}.ing-name{text-decoration:none!important}}
