:root{color-scheme:light;--bg: #faf8f5;--ink: #1c1917;--muted: #78716c;--line: #e7e5e4;--control-line: #8c857f;--card: #ffffff;--accent: #b45309;--focus: #1c1917;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%;background:var(--bg);color:var(--ink)}body{-webkit-font-smoothing:antialiased;overflow-x:hidden}a{color:inherit}button,input{font:inherit}:where(a,button,input,[tabindex]):focus-visible{outline:3px solid var(--focus);outline-offset:3px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.page{position:relative;width:min(752px,100%);margin:0 auto;padding:max(20px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(64px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.page.empty{min-height:100dvh;display:flex;flex-direction:column;justify-content:center;padding-bottom:max(18vh,env(safe-area-inset-bottom))}.masthead{text-align:center;margin-bottom:20px}.masthead h1{margin:0;font-size:inherit;font-weight:inherit}.wordmark{font-size:1.7rem;font-weight:650;letter-spacing:-.03em;text-decoration:none}.wordmark span{font-weight:450;color:var(--muted)}.find{display:flex;align-items:center;gap:8px;background:var(--card);border:1px solid var(--control-line);border-radius:28px;padding:6px 6px 6px 18px;box-shadow:0 1px 2px #1c19170a,0 8px 24px #1c19170a}.find-field{position:relative;flex:1;min-width:0;height:2.75rem}.find input{display:block;width:100%;height:100%;border:0;outline:0;background:transparent;font:inherit;font-size:1rem;line-height:2.75rem;min-width:0;padding:0}.rolodex{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;color:#78716c;font-size:1rem}.rolodex-track{height:100%;animation:rolodex 6s cubic-bezier(.4,0,.2,1) infinite}.rolodex-track span{display:block;height:100%;line-height:2.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@keyframes rolodex{0%,36%{transform:translateY(0)}50%,86%{transform:translateY(-100%)}to{transform:translateY(-200%)}}@media(prefers-reduced-motion:reduce){.rolodex-track{animation:none}}.find button{border:0;background:var(--ink);color:#fff;border-radius:22px;padding:10px 16px;font:inherit;font-size:.92rem;cursor:pointer}.find:focus-within{border-color:var(--focus);box-shadow:0 0 0 1px var(--focus)}.hint,.error,.notice,.refreshing{text-align:center;color:var(--muted);font-size:.95rem;line-height:1.45;margin:18px 8px 0}@media(max-width:480px){.hint{margin-left:0;margin-right:0}}.error a{color:var(--accent);overflow-wrap:anywhere}.error p{margin:0}.notice,.refreshing{margin-top:16px}.refreshing{font-style:italic}.text-button{min-height:44px;border:0;background:transparent;color:var(--accent);padding:8px;text-decoration:underline;text-underline-offset:.18em;cursor:pointer}.skeleton{margin-top:28px;background:var(--card);border:1px solid var(--line);border-radius:16px;min-height:320px;display:grid;place-items:center;color:var(--muted);padding:32px 20px 28px}.search-scene{display:flex;flex-direction:column;align-items:center;width:min(100%,22rem)}.search-scene-stage{position:relative;width:196px;height:128px;margin-bottom:22px}.search-scene-cards{position:absolute;top:0;right:0;bottom:0;left:0}.search-scene-card{position:absolute;display:flex;flex-direction:column;gap:8px;padding:14px 12px;background:var(--bg);border:1px solid #d6d3d1;border-radius:10px;box-shadow:0 6px 16px #1c191714}.search-scene-card>span:not(.search-scene-scan){display:block;height:6px;border-radius:99px;background:#d6d3d1}.search-scene-card>span.is-title{width:72%;height:8px;background:#a8a29e}.search-scene-card>span.is-short{width:48%}.search-scene-card.is-left,.search-scene-card.is-right{width:88px;height:104px;top:16px}.search-scene-card.is-left{left:0;transform:rotate(-8deg)}.search-scene-card.is-right{right:0;transform:rotate(8deg)}.search-scene-card.is-front{width:100px;height:114px;left:50%;top:6px;z-index:2;overflow:hidden;background:#fff;transform:translate(-50%)}.search-scene-scan{position:absolute;left:8px;right:8px;top:12px;height:18px;border-radius:8px;background:linear-gradient(180deg,transparent,rgba(180,83,9,.28),transparent);opacity:0;pointer-events:none}.search-scene-lens{position:absolute;top:0;left:0;width:44px;height:44px;color:var(--accent);z-index:3;filter:drop-shadow(0 1px 2px rgba(28,25,23,.18))}.search-scene-lens circle,.search-scene-lens path{fill:#faf8f58c;stroke:currentColor;stroke-width:2.75;stroke-linecap:round}.search-scene-label{margin:0;text-align:center;color:var(--ink);font-size:.98rem;line-height:1.4}.search-scene-steps{list-style:none;margin:14px 0 0;padding:0;width:min(100%,18rem);font-size:.88rem;line-height:1.35}.search-scene-steps li{position:relative;padding:5px 0 5px 1.35rem;color:#a8a29e}.search-scene-steps li:before{content:"";position:absolute;left:0;top:.7em;width:.5rem;height:.5rem;border-radius:50%;border:1.5px solid #d6d3d1;background:#fff}.skeleton.is-search .search-scene-steps li:nth-child(1){animation:search-step-1 6s ease-in-out infinite}.skeleton.is-search .search-scene-steps li:nth-child(2){animation:search-step-2 6s ease-in-out infinite}.skeleton.is-search .search-scene-steps li:nth-child(3){animation:search-step-3 6s ease-in-out infinite}.skeleton.is-search .search-scene-lens{animation:search-lens 6s ease-in-out infinite}.skeleton.is-search .search-scene-card.is-left{animation:search-card-left 6s ease-in-out infinite}.skeleton.is-search .search-scene-card.is-right{animation:search-card-right 6s ease-in-out infinite}.skeleton.is-search .search-scene-card.is-front{animation:search-card-front 6s ease-in-out infinite}.skeleton.is-search .search-scene-scan,.skeleton.is-load .search-scene-scan{animation:search-scan 6s ease-in-out infinite}.skeleton.is-load .search-scene-scan{animation-duration:2.4s}.skeleton.is-search .search-scene-steps li:nth-child(1):before{animation:search-step-dot-1 6s ease-in-out infinite}.skeleton.is-search .search-scene-steps li:nth-child(2):before{animation:search-step-dot-2 6s ease-in-out infinite}.skeleton.is-search .search-scene-steps li:nth-child(3):before{animation:search-step-dot-3 6s ease-in-out infinite}@keyframes search-lens{0%,8%{opacity:1;transform:translate(4px,36px)}32%{opacity:1;transform:translate(148px,22px)}42%,to{opacity:0;transform:translate(148px,22px)}}@keyframes search-card-left{0%,40%{transform:rotate(-8deg);opacity:1}55%,86%{transform:rotate(-12deg) translate(-6px,4px);opacity:.65}to{transform:rotate(-8deg);opacity:1}}@keyframes search-card-right{0%,40%{transform:rotate(8deg);opacity:1}55%,86%{transform:rotate(12deg) translate(6px,4px);opacity:.65}to{transform:rotate(8deg);opacity:1}}@keyframes search-card-front{0%,40%{transform:translate(-50%) scale(1)}52%,86%{transform:translate(-50%) scale(1.06)}to{transform:translate(-50%) scale(1)}}@keyframes search-scan{0%,48%{opacity:0;top:12px}56%{opacity:1;top:16px}84%{opacity:1;top:80px}92%,to{opacity:0;top:88px}}@keyframes search-step-1{0%,30%{color:var(--ink)}38%,to{color:#a8a29e}}@keyframes search-step-2{0%,30%{color:#a8a29e}33%,48%{color:var(--ink)}56%,to{color:#a8a29e}}@keyframes search-step-3{0%,48%{color:#a8a29e}52%,88%{color:var(--ink)}94%,to{color:#a8a29e}}@keyframes search-step-dot-1{0%,30%{border-color:var(--accent);background:var(--accent);box-shadow:0 0 0 3px #b4530929}38%,to{border-color:#d6d3d1;background:#fff;box-shadow:none}}@keyframes search-step-dot-2{0%,30%{border-color:#d6d3d1;background:#fff;box-shadow:none}33%,48%{border-color:var(--accent);background:var(--accent);box-shadow:0 0 0 3px #b4530929}56%,to{border-color:#d6d3d1;background:#fff;box-shadow:none}}@keyframes search-step-dot-3{0%,48%{border-color:#d6d3d1;background:#fff;box-shadow:none}52%,88%{border-color:var(--accent);background:var(--accent);box-shadow:0 0 0 3px #b4530929}94%,to{border-color:#d6d3d1;background:#fff;box-shadow:none}}@media(prefers-reduced-motion:reduce){.skeleton.is-search .search-scene-lens,.skeleton.is-search .search-scene-card.is-left,.skeleton.is-search .search-scene-card.is-right,.skeleton.is-search .search-scene-card.is-front,.skeleton.is-search .search-scene-scan,.skeleton.is-load .search-scene-scan,.skeleton.is-search .search-scene-steps li,.skeleton.is-search .search-scene-steps li:before{animation:none}.skeleton.is-search .search-scene-steps li{color:var(--ink)}.skeleton.is-search .search-scene-steps li:before{border-color:var(--accent);background:var(--accent)}.skeleton.is-search .search-scene-lens{opacity:1;transform:translate(76px,28px)}.skeleton.is-search .search-scene-scan,.skeleton.is-load .search-scene-scan{opacity:.85;top:42px}}.sheet{position:relative;margin-top:28px;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:28px 24px 32px}.sheet-card-tools{position:absolute;top:6px;right:6px;display:flex;align-items:center;z-index:1}.icon-button{display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:0;background:transparent;color:var(--ink);cursor:pointer}.icon-button svg{display:block;width:26px;height:26px}.icon-button:hover{color:var(--accent)}.sheet-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;margin:-12px -8px 12px;padding-right:88px}.units{display:flex;align-items:center;gap:8px;min-width:0}.units-label{color:var(--muted);font-size:.92rem}.units-toggle{display:flex;border:1px solid var(--control-line);border-radius:22px;overflow:hidden;background:var(--bg)}.units-option{position:relative;display:flex;align-items:center;justify-content:center;min-height:44px;padding:0 14px;cursor:pointer;color:var(--ink);font-size:.92rem}.units-option input{position:absolute;top:0;right:0;bottom:0;left:0;margin:0;opacity:0;cursor:pointer}.units-option:has(input:checked){background:var(--ink);color:#fff}.units-option:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:3px;z-index:1}.units-option input:focus-visible{outline:none}.sheet-photo{margin:4px -24px 18px}.sheet-photo-open{position:relative;display:block;width:100%;height:168px;margin:0;padding:0;border:0;overflow:hidden;background:#1c1917;cursor:zoom-in}.sheet-photo-open img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.sheet-photo-credit{position:absolute;right:8px;bottom:8px;max-width:calc(100% - 16px);padding:4px 8px;border-radius:999px;background:#1c1917b8;color:#fff;font-size:.75rem;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sheet-photo-open:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.photo-dialog{width:min(960px,calc(100vw - 32px));max-height:calc(100vh - 32px);margin:auto;padding:12px;border:0;border-radius:16px;background:var(--card);color:var(--ink)}.photo-dialog::backdrop{background:#1c1917d1}.photo-dialog-frame img{display:block;width:100%;max-height:min(78vh,820px);object-fit:contain;background:#1c1917;border-radius:10px}.photo-dialog-credit{margin:10px 0 0;color:var(--muted);font-size:.92rem}.photo-dialog-credit a{color:var(--accent)}.photo-dialog-close{min-height:44px;margin-top:8px;border:0;background:transparent;color:var(--accent);padding:8px 0;text-decoration:underline;text-underline-offset:.18em;cursor:pointer}@media(max-width:520px){.sheet-photo{margin-right:-16px;margin-left:-16px}.sheet-photo-open{height:128px}}.sheet-title{margin:0 0 8px;font-size:1.65rem;line-height:1.2;letter-spacing:-.03em;overflow-wrap:anywhere}.sheet-closest{margin:-2px 0 10px;color:var(--muted);font-size:.92rem}.sheet-title:focus,.sheet-title:focus-visible{outline:none}.sheet-meta,.sheet-times{display:flex;flex-wrap:wrap;gap:8px 16px;margin:0 0 6px;color:var(--muted);font-size:.92rem}.others-menu{margin:10px 0 2px;min-width:0;animation:others-menu-in .42s cubic-bezier(.2,.8,.2,1)}.others-menu.is-leaving{animation:others-menu-out .28s ease forwards}.others-menu-face{display:grid}.others-menu-face>*{grid-area:1 / 1}.others-face{opacity:0;transition:opacity .38s ease;pointer-events:none}.others-face.is-shown{opacity:1;pointer-events:auto}.others-face-pending{display:flex;align-items:center;min-height:44px;padding:8px 14px 14px;border:1px solid var(--control-line);border-radius:12px;background:var(--bg);position:relative}.others-pending-bar{position:absolute;left:14px;right:14px;bottom:8px;height:2px;overflow:hidden;border-radius:999px;background:var(--control-line)}.others-pending-bar:before{content:"";display:block;height:100%;width:38%;background:var(--ink);animation:others-pending 1.25s ease-in-out infinite}@keyframes others-menu-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}@keyframes others-menu-out{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(-4px)}}@keyframes others-pending{0%{transform:translate(-130%)}to{transform:translate(280%)}}@media(prefers-reduced-motion:reduce){.others-menu,.others-menu.is-leaving,.others-menu-list,.others-face,.others-menu-count,.others-pending-bar:before{animation:none;transition:none}.others-pending-bar:before{width:100%;opacity:.4;transform:none}}.others-menu-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:44px;padding:8px 14px;border:1px solid var(--control-line);border-radius:12px;background:var(--bg);color:inherit;font:inherit;cursor:pointer}.others-menu-label{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:650}.others-menu-count{margin-left:auto;margin-right:10px;color:var(--muted);font-size:.88rem;font-variant-numeric:tabular-nums;animation:others-count-in .4s ease}@keyframes others-count-in{0%{opacity:0}to{opacity:1}}.others-menu-toggle:after{content:"";flex:0 0 auto;width:.45em;height:.45em;margin-top:-.2em;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg)}.others-menu.is-open .others-menu-toggle{border-bottom-left-radius:0;border-bottom-right-radius:0}.others-menu.is-open .others-menu-toggle:after{margin-top:.2em;transform:rotate(-135deg)}.others-menu-list{list-style:none;margin:0;padding:0;border:1px solid var(--control-line);border-top:0;border-radius:0 0 12px 12px;background:var(--card);overflow:hidden;animation:others-count-in .28s ease}.others-menu-option{display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:100%;min-height:44px;padding:12px 14px;border:0;border-top:1px solid var(--line);background:none;font:inherit;color:inherit;text-align:left;cursor:pointer}.others-menu-option:first-child,.others-menu-list>li:first-child .others-menu-option{border-top:0}.others-menu-option:hover,.others-menu-option:focus-visible{background:var(--bg)}.others-menu-option:disabled{cursor:wait;opacity:.6}.others-menu-title{font-weight:650;color:var(--accent);overflow-wrap:anywhere}.others-menu-description{color:var(--ink);font-size:.92rem;line-height:1.4;overflow-wrap:anywhere}.others-menu-meta{color:var(--muted);font-size:.82rem;line-height:1.4;overflow-wrap:anywhere}.sheet-meta>*,.sheet-times>*,.source-link{min-width:0;overflow-wrap:anywhere}.sheet-meta a{color:var(--accent)}.print-source{display:none}.sheet h3{margin:28px 0 12px;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:650}.servings{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:20px;min-width:0}.servings-label,.servings-original,.servings-note{color:var(--muted);font-size:.92rem}.servings-original,.servings-note{overflow-wrap:anywhere}.servings-note{flex-basis:100%;padding-left:0}.servings-value{min-width:1.5rem;text-align:center;font-weight:650}.stepper{width:44px;height:44px;border-radius:50%;border:1px solid var(--control-line);background:var(--bg);font-size:1.2rem;cursor:pointer}.stepper:disabled{cursor:not-allowed;opacity:.45}.ingredients{list-style:none;margin:0;padding:0}.section-hint{margin:-6px 0 8px;color:var(--muted);font-size:.9rem}.ingredient{display:grid;grid-template-columns:1.25rem minmax(0,1fr);align-items:start;gap:10px;width:100%;text-align:left;font-size:1.05rem;padding:8px 0;cursor:pointer;overflow-wrap:anywhere}.ingredient input{width:1.15rem;height:1.15rem;margin:.16rem 0 0;accent-color:var(--accent);cursor:pointer}.ingredient.done>span{text-decoration:line-through;color:var(--muted)}.group{margin:22px 0 8px;font-size:.86rem;font-weight:650;color:var(--accent)}.section-hint+.group,h3+.group{margin-top:8px}.steps,.step-choice-list{margin:0;padding-left:2rem}.steps li,.step-choice-list li{margin:0 0 16px;padding-left:.25rem;font-size:1.15rem;line-height:1.45;overflow-wrap:anywhere}.steps li::marker,.step-choice-list li::marker{color:var(--muted);font-size:.95rem}.step-choice-list{list-style-type:upper-alpha}.step-line{display:grid;grid-template-columns:1.25rem minmax(0,1fr);align-items:start;gap:10px;width:100%;text-align:left;cursor:pointer}.step-line input{width:1.15rem;height:1.15rem;margin:.2rem 0 0;accent-color:var(--accent);cursor:pointer}.step-line.done>span{text-decoration:line-through;color:var(--muted)}.step-cue{display:block;margin-top:4px;color:var(--muted);font-size:.92rem;font-weight:650;text-decoration:none}.step-line.done .step-cue{color:var(--muted)}.step-optional{margin:0 0 16px;padding:10px 0 10px 12px;border-left:2px solid var(--line)}.step-optional-label,.step-choice-lead,.step-choice-label{margin:0 0 6px;color:var(--muted);font-size:.86rem;font-weight:650}.step-choice{margin:0 0 18px}.step-choice-lead{margin-bottom:10px}.step-choice-label{color:var(--accent)}.site-footer{display:flex;justify-content:center;gap:18px;margin-top:36px;color:var(--muted);font-size:.82rem}.site-footer a{min-height:24px;color:var(--accent);text-underline-offset:.18em}.page.empty .site-footer{position:absolute;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));left:max(16px,env(safe-area-inset-left));margin-top:0}.crash{min-height:100dvh;display:grid;place-items:center;padding:max(24px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));text-align:center}.crash>div{width:min(32rem,100%)}.crash button{min-height:44px;border:0;border-radius:22px;background:var(--ink);color:#fff;padding:10px 18px;cursor:pointer}@media print{.masthead,.find,.hint,.error,.notice,.refreshing,.others-menu,.site-footer,.sheet-actions,.sheet-card-tools,.photo-dialog,.sheet-photo-credit,.section-hint,.stepper,.servings-note,.ingredient input,.step-line input{display:none}.page,.sheet{width:100%;margin:0;padding:0;border:0;background:#fff;color:#000}.sheet-title{overflow-wrap:break-word}.print-source{display:block;color:#000;font-size:.85rem;overflow-wrap:anywhere}.ingredient,.step-line{display:block}.ingredient.done>span,.step-line.done>span{color:#000;text-decoration:none}.step-cue{color:#000}}@media(max-width:520px){.find button{padding-inline:14px}.sheet{padding:22px 16px 28px}.sheet-title{font-size:1.4rem}.sheet-actions{margin-top:-8px}}
