:root{--color-bg-primary:#121212;--color-surface:#1e1e1e;--color-border:#3f3f46;--color-accent:#22c55e;--color-focus-ring:#4ade80;--text-on-accent:#0a0a0a;--color-warning:#f59e0b;--color-error:#ef4444;--color-success:#22c55e;--color-info:#38bdf8;--color-pixel-1:#feffff;--color-pixel-2:#a0a0a0;--color-pixel-3:#525252;--color-pixel-4:#bed6fd;--color-pixel-5:#699efc;--color-pixel-6:#1e4a9d;--color-pixel-7:#011a51;--color-pixel-8:#ccf;--color-pixel-9:#8987ff;--color-pixel-10:#3837bc;--color-pixel-11:#0f0f65;--color-pixel-12:#ddc4ff;--color-pixel-13:#ae76ff;--color-pixel-14:#5828b8;--color-pixel-15:#230663;--color-pixel-16:#eac0f9;--color-pixel-17:#ce6df1;--color-pixel-18:#752194;--color-pixel-19:#36034b;--color-pixel-20:#f2c1df;--color-pixel-21:#e070b2;--color-pixel-22:#84235c;--color-pixel-23:#400426;--color-pixel-24:#f1c7c2;--color-pixel-25:#de7c70;--color-pixel-26:#822e24;--color-pixel-27:#3f0904;--color-pixel-28:#e8d0aa;--color-pixel-29:#c8913e;--color-pixel-30:#6f3f00;--color-pixel-31:#321300;--color-pixel-32:#d9da9d;--color-pixel-33:#a6a725;--color-pixel-34:#515200;--color-pixel-35:#1f2000;--color-pixel-36:#c9e29e;--color-pixel-37:#81ba28;--color-pixel-38:#316300;--color-pixel-39:#0b2a00;--color-pixel-40:#bce6ae;--color-pixel-41:#63c446;--color-pixel-42:#1a6b05;--color-pixel-43:#002f00;--color-pixel-44:#b4e5c7;--color-pixel-45:#54c17d;--color-pixel-46:#0e692e;--color-pixel-47:#002e0a;--color-pixel-48:#b5dfe4;--color-pixel-49:#56b3c0;--color-pixel-50:#105c68;--color-pixel-51:#00262d;--color-pixel-52:#a9a9a9;--color-pixel-53:#3c3c3c;--color-pixel-54:#000;--bg-primary:var(--color-bg-primary);--text-primary:#e4e4e7;--text-secondary:#a1a1aa;--text-accent:var(--color-accent);--text-accent-secondary:#4ade80;--link-color:var(--color-accent);--link-hover:#4ade80;--success-color:var(--color-success);--warning-color:var(--color-warning);--error-color:var(--color-error);--font-size:16px;--font-size-small:calc(var(--font-size)*.8);--font-size-medium:calc(var(--font-size)*1.2);--font-size-l:calc(var(--font-size)*1.5);--font-size-xl:calc(var(--font-size)*2);--font-size-2xl:calc(var(--font-size)*3);--font-size-3xl:calc(var(--font-size)*4);--pixel-icon-size:32px;--gap-small:.5rem;--gap-medium:1rem;--gap-large:2rem;--padding-small:.5rem;--padding-medium:1rem;--padding-large:2rem;--margin-small:.5rem;--margin-medium:1rem;--margin-large:2rem;--border-radius:.5rem;--bento-pillar-transport:var(--color-accent);--bento-pillar-reheat:var(--color-warning);--bento-pillar-cold:var(--color-info);--bento-pillar-utensils:var(--color-pixel-13);--radius-bento:4px}@layer base{*,*:before,*:after{box-sizing:border-box}body{margin:0;padding:0;width:100dvw;height:100dvh;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--color-surface);color:var(--text-primary)}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-surface)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}h1{color:var(--text-secondary);font-size:var(--font-size-xl);margin:0;padding:0}h2{color:var(--text-secondary);font-size:var(--font-size-l);margin:0}a{color:var(--link-color);text-decoration:none}a:hover{color:var(--link-hover)}a:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}button:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}img{width:100%;height:auto}button{border:none;background-color:#0000;cursor:pointer;padding:0;margin:0;border-radius:var(--border-radius)}i{font-style:italic}[data-disabled=true]{pointer-events:none}}@layer utilities{.flex{display:flex}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.items-center{align-items: center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-sm{gap:var(--gap-small)}.gap-md{gap:var(--gap-medium)}.gap-lg{gap:var(--gap-large)}.p-sm{padding:var(--padding-small)}.p-md{padding:var(--padding-medium)}.p-lg{padding:var(--padding-large)}.px-md{padding-inline:var(--padding-medium)}.py-lg{padding-block:var(--padding-large)}.m-0{margin:0}.mx-auto{margin-inline:auto}.m-lg{margin:var(--margin-large)}.max-w-content{max-width:650px;width:100%}.overflow-y-auto{overflow-y:auto}.text-center{text-align:center}.w-full{width:100%}.max-w-lg{max-width:300px}.h-full{height:100%}.grid{display:grid}.italic{font-style:italic}.align-self-end{align-self: end}.rounded-lg{border-radius:var(--border-radius)}.object-cover{object-fit:cover}}@layer components{.app-name{font-size:var(--font-size-l);font-weight:700;text-align:center;margin:0;padding:0;color:var(--text-primary)}.app-name-accent{color:var(--color-accent)}.version{font-size:var(--font-size-small);color:var(--text-secondary);z-index:1000;font-family:monospace}.language-selector{font-size:var(--font-size-small);background:var(--color-surface);color:var(--text-primary);cursor:pointer;padding:.25rem .5rem;border:none;color-scheme:dark}.language-selector:hover,.language-selector:focus{background-color:var(--color-surface);outline:none}.app-home-brand{text-decoration:none;color:inherit}.app-home-brand:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px;border-radius:var(--border-radius)}.app-logo{flex-shrink:0;width:28px;height:28px;image-rendering:pixelated}.app-footer-pwa{width:100%;display:flex;justify-content:center}.app-footer-pwa[hidden]{display:none!important}@media (display-mode:standalone){.app-footer-pwa{display:none!important}}html.is-pwa-standalone .app-footer-pwa{display:none!important}.cookie-consent{position:fixed;z-index:1001;left:0;right:0;bottom:0;padding:.75rem 1rem;padding-bottom:max(.75rem,env(safe-area-inset-bottom));background:var(--color-bg-primary);border-top:1px solid var(--color-border);box-shadow:0 -4px 20px #0000001f}.cookie-consent[hidden]{display:none!important}.cookie-consent__inner{max-width:min(100%,40rem);margin:0 auto;display:flex;flex-direction:column;gap:.75rem}@media (min-width:640px){.cookie-consent__inner{flex-direction:row;align-items: center;justify-content:space-between;gap:1rem}}.cookie-consent__text{margin:0;font-size:var(--font-size-small);color:var(--text-secondary);line-height:1.45}.cookie-consent__more{display:inline;margin-left:.35rem;color:var(--color-accent);font-weight:600;text-decoration:underline;text-underline-offset:2px}.cookie-consent__more:hover,.cookie-consent__more:focus{filter:brightness(1.08);outline:none}.cookie-consent__more:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px;border-radius:2px}.cookie-consent__actions{display:flex;flex-wrap:wrap;align-items: center;gap:.5rem;flex-shrink:0}.cookie-consent__btn{font-size:var(--font-size-small);padding:.45rem .9rem;border-radius:var(--border-radius);cursor:pointer;font-weight:600;border:1px solid var(--color-border);background:0 0;color:var(--text-primary)}.cookie-consent__btn:hover,.cookie-consent__btn:focus{filter:brightness(1.05);outline:none}.cookie-consent__btn:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.cookie-consent__btn--primary{background:var(--color-accent);color:var(--text-on-accent);border-color:#0000}.cookie-consent__btn--primary:hover,.cookie-consent__btn--primary:focus{filter:brightness(1.08)}.app-footer-pwa-inner{display:inline-flex;flex-direction:column;align-items: center;justify-content:center;gap:.45rem;max-width:min(100%,28rem);padding:.4rem .75rem;background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--border-radius)}.pwa-install-fallback{margin:0;font-size:var(--font-size-small);color:var(--text-secondary);line-height:1.4;text-align:center}.pwa-install-actions{display:inline-flex;align-items: center;justify-content:center;gap:.5rem;flex-wrap:wrap}.pwa-install-actions--fallback .pwa-install-btn{display:none!important}.pwa-install-btn{font-size:var(--font-size-small);background:var(--color-accent);color:var(--text-on-accent);border:none;padding:.4rem .85rem;border-radius:var(--border-radius);cursor:pointer;font-weight:600;white-space:nowrap;flex-shrink:0}.pwa-install-btn:hover,.pwa-install-btn:focus{filter:brightness(1.08);outline:none}.pwa-install-btn:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.pwa-install-dismiss{font-size:var(--font-size-small);background:0 0;color:var(--text-secondary);border:none;padding:.35rem .5rem;cursor:pointer;text-decoration:underline;white-space:nowrap;flex-shrink:0}.pwa-install-dismiss:hover,.pwa-install-dismiss:focus{color:var(--text-primary)}.card-overlay{position:absolute;inset:0;z-index:10;display:flex;flex-direction:column;align-items: center;justify-content:center;gap:var(--gap-medium);padding:var(--padding-medium);text-align:center;background:var(--color-bg-primary);color:var(--text-secondary)}.card-overlay[hidden]{display:none}.card-overlay-loading{margin:0;font-size:var(--font-size-medium)}.card-overlay-error{display:flex;flex-direction:column;align-items: center;gap:var(--gap-medium)}.card-overlay-error[hidden]{display:none}.card-overlay-error-message{margin:0;color:var(--text-primary);font-size:var(--font-size-medium)}.card-overlay-retry{margin-top:.5rem}.favorites-load-error,.recipes-load-error{display:flex;flex-direction:column;align-items: center;gap:var(--gap-medium);padding:var(--padding-medium);text-align:center;min-height:6rem;justify-content:center}.favorites-load-error[hidden],.recipes-load-error[hidden]{display:none}.favorites-load-error-message,.recipes-load-error-message{margin:0;color:var(--text-primary);font-size:var(--font-size-medium)}.favorites-load-error-retry,.recipes-load-error-retry{margin-top:.5rem}.btn{background-color:var(--color-accent);color:var(--text-on-accent);padding:.5rem 1rem;text-decoration:none;border:1px solid var(--color-accent)}.btn-cta{background:var(--color-accent);color:var(--text-on-accent);border:none;padding:.75rem 1.5rem;border-radius:2rem;font-weight:600;font-size:var(--font-size-medium);letter-spacing:.02em;transition:transform .2s}.btn-cta:hover{transform:translateY(-2px);box-shadow:0 4px 14px #0006}.btn-cta:active{transform:translateY(0)}#card-controls .btn-card-random{display:inline-flex;align-items: center;justify-content:center;width:auto;max-width:min(100%,15rem);margin:var(--gap-small)0;padding:.4rem .85rem;border-radius:1.25rem;font-size:var(--font-size-small);font-weight:500;font-family:inherit;line-height:1.2;text-align:center;background-color:var(--color-bg-primary);color:var(--color-accent);border:1px solid var(--color-accent);cursor:pointer;transition:transform .2s,background-color .2s,box-shadow .2s}#card-controls .btn-card-random:hover{transform:translateY(-1px);box-shadow:0 2px 10px #00000038}#card-controls .btn-card-random:active{transform:translateY(0);background-color:color-mix(in srgb,var(--color-accent)16%,var(--color-bg-primary))}.recipes-page-layout{max-width:650px;width:100%;margin:0 auto}.main-card{height:100%;display:flex;flex-direction:column;gap:var(--gap-large);position:relative;overflow:hidden;max-width:650px;width:100%;margin:0 auto;background:var(--color-surface)}.main-card:before{content:"";position:absolute;bottom:-20px;left:-50px;right:-50px;height:75px;background-image:linear-gradient(0deg,var(--color-surface)60%,transparent 100%);z-index:1;filter:blur(5px);pointer-events:none}.card-container{position:absolute;inset:0;overflow-y:auto;display:flex;flex-direction:column;padding:var(--padding-medium)var(--padding-large)100px;scrollbar-width:none;-ms-overflow-style:none}.card-container::-webkit-scrollbar{display:none}.card-container::-webkit-scrollbar-thumb{background:0 0}#card-title{color:var(--color-accent);padding-block:.35rem}.card-section{margin-top:var(--margin-large)}.card-section-title{font-size:var(--font-size-medium);font-weight:600;margin:0 0 var(--margin-small);color:var(--text-secondary)}.card-bento-area{margin-top:var(--margin-small);margin-bottom:var(--margin-small);padding:var(--padding-medium)0;border-top:1px dashed var(--color-border);border-bottom:1px dashed var(--color-border);display:flex;flex-direction:column;gap:var(--gap-medium)}.card-bento-recap{padding:0;margin:0;background:0 0;border:none}.card-bento-primary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gap-medium);margin-bottom:var(--margin-small)}@media (min-width:520px){.card-bento-primary{grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap-small)}}.card-bento-pillar{--bento-pillar-accent:var(--color-accent);margin:0;padding:var(--padding-medium)var(--padding-small);border-radius:var(--radius-bento);background:var(--color-surface);border:2px solid var(--color-border);border-left:5px solid var(--bento-pillar-accent);box-shadow:none;min-height:5.5rem;display:flex;flex-direction:column;justify-content:flex-start;gap:.35rem}.card-bento-pillar[data-bento-key=transport]{--bento-pillar-accent:var(--bento-pillar-transport)}.card-bento-pillar[data-bento-key=reheat]{--bento-pillar-accent:var(--bento-pillar-reheat)}.card-bento-pillar[data-bento-key=cold]{--bento-pillar-accent:var(--bento-pillar-cold)}.card-bento-pillar[data-bento-key=utensils]{--bento-pillar-accent:var(--bento-pillar-utensils)}.card-bento-pillar__label{margin:0;font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--bento-pillar-accent);line-height:1.2}.card-bento-pillar__value{margin:0;font-size:clamp(.82rem,2.5vw,.95rem);font-weight:600;line-height:1.35;color:#fff;flex:1}.card-bento-pillar__value .card-bento-dl__link{font-weight:600;color:#fff;text-decoration:underline;text-underline-offset:3px;text-decoration-color:#fff6}.card-bento-pillar__value .card-bento-dl__link:hover{text-decoration-color:#ffffffd9}.card-bento-secondary-wrap{margin-top:var(--margin-small);padding:0;border-radius:var(--radius-bento);background:var(--color-bg-primary);border:2px solid var(--color-border);overflow:hidden}.card-bento-secondary-summary{display:flex;align-items: center;justify-content:space-between;gap:var(--gap-medium);width:100%;box-sizing:border-box;margin:0;cursor:pointer;list-style:none;padding:.7rem .85rem;font-size:.8125rem;font-weight:600;color:var(--text-primary);background:var(--color-surface);border:none;user-select:none;-webkit-tap-highlight-color:transparent;transition:background-color .15s}.card-bento-secondary-summary:hover{background:color-mix(in srgb,var(--color-surface)88%,var(--color-accent))}.card-bento-secondary-summary:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:-2px}.card-bento-secondary-summary__label{flex:1;text-align:left;min-width:0}.card-bento-secondary-summary:after{content:"";display:block;flex-shrink:0;width:.45em;height:.45em;border-style:solid;border-width:0 2px 2px 0;border-color:var(--text-secondary);transform:rotate(-45deg);transition:transform .2s,border-color .15s}.card-bento-secondary-wrap[open] .card-bento-secondary-summary:after{transform:rotate(45deg);border-color:var(--color-accent)}.card-bento-secondary-summary::-webkit-details-marker{display:none}.card-bento-secondary-wrap[open] .card-bento-secondary-summary{border-bottom:1px solid var(--color-border)}.card-bento-dl{margin:0;display:grid;grid-template-columns:minmax(5rem,auto)1fr;gap:var(--gap-small)var(--gap-medium);align-items: start}.card-bento-dl--secondary{margin:0;padding:var(--padding-medium)var(--padding-medium)var(--padding-small);border-top:none}.card-bento-dl__term{margin:0;font-weight:600;color:var(--color-accent);font-size:.9em}.card-bento-dl__def{margin:0;line-height:1.4;color:var(--text-primary)}.card-bento-dl__link{color:inherit;text-decoration:underline;text-underline-offset:2px}.card-bento-export{display:flex;justify-content:center;width:100%}.card-bento-export__row{display:flex;flex-wrap:nowrap;gap:var(--gap-small);align-items: center;width:100%;justify-content:space-between}@media (min-width:640px){.card-bento-export__row{width:auto;flex-wrap:wrap;justify-content:center}}.card-bento-export--bottom{margin-top:var(--margin-large);padding-top:var(--padding-medium);border-top:1px dashed var(--color-border)}.card-bento-export__btn{display:inline-flex;align-items: center;justify-content:center;min-height:2.25rem;padding:0 1rem;font-size:.8125rem;font-weight:500;line-height:1;border-radius:999px;border:1px solid var(--color-border);background:0 0;color:var(--text-secondary,#64748b);cursor:pointer;transition:border-color .2s,color .2s,background-color .2s}.card-bento-export__btn:hover{border-color:var(--color-accent);color:var(--color-accent)}.card-bento-export__btn:active{background:color-mix(in srgb,var(--color-border)40%,transparent)}.card-bento-export__btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.card-bento-message{text-align:center;margin:0;font-size:.875rem;color:var(--text-secondary)}.card-bento-message--error{color:#b91c1c}.about-item__body--preline{white-space:pre-line}.card-serving{display:flex;width:100%;margin:var(--margin-medium)auto;align-items: center;justify-content:center;gap:var(--gap-medium)}.card-serving-btn{display:inline-flex;align-items: center;justify-content:center;min-width:2rem;height:2rem;padding:0;font-size:1.25rem;line-height:1;border:1px solid var(--color-border);background:var(--color-surface);color:var(--text-primary);cursor:pointer}.card-serving-btn:hover:not(:disabled){background:var(--color-accent);color:var(--text-on-accent)}.card-serving-btn:disabled{opacity:.5;cursor:not-allowed}.card-serving-value{min-width:1.5rem;font-weight:600;text-align:center}.card-list{margin:0;padding-left:var(--padding-large);display:flex;flex-direction:column;gap:var(--gap-small)}.card-list li{line-height:1.4}.card-list--steps{list-style:decimal}.card-list:not(.card-list--steps){list-style:disc}.card-notes{font-size:var(--font-size-small);font-style:italic;line-height:1.5;list-style-type:none;padding:var(--padding-medium)0 0;color:var(--text-secondary)}.card{position:relative;height:100%;display:grid;gap:var(--gap-small);grid-template-rows:1fr auto;grid-template-columns:1fr;grid-template-areas:"canvas" "controls"}.card-scrollable{grid-area:scrollable;overflow-y:auto;min-height:0;display:flex;flex-direction:column;gap:var(--gap-small)}.card-scrollable h1{margin:0 var(--margin-medium);padding:0;font-size:var(--font-size-l);text-transform:uppercase}.btn-arrow{grid-area:arrow;background:0 0;border:none;color:var(--text-secondary);cursor:pointer;padding:var(--padding-small);display:flex;align-items: center;justify-content:center;transition:transform .2s,color .2s}.btn-arrow:hover{color:var(--color-success);transform:translateY(2px)}.btn-arrow-icon{width:2rem;height:2rem;flex-shrink:0}.card .bento-viewer-canvas{position:absolute;inset:0}}.app-site-nav__link[aria-current=page],:disabled{opacity:.75;filter:grayscale(100%);pointer-events:none;transition:all .3s}.app{display:grid;grid-template-rows:auto 1fr auto;grid-template-areas:"header" "main" "footer";overflow:hidden;width:100dvw;height:100dvh}.app-main{position:relative;height:100%}.app-main>*{position:absolute;inset:0}.app-header{grid-area:header;background:var(--color-surface);border-bottom:1px solid var(--color-border)}.app-main{grid-area:main}.app-footer{grid-area:footer;position:relative;z-index:2;display:flex;gap:var(--gap-small);padding:var(--padding-small)var(--padding-medium)var(--padding-medium);text-align:center;flex-direction:column;flex-shrink:0}.app-footer-nav{display:none;justify-content:center;align-items: center;gap:var(--gap-large);flex-flow:wrap;width:100%;max-width:none;margin-left:auto;margin-right:auto}@media (min-width:768px){.app-footer-nav{display:flex}}.visually-hidden{position:absolute;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0}.app-header-burger,.app-card-nav-burger{display:none}.app-mobile-nav-trigger{background-color:var(--color-bg-primary);color:var(--text-primary);border:1px solid var(--color-border);cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:1.25rem;justify-content:center;align-items: center;padding:.4rem .65rem;transition:background-color .2s,border-color .2s,transform .2s;font-family:inherit;line-height:1}.app-mobile-nav-trigger:hover{border-color:var(--color-accent);color:var(--color-accent)}.app-mobile-nav-trigger:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.app-burger-icon{display:flex;flex-direction:column;justify-content:center;gap:.22rem;width:1.1rem;height:.85rem}.app-burger-icon>span{display:block;background:currentColor;border-radius:1px;height:2px}@media (max-width:767px){body:not(.app-mobile-nav--card) .app-header-burger,body.app-mobile-nav--card .app-card-nav-burger{display:inline-flex}}.mobile-nav-sheet{position:fixed;z-index:10000;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .22s,visibility .22s;inset:0}.mobile-nav-sheet.mobile-nav-sheet--open{opacity:1;visibility:visible;pointer-events:auto}.mobile-nav-sheet__backdrop{position:absolute;z-index:0;background:#00000073;inset:0}.mobile-nav-sheet__panel{position:absolute;z-index:1;display:flex;padding:var(--padding-medium);padding-bottom:max(var(--padding-medium),env(safe-area-inset-bottom,0px));background:var(--color-surface);border-top:1px solid var(--color-accent);flex-direction:column;max-height:min(78vh,100%);transition:transform .28s cubic-bezier(.32,.72,0,1);bottom:0;left:0;right:0;transform:translateY(100%);box-shadow:0 -8px 32px #00000047}.mobile-nav-sheet.mobile-nav-sheet--open .mobile-nav-sheet__panel{transform:translateY(0)}.mobile-nav-sheet__head{display:flex;justify-content:space-between;align-items: center;gap:var(--gap-medium);margin-bottom:var(--gap-medium)}.mobile-nav-sheet__title{font-size:var(--font-size-medium);margin:0;font-weight:600}.mobile-nav-sheet__close{display:inline-flex;cursor:pointer;border:1px solid var(--color-accent);color:var(--color-accent);-webkit-tap-highlight-color:transparent;background:0 0;border-radius:0;flex-shrink:0;justify-content:center;align-items: center;min-width:2.5rem;min-height:2.5rem;padding:.35rem .65rem;transition:background-color .15s,color .15s;font-family:inherit;font-size:1.35rem;line-height:1}.mobile-nav-sheet__close:hover{background:color-mix(in srgb,var(--color-accent)14%,transparent)}.mobile-nav-sheet__close:focus-visible{background:color-mix(in srgb,var(--color-accent)14%,transparent);outline:2px solid var(--color-accent);outline-offset:2px}.mobile-nav-sheet__nav{display:flex;overflow-y:auto;flex-direction:column;align-items:stretch;gap:.35rem}.mobile-nav-sheet__link{display:block;text-align:left;text-decoration:none;color:var(--text-primary);border:1px solid #0000;border-radius:0;padding:.65rem .75rem;transition:background-color .15s,border-color .15s;font-weight:500}.mobile-nav-sheet__link:hover{background:color-mix(in srgb,var(--color-accent)12%,transparent);border-color:color-mix(in srgb,var(--color-accent)35%,transparent);outline:none}.mobile-nav-sheet__link:focus-visible{background:color-mix(in srgb,var(--color-accent)12%,transparent);border-color:color-mix(in srgb,var(--color-accent)35%,transparent);outline:none}.crafter-canvas-container{grid-area:canvas;position:relative;height:100%}.bento-viewer-canvas{object-fit:cover;width:100%;height:100%}.crafter-page.mini-bento-viewer .crafter-canvas-container{height:calc(var(--pixel-icon-size)*1.5)}.crafter-page.mini-bento-viewer .bento-viewer-canvas{display:none}.bento-viewer-button{position:absolute;z-index:1000;cursor:pointer;top:1rem;right:1rem}.crafter-page{display:grid;grid-template-rows:1fr 1.3fr;grid-template-areas:"canvas" "stepper";height:100%}@media (min-width:768px){.crafter-page{display:grid;grid-template-rows:1fr;grid-template-columns:1.5fr 1fr;grid-template-areas:"stepper canvas";height:100%}.crafter-canvas-container{max-height:400px}.bento-viewer-button{display:none}}.crafter-page.mini-bento-viewer{grid-template-rows:auto 2fr auto}.crafter-stepper{grid-area:stepper;position:relative}.crafter-stepper-button{position:relative;text-decoration:none;cursor:pointer;width:var(--pixel-icon-size);height:var(--pixel-icon-size);border-bottom:3px solid #0000;transition:all .3s}.crafter-stepper-button[aria-current=true]{filter:grayscale(100%);opacity:.7;transform:translateY(-5px)}.base-container{position:absolute;inset:0}.base-choice-page{transition:all .2s}.base-choice-page[role=button]{display:flex;align-items: center;gap:var(--gap-medium);cursor:pointer;background-color:var(--color-surface);border:1px solid var(--color-border)}.base-choice-page[role=button]:hover{transform:translateY(-2px);box-shadow:0 4px #0006}.base-choice-page[role=button][disabled]{opacity:.5;cursor:not-allowed;transform:none}.base-choice-page[role=button][data-selected=true]{border:1px solid var(--color-accent)}.ingredient-choice-container{cursor:pointer;background-color:var(--color-surface);border:1px solid var(--color-border);transition:all .2s}.ingredient-choice-container h2{font-size:var(--font-size-medium);margin:0}.ingredient-choice-container[data-type=core]{border:1px solid var(--color-accent)}.ingredient-choice-container[data-type=core] h2{color:var(--color-accent)}.ingredient-choice-container[data-type=core] h2:after{content:" *";color:var(--color-accent);font-size:var(--font-size-small)}.ingredient-choice-container:hover{transform:translateY(-2px);box-shadow:0 4px #0006}.ingredient-choice-description[role=button]{cursor:pointer;background-color:var(--color-surface);border:1px solid var(--color-border)}.ingredient-choice-description[role=button][data-selected=true]{border:1px solid var(--color-accent)}.stepper-export-button{background-color:var(--color-surface);padding:var(--padding-small)var(--padding-medium);border:1px solid var(--color-border);cursor:pointer;color:var(--text-secondary);text-align:center;min-width:200px;transition:all .2s}.stepper-export-button:hover{transform:translateY(-2px);box-shadow:0 4px #0006}.stepper-export-button:active{transform:translateY(0);box-shadow:0 2px 4px #0006}.stepper-export-button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.stepper-page-title{color:var(--text-secondary);font-size:var(--font-size-l);margin-bottom:var(--margin-medium);text-align:center}.stepper-page p{color:var(--text-secondary);font-size:var(--font-size-small);text-align:center;margin-bottom:var(--margin-large)}.stepper-export-quantity-selector{background-color:var(--color-surface);padding:var(--padding-small)var(--padding-medium);border:1px solid var(--color-border);cursor:pointer}.stepper-export-quantity-selector:hover{transform:translateY(-2px);box-shadow:0 4px #0006}.stepper-export-quantity-selector:active{transform:translateY(0);box-shadow:0 2px 4px #0006}.recipes-search-toolbar{position:relative;display:flex;gap:var(--gap-small);flex-direction:column;width:100%}.recipes-search-toolbar[hidden],input.recipes-search[hidden],.recipes-filter-add[hidden]{display:none!important}.recipes-search-row{display:flex;align-items:stretch;gap:var(--gap-small);flex-direction:row;width:100%}.recipes-filter-add{display:inline-flex;padding:0 var(--padding-small);box-sizing:border-box;border:1px solid var(--color-border);border-radius:var(--border-radius);background:var(--color-surface);color:var(--color-accent);cursor:pointer;flex-shrink:0;justify-content:center;align-self:stretch;align-items: center;min-width:2.75rem;font-size:1.1rem;font-weight:600;line-height:1}.recipes-filter-add:hover{border-color:var(--color-accent)}.recipes-search-row .recipes-search{flex:1;min-width:0}.recipes-filter-chips{display:flex;align-items: center;gap:var(--gap-small);flex-wrap:wrap;min-height:0}.recipes-filter-chips:empty{display:none}.recipes-filter-chip{display:inline-flex;border:1px solid var(--color-border);background:var(--color-surface);color:var(--text-primary);border-radius:999px;align-items: center;gap:.35rem;padding:.2rem .5rem .2rem .65rem;font-size:.85em}.recipes-filter-chip__text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:14rem}.recipes-filter-chip__remove{display:inline-flex;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items: center;min-width:1.5rem;min-height:1.5rem;margin:0;padding:0;font-size:1.1rem;line-height:1}.recipes-filter-chip__remove:hover{color:var(--color-accent);background:#ffffff0f}.recipes-filter-popover[hidden]{display:none!important}.recipes-filter-popover:not([hidden]){position:fixed;z-index:100;display:flex;gap:var(--gap-small);padding:var(--padding-medium);border:1px solid var(--color-border);border-radius:var(--border-radius);background:var(--color-bg-elevated,var(--color-surface));overflow-y:auto;flex-direction:column;max-height:min(70vh,24rem);box-shadow:0 8px 24px #00000059}.recipes-filter-popover__label{color:var(--text-secondary);font-size:.85em;font-weight:600}.recipes-filter-select{padding:var(--padding-small)var(--padding-medium);font-size:var(--font-size);border:1px solid var(--color-border);border-radius:var(--border-radius);background:var(--color-surface);color:var(--text-primary);width:100%}.recipes-filter-apply{margin-top:var(--gap-small);align-self: flex-start}.recipes-list-wrap{position:relative;min-height:3.5rem}.recipes-list-loading{position:absolute;z-index:3;display:flex;border-radius:var(--border-radius);color:var(--text-secondary);font-size:var(--font-size-small);pointer-events:none;background:#0f0f12b8;justify-content:center;align-items: center;inset:0}.recipes-list-loading[hidden]{display:none!important}.recipes-list-loading__text{margin:0}#recipes-list{gap:var(--gap-small)}.recipes-list-item{display:flex;align-items:stretch;gap:var(--gap-small);border-radius:calc(var(--border-radius)*.85);border:1px solid var(--color-border);background:var(--color-surface);text-decoration:none;color:inherit;flex-direction:row;padding:.35rem .5rem;transition:border-color .15s,background .15s}.recipes-list-item:hover{border-color:var(--color-accent);background:color-mix(in srgb,var(--color-surface)92%,var(--color-accent)8%)}.recipes-list-item:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.recipes-list-item__thumb{aspect-ratio:1;border-radius:calc(var(--border-radius)*.85);overflow:hidden;background:var(--color-bg-primary);flex-shrink:0;align-self: center;width:3.25rem}.recipes-list-item__thumb--empty{background:linear-gradient(145deg,color-mix(in srgb,var(--color-border)40%,var(--color-bg-primary))0%,var(--color-bg-primary)100%);border:1px dashed color-mix(in srgb,var(--color-border)80%,transparent)}.recipes-list-item__img{object-fit:cover;display:block;width:100%;height:100%}.recipes-list-item__body{display:flex;flex-direction:column;flex:1;justify-content:center;gap:.45rem;min-width:0}.recipes-list-item__title{font-weight:600;font-size:var(--font-size);color:var(--color-accent);line-height:1.25}.recipes-list-item__meta{display:flex;flex-direction:column;align-items: flex-start;gap:.1rem}.recipes-list-chip{font-size:calc(var(--font-size-small)*.92);color:var(--text-secondary);background:0 0;border:none;border-radius:0;max-width:100%;padding:0;line-height:1.35}.recipes-list-chip--transport{color:var(--text-primary)}@media (max-width:480px){.recipes-list-item__thumb{width:2.875rem}.recipes-list-item{padding:.3rem .4rem}}.favorites-search,.recipes-search{padding:var(--padding-medium);font-size:var(--font-size);border:1px solid var(--color-border);border-radius:var(--border-radius);background:var(--color-surface);color:var(--text-primary);width:100%;max-width:100%}.favorites-search::placeholder,.recipes-search::placeholder{opacity:.7}.not-found-page{color:var(--text-primary)}.not-found-code{font-size:var(--font-size-3xl);color:var(--color-accent);margin:0;font-weight:700;line-height:1}.not-found-home{margin-top:var(--gap-small)}
