@import"https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Jost:wght@400;500;600;700&display=swap";.splide__container{box-sizing:border-box;position:relative}.splide__list{backface-visibility:hidden;display:-ms-flexbox;display:flex;height:100%;margin:0!important;padding:0!important}.splide.is-initialized:not(.is-active) .splide__list{display:block}.splide__pagination{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:center;justify-content:center;margin:0;pointer-events:none}.splide__pagination li{display:inline-block;line-height:1;list-style-type:none;margin:0;pointer-events:auto}.splide:not(.is-overflow) .splide__pagination{display:none}.splide__progress__bar{width:0}.splide{position:relative;visibility:hidden}.splide.is-initialized,.splide.is-rendered{visibility:visible}.splide__slide{backface-visibility:hidden;box-sizing:border-box;-ms-flex-negative:0;flex-shrink:0;list-style-type:none!important;margin:0;position:relative}.splide__slide img{vertical-align:bottom}.splide__spinner{animation:splide-loading 1s linear infinite;border:2px solid #999;border-left-color:transparent;border-radius:50%;contain:strict;display:inline-block;height:20px;inset:0;margin:auto;position:absolute;width:20px}.splide__sr{clip:rect(0 0 0 0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.splide__toggle.is-active .splide__toggle__play,.splide__toggle__pause{display:none}.splide__toggle.is-active .splide__toggle__pause{display:inline}.splide__track{overflow:hidden;position:relative;z-index:0}@keyframes splide-loading{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.splide__track--draggable{-webkit-touch-callout:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.splide__track--fade>.splide__list>.splide__slide{margin:0!important;opacity:0;z-index:0}.splide__track--fade>.splide__list>.splide__slide.is-active{opacity:1;z-index:1}.splide--rtl{direction:rtl}.splide__track--ttb>.splide__list{display:block}.splide__arrow{-ms-flex-align:center;align-items:center;background:#ccc;border:0;border-radius:50%;cursor:pointer;display:-ms-flexbox;display:flex;height:2em;-ms-flex-pack:center;justify-content:center;opacity:.7;padding:0;position:absolute;top:50%;transform:translateY(-50%);width:2em;z-index:1}.splide__arrow svg{fill:#000;height:1.2em;width:1.2em}.splide__arrow:hover:not(:disabled){opacity:.9}.splide__arrow:disabled{opacity:.3}.splide__arrow:focus-visible{outline:3px solid #0bf;outline-offset:3px}.splide__arrow--prev{left:1em}.splide__arrow--prev svg{transform:scaleX(-1)}.splide__arrow--next{right:1em}.splide.is-focus-in .splide__arrow:focus{outline:3px solid #0bf;outline-offset:3px}.splide__pagination{bottom:.5em;left:0;padding:0 1em;position:absolute;right:0;z-index:1}.splide__pagination__page{background:#ccc;border:0;border-radius:50%;display:inline-block;height:8px;margin:3px;opacity:.7;padding:0;position:relative;transition:transform .2s linear;width:8px}.splide__pagination__page.is-active{background:#fff;transform:scale(1.4);z-index:1}.splide__pagination__page:hover{cursor:pointer;opacity:.9}.splide__pagination__page:focus-visible{outline:3px solid #0bf;outline-offset:3px}.splide.is-focus-in .splide__pagination__page:focus{outline:3px solid #0bf;outline-offset:3px}.splide__progress__bar{background:#ccc;height:3px}.splide__slide{-webkit-tap-highlight-color:rgba(0,0,0,0)}.splide__slide:focus{outline:0}@supports (outline-offset:-3px){.splide__slide:focus-visible{outline:3px solid #0bf;outline-offset:-3px}}@media screen and (-ms-high-contrast:none){.splide__slide:focus-visible{border:3px solid #0bf}}@supports (outline-offset:-3px){.splide.is-focus-in .splide__slide:focus{outline:3px solid #0bf;outline-offset:-3px}}@media screen and (-ms-high-contrast:none){.splide.is-focus-in .splide__slide:focus{border:3px solid #0bf}.splide.is-focus-in .splide__track>.splide__list>.splide__slide:focus{border-color:#0bf}}.splide__toggle{cursor:pointer}.splide__toggle:focus-visible{outline:3px solid #0bf;outline-offset:3px}.splide.is-focus-in .splide__toggle:focus{outline:3px solid #0bf;outline-offset:3px}.splide__track--nav>.splide__list>.splide__slide{border:3px solid transparent;cursor:pointer}.splide__track--nav>.splide__list>.splide__slide.is-active{border:3px solid #000}.splide__arrows--rtl .splide__arrow--prev{left:auto;right:1em}.splide__arrows--rtl .splide__arrow--prev svg{transform:scaleX(1)}.splide__arrows--rtl .splide__arrow--next{left:1em;right:auto}.splide__arrows--rtl .splide__arrow--next svg{transform:scaleX(-1)}.splide__arrows--ttb .splide__arrow{left:50%;transform:translate(-50%)}.splide__arrows--ttb .splide__arrow--prev{top:1em}.splide__arrows--ttb .splide__arrow--prev svg{transform:rotate(-90deg)}.splide__arrows--ttb .splide__arrow--next{bottom:1em;top:auto}.splide__arrows--ttb .splide__arrow--next svg{transform:rotate(90deg)}.splide__pagination--ttb{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;inset:0 .5em 0 auto;padding:1em 0}:root{--paper: #F4ECD8;--ink: #1c1c1c;--subtle: #6e6a66;--divider: #e6e2dd;--page-padding: 32px;--scrollbar-inset: 16px;--left-pane-width: 416px;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%;min-height:100dvh}body{margin:0;font-family:Jost,sans-serif;background:var(--paper);color:var(--ink);overflow:hidden;-webkit-font-smoothing:antialiased}button,input,textarea{font-family:inherit;color:inherit}button{border:none;background:none;padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent}button:focus-visible{outline:1px solid var(--divider);outline-offset:2px}input:focus-visible,textarea:focus-visible{outline:none}input,textarea{border:none;outline:none;background:transparent}input::placeholder,textarea::placeholder{color:#9b9b9b}textarea{resize:none}p,h1,h2,h3{margin:0}.text-display-large{font-family:"Instrument Serif",serif;font-size:42px;line-height:1.15;font-weight:700;letter-spacing:-.3px;color:var(--ink)}.text-headline-medium{font-family:"Instrument Serif",serif;font-size:34px;line-height:1.2;font-weight:700;letter-spacing:-.2px;color:var(--ink)}.text-title-large{font-family:"Instrument Serif",serif;font-size:28px;line-height:1.25;font-weight:600;letter-spacing:-.2px;color:var(--ink)}.text-body-large,.text-body-medium{font-family:Jost,sans-serif;font-size:18px;line-height:1;color:var(--ink)}.text-body-small{font-family:Jost,sans-serif;font-size:16px;line-height:1.6;color:var(--subtle)}.text-body-small--bold{font-weight:700;color:var(--subtle)}.text-label-medium{font-family:Jost,sans-serif;font-size:15px;line-height:1.6;color:var(--ink)}.text-ingredient{font-family:Jost,sans-serif;font-size:17px;line-height:1.7;color:var(--ink)}.text-directions{font-family:Jost,sans-serif;font-size:18px;line-height:1.7;color:var(--ink)}.text-directions-large{font-family:Jost,sans-serif;font-size:24px;line-height:1.7;color:var(--ink)}.text-title-large,.text-headline-medium,.text-display-large{margin:0}.page{height:100vh;overflow-y:auto;container-type:inline-size;padding:calc(var(--page-padding) + env(safe-area-inset-top)) calc(var(--page-padding) + env(safe-area-inset-right)) calc(var(--page-padding) + env(safe-area-inset-bottom)) calc(var(--page-padding) + env(safe-area-inset-left))}.pane{padding:var(--page-padding)}.library{height:100vh;overflow:hidden}.library__pane,.library__detail{height:100vh;overflow-y:auto;padding:calc(var(--page-padding) + env(safe-area-inset-top)) calc(var(--page-padding) + var(--scrollbar-inset) + env(safe-area-inset-right)) calc(var(--page-padding) + env(safe-area-inset-bottom)) calc(var(--page-padding) + env(safe-area-inset-left))}.library__detail{padding-right:calc(var(--page-padding) + var(--scrollbar-inset) + env(safe-area-inset-right));container-type:inline-size}.library--wide{display:flex}.library--wide .library__pane{width:var(--left-pane-width);flex:0 0 auto}.library--wide .library__detail{flex:1}.library__header{display:flex;align-items:center;justify-content:space-between;gap:16px}.library__actions{display:flex;align-items:center;gap:12px}.search{overflow:hidden;max-height:0;opacity:0;transform:translateY(-6px);transition:all .2s ease;padding-top:0}.search--visible{max-height:80px;opacity:1;transform:translateY(0);padding-top:18px}.search__row{display:flex;align-items:center;gap:8px}.input-search{flex:1;font-size:18px;line-height:1;padding:6px 0;border-bottom:1px solid var(--divider)}.input-search:focus{border-bottom-color:var(--ink)}.input-title,.input-summary,.input-direction,.input-ingredient,.input-note,.input-search{width:100%}.library__list{margin-top:30px;padding-bottom:60px;display:flex;flex-direction:column;gap:24px}.library__list .library-item{opacity:0;transform:translateY(6px);animation:listRise .36s ease forwards}.library__list .library-item:nth-child(1){animation-delay:0ms}.library__list .library-item:nth-child(2){animation-delay:60ms}.library__list .library-item:nth-child(3){animation-delay:.12s}.library__list .library-item:nth-child(4){animation-delay:.18s}.library__list .library-item:nth-child(5){animation-delay:.24s}.library__list .library-item:nth-child(6){animation-delay:.3s}.library__list .library-item:nth-child(n+7){animation-delay:.36s}@keyframes listRise{to{opacity:1;transform:translateY(0)}}.library__status{margin-top:20px}.library--wide .library__list{gap:18px;padding-bottom:42px}.library-item{text-align:left;padding:8px 0}.library-item:hover .text-title-large{color:var(--ink)}.library--wide .library-item .text-title-large{color:var(--subtle)}.library--wide .library-item .text-title-large.is-selected{color:var(--ink)}.library-item .text-body-small{margin-top:8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.action-link{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:6px;transition:background-color .15s ease}.action-link__icon{display:inline-flex;color:var(--subtle)}.action-link__label{font-size:18px;line-height:1;color:var(--ink)}.action-link[data-hovered=true]{background:#0000000d}.action-link[data-hovered=true] .action-link__label{color:var(--subtle)}.action-link[data-pressed=true]{background:#00000014}.hover-label-action{display:inline-flex;align-items:center;padding:6px 10px;border-radius:6px;color:var(--subtle);transition:background-color .2s ease;position:relative}.hover-label-action.is-hovered{background:#0000000d}.hover-label-action--danger.is-hovered{background:#ba333324;color:#922727}.hover-label-action--danger.is-pressed{background:#ba333338;color:#7c2222}.hover-label-action.is-pressed{background:#00000014}.icon-tooltip:after{content:attr(data-tooltip);position:absolute;left:50%;top:calc(100% + 8px);transform:translate(-50%,4px);background:var(--ink);color:var(--paper);font-size:13px;padding:6px 10px;border-radius:6px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .15s ease,transform .15s ease;transition-delay:.4s;z-index:20}.icon-tooltip:before{content:"";position:absolute;left:50%;top:calc(100% + 2px);transform:translate(-50%,4px);border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid var(--ink);opacity:0;pointer-events:none;transition:opacity .15s ease,transform .15s ease;transition-delay:.4s;z-index:19}.icon-tooltip:hover:after,.icon-tooltip:hover:before,.icon-tooltip:focus-visible:after,.icon-tooltip:focus-visible:before{opacity:1;transform:translate(-50%)}.icon-button{display:inline-flex;align-items:center;justify-content:center;padding:6px;border-radius:6px;color:var(--subtle);transition:background-color .15s ease,color .15s ease}.icon-button.is-hovered{color:var(--ink);background:#0000000d}.icon-button.is-pressed{color:var(--ink);background:#00000014}.recipe-detail__back{margin-bottom:10px}.recipe-detail__back-button{padding-left:0}.recipe-detail__top-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.recipe-detail__actions--mobile{display:flex;gap:8px}.recipe-detail__title-row{display:flex;align-items:flex-start;gap:16px}.recipe-detail__title-row h1,.recipe-detail__title-row .inline-title{flex:1}.recipe-detail__actions{display:flex;gap:8px}.recipe-detail__summary{margin-top:8px;margin-bottom:28px}.meta-row{margin-top:28px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:32px;row-gap:26px}@media(max-width:900px){.meta-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@container (max-width: 900px){.meta-row{grid-template-columns:repeat(2,minmax(0,1fr))}}.meta-item{display:flex;align-items:flex-end;gap:8px}.meta-item__icon{color:var(--subtle);display:flex;align-items:center;margin-top:8px}.meta-item__text{display:flex;flex-direction:column;gap:2px}.serve-control{display:flex;align-items:center;gap:8px}.ingredients{margin-top:36px}.ingredients__grid{margin-top:12px}.ingredients__grid--two{display:flex;gap:100px}.ingredients__column{display:flex;flex-direction:column;gap:8px}.ingredient-row{display:flex;align-items:flex-start;gap:8px;padding-bottom:8px}.ingredient-row__right{flex:1;padding-top:5px;display:flex;flex-direction:column}.ingredient-note{font-size:14px;color:var(--subtle);margin-top:2px}.quantity-button{display:inline-flex;align-items:center;padding:4px 0;cursor:default}.quantity-button--interactive{cursor:pointer}.dotted-underline{position:relative;display:inline-block;padding-bottom:2px}.dotted-underline:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background-image:radial-gradient(var(--subtle) 1px,transparent 1px);background-size:6px 2px;background-repeat:repeat-x}.dotted-underline--off:after{display:none}.quantity-text{font-size:17px;line-height:1.7}.directions{margin-top:40px}.directions__header{display:flex;align-items:center;gap:12px}.directions__list{margin-top:12px;display:flex;flex-direction:column;gap:12px}.direction-row{display:flex;gap:12px}.direction-row__number{width:28px;font-size:18px;line-height:1.7;font-weight:700}.direction-row__content{flex:1;display:flex;flex-direction:column;gap:4px}.recipe-editor{display:flex;flex-direction:column}.recipe-editor__actions{display:flex;flex-wrap:wrap;gap:22px}.recipe-editor__error{margin-top:10px;color:#b00020}.recipe-editor__title{margin-top:24px;display:flex;flex-direction:column;gap:4px}.input-title{font-family:"Instrument Serif",serif;font-size:42px;line-height:1.15;font-weight:700;letter-spacing:-.3px}.input-summary{font-size:16px;line-height:1.6;color:var(--subtle)}.meta-editor{margin-top:32px;display:flex;flex-wrap:wrap;gap:32px}@media(max-width:900px){.meta-editor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));row-gap:10px}}.meta-editor__item{display:flex;align-items:center;gap:12px}.meta-editor__icon{color:var(--subtle);display:inline-flex}.meta-editor__text{display:flex;flex-direction:column;gap:2px}.input-meta{width:90px;font-size:18px}.ingredient-editor,.direction-editor{display:flex;align-items:flex-start;gap:8px}.ingredient-editor{padding-bottom:10px}.direction-editor{padding-bottom:12px}.is-dragging{background:#f7f5f1b3;border-left:1px solid rgba(31,31,31,.2)}.drag-handle{padding:16px 6px 0 0;color:#999}.ingredient-editor__quantity{width:114px;display:flex;gap:6px}.input-qty{width:56px;font-weight:600}.input-unit{flex:1}.ingredient-editor__name{flex:1;display:flex;flex-direction:column;gap:4px}.input-ingredient{font-size:17px;line-height:1.7}.input-note{font-size:16px;line-height:1.6;color:var(--subtle)}.direction-editor__number{width:28px;margin-top:10px;font-size:18px;line-height:1.7;font-weight:700}.direction-editor__fields{flex:1;display:flex;flex-direction:column;gap:4px}.input-direction{font-size:18px;line-height:1.7}.directions__add{display:flex;justify-content:center;margin-top:8px}.toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%);background:var(--ink);color:var(--paper);padding:10px 16px;border-radius:4px;font-size:15px;z-index:40}.detail-stagger .recipe-detail__back,.detail-stagger .recipe-detail__title-row,.detail-stagger .recipe-detail__summary,.detail-stagger .meta-row,.detail-stagger .ingredients,.detail-stagger .directions{opacity:0;transform:translateY(6px);animation:detailRise .36s ease forwards}.detail-stagger .recipe-detail__back{animation-delay:0ms}.detail-stagger .recipe-detail__title-row{animation-delay:90ms}.detail-stagger .recipe-detail__summary{animation-delay:135ms}.detail-stagger .meta-row{animation-delay:.18s}.detail-stagger .ingredients{animation-delay:225ms}.detail-stagger .directions{animation-delay:.27s}@keyframes detailRise{to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.detail-stagger .recipe-detail__back,.detail-stagger .recipe-detail__title-row,.detail-stagger .recipe-detail__summary,.detail-stagger .meta-row,.detail-stagger .ingredients,.detail-stagger .directions,.library__list .library-item{animation:none;opacity:1;transform:none}}.disable-stagger .detail-stagger .recipe-detail__back,.disable-stagger .detail-stagger .recipe-detail__title-row,.disable-stagger .detail-stagger .recipe-detail__summary,.disable-stagger .detail-stagger .meta-row,.disable-stagger .detail-stagger .ingredients,.disable-stagger .detail-stagger .directions,.disable-stagger .library__list .library-item{animation:none;opacity:1;transform:none}.conversion-overlay{position:fixed;inset:0;z-index:30;pointer-events:none}.conversion-arrow{position:absolute;width:0;height:0;border:0 solid transparent;filter:drop-shadow(0 2px 4px rgba(0,0,0,.06));z-index:1;opacity:0;transform:translateY(-6px);transition:opacity .18s ease,transform .18s ease;pointer-events:none}.conversion-arrow--bottom{border-left-width:8px;border-right-width:8px;border-bottom:10px solid var(--paper)}.conversion-arrow--top{border-left-width:8px;border-right-width:8px;border-top:10px solid var(--paper)}.conversion-arrow--left{border-top-width:8px;border-bottom-width:8px;border-left:10px solid var(--paper)}.conversion-arrow--right{border-top-width:8px;border-bottom-width:8px;border-right:10px solid var(--paper)}.conversion-bubble{position:absolute;padding:14px;background:var(--paper);box-shadow:0 6px 10px #0000000f;z-index:2;opacity:0;transform:translateY(-6px);transition:opacity .18s ease,transform .18s ease;will-change:opacity,transform;pointer-events:auto}.conversion-arrow.is-open,.conversion-bubble.is-open{opacity:1;transform:translateY(0)}.conversion-bubble__sections{margin-top:10px;display:flex;flex-direction:column;gap:8px}.conversion-bubble__section{display:flex;flex-direction:column;gap:6px}.guide-overlay{position:fixed;inset:0;background:var(--paper);z-index:50;overflow:hidden;opacity:0;transform:scale(.95);transition:opacity .22s ease-out,transform .22s ease-out}.guide-overlay.is-open{opacity:1;transform:scale(1)}.guide-overlay__content{position:relative;height:100%;display:grid;grid-template-rows:auto 1fr auto auto;padding-top:calc(80px + env(safe-area-inset-top))}.guide-overlay__back{position:absolute;top:calc(24px + env(safe-area-inset-top));left:calc(24px + env(safe-area-inset-left));z-index:10}.guide-back-button{display:inline-flex;align-items:center;gap:4px;padding:6px 12px 6px 6px;border-radius:6px;color:var(--subtle);font-size:16px;transition:background-color .15s ease,color .15s ease}.guide-back-button:hover{background:#0000000d;color:var(--ink)}.guide-nav{display:flex;justify-content:center;padding:16px}.guide-nav-button{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;color:var(--ink);background:transparent;transition:background-color .15s ease,opacity .15s ease}.guide-nav-button:hover:not(:disabled){background:#0000000d}.guide-nav-button:disabled{opacity:.2;cursor:default}.guide-step-container{flex:1;display:flex;align-items:center;justify-content:center;overflow:hidden}.guide-step{display:flex;align-items:center;justify-content:center}@keyframes step-enter-from-below{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes step-enter-from-above{0%{opacity:0;transform:translateY(-40px)}to{opacity:1;transform:translateY(0)}}.guide-step-container--down .guide-step{animation:step-enter-from-below .25s ease-out}.guide-step-container--up .guide-step{animation:step-enter-from-above .25s ease-out}.guide-step__inner{max-width:640px;text-align:center;padding:0 32px;display:flex;flex-direction:column;gap:12px}.guide-step__number{font-size:32px;font-weight:700;line-height:1.7}.guide-step__note{font-size:18px}.guide-progress{position:relative;left:auto;right:auto;bottom:auto;margin:16px 24px;margin-bottom:calc(48px + env(safe-area-inset-bottom));height:2px;background:#d5d2cd;border-radius:999px;overflow:hidden}.guide-progress__bar{height:100%;background:#1c1c1c;width:0;transition:width .26s ease}.confirm-overlay{position:fixed;inset:0;background:#1c1c1c3d;display:flex;align-items:center;justify-content:center;z-index:60}.confirm-dialog{width:min(420px,calc(100% - 48px));background:var(--paper);border-radius:12px;padding:20px 22px;box-shadow:0 12px 32px #00000029;display:flex;flex-direction:column;gap:12px}.confirm-dialog__actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}.confirm-button{border:none;background:none;padding:8px 14px;border-radius:8px;font-size:16px;font-family:Jost,sans-serif;cursor:pointer;transition:background-color .15s ease,color .15s ease}.confirm-button--ghost{color:var(--subtle)}.confirm-button--ghost:hover{color:var(--ink);background:#0000000f}.confirm-button--danger{color:#7c2222;background:#ba33331f}.confirm-button--danger:hover{color:#6a1e1e;background:#ba333333}.confirm-button--primary{color:#1a4d1a;background:#228b221f}.confirm-button--primary:hover{color:#164016;background:#228b2233}.confirm-button--primary:disabled{color:var(--subtle);background:var(--divider);cursor:not-allowed}.import-dialog{width:min(520px,calc(100% - 48px))}.import-dialog__textarea{width:100%;min-height:200px;padding:12px;font-family:SF Mono,Menlo,Monaco,monospace;font-size:13px;line-height:1.5;border:1px solid var(--divider);border-radius:8px;background:#fff;resize:vertical}.import-dialog__textarea:focus{border-color:var(--subtle)}.page,.library__pane,.library__detail{scrollbar-width:thin;scrollbar-color:transparent transparent}.page::-webkit-scrollbar,.library__pane::-webkit-scrollbar,.library__detail::-webkit-scrollbar{width:4px}.page::-webkit-scrollbar-thumb,.library__pane::-webkit-scrollbar-thumb,.library__detail::-webkit-scrollbar-thumb{background:transparent;border-radius:0}.page::-webkit-scrollbar-track,.library__pane::-webkit-scrollbar-track,.library__detail::-webkit-scrollbar-track{background:transparent}.page:hover,.page:focus-within,.library__pane:hover,.library__pane:focus-within,.library__detail:hover,.library__detail:focus-within{scrollbar-color:rgba(28,28,28,.35) transparent}.page:hover::-webkit-scrollbar-thumb,.page:focus-within::-webkit-scrollbar-thumb,.library__pane:hover::-webkit-scrollbar-thumb,.library__pane:focus-within::-webkit-scrollbar-thumb,.library__detail:hover::-webkit-scrollbar-thumb,.library__detail:focus-within::-webkit-scrollbar-thumb{background:#1c1c1c59;border-radius:0}.recipe-detail{transition:opacity .2s ease}.recipe-detail .ingredients,.recipe-detail .directions,.recipe-detail .meta-row{transition:opacity .15s ease}.inline-title{font-family:"Instrument Serif",serif;font-size:42px;line-height:1.15;font-weight:700;letter-spacing:-.3px;width:100%;padding:0;margin:0 0 -1px;border:none;border-bottom:1px solid transparent;transition:border-color .15s ease}.inline-title:focus{border-bottom-color:var(--divider)}.inline-summary{width:100%;margin-top:8px;margin-bottom:-1px;padding:0;font-size:16px;line-height:1.6;color:var(--subtle);border:none;border-bottom:1px solid transparent;transition:border-color .15s ease;overflow:hidden}.inline-summary:focus{border-bottom-color:var(--divider)}.meta-row--editing{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:900px){.meta-row--editing{grid-template-columns:repeat(2,minmax(0,1fr))}}@container (max-width: 900px){.meta-row--editing{grid-template-columns:repeat(2,minmax(0,1fr))}}.meta-item--editable{cursor:text}.inline-meta{width:80px;font-size:18px;line-height:1;border-bottom:1px solid transparent;transition:border-color .15s ease}.inline-meta:focus{border-bottom-color:var(--divider)}.ingredients__list--editing{margin-top:12px;display:flex;flex-direction:column;gap:4px}.ingredient-row--editing{display:flex;align-items:center;gap:8px;padding:8px 0;border-radius:4px}.ingredient-row--editing:hover .row-drag-handle,.ingredient-row--editing:hover .row-remove-button{opacity:1}.ingredient-row--editing.is-dragging{background:#f7f5f1e6;box-shadow:0 2px 8px #00000014}.row-drag-handle{padding:4px;color:var(--subtle);opacity:0;transition:opacity .15s ease;cursor:grab;touch-action:none}.row-drag-handle:active{cursor:grabbing}.row-remove-button{padding:4px;color:var(--subtle);opacity:0;transition:opacity .15s ease,color .15s ease}.row-remove-button:hover{color:var(--ink)}.ingredient-row__inputs{flex:1;display:flex;align-items:center;gap:8px}.inline-ingredient-qty{width:48px;font-size:17px;font-weight:600;line-height:1.7;border-bottom:1px solid transparent;transition:border-color .15s ease}.inline-ingredient-qty:focus{border-bottom-color:var(--divider)}.inline-ingredient-unit{width:48px;font-size:17px;line-height:1.7;border-bottom:1px solid transparent;transition:border-color .15s ease}.inline-ingredient-unit:focus{border-bottom-color:var(--divider)}.inline-ingredient-name-group{flex:1;display:flex;flex-direction:column}.inline-ingredient-name{width:100%;font-size:17px;line-height:1.7;border-bottom:1px solid transparent;transition:border-color .15s ease}.inline-ingredient-name:focus{border-bottom-color:var(--divider)}.inline-ingredient-note{width:100%;font-size:14px;line-height:1.5;color:var(--subtle);border-bottom:1px solid transparent;transition:border-color .15s ease}.inline-ingredient-note:focus{border-bottom-color:var(--divider)}.ingredients__add{margin-top:8px}.directions__list--editing{display:flex;flex-direction:column;gap:8px}.direction-row--editing{display:flex;align-items:flex-start;gap:8px;padding:8px 0;border-radius:4px}.direction-row--editing:hover .row-drag-handle,.direction-row--editing:hover .row-remove-button{opacity:1}.direction-row--editing.is-dragging{background:#f7f5f1e6;box-shadow:0 2px 8px #00000014}.direction-row--editing .row-drag-handle,.direction-row--editing .row-remove-button{margin-top:4px}.direction-row__content--editing{flex:1;display:flex;flex-direction:column;gap:4px}.inline-direction{width:100%;font-size:18px;line-height:1.7;overflow:hidden;border-bottom:1px solid transparent;transition:border-color .15s ease}.inline-direction:focus{border-bottom-color:var(--divider)}.inline-direction-note{width:100%;font-size:16px;line-height:1.6;overflow:hidden;color:var(--subtle);border-bottom:1px solid transparent;transition:border-color .15s ease}.inline-direction-note:focus{border-bottom-color:var(--divider)}.recipe-view__error{margin-top:10px;color:#b00020}.ingredients__list--editing,.directions__list--editing,.ingredients__add,.directions__add{animation:modeEnter .3s ease}.ingredient-row--editing,.direction-row--editing{animation:rowEnter .3s ease}.meta-row--editing .meta-item--editable{animation:modeEnter .25s ease}@keyframes modeEnter{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes rowEnter{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.ingredients__list--editing,.directions__list--editing,.ingredients__add,.directions__add,.ingredient-row--editing,.direction-row--editing,.meta-row--editing .meta-item--editable{animation:none}}@media(max-width:600px){.row-drag-handle,.row-remove-button{opacity:.6}.ingredient-row__inputs{flex-wrap:wrap}.inline-ingredient-name-group{flex-basis:100%;order:1}.inline-ingredient-qty{order:2}.inline-ingredient-unit{order:3}}@keyframes slide-from-right{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes slide-to-left{0%{transform:translate(0)}to{transform:translate(-30%)}}@keyframes slide-from-left{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes slide-to-right{0%{transform:translate(0)}to{transform:translate(30%)}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}html[data-nav-direction=forward]::view-transition-old(root){animation:slide-to-left .28s ease-out,fade-out .28s ease-out}html[data-nav-direction=forward]::view-transition-new(root){animation:slide-from-right .28s ease-out}html[data-nav-direction=back]::view-transition-old(root){animation:slide-to-right .28s ease-out,fade-out .28s ease-out}html[data-nav-direction=back]::view-transition-new(root){animation:slide-from-left .28s ease-out}::view-transition-old(root),::view-transition-new(root){animation-fill-mode:forwards}::view-transition-new(root){z-index:1}::view-transition-old(root){z-index:0}@media(prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}.guide-overlay{transition:none;opacity:1;transform:none}.guide-step-container--down .guide-step,.guide-step-container--up .guide-step{animation:none}}
