/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */
@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-border-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@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,ui-sans-serif, system-ui, 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{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{.visible{visibility:visible}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.resize{resize:both}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.uppercase{text-transform:uppercase}.underline{text-decoration-line:underline}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--primary:#8b5e3c;--primary-hover:#714a2e;--primary-soft:#f3e7db;--primary-dark:#5d3d24;--accent:#d98f70;--accent-soft:#fbe9e1;--accent-dark:#b46a4f;--bg:#faf7f2;--bg-rgb:250, 247, 242;--surface:#fff;--surface-alt:#f3eee8;--border:#ddd3c7;--border-strong:#c7b9a8;--text:#1f1a17;--text-2:#5f554e;--text-3:#8b8178;--success:#3d7a57;--success-soft:#e0efe6;--success-dark:#2c5a40;--warning:#b8841e;--warning-soft:#fbefd2;--warning-dark:#8a6112;--error:#b54848;--error-soft:#f5dcdc;--error-dark:#8a3535;--info:#3f6fa8;--info-dark:#2e578a;--cat-1:#c2703d;--cat-2:#5e8b5a;--cat-3:#c99a2e;--cat-4:#c0574b;--cat-5:#4a7cb5;--cat-6:#9b6a8f;--cat-7:#3e8e8a;--cat-8:#a97c50;--cat-neutral:var(--text-3);--r-2xs:4px;--r-xs:8px;--r-sm:12px;--r-md:16px;--r-lg:20px;--r-xl:24px;--r-pill:999px;--sh-raise:0 4px 0;--sh-bubble:0 6px 0;--sh-card:0 2px 0;--t:.15s cubic-bezier(.4, 0, .2, 1);--t-med:.2s cubic-bezier(.4, 0, .2, 1);--t-slow:.25s cubic-bezier(.4, 0, .2, 1);--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-8:32px;--s-10:40px;--s-12:48px;--s-14:56px;--s-16:64px;--s-18:72px;--s-20:80px;--s-24:96px;--touch:44px;--fs-xs:12px;--fs-sm:14px;--fs-md:16px;--fs-lg:19px;--fs-xl:24px;--fs-2xl:32px;--fs-3xl:40px;--fs-4xl:64px;--on-primary:#fff;--on-accent:#fff;--opacity-disabled:.6;--focus-ring:2px solid var(--primary);--font:"Fredoka", system-ui, sans-serif}body.theme-dark{--primary:#c39267;--primary-hover:#d6a77f;--primary-soft:#32251c;--primary-dark:#8a5d3a;--accent:#f0a98a;--accent-soft:#3b2a24;--accent-dark:#b97a5c;--bg:#141312;--bg-rgb:20, 19, 18;--surface:#1e1c1a;--surface-alt:#292623;--border:#3b3733;--border-strong:#564f49;--text:#f7f3ee;--text-2:#cdc4bb;--text-3:#978c82;--success:#6ab083;--success-soft:#1f3328;--success-dark:#4a8b62;--warning:#d4a547;--warning-soft:#33270f;--warning-dark:#a07c2d;--error:#e17878;--error-soft:#361e1e;--error-dark:#a85454;--cat-1:#e0996a;--cat-2:#7fb87a;--cat-3:#e4c05c;--cat-4:#e38279;--cat-5:#6f9bd1;--cat-6:#c295b6;--cat-7:#5fb5b0;--cat-8:#cba279}body.theme-calico{--primary:#c96b5c;--primary-hover:#b25344;--primary-soft:#fce6e1;--primary-dark:#8f3d31;--accent:#e7b05a;--accent-soft:#fceed1;--accent-dark:#b3853a;--bg:#fff7f2;--bg-rgb:255, 247, 242;--surface:#fff;--surface-alt:#faede3;--border:#ebd7c9;--border-strong:#d6b8a3;--text:#2a201b;--text-2:#6e5a4f;--text-3:#a59487;--success:#3e7d58;--success-soft:#e4f0e7;--success-dark:#2c5b40;--warning:#b57f1c;--warning-soft:#fbebce;--warning-dark:#855c10;--error:#c0504a;--error-soft:#f7dedb;--error-dark:#8c3a34;--info:#3f6fa8;--info-dark:#2e578a}body.theme-noir{--primary:#d3a24e;--primary-hover:#e0b15e;--primary-soft:#2a2312;--primary-dark:#a67c33;--on-primary:#1e1708;--accent:#7fa986;--accent-soft:#1c2a1f;--accent-dark:#5e8666;--on-accent:#10180f;--bg:#101013;--bg-rgb:16, 16, 19;--surface:#1a1a1e;--surface-alt:#24242a;--border:#2e2e35;--border-strong:#62626c;--text:#f2f0ec;--text-2:#b9b4ad;--text-3:#8a857d;--success:#6fb489;--success-soft:#16281d;--success-dark:#7fc79a;--warning:#d8ae4a;--warning-soft:#2a2410;--warning-dark:#e0bc5e;--error:#de7b7b;--error-soft:#2c1717;--error-dark:#e8a0a0;--info:#6fa3d6;--info-dark:#93bee4;--cat-1:#cd8a5c;--cat-2:#7fa976;--cat-3:#d3ad54;--cat-4:#cf7a6e;--cat-5:#6f97c4;--cat-6:#b389aa;--cat-7:#5fa9a4;--cat-8:#c0966b}body.theme-espresso{--primary:#6e4b3a;--primary-hover:#58392b;--primary-soft:#efe2d6;--primary-dark:#4a3022;--accent:#c78d4f;--accent-soft:#f6e6cf;--accent-dark:#946432;--bg:#f4efe9;--bg-rgb:244, 239, 233;--surface:#fffdf9;--surface-alt:#ece3d8;--border:#d9cdbe;--border-strong:#b9a890;--text:#201a16;--text-2:#57463b;--text-3:#987;--success:#40765a;--success-soft:#e3ede2;--success-dark:#2b563e;--warning:#a9761e;--warning-soft:#f4e4c9;--warning-dark:#7c5610;--error:#b04a40;--error-soft:#f2dad3;--error-dark:#83352c;--info:#3f6fa8;--info-dark:#2e578a}*{box-sizing:border-box;margin:0;padding:0}html,body{font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;min-height:100vh;font-weight:500}body.theme-dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html:has(.theme-dark){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}button{font-family:inherit}.btn{font-family:inherit;font-weight:700;font-size:var(--fs-md);text-transform:uppercase;letter-spacing:.8px;border-radius:var(--r-sm);padding:var(--s-3) var(--s-5);cursor:pointer;color:var(--on-primary);-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;gap:var(--s-2);min-width:120px;transition:filter var(--t), transform var(--t), box-shadow var(--t), background var(--t);background:var(--primary);box-shadow:var(--sh-raise) var(--primary-dark);border:2px solid #0000;text-decoration:none;display:inline-flex}.btn:active{box-shadow:0 0 0 var(--primary-dark);transform:translateY(2px)}.btn[disabled]{opacity:.55;cursor:not-allowed}.btn-accent{background:var(--accent);color:var(--on-accent);box-shadow:var(--sh-raise) var(--accent-dark)}.btn-accent:active{box-shadow:0 0 0 var(--accent-dark)}.btn-success{background:var(--success);box-shadow:var(--sh-raise) var(--success)}@supports (color:color-mix(in lab, red, red)){.btn-success{box-shadow:var(--sh-raise) color-mix(in srgb, var(--success), #000 30%)}}.btn-success:active{box-shadow:0 0 0 var(--success-dark)}.btn-warning{background:var(--warning);box-shadow:var(--sh-raise) var(--warning)}@supports (color:color-mix(in lab, red, red)){.btn-warning{box-shadow:var(--sh-raise) color-mix(in srgb, var(--warning), #000 30%)}}.btn-warning:active{box-shadow:0 0 0 var(--warning-dark)}.btn-danger{background:var(--error);box-shadow:var(--sh-raise) var(--error)}@supports (color:color-mix(in lab, red, red)){.btn-danger{box-shadow:var(--sh-raise) color-mix(in srgb, var(--error), #000 30%)}}.btn-danger:active{box-shadow:0 0 0 var(--error-dark)}.btn-secondary{background:var(--surface);color:var(--primary);border:2px solid var(--border);box-shadow:var(--sh-raise) var(--border-strong)}.btn-secondary:active{box-shadow:0 0 0 var(--border-strong)}.btn-ghost{color:var(--text-2);border:2px solid var(--border);box-shadow:none;background:0 0}.btn-ghost:active{transform:translateY(1px)}.btn-sm{padding:var(--s-2) var(--s-3);font-size:var(--fs-sm);min-width:0}.btn-xl{padding:var(--s-4) var(--s-8);font-size:var(--fs-lg)}.icon-btn{width:var(--touch);height:var(--touch);min-width:var(--touch);border-radius:var(--r-sm);background:var(--surface);color:var(--text-2);border:2px solid var(--border);box-shadow:var(--sh-raise) var(--border-strong);cursor:pointer;transition:all var(--t);justify-content:center;align-items:center;display:inline-flex}.icon-btn:active{box-shadow:0 0 0 var(--border-strong);transform:translateY(2px)}.icon-btn.is-active{background:var(--accent-soft);color:var(--accent-dark);border-color:var(--accent)}@media (hover:hover){.btn:hover{background:var(--primary-hover)}.btn-accent:hover{filter:brightness(1.05);background:var(--accent)}.btn-success:hover{filter:brightness(1.08);background:var(--success)}.btn-warning:hover{filter:brightness(1.05);background:var(--warning)}.btn-danger:hover{filter:brightness(1.05);background:var(--error)}.btn-secondary:hover{background:var(--surface-alt);border-color:var(--border-strong)}.btn-ghost:hover{border-color:var(--border-strong);color:var(--text)}.icon-btn:hover{background:var(--surface-alt);border-color:var(--border-strong);color:var(--text)}}.input{font-family:inherit;font-weight:500;font-size:var(--fs-md);background:var(--surface-alt);border:2px solid var(--border);border-radius:var(--r-sm);padding:var(--s-3) var(--s-4);color:var(--text);width:100%;transition:background var(--t), border-color var(--t)}.input::placeholder{color:var(--text-3)}.input:focus{background:var(--surface);border-color:var(--primary);outline:none}.tag{align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-3);background:var(--primary);color:var(--on-primary);font-weight:700;font-size:var(--fs-xs);letter-spacing:1px;text-transform:uppercase;border-radius:var(--r-pill);display:inline-flex}.tag-soft{background:var(--primary-soft);color:var(--primary)}.tag-accent{background:var(--accent);color:var(--on-accent)}.tag-success{background:var(--success-soft);color:var(--success-dark)}.tag-warning{background:var(--warning-soft);color:var(--warning-dark)}.chip-row{gap:var(--s-2);margin-bottom:var(--s-5);flex-wrap:wrap;display:flex}.chip{align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-4);background:var(--surface);border:2px solid var(--border);border-radius:var(--r-pill);box-shadow:var(--sh-card) var(--border);font-family:inherit;font-weight:600;font-size:var(--fs-sm);color:var(--text-2);cursor:pointer;transition:all var(--t);display:inline-flex}.chip:active{box-shadow:0 0 0 var(--border);transform:translateY(2px)}.chip.is-active{background:var(--primary-soft);border-color:var(--primary);box-shadow:0 2px 0 var(--primary);color:var(--primary-dark)}.stat{align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-3);background:var(--surface-alt);border:2px solid var(--border);border-radius:var(--r-pill);font-weight:700;font-size:var(--fs-sm);color:var(--text);display:inline-flex}.stat .stat-icon{font-size:var(--fs-lg);line-height:1}.progress-track{background:var(--surface-alt);border:2px solid var(--border);border-radius:var(--r-pill);height:16px;position:relative;overflow:hidden}.progress-fill{background:var(--primary);border-radius:var(--r-pill);height:100%;transition:width .4s cubic-bezier(.4,0,.2,1);position:relative}.progress-fill:after{content:"";border-radius:var(--r-pill);background:#ffffff80;height:3px;position:absolute;inset:1px 4px auto}.section-header{justify-content:space-between;align-items:baseline;gap:var(--s-3);margin-bottom:var(--s-5);padding-bottom:var(--s-3);border-bottom:2px solid var(--border);display:flex}.section-header h2{font-size:var(--fs-xl);letter-spacing:-.2px;font-weight:600}.section-header .eyebrow{font-size:var(--fs-xs);letter-spacing:1.2px;text-transform:uppercase;color:var(--text-3);font-weight:700}.checkbox-row{align-items:flex-start;gap:var(--s-3);padding:var(--s-3) var(--s-4);background:var(--surface);border:2px solid var(--border);border-radius:var(--r-sm);cursor:pointer;transition:all var(--t);-webkit-user-select:none;user-select:none;display:flex}.checkbox-row.checked{background:var(--success-soft);border-color:var(--success)}.checkbox-row.checked .check-box{background:var(--success);border-color:var(--success-dark);color:var(--on-primary)}.checkbox-row.checked .check-label{color:var(--text-3);text-decoration:line-through;text-decoration-thickness:2px}.check-box{border:2px solid var(--border-strong);border-radius:var(--r-xs);background:var(--surface);width:24px;height:24px;font-weight:700;font-size:var(--fs-md);color:#0000;transition:all var(--t);flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;line-height:1;display:inline-flex}.check-label{font-size:var(--fs-md);color:var(--text);font-weight:500;line-height:1.45}.check-label .qty{color:var(--primary);font-weight:700}.stepper{background:var(--surface-alt);border:2px solid var(--border);border-radius:var(--r-pill);padding:var(--s-1);box-shadow:var(--sh-card) var(--border);align-items:stretch;gap:0;display:inline-flex}.stepper button{width:var(--touch);height:var(--touch);border-radius:var(--r-pill);background:var(--primary);color:var(--on-primary);font-size:var(--fs-lg);cursor:pointer;transition:all var(--t);box-shadow:0 2px 0 var(--primary-dark);border:none;justify-content:center;align-items:center;font-weight:700;line-height:1;display:inline-flex}.stepper button:active{box-shadow:0 0 0 var(--primary-dark);transform:translateY(1px)}.stepper button:disabled{background:var(--border);box-shadow:0 2px 0 var(--border-strong);cursor:not-allowed}.stepper .val{min-width:64px;font-weight:700;font-size:var(--fs-lg);color:var(--text);padding:0 var(--s-3);justify-content:center;align-items:center;display:inline-flex}@media (hover:hover){.chip:hover,.checkbox-row:hover{border-color:var(--border-strong);background:var(--surface-alt)}.stepper button:hover{background:var(--primary-hover)}}.card{background:var(--surface);border:2px solid var(--border);border-radius:var(--r-lg);padding:var(--s-5);box-shadow:var(--sh-card) var(--border);transition:transform var(--t), border-color var(--t)}.card-hover{cursor:pointer}.empty-state{text-align:center;padding:var(--s-12) var(--s-6)}.empty-state h3{font-size:var(--fs-lg);margin-bottom:var(--s-2);font-weight:600}.empty-state p{color:var(--text-2);font-weight:500;font-size:var(--fs-md);max-width:420px;margin:0 auto var(--s-4)}.recipe-grid{gap:var(--s-5);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));display:grid}@media (width<=480px){.recipe-grid{gap:var(--s-4);grid-template-columns:1fr}}.recipe-card{background:var(--surface);border:2px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--sh-card) var(--border);cursor:pointer;transition:transform var(--t), border-color var(--t), box-shadow var(--t);flex-direction:column;display:flex;position:relative;overflow:hidden}.recipe-card-open{z-index:1;cursor:pointer;border-radius:var(--r-lg);background:0 0;border:none;position:absolute;inset:0}.recipe-card-open:focus-visible{outline:var(--focus-ring);outline-offset:-3px}.recipe-thumb{aspect-ratio:4/3;border-bottom:2px solid var(--border);position:relative;overflow:hidden}.recipe-thumb-img{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.recipe-thumb-fallback{background:url(/recipe-background.svg) 50%/cover}body.theme-dark .recipe-thumb-fallback{background-image:url(/recipe-background-dark.svg)}body.theme-calico .recipe-thumb-fallback{background-image:url(/recipe-background-calico.svg)}body.theme-espresso .recipe-thumb-fallback{background-image:url(/recipe-background-expresso.svg)}.recipe-thumb .ph{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:var(--fs-xs);color:#ffffffd9;letter-spacing:1px;text-transform:uppercase;background-image:repeating-linear-gradient(45deg,#ffffff14 0 7px,#fff0 7px 14px);background-size:14px 14px;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.recipe-thumb-fallback .ph{color:var(--text-2);font-size:var(--fs-sm);text-shadow:0 1px 2px #fff9;background-image:none;font-weight:600}.recipe-thumb .save{top:var(--s-3);right:var(--s-3);z-index:2;width:var(--touch);height:var(--touch);background:var(--surface);-webkit-backdrop-filter:blur(8px);border:2px solid var(--border);cursor:pointer;color:var(--text-2);transition:all var(--t);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;box-shadow:0 2px #00000014}.recipe-thumb .save:active{transform:scale(.96);box-shadow:0 0 #00000014}.recipe-thumb .save.saved{color:var(--accent);background:var(--accent-soft);border-color:var(--accent)}.recipe-thumb .source{bottom:var(--s-3);left:var(--s-3);padding:var(--s-1) var(--s-2);color:#fff;font-size:var(--fs-xs);letter-spacing:.5px;border-radius:var(--r-pill);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0000008c;font-weight:600;position:absolute}.recipe-body{padding:var(--s-4);gap:var(--s-2);flex-direction:column;flex:1;display:flex}.recipe-title{font-size:var(--fs-lg);letter-spacing:-.2px;color:var(--text);overflow-wrap:anywhere;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-weight:600;line-height:1.25;display:-webkit-box;overflow:hidden}.recipe-meta{gap:var(--s-3);color:var(--text-2);font-size:var(--fs-sm);flex-wrap:wrap;font-weight:500;display:flex}.recipe-meta span{align-items:center;gap:var(--s-1);display:inline-flex}.tk-filters{align-items:center;gap:var(--s-3);margin-bottom:var(--s-5);display:flex}.tk-search{flex:1;align-items:center;display:flex;position:relative}.tk-search>svg{left:var(--s-4);color:var(--text-3);pointer-events:none;position:absolute}.tk-search .input{padding-left:var(--s-12)}.tk-filter-group{margin-bottom:var(--s-5)}.tk-filter-group .eyebrow{margin-bottom:var(--s-2);display:block}button.explore-shelf{text-align:left;cursor:pointer;text-transform:capitalize;width:100%;font-family:inherit}.tk-list,.tk-card{gap:var(--s-3);flex-direction:column;display:flex}.tk-card-head{justify-content:space-between;align-items:flex-start;gap:var(--s-3);display:flex}.tk-subject{font-size:var(--fs-lg);letter-spacing:-.2px;color:var(--text);overflow-wrap:anywhere;font-weight:600;line-height:1.3}.tk-badges{gap:var(--s-2);flex-wrap:wrap;flex-shrink:0;display:flex}.tk-badge{padding:var(--s-1) var(--s-3);font-weight:700;font-size:var(--fs-xs);letter-spacing:.6px;text-transform:uppercase;border-radius:var(--r-pill);white-space:nowrap}.tk-tone-success{background:var(--success-soft);color:var(--success-dark)}.tk-tone-warning{background:var(--warning-soft);color:var(--warning-dark)}.tk-tone-info{background:var(--surface-alt);background:var(--info)}@supports (color:color-mix(in lab, red, red)){.tk-tone-info{background:color-mix(in srgb, var(--info) 16%, var(--surface))}}.tk-tone-info{color:var(--info-dark)}.tk-tone-muted{background:var(--surface-alt);color:var(--text-3)}.tk-tone-neutral{background:var(--primary-soft);color:var(--primary)}.tk-desc{color:var(--text-2);font-weight:500;font-size:var(--fs-md);white-space:pre-wrap;overflow-wrap:anywhere;-webkit-line-clamp:4;line-clamp:4;-webkit-box-orient:vertical;line-height:1.5;display:-webkit-box;overflow:hidden}.tk-card-foot{justify-content:space-between;align-items:center;gap:var(--s-3);padding-top:var(--s-1);flex-wrap:wrap;display:flex}.tk-link{align-items:center;gap:var(--s-2);color:var(--primary);font-weight:600;font-size:var(--fs-sm);text-decoration:none;display:inline-flex}.tk-date{color:var(--text-3);font-size:var(--fs-sm);margin-left:auto;font-weight:500}.tk-lock-badge{width:var(--s-12);height:var(--s-12);margin:0 auto var(--s-3);border-radius:var(--r-pill);background:var(--primary-soft);color:var(--primary);justify-content:center;align-items:center;display:inline-flex}@media (hover:hover){.card-hover:hover{border-color:var(--border-strong);transform:translateY(-2px)}.recipe-card:hover{border-color:var(--border-strong);transform:translateY(-3px)}.recipe-thumb .save:hover{color:var(--accent);transform:scale(1.06)}.tk-link:hover{text-decoration:underline}}.explore-pantry{margin-bottom:calc(var(--s-8) + var(--s-6))}.explore-intro{color:var(--text-2);font-weight:500;font-size:var(--fs-md);margin:calc(-1 * var(--s-2)) 0 var(--s-5);max-width:620px}.explore-shelves{gap:var(--s-3);grid-template-columns:repeat(auto-fill,minmax(180px,1fr));display:grid}.explore-shelf{align-items:stretch;gap:var(--s-3);min-height:64px;padding:var(--s-3) var(--s-4);border-radius:var(--r-sm);flex-direction:row;display:flex}.explore-shelf.is-active{border-color:var(--primary);background:var(--primary-soft)}.explore-shelf-placeholder{background:var(--surface-alt);opacity:.6}.explore-shelf-swatch{border-radius:var(--r-pill);flex-shrink:0;align-self:stretch;width:6px}.explore-shelf-name{font-size:var(--fs-md);color:var(--text);letter-spacing:-.2px;min-height:calc(var(--fs-md) * 1.2 * 2);align-items:center;font-weight:700;line-height:1.2;display:flex}.explore-preview{margin-top:var(--s-8)}.explore-preview .section-header{border-bottom:none;padding-bottom:0}@media (width<=480px){.explore-shelves{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}}.topbar{z-index:50;background:rgba(var(--bg-rgb), .92);-webkit-backdrop-filter:blur(12px)saturate(140%);border-bottom:2px solid var(--border);position:sticky;top:0}.topbar-inner{max-width:1180px;padding:var(--s-3) var(--s-6);align-items:center;gap:var(--s-4);margin:0 auto;display:flex}.logo{align-items:center;gap:var(--s-2);font-weight:700;font-size:var(--fs-xl);letter-spacing:-.5px;color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-flex}.logo-mark{width:40px;height:40px;color:var(--primary);display:block}.spacer{flex:1}.theme-dropdown{position:relative}.theme-dropdown-menu{margin-top:var(--s-2);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);padding:var(--s-2);z-index:100;min-width:160px;position:absolute;top:100%;right:0;box-shadow:0 8px 24px #0000002e}.theme-option{align-items:center;gap:var(--s-2);width:100%;padding:var(--s-2) var(--s-3);border-radius:var(--r-xs);color:var(--text);font-size:var(--fs-sm);cursor:pointer;transition:background var(--t);background:0 0;border:none;display:flex}.theme-option:active{opacity:.75}.theme-option.is-active{background:var(--primary-soft);color:var(--primary);font-weight:600}@media (hover:hover){.theme-option:hover{background:var(--border)}}.theme-swatch{border:2px solid var(--border);border-radius:50%;flex-shrink:0;width:16px;height:16px}.hero{text-align:center;padding:var(--s-14) var(--s-6) var(--s-12);box-shadow:none;background:0 0;border:none;border-radius:0;position:relative}.hero>*{z-index:1;position:relative}.hero h1{font-size:clamp(var(--fs-3xl), 6vw, var(--fs-4xl));letter-spacing:-1.2px;margin:0 0 var(--s-3);color:var(--text);text-wrap:balance;font-weight:700;line-height:1.02}.hero h1 .hl{color:var(--primary)}.hero p.sub{font-size:var(--fs-lg);color:var(--text-2);max-width:700px;margin:0 auto var(--s-6);text-wrap:balance;line-height:1.5}.paster{gap:var(--s-2);background:var(--surface);border:2px solid var(--border-strong);border-radius:var(--r-md);max-width:640px;padding:var(--s-2);box-shadow:0 4px 0 var(--border-strong);transition:border-color var(--t), box-shadow var(--t);margin:0 auto;display:flex}.paster:focus-within{border-color:var(--primary);box-shadow:0 4px 0 var(--primary-dark)}.paster .input{padding:var(--s-3);font-size:var(--fs-md);box-shadow:none;background:0 0;border:none;flex:1}.paster .input:focus{background:0 0}main{min-height:100svh}.page{max-width:1180px;padding:var(--s-8) var(--s-6) var(--s-24);margin:0 auto}.row{align-items:center;gap:var(--s-2);display:flex}.col{gap:var(--s-2);flex-direction:column;display:flex}.cook-overlay{z-index:1000;background:var(--bg);animation:fadeIn var(--t-slow);flex-direction:column;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.cook-header{padding:var(--s-4) var(--s-6);border-bottom:2px solid var(--border);align-items:center;gap:var(--s-4);background:var(--surface);display:flex}.cook-title{font-size:var(--fs-lg);color:var(--text-2);letter-spacing:-.2px;flex:1;font-weight:600}.cook-title b{color:var(--text);font-weight:700}.cook-body{padding:var(--s-12) var(--s-6) var(--s-8);flex:1;justify-content:center;align-items:flex-start;display:flex;overflow-y:auto}.cook-step-card{background:var(--surface);border:2px solid var(--border);border-radius:var(--r-xl);width:100%;max-width:760px;padding:clamp(var(--s-6), 5vw, var(--s-12));box-shadow:var(--sh-card) var(--border);gap:var(--s-6);flex-direction:column;display:flex}.cook-step-num{align-items:center;gap:var(--s-4);color:var(--text-3);font-size:var(--fs-sm);letter-spacing:1.4px;text-transform:uppercase;font-weight:700;display:flex}.cook-step-num .pip{background:var(--border-strong);border-radius:50%;width:8px;height:8px}.cook-step-num .pip.active{background:var(--primary);transform:scale(1.4)}.cook-step-num .pip.done{background:var(--success)}.cook-step-text{font-size:clamp(var(--fs-xl), 3vw, var(--fs-2xl));color:var(--text);letter-spacing:-.3px;text-wrap:pretty;font-weight:500;line-height:1.32}.cook-ing-list{background:var(--surface-alt);border:2px solid var(--border);border-radius:var(--r-md);padding:var(--s-4) var(--s-5);gap:var(--s-2);flex-direction:column;display:flex}.cook-ing-list .lbl{font-size:var(--fs-xs);letter-spacing:1.4px;color:var(--text-3);text-transform:uppercase;margin-bottom:var(--s-1);font-weight:700}.cook-ing-list .ing{font-size:var(--fs-md);color:var(--text);font-weight:500}.cook-ing-list .ing .qty{color:var(--primary);font-weight:700}.timer{align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4) var(--s-3) var(--s-3);background:var(--warning-soft);border:2px solid var(--warning);border-radius:var(--r-pill);color:var(--warning-dark);display:inline-flex}.timer .face{font-variant-numeric:tabular-nums;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:var(--fs-xl);min-width:var(--s-20);text-align:center;font-weight:700}.timer.running{background:var(--warning);color:var(--on-primary)}.cook-footer{border-top:2px solid var(--border);background:var(--surface);padding:var(--s-4) var(--s-6);align-items:center;gap:var(--s-3);display:flex}.cook-footer .progress-track{flex:1}.bubble{width:var(--s-14);height:var(--s-14);font-weight:700;font-size:var(--fs-xl);color:var(--on-primary);background:var(--primary);box-shadow:var(--sh-bubble) var(--primary-dark);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.bubble-success{background:var(--success);box-shadow:0 6px 0 var(--success)}@supports (color:color-mix(in lab, red, red)){.bubble-success{box-shadow:0 6px 0 color-mix(in srgb, var(--success), #000 30%)}}.bubble-locked{background:var(--border);color:var(--text-3);box-shadow:0 6px 0 var(--border-strong)}.bubble-active{animation:2.2s ease-in-out infinite bob}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.chat-fab{bottom:var(--s-6);right:var(--s-6);z-index:900;cursor:pointer;width:auto;height:auto;transition:transform var(--t);background:0 0;border:none;padding:0;position:fixed}@media (hover:hover){.chat-fab:hover{transform:translateY(-2px)}}.chat-fab:active{transform:translateY(1px)}.chat-fab-icon{width:auto;height:80px;color:var(--primary);display:block}.chat-panel{bottom:var(--s-6);right:var(--s-6);z-index:900;width:min(360px,100vw - 32px);height:min(480px,100vh - 160px);animation:fadeIn var(--t-med);flex-direction:column;padding:0;display:flex;position:fixed}.chat-header{padding:var(--s-3) var(--s-4);border-bottom:2px solid var(--border);justify-content:space-between;align-items:center;display:flex}.chat-header-title{font-weight:700;font-size:var(--fs-md);color:var(--text);letter-spacing:-.2px}.chat-header-close{font-size:var(--fs-xl);color:var(--text-3);cursor:pointer;padding:0 var(--s-1);transition:color var(--t);background:0 0;border:none;line-height:1}@media (hover:hover){.chat-header-close:hover{color:var(--text)}}.chat-messages{padding:var(--s-4);gap:var(--s-2);flex-direction:column;flex:1;display:flex;overflow-y:auto}.chat-empty{text-align:center;color:var(--text-3);font-size:var(--fs-sm);padding:var(--s-8) var(--s-3);font-weight:500;line-height:1.5}.chat-bubble-user{background:var(--primary-soft);color:var(--text);padding:var(--s-2) var(--s-3);border-radius:var(--r-md) var(--r-md) var(--r-2xs) var(--r-md);font-size:var(--fs-sm);word-break:break-word;align-self:flex-end;max-width:85%;font-weight:500}.chat-bubble-bot{background:var(--surface-alt);color:var(--text);padding:var(--s-2) var(--s-3);border-radius:var(--r-md) var(--r-md) var(--r-md) var(--r-2xs);font-size:var(--fs-sm);word-break:break-word;align-self:flex-start;max-width:85%;font-weight:500}.chat-results-label{font-weight:600;font-size:var(--fs-sm);color:var(--text-2);margin-bottom:var(--s-2);display:block}.chat-results-list{gap:var(--s-2);flex-direction:column;padding:0;list-style:none;display:flex}.chat-result-link{align-items:center;gap:var(--s-2);padding:var(--s-2);border-radius:var(--r-sm);background:var(--surface);border:2px solid var(--border);color:var(--primary);font-weight:600;font-size:var(--fs-sm);transition:border-color var(--t), background var(--t), transform var(--t);text-decoration:none;display:flex}@media (hover:hover){.chat-result-link:hover{border-color:var(--primary);background:var(--primary-soft)}}.chat-result-link:active{transform:translateY(1px)}.chat-result-text{gap:var(--s-1);flex-direction:column;min-width:0;display:flex}.chat-result-why{font-weight:500;font-size:var(--fs-xs);color:var(--text-2)}.chat-quota{padding:0 var(--s-3) var(--s-2);font-size:var(--fs-xs);color:var(--text-2);text-align:right}.chat-result-thumb{border-radius:var(--r-xs);object-fit:cover;flex-shrink:0;width:32px;height:32px}.chat-typing{gap:var(--s-1);padding:var(--s-3) var(--s-4);display:inline-flex}.chat-typing .dot{background:var(--text-3);border-radius:50%;width:8px;height:8px;animation:1.2s ease-in-out infinite chatDot}.chat-typing .dot:nth-child(2){animation-delay:.15s}.chat-typing .dot:nth-child(3){animation-delay:.3s}@keyframes chatDot{0%,60%,to{opacity:.3;transform:scale(.8)}30%{opacity:1;transform:scale(1)}}.chat-input-bar{gap:var(--s-2);padding:var(--s-3);border-top:2px solid var(--border);display:flex}.chat-input{padding:var(--s-2) var(--s-3);font-size:var(--fs-sm);flex:1}.chat-send{flex-shrink:0}.site-footer{max-width:1180px;margin:var(--s-12) auto 0;padding:var(--s-8) var(--s-6) var(--s-12)}.footer-links{margin-bottom:var(--s-4);flex-wrap:wrap;justify-content:center;align-items:center;display:flex}.footer-dot{color:var(--text-3);margin:0 var(--s-2);font-weight:700}.footer-link{font-family:inherit;font-size:var(--fs-xs);letter-spacing:.8px;text-transform:uppercase;color:var(--text-2);transition:color var(--t);font-weight:600;text-decoration:none}@media (hover:hover){.footer-link:hover{color:var(--primary)}}.kofi-btn{align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-5) var(--s-3) var(--s-3);background:var(--accent);color:var(--on-accent);font-family:inherit;font-weight:600;font-size:var(--fs-sm);border-radius:var(--r-pill);box-shadow:0 4px 0 var(--accent-dark);transition:transform var(--t), box-shadow var(--t), filter var(--t);text-decoration:none;display:inline-flex}@media (hover:hover){.kofi-btn:hover{filter:brightness(1.05)}}.kofi-btn:active{box-shadow:0 0 0 var(--accent-dark);transform:translateY(2px)}.kofi-cup{width:32px;height:32px;font-size:var(--fs-md);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.kofi-lbl{font-size:var(--fs-xs);opacity:.85;letter-spacing:.4px;text-transform:uppercase;margin-bottom:1px;font-weight:500;display:block}.kofi-btn b{font-size:var(--fs-md);letter-spacing:-.2px;font-weight:700;display:block}.kofi-btn-sm{padding:var(--s-2) var(--s-3) var(--s-2) var(--s-2);font-size:var(--fs-sm);gap:var(--s-2);box-shadow:0 3px 0 var(--accent-dark)}.kofi-btn-sm .kofi-cup{width:24px;height:24px}.kofi-btn-sm b{font-size:var(--fs-sm)}.site-footer-fineprint{font-size:var(--fs-xs);color:var(--text-3);letter-spacing:.2px;font-weight:500}.footer-overlay{z-index:1000;background:var(--bg);animation:fadeIn var(--t-slow);flex-direction:column;display:flex;position:fixed;inset:0}.footer-overlay-close{top:var(--s-4);right:var(--s-4);z-index:1;position:absolute}.footer-overlay-body{padding:var(--s-12) var(--s-6) var(--s-16);flex:1;justify-content:center;align-items:flex-start;display:flex;overflow-y:auto}.footer-overlay-content{width:100%;max-width:680px}.footer-overlay-content h2{font-size:var(--fs-2xl);letter-spacing:-.4px;margin-bottom:var(--s-2);font-weight:700}.footer-overlay-content h3{font-size:var(--fs-lg);color:var(--primary);margin-top:var(--s-6);margin-bottom:var(--s-2);letter-spacing:-.1px;font-weight:700}.footer-overlay-content p{font-size:var(--fs-md);color:var(--text-2);margin-bottom:var(--s-1);font-weight:500;line-height:1.6}.footer-overlay-content ul{gap:var(--s-2);flex-direction:column;padding:0;list-style:none;display:flex}.footer-overlay-content ul li{font-size:var(--fs-md);color:var(--text-2);padding-left:var(--s-4);font-weight:500;line-height:1.5;position:relative}.footer-overlay-content ul li:before{content:"";background:var(--primary);border-radius:50%;width:7px;height:7px;position:absolute;top:9px;left:0}.footer-page-updated{letter-spacing:.3px;font-size:var(--fs-sm)!important;color:var(--text-3)!important;margin-bottom:var(--s-3)!important;font-weight:600!important}.footer-page-version{margin-bottom:var(--s-6);padding-bottom:var(--s-6);border-bottom:2px solid var(--border)}.footer-page-version:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}button.footer-link{cursor:pointer;background:0 0;border:none;padding:0}.banner{border-radius:var(--r-lg);padding:var(--s-4);gap:var(--s-3);border:2px solid;align-items:flex-start;display:flex}.banner-success{background:var(--success-soft);color:var(--success-dark);border-color:var(--success)}.banner-warning{background:var(--warning-soft);color:var(--warning-dark);border-color:var(--warning)}.banner-info{background:var(--accent-soft);color:var(--accent-dark);border-color:var(--accent)}.banner .em{font-size:var(--fs-xl);line-height:1}.banner b{margin-bottom:2px;font-weight:700;display:block}.toast-wrap{left:0;right:0;bottom:var(--s-6);padding:0 var(--s-4);z-index:1100;pointer-events:none;justify-content:center;display:flex;position:fixed}.toast{pointer-events:auto;width:100%;max-width:420px;box-shadow:var(--sh-card) var(--border);animation:toast-in var(--t-slow) cubic-bezier(.4, 0, .2, 1);align-items:center}.toast-msg{font-weight:600;font-size:var(--fs-md);flex:1;line-height:1.4}.toast-close{width:var(--s-8);height:var(--s-8);border-radius:var(--r-sm);color:inherit;cursor:pointer;opacity:.7;transition:opacity var(--t);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}@media (hover:hover){.toast-close:hover{opacity:1}}.toast-close:focus-visible{outline-offset:2px;outline:2px solid}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.skeleton{background:linear-gradient(90deg, var(--surface-alt) 25%, var(--border) 50%, var(--surface-alt) 75%);border-radius:var(--r-sm);background-size:800px 100%;animation:1.5s linear infinite shimmer}.skeleton-card{background:var(--surface);border:2px solid var(--border);border-radius:var(--r-lg);overflow:hidden}.skeleton-card .skeleton-thumb{aspect-ratio:4/3;border-bottom:2px solid var(--border)}.skeleton-card .skeleton-body{padding:var(--s-4);gap:var(--s-2);flex-direction:column;display:flex}.skeleton-card .skeleton-line{border-radius:var(--r-xs);height:16px}.skeleton-card .skeleton-line-short{width:60%}@media print{@page{margin:1.5cm 1.2cm}.topbar,.print-hide,.site-footer,.btn,.icon-btn,.stepper,.banner,.banner-info,.banner-success,.chat-fab,.chat-panel,img,.recipe-header-grid>:first-child:not(.recipe-thumb){display:none!important}.recipe-thumb{height:auto!important;min-height:0!important;aspect-ratio:unset!important;border:none!important;border-radius:0!important;padding:0!important}.recipe-thumb .ph{display:none!important}*{color:#000!important;box-shadow:none!important;text-shadow:none!important;background:0 0!important}body{font-family:Georgia,Times New Roman,serif;font-size:12pt;line-height:1.35;background:#fff!important}h1,h2,h3{font-family:Georgia,Times New Roman,serif}h1{font-size:16pt;margin:0 0 .15em!important}h2{font-size:13pt;margin:0 0 .1em!important}.recipe-header-grid,.recipe-body-grid{grid-template-columns:none!important;gap:0!important;margin-bottom:.3em!important;display:block!important}.page{max-width:none;padding:0}.recipe-header-grid>.col{gap:4px!important}.recipe-header-grid .row{margin-top:0!important}.stat{border:none!important;padding:2px 0!important}.check-box{display:none!important}.checkbox-row{opacity:1!important;background:0 0!important;border:none!important;padding:.1em 0!important;text-decoration:none!important}.checkbox-row:before{content:"– ";font-weight:400}.checkbox-row.checked .check-label{opacity:1!important;text-decoration:none!important}.check-label{font-size:11pt}.qty{color:#000!important;font-weight:700!important}.eyebrow{display:none!important}.card{page-break-inside:avoid;border:none!important;margin-bottom:.25em!important;padding:.15em 0!important}.bubble{width:auto!important;height:auto!important;box-shadow:none!important;border-radius:0!important;font-size:12pt!important}.bubble:after{content:"."!important}.source{margin-top:.3em;font-size:11pt;text-decoration:underline;display:block!important;position:static!important}.recipe-grid{display:none!important}.section-header{margin-top:.6em;padding-bottom:.2em;border-bottom:1px solid #999!important}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.skip-link{top:var(--s-2);left:var(--s-2);z-index:200;padding:var(--s-2) var(--s-4);background:var(--surface);color:var(--primary);border:2px solid var(--primary);border-radius:var(--r-sm);box-shadow:var(--sh-raise) var(--border-strong);font-weight:700;font-size:var(--fs-sm);transition:transform var(--t);text-decoration:none;position:fixed;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}:where(button,a,[role=button],[role=checkbox],input,.chip,.theme-option):focus-visible{outline:var(--focus-ring);outline-offset:2px}.theme-option:focus-visible{outline-offset:-2px}@media (width<=720px){.topbar-inner{padding:var(--s-3) var(--s-4)}.page{padding:var(--s-5) var(--s-4) var(--s-20)}.hero{padding:var(--s-10) var(--s-5) var(--s-8)}.cook-step-card{padding:var(--s-6) var(--s-5)}.footer-overlay-close{top:var(--s-3);right:var(--s-3)}.footer-overlay-body{padding:var(--s-6) var(--s-4) var(--s-12)}.chat-panel{width:calc(100vw - 32px);height:calc(100vh - 160px);right:var(--s-4);bottom:var(--s-4)}.chat-fab{bottom:var(--s-4);right:var(--s-4)}}@media (width<=480px){.topbar-inner{padding:var(--s-2) var(--s-3);gap:var(--s-2)}.page{padding:var(--s-4) var(--s-3) var(--s-18)}.logo{font-size:var(--fs-lg)}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
