@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid}}}@layer theme{:root,:host{--font-sans:"Noto Sans KR Variable", "Apple SD Gothic Neo", sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--font-weight-semibold:600;--font-weight-bold:700;--leading-tight:1.25;--default-font-family:"Noto Sans KR Variable", "Apple SD Gothic Neo", sans-serif;--default-mono-font-family:var(--font-mono);--color-cream:#fffaf3;--color-cocoa:#493528;--color-muted:#756657;--color-peach:#ed986f;--color-peach-light:#fceddf;--color-orange-dark:#9c512f;--color-line:#e9dfd2;--font-display:"Jua", "Noto Sans KR Variable", sans-serif;--font-hand:"Gaegu", "Jua", cursive}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.mx-1\.5{margin-inline:calc(var(--spacing) * 1.5)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-2\.5{margin-top:calc(var(--spacing) * 2.5)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.-ml-3{margin-left:calc(var(--spacing) * -3)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.table{display:table}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-24{width:calc(var(--spacing) * 24);height:calc(var(--spacing) * 24)}.size-44{width:calc(var(--spacing) * 44);height:calc(var(--spacing) * 44)}.size-\[18px\]{width:18px;height:18px}.size-\[76px\]{width:76px;height:76px}.min-h-\[80svh\]{min-height:80svh}.w-full{width:100%}.min-w-0{min-width:0}.flex-1{flex:1}.shrink-0{flex-shrink:0}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-7>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 7) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 7) * calc(1 - var(--tw-space-y-reverse)))}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.bg-transparent{background-color:#0000}.fill-peach{fill:#ed986f}.stroke-none{stroke:none}.stroke-\[2\.5\]{stroke-width:2.5px}.object-contain{object-fit:contain}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-7{padding-inline:calc(var(--spacing) * 7)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-16{padding-block:calc(var(--spacing) * 16)}.text-center{text-align:center}.font-display{font-family:Jua,Noto Sans KR Variable,sans-serif}.font-hand{font-family:Gaegu,Jua,cursive}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-\[16px\]{font-size:16px}.text-\[17px\]{font-size:17px}.text-\[19px\]{font-size:19px}.text-\[35px\]{font-size:35px}.text-\[46px\]{font-size:46px}.leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.leading-7{--tw-leading:calc(var(--spacing) * 7);line-height:calc(var(--spacing) * 7)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[-0\.04em\]{--tw-tracking:-.04em;letter-spacing:-.04em}.tracking-\[-0\.045em\]{--tw-tracking:-.045em;letter-spacing:-.045em}.text-cocoa{color:#493528}.text-muted{color:#756657}.text-orange-dark{color:#9c512f}.uppercase{text-transform:uppercase}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}@media (hover:hover){.group-hover\:rotate-\[-3deg\]:is(:where(.group):hover *){rotate:-3deg}}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.public-links{color:var(--color-muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 22px;margin-top:24px;font-size:12px;display:flex}.public-links a{text-underline-offset:4px;align-items:center;min-height:44px;text-decoration:underline;display:inline-flex}.recipe-guide{padding-bottom:max(32px, env(safe-area-inset-bottom))}.guide-breadcrumb{color:var(--color-muted);flex-wrap:wrap;gap:8px;margin:12px 0 28px;font-size:12px;display:flex}.guide-breadcrumb a{text-underline-offset:3px;text-decoration:underline}.guide-hero{text-align:center}.guide-eyebrow{color:var(--color-orange-dark);margin:20px 0 10px;font-size:12px}.guide-hero h1,.guide-title{font:34px/1.3 var(--font-display);word-break:keep-all;overflow-wrap:anywhere}.guide-title{margin-top:22px}.guide-description{color:var(--color-muted);word-break:keep-all;overflow-wrap:anywhere;margin:12px 0 0;font-size:14px;line-height:1.9}.guide-food{object-fit:contain;width:240px;height:240px;margin:10px auto}.guide-facts{border-block:1px solid var(--color-line);grid-template-columns:repeat(3,1fr);padding:18px 0;display:grid}.guide-facts dt{color:var(--color-muted);font-size:12px}.guide-facts dd{margin-top:6px;font-size:17px;font-weight:600}.guide-facts>div+div{border-left:1px solid var(--color-line)}.guide-actions{gap:10px;margin-top:22px;display:grid}.guide-section{margin-top:36px;scroll-margin-top:24px}.guide-section>h2,.guide-tip>h2{word-break:keep-all;margin-bottom:18px;font-size:19px;font-weight:700}.guide-section h2>span{color:var(--color-muted);margin-left:8px;font-size:12px;font-weight:400;display:inline-block}.guide-ingredients{border:1px solid var(--color-line);background:#fffdf8;border-radius:18px;padding:6px 18px}.guide-ingredients li{justify-content:space-between;gap:20px;padding:12px 0;font-size:14px;display:flex}.guide-ingredients li+li{border-top:1px dashed var(--color-line)}.guide-ingredients strong{color:var(--color-orange-dark);font-weight:500}.guide-note{color:var(--color-muted);margin-top:12px;font-size:12px;line-height:1.8}.guide-steps{gap:26px;display:grid}.guide-steps li{align-items:flex-start;gap:14px;scroll-margin-top:24px;display:flex}.guide-steps h3{margin-bottom:7px;font-size:15px;font-weight:600}.guide-steps p,.guide-section>p,.guide-tip p{color:var(--color-muted);overflow-wrap:anywhere;font-size:14px;line-height:2}.guide-section>p+p{margin-top:12px}.guide-tip{background:var(--color-peach-light);border-radius:18px;margin-top:30px;padding:22px}.guide-tip>h2{color:var(--color-orange-dark);margin-bottom:8px}.guide-source{color:var(--color-muted);margin-top:28px;font-size:12px;line-height:1.9}.guide-source p+p{margin-top:8px}.guide-source a{text-underline-offset:3px;overflow-wrap:anywhere;text-decoration:underline}.guide-related{border-top:1px solid var(--color-line)}.guide-related a{border-bottom:1px solid var(--color-line);justify-content:space-between;align-items:center;gap:16px;min-height:52px;padding:10px 0;font-size:14px;display:flex}.guide-related a:hover{color:var(--color-orange-dark)}.guide-related span{color:var(--color-muted);flex-shrink:0;font-size:12px}.directory-categories{flex-wrap:wrap;gap:10px;margin-top:24px;display:flex}.directory-categories a{border:1px solid var(--color-line);border-radius:24px;align-items:center;min-height:44px;padding:8px 16px;font-size:13px;display:inline-flex}.about-howto{gap:20px;padding-left:22px;list-style:decimal;display:grid}.about-howto strong{font-size:15px}.about-howto p,.about-faq dd{color:var(--color-muted);margin-top:8px;font-size:14px;line-height:1.9}.about-faq{gap:24px;display:grid}.about-faq dt{font-size:15px;font-weight:600}.about-guide>.primary-button{margin-top:32px}.recipe-report-trigger{min-height:44px;color:var(--color-muted);text-underline-offset:4px;align-items:center;gap:7px;margin:8px 0 12px;font-size:13px;text-decoration:underline;display:flex}.recipe-report-trigger:hover{color:var(--color-cocoa)}.recipe-steps>.recipe-report-trigger{margin:24px 0 0 auto}.recipe-report{gap:22px;padding:4px 0 6px;display:grid}.recipe-report .cooking-back{justify-self:start;margin:0}.report-intro h3{overflow-wrap:anywhere;font-size:20px;font-weight:700}.report-intro h3 span{color:var(--color-muted);white-space:nowrap;font-size:14px;font-weight:400}.report-intro p,.report-success>p{color:var(--color-muted);margin-top:8px;font-size:14px;line-height:1.8}.report-fields{border:0;gap:22px;min-width:0;padding:0;display:grid}.report-kinds{border:0;gap:8px;min-width:0;padding:0;display:grid}.report-kinds legend,.report-field>label{margin-bottom:10px;font-size:15px;font-weight:600;display:block}.report-kinds legend span,.report-field>label span{color:var(--color-muted);font-size:12px;font-weight:400}.report-kinds label{cursor:pointer;background:#fffdf8;border:1px solid #e5d9c9;border-radius:12px;align-items:center;gap:10px;min-height:46px;padding:10px 12px;font-size:14px;display:flex}.report-kinds label:has(input:checked){background:#fff0df;border-color:#c28158}.report-kinds input{accent-color:#a9623f;flex:none;width:17px;height:17px}.report-field{min-width:0}.report-field select,.report-field textarea{width:100%;min-width:0;color:var(--color-cocoa);font:inherit;background:#fffdf8;border:1px solid #d9c6b0;border-radius:12px;padding:12px;font-size:16px}.report-field select{text-overflow:ellipsis;min-height:48px}.report-field textarea{resize:vertical;line-height:1.75;display:block}.report-field textarea::placeholder{color:#968372}.report-field-notes{color:var(--color-muted);flex-wrap:wrap;justify-content:space-between;gap:6px 12px;margin-top:8px;font-size:11px;line-height:1.7;display:flex}.report-field-notes>span{white-space:nowrap;margin-left:auto}.recipe-report :disabled{cursor:wait;opacity:.65}.recipe-report .meal-form-error{margin:0;line-height:1.8}.report-success{text-align:center;padding-top:28px}.report-success-icon{color:#8b9865;width:52px;height:52px;margin:0 auto}.report-success h3{font-size:23px;font-weight:700}.report-success>p{word-break:keep-all;overflow-wrap:anywhere;margin:0}.report-receipt{background:#f4ecdf;border-radius:12px;padding:14px}.report-receipt span{overflow-wrap:anywhere;margin-top:5px;font-family:monospace;font-size:12px;display:block}*{-webkit-tap-highlight-color:transparent}html{scroll-behavior:smooth;background:#eee7dc}body{color:var(--color-cocoa);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;letter-spacing:-.025em;margin:0;font-size:15px}button,input,a,summary{touch-action:manipulation}button,a{-webkit-user-select:none;user-select:none}button{cursor:pointer}button:disabled{cursor:default;opacity:.35}button,a,input,summary{outline-offset:5px}:focus-visible{outline:2px solid #b9714b}::selection{background:#f4d7bd}input[type=search]::-webkit-search-cancel-button{display:none}.app-shell{background:var(--color-cream);width:100%;max-width:460px;min-height:100svh;margin:0 auto;position:relative;overflow-x:clip}.app-shell:before{content:"";z-index:0;pointer-events:none;opacity:.25;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23ad9875' opacity='.08' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E");position:absolute;inset:0}main{z-index:1;position:relative}.screen-enter{animation:.38s cubic-bezier(.2,.7,.2,1) both screen-in}.home-screen{padding:max(22px, env(safe-area-inset-top)) 26px max(20px, env(safe-area-inset-bottom));min-height:100svh}.home-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;display:flex}.brand{font-family:var(--font-display);letter-spacing:.025em;white-space:nowrap;align-items:center;gap:8px;font-size:28px;line-height:1.2;display:inline-flex}.eyebrow{letter-spacing:-.02em;color:var(--color-muted);font-size:12px}.paw-mark{width:27px;height:26px;color:var(--color-peach);display:inline-block;position:relative;transform:rotate(12deg)}.paw-mark i,.paw-mark b{background:currentColor;display:block;position:absolute}.paw-mark i{border-radius:50%;width:6px;height:8px}.paw-mark i:first-child{top:8px;left:0;transform:rotate(-28deg)}.paw-mark i:nth-child(2){top:1px;left:6px;transform:rotate(-12deg)}.paw-mark i:nth-child(3){top:0;right:6px;transform:rotate(12deg)}.paw-mark i:nth-child(4){top:7px;right:0;transform:rotate(28deg)}.paw-mark b{border-radius:60% 60% 45% 45%;width:18px;height:14px;bottom:0;left:5px}.home-hero{--home-cat-size:112px;--home-speech-width:132px;padding:32px 142px 10px 0;position:relative}.home-hero h1{font-family:var(--font-display);letter-spacing:-.035em;white-space:nowrap;font-size:clamp(26px,8.3vw,36px);line-height:1.32}.home-hero .hero-description{font-size:13px;line-height:1.7}.hero-description{color:var(--color-muted);margin-top:13px;font-size:14px}.search-cat{z-index:2;width:var(--home-cat-size);height:var(--home-cat-size);pointer-events:auto;position:absolute;bottom:10px;right:0}.search-cat .cat-sprite{width:100%;height:100%}.cat-curiosity{color:#a4805f;font-family:var(--font-hand);opacity:.55;font-size:30px;position:absolute;top:15px;right:7px;transform:rotate(23deg)}.search-form{z-index:1;background:#fffcf7;border:1.5px solid #dacebf;border-radius:16px;align-items:center;gap:8px;min-height:58px;padding:0 10px 0 13px;transition:border-color .2s,box-shadow .2s;display:flex;position:relative;box-shadow:0 3px 8px #75543705}.search-form:focus-within{border-color:#dba37d;box-shadow:0 0 0 4px #ed986f12}.search-form input{letter-spacing:-.025em;appearance:none;border:0;border-radius:0;width:100%;height:56px;font-size:16px}.search-form input:focus,.search-form input:focus-visible{box-shadow:none;outline:none}.search-form input::placeholder{color:var(--color-muted);font-size:14px}.clear-search{width:44px;height:44px;color:var(--color-muted);flex-shrink:0;place-items:center;display:grid}.search-dice{color:#a45e39;background:#f9e8d8;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;gap:7px;min-width:114px;min-height:44px;padding:0 12px;font-size:13px;font-weight:600;transition:background .2s;display:inline-flex}.search-dice:hover{background:#f4dcc5}.recommendation-trigger-row{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px 10px;padding-top:10px;display:flex}.recommendation-trigger-row>span{color:var(--color-muted);font-size:12px}.recommendation-controls{flex-shrink:0;align-items:center;gap:6px;display:inline-flex}.search-dice.is-rolling:disabled{opacity:1}.dice-icon{flex-shrink:0;width:25px;height:25px}.is-rolling .dice-icon{animation:.85s ease-in-out infinite dice-roll}@keyframes dice-roll{0%{transform:rotate(0)scale(1)}25%{transform:translateY(-4px)rotate(-28deg)scale(.9)}65%{transform:translateY(-6px)rotate(380deg)scale(1.1)}to{transform:rotate(720deg)scale(1)}}.catalog-filters{scrollbar-width:thin;gap:7px;padding:16px 2px 7px;display:flex;overflow-x:auto}.catalog-filters button{min-height:44px;color:var(--color-muted);background:#fffcf7;border:1px solid #e4d9cc;border-radius:22px;flex-shrink:0;padding:0 13px;font-size:12px}.catalog-filters button[aria-pressed=true]{color:#864f30;background:#f8e5d4;border-color:#dca47d;font-weight:700}.catalog-more{color:#864f30;background:#fffcf7;border:1px solid #e4d9cc;border-radius:14px;justify-content:center;align-items:center;gap:10px;width:100%;min-height:48px;margin-top:16px;font-size:14px;font-weight:600;display:flex}.catalog-more span{color:var(--color-muted);font-size:12px;font-weight:400}.catalog-hero{min-height:153px;padding:22px 120px 22px 0;position:relative}.catalog-hero h1{font-family:var(--font-display);font-size:34px;line-height:1.3}.catalog-hero p{color:var(--color-muted);margin-top:10px;font-size:13px;line-height:1.7}.catalog-hero .catalog-search-cat{width:144px;height:144px;position:absolute;bottom:1px;right:-9px}.catalog-shopping-link{color:#864f30;justify-content:center;align-items:center;gap:3px;min-width:44px;min-height:44px;display:inline-flex}.catalog-shopping-link span{font-size:12px;font-weight:700}.catalog-screen .recipe-section{padding-bottom:14px}.recipe-section{margin-top:20px}.recipe-card{background:#fffcf54d;border:1px solid #e9dfd3;border-radius:18px;align-items:center;gap:8px;min-height:90px;padding:5px 12px 5px 2px;transition:border-color .2s,background .2s,box-shadow .2s;display:flex}.recipe-card:hover{background:#fffdf8;border-color:#d9bb9e;box-shadow:0 5px 14px #75543706}.recipe-card-link{border-radius:12px;flex:1;align-items:center;gap:2px;min-width:0;display:flex}.recipe-card-added{background:#f8faef55;border-color:#cdd6bc}.recipe-selection{flex-direction:column;flex-shrink:0;align-items:center;gap:3px;display:flex}.recipe-added-status{color:#52613e;white-space:nowrap;align-items:center;gap:2px;font-size:12px;display:inline-flex}.recipe-card-link h3{word-break:keep-all;overflow-wrap:anywhere}.recipe-thumbnail{object-fit:contain;flex-shrink:0;width:96px;height:84px;transition:transform .3s}.add-recipe{min-width:56px;min-height:48px;color:var(--color-muted);background:#faebdc;border-radius:13px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:3px;padding:6px 4px;font-size:12px;transition:background .2s;display:flex}.add-recipe:hover{background:#f4ddc8}.add-recipe.is-added{color:var(--color-muted);background:0 0;border:1px solid #ded5c8;flex-direction:row}.recipe-item-enter{animation:.35s both item-in}.saved-section{margin-top:20px}.saved-shopping{color:#985631;background:#fbe9d9;border-radius:17px;align-items:center;gap:16px;width:100%;padding:18px;transition:background .2s;display:flex}a.saved-shopping:hover{background:#f8e2cd}.saved-shopping h2{color:#633f2b}.saved-shopping p{color:#a0785d}.saved-shopping-empty{background:#f7eddfb3;gap:13px;padding:18px 17px}.home-footer{color:#b2a492;justify-content:center;align-items:center;gap:9px;padding-top:18px;display:flex}.small-paw{color:#bba88e;margin-left:-5px;margin-right:-9px;transform:scale(.5)rotate(-12deg)}.empty-results{text-align:center;padding:10px 0 20px}.recipe-list-insert{padding-block:8px}.ad-placeholder{min-width:0}.ad-placeholder-label{color:var(--color-muted);align-items:center;gap:6px;margin-bottom:7px;font-size:10px;line-height:1.5;display:flex}.ad-placeholder-label>span:first-child{border:1px solid #c8c0b4;border-radius:4px;padding:0 5px}.ad-placeholder-card{background:linear-gradient(115deg,#f3f5e9,#e8eddc);border:1px solid #dce1ce;border-radius:18px;justify-content:space-between;align-items:center;gap:8px;min-height:152px;padding:16px 14px 16px 20px;display:flex;overflow:hidden}.ad-placeholder-copy{min-width:0}.ad-placeholder-title{color:#46553c;font-family:var(--font-display);word-break:keep-all;font-size:23px;line-height:1.4}.ad-placeholder-description{color:#647057;word-break:keep-all;margin-top:8px;font-size:11px;line-height:1.65}.ad-placeholder-image{object-fit:contain;flex-shrink:0;width:120px;height:120px}.ad-placeholder--home{margin-top:20px}.ad-placeholder--home .ad-placeholder-card{background:linear-gradient(115deg,#fbefdf,#f7e4ce);border-color:#eadbc7;min-height:112px;padding:12px 14px 12px 17px}.ad-placeholder--home .ad-placeholder-title{color:#795239;font-size:19px}.ad-placeholder--home .ad-placeholder-description{color:#876c55;margin-top:6px}.ad-placeholder--home .ad-placeholder-image{width:88px;height:88px}.shopping-screen{min-height:100svh;padding:max(16px, env(safe-area-inset-top)) 26px max(18px, env(safe-area-inset-bottom));flex-direction:column;display:flex}.shopping-header{justify-content:space-between;align-items:center;height:48px;display:flex}.icon-button{border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;transition:background .2s;display:inline-flex}.icon-button:hover{background:#ebdfce66}.shopping-heading{margin-top:20px}.servings-control{border:1px solid #daccbc;border-radius:24px;flex-shrink:0;align-items:center;height:46px;padding:0 1px;display:flex}.servings-control button{color:#7e6a58;border-radius:50%;place-items:center;width:44px;height:44px;display:grid}.servings-control button:not(:disabled):hover{background:#f1e6d7}.servings-control span{text-align:center;min-width:39px;font-size:12px;font-weight:600}.shopping-progress{align-items:center;gap:12px;margin:18px 0 19px;display:flex}.progress-track{background:#ebe5da;border-radius:8px;flex:1;height:12px;overflow:hidden}.progress-track span{border-radius:inherit;background:#9aaa88;height:100%;transition:width .5s cubic-bezier(.2,.7,.2,1);display:block}.ingredient-list{border:none;margin:0;padding:0}.ingredient-row{cursor:pointer;border-bottom:1px solid #e9dfd380;align-items:center;gap:18px;min-height:60px;display:flex;position:relative}.ingredient-row:hover{background:#f7eddf50}.ingredient-input{z-index:1;opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.ingredient-check{background:#fffcf7;border:1.6px solid #aa9582;border-radius:50%;flex-shrink:0;place-items:center;width:29px;height:29px;transition:background .2s,border-color .2s,transform .25s;display:grid}.ingredient-check svg{opacity:0;transition:opacity .2s,transform .3s cubic-bezier(.2,1.8,.5,1);transform:scale(.45)}.ingredient-row .peer:focus-visible+.ingredient-check{outline-offset:5px;outline:2px solid #b9714b}.ingredient-name{flex:1;font-size:17px;transition:color .2s}.ingredient-amount{color:var(--color-muted);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:16px}.purchased .ingredient-check{background:#9aaa88;border-color:#9aaa88}.purchased .ingredient-check svg{opacity:1;color:#fff;transform:scale(1)}.purchased .ingredient-name{color:#9a8d7d;-webkit-text-decoration:line-through #9a8d7d90;text-decoration:line-through #9a8d7d90;text-decoration-thickness:1px}.shopping-hint{color:var(--color-muted);margin-top:10px;font-size:12px}.shopping-companion{flex:1;justify-content:flex-end;align-items:flex-end;min-height:112px;margin-top:5px;padding-top:72px;display:flex;position:relative}.shopping-cat{flex-shrink:0;width:114px;height:114px;margin-bottom:-4px;margin-right:-6px}.cat-sprite{object-fit:contain;display:block}.cat-caption{white-space:nowrap;color:#785337;font-size:22px;line-height:1;position:absolute;bottom:64px;right:108px;transform:rotate(-7deg)}.caption-line{border-bottom:1.5px solid #a57c5c;border-left:1.5px solid #a57c5c;border-radius:0 0 0 100%;width:23px;height:15px;display:block;position:absolute;top:24px;right:-4px;transform:rotate(-6deg)}.shopping-bottom{margin-top:6px}.shopping-heading>div:first-child{flex-wrap:wrap}.primary-button,.outline-button{border-radius:15px;justify-content:center;align-items:center;gap:11px;min-height:59px;padding:12px 24px;font-size:17px;font-weight:600;transition:transform .2s,background .2s,box-shadow .2s;display:inline-flex}.primary-button{color:var(--color-cocoa);background:#ea966c;border:1px solid #ea966c;box-shadow:0 4px 10px #dc8b5520}.primary-button:hover{background:#efaa84;box-shadow:0 5px 15px #dc8b552a}.outline-button{color:#955333;background:#fffaf380;border:1px solid #d88f65}.outline-button:hover{background:#fbecdd}.primary-button:active,.outline-button:active{transform:scale(.98)}.reset-area{justify-content:center;align-items:center;min-height:44px;padding-top:2px;display:flex}.reset-button{color:var(--color-muted);justify-content:center;align-items:center;gap:5px;min-height:44px;font-size:12px;display:inline-flex}.reset-confirm{color:var(--color-muted);justify-content:center;align-items:center;gap:13px;font-size:12px;display:flex}.reset-confirm button{min-height:44px;font-weight:600}.completion-content{text-align:center;flex-direction:column;flex:1;display:flex}.completion-art{width:100%;height:270px;margin-top:10px;margin-bottom:18px;position:relative}.completion-bag{object-fit:contain;width:205px;height:240px;position:absolute;bottom:0;right:-10px;transform:rotate(4deg)}.completion-cat{width:240px;height:240px;position:absolute;bottom:-9px;left:-27px;transform:rotate(-8deg)}.completion-heart{width:27px;height:27px;animation:2s ease-in-out 2 heart-float;position:absolute;top:54px;left:24px;transform:rotate(-16deg)}.completion-spark{color:#cba274;font-size:29px;animation:2s ease-in-out .3s 2 heart-float;position:absolute;top:2px;right:20px}.completion-whisper{color:var(--color-muted);margin-top:15px;font-size:19px}.completion-actions{margin-top:auto;padding-top:29px}.secondary-link{color:#7d6552;justify-content:center;align-items:center;min-height:55px;margin-top:6px;font-size:14px;display:flex}.secondary-link:hover,.home-link:hover{text-underline-offset:4px;text-decoration:underline}.home-link{min-height:44px;color:var(--color-muted);align-items:center;font-size:12px;display:inline-flex}.cat-reaction{animation:.55s ease-in-out cat-delight}.toast{z-index:40;bottom:max(25px, env(safe-area-inset-bottom));color:#fff;text-align:center;opacity:0;pointer-events:none;background:#614b3eea;border-radius:13px;width:max-content;max-width:calc(100% - 32px);padding:13px 18px;font-size:12px;transition:opacity .2s,transform .2s;position:fixed;left:50%;transform:translate(-50%,12px);box-shadow:0 8px 25px #49352816}.toast-visible{opacity:1;transform:translate(-50%)}.shopping-dock-space{height:calc(94px + env(safe-area-inset-bottom));flex-shrink:0}.shopping-dock{z-index:40;width:min(100%,460px);padding:18px 16px max(16px, env(safe-area-inset-bottom));pointer-events:none;background:linear-gradient(#0000,#fffaf3 30%);position:fixed;bottom:0;left:50%;transform:translate(-50%)}.shopping-dock-link{min-height:58px;color:var(--color-cocoa);pointer-events:auto;background:#ea966c;border:1px solid #de9b77;border-radius:16px;align-items:center;gap:9px;padding:12px 17px;font-size:13px;display:flex;box-shadow:0 5px 20px #70442524}.shopping-dock-link:hover{background:#efaa84}.shopping-dock-link>span{white-space:nowrap}.shopping-dock-link strong{align-items:center;gap:4px;margin-left:auto;font-size:14px;display:inline-flex}.shopping-undo{z-index:50;left:50%;bottom:max(16px, env(safe-area-inset-bottom));color:#fffaf3;background:#594333;border-radius:16px;width:min(100% - 32px,428px);padding:14px 16px 8px;position:fixed;transform:translate(-50%);box-shadow:0 5px 24px #49352830}.shopping-undo p{overflow-wrap:anywhere;font-size:13px;line-height:1.6}.shopping-undo p>span{color:#f0dcc7;margin-top:2px;font-size:12px;display:block}.shopping-undo-actions{justify-content:space-between;align-items:center;margin-top:4px;display:flex}.shopping-undo-actions>button:first-child{color:#ffcfaa;text-underline-offset:4px;align-items:center;gap:7px;min-height:44px;margin-left:-8px;padding:0 8px;font-size:14px;font-weight:600;text-decoration:underline;display:inline-flex}.shopping-undo .icon-button{margin-right:-8px}.shopping-undo button:focus-visible{outline-color:#ffcfaa}body:has(.shopping-dock) .shopping-undo{bottom:calc(96px + env(safe-area-inset-bottom))}html:has(.shopping-dock){scroll-padding-bottom:calc(100px + env(safe-area-inset-bottom))}body:has(.shopping-undo) .app-shell{padding-bottom:145px}.recipe-dialog{inset:auto 0 max(var(--sheet-edge-gap,0px), var(--sheet-keyboard-offset,0px));width:min(100%,460px);max-width:100%;max-height:min(90dvh, 880px, calc(var(--sheet-viewport-height,100dvh) - 2 * var(--sheet-edge-gap,0px) - 12px));background:var(--color-cream);color:var(--color-cocoa);overscroll-behavior:contain;border:0;border-radius:27px 27px 0 0;margin:0 auto;padding:0;position:fixed;overflow:hidden;box-shadow:0 -10px 50px #49352815}.recipe-dialog[open]{flex-direction:column;display:flex}.recipe-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#49352855}.recipe-dialog[open]::backdrop{animation:.28s ease-out both sheet-backdrop-in}.recipe-dialog[data-closing=true]{pointer-events:none}.recipe-dialog[data-closing=true]::backdrop{animation:.22s ease-out both sheet-backdrop-out}.sheet-chrome{background:var(--color-cream);border-bottom:1px solid var(--color-line);touch-action:none;-webkit-user-select:none;user-select:none;flex-shrink:0;padding:0 24px}.sheet-drag-handle{cursor:grab;touch-action:none;justify-content:center;align-items:center;width:100%;min-height:44px;display:flex}.sheet-drag-handle:active{cursor:grabbing}.sheet-drag-handle:focus-visible{outline-offset:-6px;border-radius:12px}.sheet-footer{max-height:calc(var(--sheet-viewport-height,100dvh) * .5);padding:12px 24px max(16px, env(safe-area-inset-bottom));border-top:1px solid var(--color-line);background:var(--color-cream);flex-shrink:0;overflow-y:auto;box-shadow:0 -5px 18px #49352806}.sheet-footer .primary-button,.sheet-footer .outline-button{min-height:52px;padding:12px 16px;font-size:15px}.sheet-footer .secondary-link{min-height:44px}.sheet-footer .meal-storage-note{margin-top:8px}.sheet-footer .meal-delete-actions{margin-top:0}.sheet-footer .meal-action-hint{margin:5px 0 10px}.primary-button>.paw-mark{color:currentColor;transform:scale(.7)rotate(-12deg)}.recommendation-intro{align-items:center;gap:5px;margin:7px 0 10px;display:flex}.recommendation-intro .recommendation-cat{flex-shrink:0;width:105px;height:105px}.recommendation-speech{background:#fffdf8;border:1px solid #e8dcca;border-radius:17px 17px 17px 4px;min-width:0;padding:12px 14px}.recommendation-speech>span{color:var(--color-muted);margin-bottom:5px;font-size:12px;display:block}.recommendation-speech p{font-family:var(--font-hand);word-break:keep-all;font-size:23px;line-height:1.2}.recommendation-card{text-align:center;background:#fcf0e2;border:1px solid #ead9c5;border-radius:22px;padding:8px 16px 17px}.recommendation-plate{place-items:center;width:170px;height:158px;margin:0 auto;animation:.35s ease-out both recommendation-appear;display:grid;position:relative}.recommendation-food{object-fit:contain;width:170px;height:158px;transition:opacity .2s,filter .2s}.recommendation-card.is-rolling .recommendation-food{opacity:.25;filter:blur(2px)}.recommendation-rolling{color:#a45e39;place-items:center;display:grid;position:absolute;inset:0}.recommendation-rolling .dice-icon{width:38px;height:38px}.recommendation-category{color:var(--color-muted);background:#fffaf3;border-radius:20px;padding:3px 10px;font-size:12px;display:inline-block}.recommendation-result h3{font-family:var(--font-display);overflow-wrap:anywhere;margin-top:6px;font-size:27px;line-height:1.25}.recommendation-result>p{color:var(--color-muted);margin-top:7px;font-size:12px}.recommendation-result>p span{margin:0 5px}.recommendation-note{color:var(--color-muted);text-align:center;margin:12px 0 16px;font-size:12px;line-height:1.6}.recommendation-actions{gap:10px;display:grid}.recommendation-actions .primary-button:disabled{color:#6b7559;opacity:1;box-shadow:none;background:#e5e9d9}.recommendation-actions [aria-disabled=true]{opacity:.4;cursor:default}.recommendation-reroll{color:#95613f;justify-content:center;align-items:center;gap:9px;min-height:44px;font-size:13px;display:flex}.recommendation-reroll .dice-icon{width:21px;height:21px}.recommendation-reroll.is-rolling:disabled{opacity:.7}.recommendation-basket-link{min-height:44px;color:var(--color-muted);text-underline-offset:4px;justify-content:center;align-items:center;gap:8px;font-size:12px;text-decoration:underline;display:flex}.recommendation-basket-link .paw-mark{color:#a0ae88;transform:scale(.6)rotate(12deg)}@keyframes recommendation-appear{0%{opacity:.2;transform:translateY(7px)scale(.93)}to{opacity:1;transform:none}}.recipe-sheet{padding-bottom:4px}.sheet-handle{background:#d9cbb9;border-radius:4px;width:35px;height:4px;margin:0 auto;display:block}.step-number{width:29px;height:29px;font-family:var(--font-display);color:var(--color-muted);background:#f6e5d3;border-radius:50%;flex-shrink:0;place-items:center;font-size:14px;display:grid}.skip-link{z-index:100;background:var(--color-cocoa);color:#fff;border-radius:10px;padding:12px 18px;position:fixed;top:10px;left:50%;transform:translate(-50%,-200%)}.skip-link:focus{transform:translate(-50%)}.paw-trail{pointer-events:none;flex-shrink:0;width:68px;height:30px;display:inline-block;position:relative}.paw-trail .paw-mark{color:#bd9b75;opacity:.42;position:absolute;transform:scale(.42)rotate(64deg)}.paw-trail .paw-mark:first-child{top:7px;left:0}.paw-trail .paw-mark:nth-child(2){opacity:.6;top:-4px;left:22px}.paw-trail .paw-mark:nth-child(3){opacity:.8;top:6px;left:44px}.cat-spatula{pointer-events:none;transform-origin:50% 80%;flex-shrink:0;width:42px;height:80px}.basket-toy{flex-shrink:0;width:41px;height:44px;position:relative}.basket-toy .cat-spatula{width:31px;height:56px;position:absolute;top:-8px;left:-5px;transform:rotate(-22deg)}.basket-toy .paw-mark{color:#c99b74;position:absolute;bottom:-2px;right:-5px;transform:scale(.55)rotate(19deg)}.basket-preview{background:#fbecdc;border:1px solid #f0dbc5;border-radius:18px;padding:18px;transition:background .2s;display:block}.basket-preview:hover{background:#f9e6d2}.basket-preview-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.basket-preview-heading h2{color:#6f4932;font-size:16px;font-weight:700}.basket-preview-heading h2 span{color:var(--color-muted);margin-left:5px;font-size:12px;font-weight:500;display:inline-block}.basket-preview-heading p{color:var(--color-muted);margin-top:5px;font-size:12px}.basket-preview-heading>.paw-mark{color:#dcb390;transform:rotate(19deg)}.basket-recipe-tags{flex-wrap:wrap;gap:7px;margin-top:14px;display:flex}.basket-recipe-tags>span{color:#715a45;background:#fffaf4b3;border-radius:9px;padding:6px 9px;font-size:12px}.basket-recipe-tags b{color:var(--color-muted);margin-left:6px;font-size:12px;font-weight:400}.basket-preview-footer{color:#926c50;border-top:1px dashed #ddc7b2;justify-content:space-between;align-items:center;gap:10px;margin-top:13px;padding-top:12px;font-size:12px;display:flex}.basket-preview-footer>span:last-child{align-items:center;gap:4px;font-weight:600;display:flex}.basket-header-link{position:relative}.basket-header-link>span{min-width:21px;height:21px;color:var(--color-cocoa);background:#ed986f;border-radius:50%;place-items:center;padding:0 5px;font-size:12px;display:grid;position:absolute;top:0;right:-2px}.single-recipe-add{width:100%;min-height:56px;margin-bottom:12px;font-size:16px}.companion-trail{position:absolute;bottom:8px;left:18px;transform:rotate(-14deg)}.companion-toy{width:28px;height:55px;position:absolute;bottom:0;right:93px;transform:rotate(-34deg)}.header-paw{color:#d7b28e;margin-right:7px;transform:scale(.7)rotate(16deg)}.overview-hero{min-height:178px;padding-top:20px;position:relative}.overview-hero h1{font-family:var(--font-display);letter-spacing:-.04em;margin-top:7px;font-size:30px;line-height:1.35}.overview-kicker{color:var(--color-muted);font-size:12px}.overview-hero h1+p{color:var(--color-muted);margin-top:10px;font-size:12px}.overview-cat{width:110px;height:110px;position:absolute;bottom:-4px;right:-11px}.overview-cat .cat-sprite{width:100%;height:100%}.overview-cat .cat-spatula{width:25px;height:51px;position:absolute;bottom:-1px;right:0;transform:rotate(28deg)}.menu-ribbon{flex-wrap:wrap;align-items:center;gap:7px;padding-top:9px;display:flex}.menu-ribbon button,.menu-ribbon a{background:#fffdf8;border:1px solid #e5d8c8;border-radius:10px;align-items:center;gap:7px;min-height:44px;padding:5px 10px;font-size:12px;display:flex}.menu-ribbon b{color:var(--color-muted);font-size:12px;font-weight:400}.menu-ribbon a{color:#a27351;background:0 0;border-style:dashed}.basket-tabs{background:#eee8dc;border-radius:13px;gap:4px;padding:4px;display:flex}.basket-tabs button{min-height:44px;color:var(--color-muted);border-radius:10px;flex:1;justify-content:center;align-items:center;gap:7px;font-size:12px;transition:background .2s,color .2s;display:flex}.basket-tabs button[aria-pressed=true]{color:#674933;background:#fffcf7;font-weight:600;box-shadow:0 2px 5px #59462f08}.basket-tabs button span{font-size:12px}.combined-guide{color:var(--color-muted);align-items:center;gap:2px;padding:12px 0 1px;font-size:12px;display:flex}.combined-guide .paw-mark{color:#c4a17c;margin-left:-5px;transform:scale(.5)rotate(-15deg)}.combined-row{gap:13px;min-height:78px;padding:13px 0}.combined-copy{flex-direction:column;flex:1;gap:5px;min-width:0;display:flex}.combined-copy .ingredient-name{font-size:16px}.ingredient-sources{word-break:keep-all;color:var(--color-muted);font-size:12px;line-height:1.6}.combined-row .ingredient-amount{text-align:right;font-size:15px}.combined-row .ingredient-amount small{color:var(--color-muted);padding-top:5px;font-size:12px;display:block}.partly-purchased .ingredient-check{background:#f3e4d1;border-color:#bf9c76}.partly-purchased .ingredient-check svg{opacity:1;color:#a67f54;transform:none}.partial-note{color:var(--color-muted);word-break:keep-all;font-size:12px;line-height:1.6}.basket-footer{color:var(--color-muted);flex-direction:column;align-items:center;gap:3px;margin-top:auto;padding:25px 0 8px;font-size:18px;display:flex}.basket-cook-button{color:#9b5c36;background:#fae7d4;border-radius:14px;justify-content:center;align-items:center;gap:9px;width:100%;min-height:55px;margin-top:22px;font-size:13px;display:flex}.basket-manage-hint{color:var(--color-muted);margin:18px 0;font-size:12px;line-height:1.8}.basket-recipe{background:#fffcf7;border:1px solid #e7dccb;border-radius:17px;margin-bottom:12px;padding:8px 14px 3px}.basket-recipe-top{align-items:center;gap:5px;margin-left:-10px;display:flex}.basket-recipe-top h2{font-size:16px;font-weight:600}.basket-recipe-top p{color:var(--color-muted);margin-top:6px;font-size:12px}.remove-recipe{color:#b09a82;border-radius:50%;align-self:flex-start;place-items:center;width:44px;height:44px;margin-right:-9px;display:grid}.remove-recipe:hover{background:#f5eadd}.basket-recipe-bottom{justify-content:space-between;align-items:center;gap:8px;padding:5px 0 14px;display:flex}.recipe-sheet-link{min-height:44px;color:var(--color-muted);background:#f9ecde;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:0 11px;font-size:12px;display:flex}.individual-list-link{min-height:44px;color:var(--color-muted);border-top:1px dashed #e8dece;justify-content:space-between;align-items:center;padding:4px 1px;font-size:12px;display:flex}.add-another-recipe{min-height:50px;color:var(--color-muted);border:1px dashed #ddcbb4;border-radius:14px;justify-content:center;align-items:center;gap:8px;font-size:12px;display:flex}.empty-basket{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:30px 0 60px;display:flex}.empty-basket-art{width:210px;height:210px;position:relative}.empty-basket-art .cat-sprite{width:100%;height:100%}.empty-basket-art .cat-spatula{position:absolute;bottom:10px;left:7px;transform:rotate(-34deg)}.empty-basket h1{margin-top:15px}.empty-basket p{color:var(--color-muted);margin:18px 0 28px;font-size:13px;line-height:1.9}.empty-basket .primary-button{font-size:14px}.sheet-recipe-heading{align-items:center;gap:9px;padding:15px 0 19px;display:flex}.sheet-recipe-heading>div{min-width:0}.sheet-recipe-heading h2{overflow-wrap:anywhere;font-size:clamp(24px,7.5vw,30px)}.recipe-search-links{gap:10px;margin-bottom:24px;display:grid}.recipe-search-links>p{font-size:14px;font-weight:600}.recipe-search-links>a{background:#fbefdf80;border:1px solid #dfccb3;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;min-height:52px;padding:12px 16px;font-size:14px;font-weight:600;transition:background .2s;display:flex}.recipe-search-links>a:hover{background:#f8e5d4}.recipe-search-links>.recipe-search-hint{color:var(--color-muted);word-break:keep-all;overflow-wrap:anywhere;font-size:12px;font-weight:400;line-height:1.7}.ingredient-list-heading{color:var(--color-muted);justify-content:space-between;align-items:center;gap:12px;padding:5px 0 3px;font-size:11px;line-height:1.6;display:flex}.ingredient-list-heading>span:last-child{color:#657050}.ingredient-entry{border-bottom:1px solid var(--color-line);grid-template-columns:minmax(0,1fr) 44px;align-items:center;gap:6px;display:grid}.ingredient-entry .ingredient-row{border-bottom:0;gap:12px;min-width:0}.ingredient-entry .ingredient-name{word-break:keep-all;overflow-wrap:anywhere;min-width:0}.ingredient-entry .ingredient-sources,.ingredient-entry .partial-note{overflow-wrap:anywhere}.pantry-toggle{color:#7b8869;background:0 0;border-radius:10px;place-items:center;width:44px;height:44px;padding:0;transition:background .2s,color .2s;display:grid}.pantry-toggle:hover,.pantry-toggle:focus-visible{color:#566446;background:#e8eddd}.owned-ingredients{background:#f2f3e9;border:1px solid #d8dec9;border-radius:12px;margin-top:16px;padding:0 12px}.owned-ingredients[open]{padding-bottom:5px}.owned-ingredients summary{cursor:pointer;color:#566446;align-items:center;gap:7px;min-height:48px;font-size:13px;font-weight:600;display:flex}.owned-ingredients summary>span{text-align:center;background:#e2e8d6;border-radius:7px;min-width:22px;padding:1px 6px;font-size:12px}.owned-ingredients summary:after{content:"⌄";margin-left:auto}.owned-ingredients[open] summary:after{transform:rotate(180deg)}.owned-ingredients>p{color:var(--color-muted);font-size:12px;line-height:1.7}.owned-ingredients li{justify-content:space-between;align-items:center;gap:10px;padding:7px 0;display:flex}.owned-ingredients li+li{border-top:1px dashed #d8dec9}.owned-ingredients li>div{flex-direction:column;gap:3px;min-width:0;font-size:13px;display:flex}.owned-ingredients small{color:var(--color-muted);font-size:12px}.owned-ingredients button{text-underline-offset:3px;color:#657050;flex-shrink:0;min-height:44px;padding:6px;font-size:12px;text-decoration:underline}.pantry-ready{text-align:center;color:#566446;background:#edf0e2;border-radius:12px;margin-top:15px;padding:13px;font-size:13px}.recommendation-preferences-trigger{width:44px;height:44px;color:var(--color-muted);background:#fffcf7;border:1px solid #e4d9cc;border-radius:12px;flex-shrink:0;place-items:center;transition:background .2s,border-color .2s;display:grid;position:relative}.recommendation-preferences-trigger:hover{background:#f9ecde;border-color:#d9bb9e}.recommendation-preferences-trigger[data-active=true]{color:#a45e39;background:#f9e8d8;border-color:#dca47d}.recommendation-preferences-trigger[data-active=true]:after{content:"";background:#a45e39;border-radius:50%;width:5px;height:5px;position:absolute;top:6px;right:6px}.recommendation-active-filters{text-align:right;color:#8d5e3a;flex-basis:100%;margin:0;font-size:12px;line-height:1.7}.recommendation-preferences-intro{color:var(--color-muted);margin:6px 0 18px;font-size:13px;line-height:1.8}.recommendation-preferences fieldset{border:1px solid var(--color-line);background:#fffcf7;border-radius:14px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding:15px;font-size:13px;display:grid}.recommendation-preferences select{width:100%;min-width:0;min-height:44px;color:var(--color-cocoa);background:#fffaf3;border:1px solid #dfd4c4;border-radius:9px;padding:7px 9px}.recommendation-preferences fieldset>p,.recommendation-filter-result{color:var(--color-muted);grid-column:1/-1;font-size:12px;line-height:1.7}.recommendation-filter-result{justify-content:space-between;align-items:center;gap:8px;display:flex}.recommendation-filter-result button{text-underline-offset:3px;flex-shrink:0;min-height:44px;text-decoration:underline}.cooking-panel{padding-bottom:5px}.cooking-back{min-height:44px;color:var(--color-muted);align-items:center;gap:7px;font-size:12px;display:flex}.cooking-recipe-name{color:var(--color-muted);margin:10px 0 16px;font-size:13px}.cooking-progress{gap:5px;margin-bottom:25px;display:flex}.cooking-progress span{background:#ede3d7;border-radius:4px;flex:1;height:5px}.cooking-progress .is-active{background:#dc9770}.cooking-step-heading>span{letter-spacing:.1em;color:#a06e4d;font-size:12px;font-weight:600}.cooking-step-heading h3{font-family:var(--font-display);word-break:keep-all;overflow-wrap:anywhere;margin:10px 0 18px;font-size:clamp(24px,6vw,30px);line-height:1.4}.cooking-step-heading h3:focus,.cooking-complete h3:focus{outline:none}.cooking-instruction{word-break:keep-all;overflow-wrap:anywhere;font-size:17px;line-height:1.95}.cooking-ingredients{background:#fffcf7;border:1px solid #e7dac8;border-radius:14px;margin:24px 0 18px;padding:16px}.cooking-ingredients h4{font-size:13px;font-weight:700}.cooking-ingredients>p{color:var(--color-muted);margin:7px 0 10px;font-size:12px;line-height:1.7}.cooking-ingredients li{justify-content:space-between;gap:14px;padding:6px 0;font-size:13px;display:flex}.cooking-ingredients b{flex-shrink:0;font-weight:500}.cooking-all-ingredients{margin-top:18px}.cooking-timer{background:#f9eedf;border:1px solid #e1cfb6;border-radius:16px;margin-top:18px;padding:16px}.timer-heading{align-items:center;gap:6px;font-size:12px;display:flex}.timer-heading b{color:#8e6846;margin-left:auto;font-size:11px}.timer-display{text-align:center;font-variant-numeric:tabular-nums;letter-spacing:.06em;margin:12px 0;font-size:36px;font-weight:600}.timer-display>span{color:#aa937b;padding:0 3px}.timer-controls{flex-wrap:wrap;justify-content:center;align-items:center;gap:9px;display:flex}.timer-controls label{align-items:center;gap:6px;font-size:12px;display:flex}.timer-controls input{text-align:center;background:#fffaf3;border:1px solid #dcc6ad;border-radius:9px;width:67px;min-height:44px;padding:6px}.timer-controls button{color:#795838;background:#fffaf3;border-radius:9px;min-height:44px;padding:9px 12px;font-size:12px;font-weight:600}.timer-controls button:disabled{opacity:.4}.timer-done{background:#edf1e2;border-color:#abb692}.timer-done>p{color:#566446;margin-bottom:12px;font-size:13px;line-height:1.7}.cooking-help,.cooking-save-note{color:var(--color-muted);margin-top:14px;font-size:12px;line-height:1.8}.cooking-restart{min-height:44px;color:var(--color-muted);align-items:center;gap:5px;margin-top:12px;font-size:12px;display:flex}.cooking-restart-confirm{background:#f7e5d7;border-radius:10px;margin-top:20px;padding:12px;font-size:12px;line-height:1.8}.cooking-restart-confirm button{text-underline-offset:3px;min-height:44px;margin-right:18px;text-decoration:underline}.cooking-navigation{grid-template-columns:80px minmax(0,1fr);gap:10px;display:grid}.cooking-navigation button{min-width:0}.cooking-navigation button:disabled{opacity:.4}.cooking-complete{text-align:center;padding:10px 0 20px}.cooking-complete .cat-sprite{width:160px;height:160px;margin:0 auto}.cooking-complete h3{font-family:var(--font-display);margin:10px 0;font-size:28px}.cooking-complete p{color:var(--color-muted);margin-bottom:25px;font-size:14px;line-height:1.9}.recipe-cat-note{background:#fbefdf80;border:1px dashed #dfccb3;border-radius:16px;align-items:center;min-height:95px;margin:0 0 27px;padding:14px;display:flex;position:relative}.recipe-cat-note .font-hand{color:var(--color-muted);font-size:23px;display:block}.recipe-cat-note p{color:var(--color-muted);margin-top:5px;font-size:12px}.recipe-cat-chef{width:101px;height:101px;position:absolute;bottom:5px;right:0}.recipe-cat-chef .cat-sprite{width:100%;height:100%}.recipe-cat-chef .cat-spatula{width:25px;height:48px;position:absolute;bottom:2px;right:-1px;transform:rotate(26deg)}.recipe-tip{background:var(--color-peach-light);border-radius:16px;margin-top:40px;padding:22px 20px 20px;position:relative}.recipe-tip>.paw-trail{position:absolute;top:-17px;right:11px;transform:rotate(-15deg)}.recipe-sheet .primary-button .paw-mark{color:#fff8ef;margin:0 -4px;transform:scale(.7)rotate(-12deg)}.recipe-sheet ol p{word-break:keep-all;overflow-wrap:anywhere}.recipe-beginner-guide{border:1px solid var(--color-line);background:#fffcf7;border-radius:14px;margin-bottom:24px}.recipe-beginner-guide details+details{border-top:1px solid var(--color-line)}.recipe-beginner-guide summary{cursor:pointer;min-height:48px;padding:14px;font-size:13px;font-weight:600}.recipe-beginner-guide p{color:var(--color-muted);word-break:keep-all;overflow-wrap:anywhere;margin:0 14px 12px;font-size:13px;line-height:1.9}.recipe-beginner-guide ul{gap:9px;padding:0 14px 16px;display:grid}.recipe-beginner-guide li{justify-content:space-between;gap:16px;font-size:13px;display:flex}.recipe-beginner-guide li>span:last-child{color:var(--color-muted);flex-shrink:0}.recipe-step-guide{color:var(--color-orange-dark);margin-bottom:22px;font-size:14px;font-weight:600}.save-meal-button{width:100%;min-height:44px;color:var(--color-muted);background:#fcf0e0a6;border:1px dashed #dfbb96;border-radius:12px;justify-content:center;align-items:center;gap:8px;margin-top:14px;padding:6px 12px;font-size:12px;transition:background .2s;display:flex}.save-meal-button:hover{background:#fae8d1}.save-meal-button .paw-mark{color:#c89d74;margin:-6px -8px -6px -5px;transform:scale(.5)rotate(20deg)}.meal-collection-link{color:#9c7e5f;background:#fffdf780;border:1px solid #e8dcc9;border-radius:16px;align-items:center;gap:12px;min-height:76px;margin-top:15px;padding:15px 17px;transition:background .2s;display:flex}.meal-collection-link:hover{background:#f8eddf}.meal-collection-link>div>span{color:#70513a;font-size:14px;font-weight:600}.meal-collection-link b{color:var(--color-muted);margin-left:6px;font-size:12px;font-weight:500}.meal-collection-link p{color:var(--color-muted);margin-top:5px;font-size:12px}.meal-collection-compact{background:0 0;border-style:dashed;min-height:48px;margin-top:22px;padding:10px 14px}.meal-collection-compact>div>span{font-size:12px}.app-sheet-inner{overscroll-behavior:contain;min-height:0;padding:12px 24px 24px;scroll-padding-block:16px;overflow-y:auto}.app-sheet-header{justify-content:space-between;align-items:center;gap:10px;padding:0 0 8px;display:flex}.app-sheet-header h2{color:#73573f;outline:none;font-size:17px;font-weight:600}.app-sheet-header .icon-button{color:#8b735c;flex-shrink:0;margin-right:-11px}.meal-editor-greeting{align-items:center;min-height:94px;margin-bottom:5px;padding:9px 0 18px;display:flex;position:relative}.meal-editor-greeting .font-hand{color:var(--color-muted);max-width:235px;font-size:23px;line-height:1.25}.meal-editor-greeting>div>span{color:var(--color-muted);margin-top:7px;font-size:12px;display:block}.meal-editor-greeting .meal-greeting-cat{width:83px;height:83px;position:absolute;bottom:2px;right:-10px}.meal-name-label{color:#866a50;justify-content:space-between;align-items:center;font-size:12px;font-weight:600;display:flex}.meal-name-label span{color:var(--color-muted);font-size:12px;font-weight:400}.meal-name-input{color:#624b37;appearance:none;background:#fffdf8;border:1px solid #d9c6b0;border-radius:12px;width:100%;height:51px;margin-top:9px;padding:0 15px;font-size:16px;transition:border-color .2s,box-shadow .2s;display:block}.meal-name-input:focus{border-color:#c89770;outline:none;box-shadow:0 0 0 3px #ed986f12}.meal-name-input::placeholder{color:var(--color-muted);font-size:13px}.meal-field-hint{color:var(--color-muted);margin-top:7px;font-size:12px;line-height:1.6}.meal-name-suggestions{flex-wrap:wrap;gap:6px;margin-top:11px;display:flex}.meal-name-suggestions button{min-height:44px;color:var(--color-muted);background:#f6ecdd;border-radius:9px;padding:6px 10px;font-size:12px}.meal-name-suggestions button:hover{background:#efdfca}.meal-items-heading{justify-content:space-between;align-items:center;padding:23px 0 9px;display:flex}.meal-items-heading h3{color:#846a51;font-size:12px;font-weight:600}.meal-items-heading>span{color:var(--color-muted);font-size:12px}.meal-editor-items>li{border-bottom:1px solid #e9ddce;align-items:center;gap:5px;min-height:90px;display:flex}.meal-editor-thumbnail{object-fit:contain;flex-shrink:0;width:74px;height:74px;margin-left:-6px}.meal-editor-item-copy{flex-direction:column;flex:1;justify-content:center;align-items:flex-start;gap:8px;min-width:0;display:flex}.meal-editor-item-copy>span{font-size:13px;font-weight:500}.meal-editor-item-copy .servings-control{height:46px}.meal-editor-item-copy .servings-control button{width:44px;height:44px}.meal-editor-item-copy .servings-control span{min-width:32px;font-size:12px}.meal-item-remove{color:#b09b83;flex-shrink:0;width:44px;height:44px;margin-right:-8px}.meal-add-dish{width:100%;min-height:44px;color:var(--color-muted);border:1px dashed #dcc9b0;border-radius:11px;justify-content:center;align-items:center;gap:6px;margin-top:12px;font-size:12px;display:flex}.meal-dish-picker{background:#f7eddf;border-radius:10px;flex-direction:column;gap:2px;margin-top:8px;padding:6px 10px;display:flex}.meal-dish-picker button{color:#8d6b4c;justify-content:space-between;align-items:center;min-height:44px;padding:5px;font-size:12px;display:flex}.meal-no-items{color:var(--color-muted);text-align:center;padding:20px 0;font-size:12px}.meal-form-error{color:#b2583d;word-break:keep-all;overflow-wrap:anywhere;margin:10px 0;font-size:12px;line-height:1.8}.meal-form-error:empty{margin:0}.meal-editor-form>.primary-button{min-height:53px;margin-top:20px;font-size:15px}.meal-storage-note{text-align:center;color:var(--color-muted);word-break:keep-all;margin-top:13px;font-size:12px;line-height:1.7}.meal-save-success{text-align:center;padding:0 0 8px}.meal-success-cat{width:180px;height:180px;margin:0 auto 9px}.saved-meal-name{font-family:var(--font-display);color:#735137;overflow-wrap:anywhere;margin-bottom:15px;font-size:30px}.meal-save-success>p:not(.saved-meal-name){color:var(--color-muted);font-size:13px;line-height:1.9}.meal-save-success>.primary-button{margin-top:25px;font-size:15px}.meal-save-success .primary-button .paw-mark{color:#fff8ef;transform:scale(.7)rotate(-12deg)}.meal-save-success small{color:var(--color-muted);margin-top:6px;font-size:12px;display:block}.meals-hero{min-height:194px;padding:25px 0;position:relative}.meals-hero h1{font-family:var(--font-display);letter-spacing:-.025em;margin-top:9px;font-size:32px;line-height:1.35}.meals-hero-description{color:var(--color-muted);margin-top:14px;font-size:12px;line-height:1.7}.meals-hero-cat{width:102px;height:102px;position:absolute;bottom:7px;right:-9px}.meal-loading{color:var(--color-muted);text-align:center;padding:30px 0;font-size:12px}.meal-library-heading{justify-content:space-between;align-items:center;gap:8px;padding:10px 0 14px;display:flex}.meal-library-heading h2{color:#7f6247;font-size:13px;font-weight:600}.meal-library-heading h2 span{color:var(--color-muted);margin-left:3px;font-size:12px}.meal-library-heading>span{color:var(--color-muted);font-size:12px}.meal-library-list{flex-direction:column;gap:16px;display:flex}.meal-card{background:#fffdf780;border:1px solid #e4d3bc;border-radius:20px;padding:17px 16px 15px;box-shadow:0 5px 16px #85644304}.meal-card-header{justify-content:space-between;align-items:flex-start;gap:6px;display:flex}.meal-card-header>div:first-child{min-width:0}.meal-card-kicker{color:var(--color-muted);align-items:center;gap:4px;font-size:12px;display:flex}.meal-card-header h3{font-family:var(--font-display);word-break:keep-all;overflow-wrap:anywhere;margin-top:7px;font-size:23px;line-height:1.35}.meal-card-tools{flex-shrink:0;margin:-5px -9px 0 0;display:flex}.meal-card-tools .icon-button{color:#b29a80;width:44px;height:44px}.meal-dishes{background:repeating-linear-gradient(90deg,#0000 0 13px,#e8d8bc18 13px 14px),repeating-linear-gradient(0deg,#0000 0 13px,#e8d8bc18 13px 14px),#f7ecda59;border-radius:14px;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:9px;margin:16px -3px;padding:8px 4px 13px;display:flex}.meal-dishes li{flex-direction:column;flex:68px;align-items:center;min-width:0;max-width:110px;display:flex}.meal-dishes img{object-fit:contain;width:94px;max-width:100%;height:79px}.meal-dishes span{color:#866748;font-size:12px;font-weight:500}.meal-dishes small{color:var(--color-muted);margin-top:4px;font-size:12px}.meal-load-button{width:100%;min-height:46px;color:var(--color-muted);background:#f8e4cf;border-radius:12px;justify-content:center;align-items:center;gap:8px;font-size:12px;font-weight:500;transition:background .2s;display:flex}.meal-load-button:hover{background:#f4dabe}.meal-library>.add-another-recipe{margin-top:18px}.meals-empty{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:0 0 20px;display:flex}.meals-empty .cat-sprite{width:140px;height:140px}.meals-empty h2{font-family:var(--font-display);margin-top:12px;font-size:23px}.meals-empty p{color:var(--color-muted);margin-top:15px;font-size:12px;line-height:1.9}.meals-empty b{color:#9c7552;font-weight:500}.meals-empty>.primary-button{min-height:52px;margin-top:23px;font-size:13px}.meal-library-notice{color:var(--color-muted);word-break:keep-all;margin-top:16px;font-size:12px;line-height:1.8}.meal-library-notice:empty{margin:0}.meal-confirm-content{padding:12px 0 0}.meal-confirm-heading{align-items:center;gap:8px;display:flex}.meal-confirm-heading>p{min-width:0;font-family:var(--font-display);overflow-wrap:anywhere;flex:1;font-size:24px}.meal-confirm-heading .paw-mark{color:#d1a37a;flex-shrink:0;transform:scale(.8)rotate(-12deg)}.meal-confirm-description{color:var(--color-muted);margin:17px 0;font-size:12px;line-height:1.9}.meal-confirm-dishes{background:#f6ebdc;border-radius:13px;margin-bottom:20px;padding:10px 14px}.meal-confirm-dishes li{color:#8b6b4d;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;font-size:12px;display:flex}.meal-confirm-dishes span{color:var(--color-muted);font-size:12px}.meal-confirm-content>.primary-button,.meal-confirm-content>.outline-button{min-height:51px;font-size:14px}.meal-action-hint{color:var(--color-muted);text-align:center;word-break:keep-all;margin:8px 0 19px;font-size:12px}.meal-delete-actions{gap:10px;margin-top:25px;display:flex}.meal-delete-actions button{flex:1;min-height:50px;padding:10px;font-size:14px}@keyframes spatula-sway{0%,70%,to{rotate:none}78%{rotate:-7deg}88%{rotate:4deg}}@keyframes screen-in{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}@keyframes item-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@keyframes sheet-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes sheet-backdrop-out{0%{opacity:1}to{opacity:0}}@keyframes curiosity{0%,70%,to{opacity:.45;transform:rotate(23deg)translateY(0)}78%{opacity:1;transform:rotate(16deg)translateY(-3px)}86%{transform:rotate(26deg)translateY(0)}}@keyframes heart-float{0%,to{opacity:.7;transform:translateY(0)rotate(-16deg)scale(.95)}50%{opacity:1;transform:translateY(-7px)rotate(-8deg)scale(1.05)}}@keyframes cat-delight{0%,to{translate:0}42%{translate:0 -7px}72%{translate:0 -2px}}@keyframes cat-breathe{0%,to{scale:1}50%{scale:1.012 1.025}}@media (min-width:600px){body{background:radial-gradient(at 25% 0,#f9f2e8,#0000 60%),#eee7dc;min-height:100svh;padding:30px 16px}.app-shell{border:1px solid #e9dfd2;border-radius:31px;min-height:850px;box-shadow:0 14px 65px #654c3012,0 2px 12px #654c3008}.home-screen{min-height:850px;padding:32px 29px 24px}.shopping-screen{min-height:850px;padding:22px 29px}.home-hero{padding-top:43px}.recipe-card{min-height:110px}.recipe-thumbnail{width:110px;height:96px}.home-footer{padding-top:33px}.ingredient-row{min-height:66px}.completion-art{height:300px;margin-top:22px}.completion-cat{width:265px;height:265px}.completion-bag{width:230px;height:265px}.recipe-dialog{--sheet-edge-gap:25px;border-radius:27px}}@media (max-width:359px){.home-screen,.shopping-screen{padding-left:19px;padding-right:19px}.ad-placeholder--catalog .ad-placeholder-card{padding-left:16px}.ad-placeholder--catalog .ad-placeholder-title{font-size:21px}.ad-placeholder--catalog .ad-placeholder-image{width:96px;height:96px}.eyebrow{display:none}.home-hero{--home-cat-size:96px;--home-speech-width:122px;padding-right:130px}.home-hero .hero-description,.hero-description{font-size:12px}.recipe-card{gap:4px;padding-right:10px}.recipe-thumbnail{width:80px;height:78px}.shopping-heading h1{font-size:29px}.servings-control button{width:44px}.servings-control span{min-width:33px}.completion-cat{width:215px;height:215px;left:-23px}.completion-bag{width:173px}.cat-caption{font-size:19px;right:115px}.overview-hero h1{font-size:26px}.overview-hero h1+p{max-width:170px;font-size:12px}.overview-cat{width:92px;height:92px;right:-9px}.recipe-cat-note{min-height:83px;padding-left:10px}.recipe-cat-note .font-hand{font-size:20px}.recipe-cat-note p{max-width:145px;font-size:12px}.recipe-cat-chef{width:82px;height:82px;bottom:6px;right:-3px}.recipe-cat-chef .cat-spatula{width:21px;height:41px}.sheet-recipe-heading{gap:4px}.sheet-recipe-heading>img{width:76px;height:76px}.app-sheet-inner,.sheet-chrome,.sheet-footer{padding-left:20px;padding-right:20px}.meal-editor-greeting .font-hand{max-width:182px;font-size:21px}.meal-editor-greeting .meal-greeting-cat{width:72px;height:72px;right:-9px}.meal-editor-thumbnail{width:60px;height:60px}.meal-editor-item-copy{flex-direction:column;align-items:flex-start;gap:7px}.meal-editor-item-copy>span{font-size:12px}.meals-hero h1{font-size:28px}.meals-hero-description{max-width:165px}.meals-hero-cat{width:90px;height:90px}.meal-card{padding:15px 12px 12px}.meal-card-header h3{font-size:21px}.meal-card-tools .icon-button{width:44px}.meal-dishes{gap:3px}.meal-dishes span{font-size:12px}}@media (prefers-reduced-motion:reduce){*,:before,:after,::backdrop{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.cat-companion{aspect-ratio:1;line-height:0;display:block;position:relative}.cat-touch{touch-action:manipulation;background:0 0;border-radius:45%;width:100%;min-width:44px;height:100%;min-height:44px;display:block;position:relative}.cat-touch:focus-visible{outline-offset:-5px;outline:1.5px dashed #c89974}.cat-body{transform-origin:50% 92%;display:block;position:absolute;inset:0}.cat-body .cat-sprite{width:100%;height:100%}.cat-companion[data-mood=idle] .cat-body{animation:5s ease-in-out infinite friend-breathe}.cat-peeking[data-mood=pet] .cat-body{animation:1s ease-in-out friend-lean}.cat-peeking[data-mood=stamp] .cat-body{animation:.8s ease-in-out friend-nod}.cat-companion[data-paused=true] *{animation-play-state:paused!important}.completion-art:has(.cat-companion[data-paused=true])>*{animation-play-state:paused!important}.cat-body .held-spatula{width:19%;height:40%;transform:rotate(-29deg) translateY(var(--paw-lift,0px));transform-origin:65% 82%;transition:transform .1s linear;animation:none;position:absolute;bottom:6%;left:12%}.cat-pet-note{z-index:5;width:max-content;max-width:min(180px,100vw - 180px);color:var(--color-muted);font-family:var(--font-hand);white-space:normal;word-break:keep-all;overflow-wrap:anywhere;pointer-events:none;opacity:0;background:#fffdf6f5;border:1px solid #e5d3bd;border-radius:11px 11px 2px;padding:7px 10px;font-size:17px;line-height:1.3;transition:opacity .15s,translate .2s;position:absolute;bottom:calc(100% + 10px);right:0;translate:0 4px}.cat-pet-note.is-visible{opacity:1;translate:0}.search-cat .cat-pet-note{width:var(--home-speech-width);border-radius:11px;max-width:none;padding:7px 9px;font-size:14px;bottom:calc(60% + 16px);right:0}.search-cat .cat-pet-note:after{content:"";right:calc(var(--home-cat-size) / 2 - 4px);background:#fffdf6;border-bottom:1px solid #e5d3bd;border-right:1px solid #e5d3bd;width:7px;height:7px;position:absolute;bottom:-4px;rotate:45deg}.recipe-cat-chef .cat-pet-note,.meal-greeting-cat .cat-pet-note,.meals-hero-cat .cat-pet-note,.catalog-search-cat .cat-pet-note{border-radius:11px 11px 2px;bottom:14px;right:calc(100% + 12px)}.catalog-search-cat .cat-pet-note{max-width:min(160px,100vw - 206px)}.meal-greeting-cat .cat-pet-note{bottom:8px}.meals-hero-cat .cat-pet-note{bottom:0}.recipe-cat-note:has(.cat-pet-note.is-visible)>div:first-child{visibility:hidden}.meal-editor-greeting:has(.cat-pet-note.is-visible)>div{visibility:hidden}.recommendation-cat .cat-pet-note{border-radius:11px 11px 11px 2px;max-width:min(180px,100vw - 190px);bottom:12px;left:calc(100% + 12px);right:auto}.recommendation-intro:has(.cat-pet-note.is-visible) .recommendation-speech{visibility:hidden}.search-cat .cat-curiosity{pointer-events:none}.search-cat:has([data-mood=alert]) .cat-curiosity{opacity:1;translate:0 -3px}.paw-mark i,.paw-mark b{background-image:radial-gradient(at 30% 25%,#fffaf329,#0000 75%);box-shadow:inset .5px -.5px 1px #926a3620}.add-recipe{position:relative}.add-paw-feedback{pointer-events:none;animation:1.2s ease-out both paw-receipt;position:absolute;top:-18px;right:-5px}.add-paw-feedback .paw-mark{color:#b59166;transform:scale(.72)rotate(19deg)}.menu-notebook{background:linear-gradient(103deg,#ecd6b2 0 10%,#fbf0d9 11% 92%,#ead5af 100%);border:1.3px solid #c29d73;border-radius:5px 9px 8px 5px;width:100px;height:74px;line-height:1;display:block;position:relative;transform:rotate(-7deg);box-shadow:0 3px 0 -1px #e6d2b4,0 5px 0 -2px #c5a57d,inset 1px 0 #fff9ee}.menu-notebook:after{content:"";border-radius:inherit;opacity:.22;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 100 80' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100' height='80' opacity='.14' filter='url(%23g)'/%3E%3C/svg%3E");position:absolute;inset:0}.notebook-rings{flex-direction:column;justify-content:space-between;display:flex;position:absolute;top:13%;bottom:13%;left:-5px}.notebook-rings i{background:#fff8e8;border:1px solid #b19270;border-radius:3px;width:10px;height:5px;display:block}.notebook-title{font-family:var(--font-hand);color:#99734e;white-space:nowrap;font-size:14px;position:absolute;top:17%;left:20%}.notebook-lines{width:44%;position:absolute;top:51%;left:23%}.notebook-lines i{border-bottom:1px solid #d9c3a0;height:7px;display:block}.notebook-stamp{color:#cb9471;opacity:0;position:absolute;bottom:7%;right:6%;transform:rotate(14deg)scale(.65)}.menu-notebook.is-stamped .notebook-stamp{opacity:.8}.notebook-ribbon{clip-path:polygon(0 0,100% 0,100% 100%,50% 75%,0 100%);background:#a8b499;width:9px;height:16px;position:absolute;top:-1px;right:14%}.cat-with-notebook .cat-body{translate:0 -14%}.cat-with-notebook .menu-notebook{pointer-events:none;width:77%;height:34%;position:absolute;bottom:-1%;left:12%}.cat-peeking.cat-with-notebook .notebook-title{font-size:12px}.cat-peeking.cat-with-notebook .notebook-stamp{bottom:-8%;right:-2%;transform:rotate(14deg)scale(.45)}.cat-with-notebook[data-stamped=false] .notebook-stamp{opacity:0}.cat-with-notebook[data-stamped=true] .notebook-stamp{animation:.35s ease-out both notebook-ink}.cat-seated.cat-with-notebook .menu-notebook{width:52%;height:29%;bottom:-1%;left:7%;transform:rotate(-13deg)}.cat-seated.cat-with-notebook .cat-body{translate:10% -8%}.cat-seated.cat-with-notebook .notebook-title{font-size:15px}.cat-seated.cat-with-notebook .notebook-stamp{bottom:0;right:6%}.meals-hero-cat{width:106px;height:115px;position:absolute;bottom:5px}.meal-greeting-cat{width:87px;height:91px}.empty-search-notebook{width:93px;height:73px;margin:24px auto 30px}.empty-meal-notebook{width:116px;height:90px;margin:20px auto 27px;transform:rotate(6deg)}.empty-meal-notebook .notebook-title{font-size:18px}.meal-kept-stamp{color:var(--color-muted);font-family:var(--font-hand);justify-content:flex-end;align-items:center;gap:1px;margin:-10px 1px 8px;font-size:13px;display:flex}.meal-kept-stamp .paw-mark{color:#ba9675;opacity:.75;margin-right:-3px;transform:rotate(-12deg)scale(.46)}.meal-success-cat{width:196px;height:196px;margin-top:88px;margin-bottom:25px}.meal-success-cat .cat-pet-note{bottom:calc(108% + 10px)}.completion-cat{z-index:2;width:200px;height:200px;position:absolute;bottom:0;left:-8px;transform:none}.completion-bag{z-index:1}.bag-tail{transform-origin:35% 93%;pointer-events:none}.completion-tail{width:57px;height:97px;animation:2.3s ease-in-out 2 tail-welcome;position:absolute;top:50px;right:35px;transform:rotate(19deg)}.completion-heart{top:36px;left:26px}.completion-spark{right:54px}.cat-settings-link{width:100%;min-height:48px;color:var(--color-muted);border-radius:10px;align-items:center;gap:4px;margin-top:9px;padding:0 7px;font-size:12px;display:flex}.cat-settings-link>.paw-mark{color:#c4a789;margin-left:-7px;transform:scale(.48)rotate(-15deg)}.cat-settings-link b{color:#947555;margin-left:3px;font-weight:500}.cat-settings-link>span:last-child{align-items:center;gap:3px;margin-left:auto;display:inline-flex}.cat-settings-link:hover{background:#f6eadb80}.cat-settings-form{padding-bottom:10px}.cat-profile-preview{justify-content:center;align-items:flex-end;min-height:191px;padding-top:72px;display:flex;position:relative}.cat-profile-preview>.cat-companion{width:179px;height:179px}.cat-profile-halo{background:radial-gradient(#f3e8d7,#fbf3e5 70%,#0000 72%);border-radius:50%;width:166px;height:120px;position:absolute;bottom:1px;left:50%;translate:-50%}.cat-profile-preview>.font-hand{color:var(--color-muted);white-space:nowrap;font-size:20px;position:absolute;bottom:9px;left:50%;translate:-50% 100%}.cat-pet-guide{text-align:center;color:var(--color-muted);padding:30px 0 28px;font-size:12px}.scarf-options{border:0;margin:24px 0;padding:0}.scarf-options legend{color:#866a50;font-size:12px;font-weight:600}.scarf-options>div{gap:9px;margin-top:13px;display:flex}.scarf-options label{min-height:83px;color:var(--color-muted);cursor:pointer;border:1px solid #e6d9c8;border-radius:14px;flex-direction:column;flex:1;align-items:center;gap:8px;padding:12px 5px;font-size:12px;display:flex;position:relative}.scarf-options label.is-selected{color:#806140;background:#f6ead966;border-color:#c39970}.scarf-options input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.scarf-options label:has(input:focus-visible){outline-offset:3px;outline:2px solid #b9714b}.scarf-swatch{width:29px;height:29px;color:var(--color-cocoa);border-radius:45% 49% 44% 48%;place-items:center;display:grid;box-shadow:inset 0 0 0 1px #73503110}.cat-settings-form .primary-button{min-height:53px;font-size:15px}.cat-settings-form .primary-button>.paw-mark{color:#fff9ef;transform:scale(.67)rotate(-12deg)}@keyframes friend-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.006,1.014)}}@keyframes friend-lean{0%,to{rotate:none}45%,60%{rotate:-6deg}}@keyframes friend-nod{0%,to{transform:translateY(0)}45%{transform:translateY(3px)rotate(-2deg)}}@keyframes paw-receipt{0%{opacity:0;transform:translateY(4px)scale(1.25)}22%,65%{opacity:.9;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-7px)scale(.95)}}@keyframes notebook-ink{0%{opacity:0;scale:1.2}to{opacity:.8;scale:1}}@keyframes tail-welcome{0%,to{rotate:none}40%{rotate:-9deg}70%{rotate:5deg}}@media (max-width:359px){.meals-hero-cat{width:90px;height:99px}.cat-pet-note{font-size:15px}.completion-cat{width:181px;height:181px;left:-12px}.completion-tail{width:47px;height:80px;top:65px;right:20px}.cat-with-notebook .notebook-title{font-size:12px}.meal-success-cat .notebook-title{font-size:15px}}.cat-nameplate{max-width:calc(100% - 103px);min-height:44px;color:var(--color-muted);text-align:left;align-items:center;gap:5px;margin-top:7px;font-size:11px;line-height:1.5;display:inline-flex}.cat-nameplate>.paw-mark{flex:0 0 18px;margin-left:-6px;margin-right:-5px;transform:scale(.42)}.cat-nameplate>span:first-of-type{overflow-wrap:anywhere;min-width:0}.cat-nameplate b{color:var(--color-cocoa);margin-left:3px;font-weight:600}.cat-nameplate>span:last-child{flex-shrink:0}.home-hero:has(.cat-nameplate){padding-bottom:10px}.cat-profile-name{font-family:var(--font-display);color:var(--color-cocoa);overflow-wrap:anywhere;font-size:24px;line-height:1.5}.recipe-cat-note>div:first-child{flex:1;min-width:0}.recipe-cat-note .font-hand{overflow-wrap:anywhere;font-size:21px;line-height:1.45}.recipe-cat-note:has(.cat-words){align-items:center}.recipe-cat-note:has(.cat-words) .recipe-cat-chef{flex-shrink:0}.recommendation-speech p{overflow-wrap:anywhere}.recommendation-trigger-row{flex-wrap:wrap}.recommendation-controls{min-width:0;max-width:100%}.search-dice{flex-shrink:1;min-width:0;padding:8px 12px}.search-dice>span{overflow-wrap:anywhere;min-width:0}.search-dice .dice-icon{flex-shrink:0}.recipe-cat-note:has(.cat-words){min-height:114px;padding-right:108px}.meal-editor-greeting:has(.cat-words)>div{padding-right:82px}.meal-editor-greeting:has(.cat-words) .font-hand{overflow-wrap:anywhere;font-size:21px;line-height:1.45}.cat-words{overflow-wrap:anywhere}.search-dice>span{word-break:keep-all}.cat-profile-preview{flex-direction:column;align-items:center;padding-top:66px}.cat-profile-preview>.cat-companion{flex:none;width:160px;height:160px}.cat-profile-preview .cat-profile-name{text-align:center;max-width:100%;margin-top:4px}.cat-profile-preview>.font-hand{white-space:normal;text-align:center;overflow-wrap:anywhere;max-width:100%;margin-top:4px;font-size:19px;line-height:1.45;position:static;translate:none}.cat-profile-halo{height:90px;top:145px;bottom:auto}.cat-pet-guide{padding:16px 0 24px}.cat-companion.cat-chat{--chat-cat-size:104px;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(84px, auto) var(--chat-cat-size);aspect-ratio:auto;align-items:center;row-gap:8px;width:100%;height:auto;margin:0;display:grid;position:relative;bottom:auto;right:auto}.cat-chat>.cat-touch{width:var(--chat-cat-size);height:var(--chat-cat-size);grid-area:2/1;justify-self:end}.cat-chat>.cat-pet-note{width:fit-content;min-width:var(--chat-cat-size);text-align:left;border-radius:11px;grid-area:1/1;place-self:end;max-width:min(240px,100%);position:relative;bottom:auto;left:auto;right:auto}.cat-chat>.cat-pet-note:after{content:"";right:calc(var(--chat-cat-size) / 2 - 4px);background:#fffdf6;border-bottom:1px solid #e5d3bd;border-right:1px solid #e5d3bd;width:7px;height:7px;position:absolute;bottom:-4px;rotate:45deg}.friend-scene{--chat-cat-size:104px;margin-top:4px;position:relative}.friend-scene>p{bottom:calc(var(--chat-cat-size) / 2);width:calc(100% - 122px);color:var(--color-muted);margin:0;font-size:13px;line-height:1.7;position:absolute;left:0;translate:0 50%}.friend-scene .overview-cat{width:100%;height:auto;position:relative;bottom:auto;right:auto}.home-friend-tools{flex-wrap:wrap;align-items:center;column-gap:14px;display:flex}.home-friend-tools .cat-nameplate{max-width:100%;margin:0}.friend-shortcut{min-width:0}.friend-shortcut :is(a,button){color:#a45e39;text-underline-offset:4px;align-items:center;gap:4px;min-height:44px;font-size:11px;text-decoration:underline;display:inline-flex}.catalog-hero{padding-bottom:12px;padding-right:0}.overview-hero{padding-bottom:8px}.meals-hero{padding-bottom:16px}.shopping-companion:has(.cat-chat){min-height:112px;padding-top:0}.cooking-cat{margin:-8px 0 8px!important}.cooking-complete .cat-chat{--chat-cat-size:128px}.cooking-complete .cat-chat .cat-sprite{width:100%;height:100%}.completion-cat .cat-pet-note{max-width:170px;bottom:85%;right:8px}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}
