@keyframes toast-slide-in{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@keyframes toast-fade-out{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(100%)}}@keyframes confetti-fall{0%{transform:translateY(-100%) rotate(0deg);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}@keyframes celebrate-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes celebrate-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes celebrate-glow{0%,to{box-shadow:0 0 5px var(--uc-gold)}50%{box-shadow:0 0 20px var(--uc-gold),0 0 30px rgba(230,180,106,.5)}}@keyframes pop-in{0%{transform:scale(0);opacity:0}50%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}@keyframes loading-bar-pulse{0%,to{opacity:.6}50%{opacity:1}}:root{--uc-bg:#1E1B18;--uc-bg-elevated:#161414;--uc-bg-sheet:#252220;--uc-surface:#FDF8F3;--uc-surface-dim:#EAE6E1;--uc-text:#F0EAD6;--uc-text-muted:#A39C94;--uc-text-on-surface:#2C2926;--uc-text-on-surface-muted:#5C524A;--uc-gold:#E6B46A;--uc-gold-hover:#F0C47A;--uc-gold-dark:#8B6A22;--uc-coral:#ff2d55;--uc-success:#4A6B34;--uc-error:#B8382A;--uc-warning:#E6A23C;--uc-info:#1D4ED8;--uc-danger:#FF6B5B;--space-xs:0.25rem;--space-sm:0.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--touch-target:48px;--touch-target-small:36px;--avatar-size:64px;--avatar-size-small:40px;--avatar-size-tiny:32px;--border-radius:16px;--border-radius-small:10px;--pico-primary:var(--uc-gold);--pico-primary-hover:var(--uc-gold-hover);--pico-background-color:var(--uc-bg);--pico-color:var(--uc-text)}[data-theme=dark]{--pico-primary:var(--uc-gold);--pico-primary-background:var(--uc-gold);--pico-primary-border:var(--uc-gold);--pico-primary-hover:var(--uc-gold-hover);--pico-primary-hover-background:var(--uc-gold-hover);--pico-primary-hover-border:var(--uc-gold-hover);--pico-primary-inverse:#2C2926;--pico-primary-focus:rgba(230, 180, 106, 0.25)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-100px;left:50%;transform:translateX(-50%);background:var(--uc-gold);color:var(--uc-text-on-surface);padding:.75rem 1.5rem;border-radius:.5rem;font-weight:500;text-decoration:none;z-index:9999;transition:top .2s ease}.skip-link:focus{top:1rem;outline:3px solid var(--uc-gold-dark);outline-offset:2px}body,h1,h2,h3,h4,h5,h6{font-family:Roboto,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--uc-text)}body{overflow-x:clip;overscroll-behavior-y:none;min-height:100dvh;background-color:var(--uc-bg)}.flex,.flex-col,body.capacitor-native .bottom-tabs,body.standalone .bottom-tabs{display:flex}.flex-col{flex-direction:column}.flex-between,.flex-center{display:flex;align-items:center}.flex-between{justify-content:space-between}.flex-wrap{flex-wrap:wrap}.flex-1,.shopping-add-row .autocomplete-wrapper{flex:1;min-width:0}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.text-center{text-align:center}.inline-flex{display:inline-flex;align-items:center}.gap-xs{gap:var(--space-xs)}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.mb-0{margin-bottom:0}.mb-sm{margin-bottom:var(--space-sm)}.mb-md{margin-bottom:var(--space-md)}.mb-lg{margin-bottom:var(--space-lg)}.mt-sm{margin-top:var(--space-sm)}.mt-md{margin-top:var(--space-md)}.mt-lg{margin-top:var(--space-lg)}.w-full{width:100%}.recipe-filter-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}@media (max-width:480px){.recipe-filter-grid{grid-template-columns:repeat(2,1fr)}}.ingredient-input-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:.5rem}@media (max-width:480px){.ingredient-input-grid{grid-template-columns:1fr 1fr}.ingredient-input-grid>input:first-child{grid-column:1/-1}}.ingredient-col-headers{font-size:.75rem;font-weight:600;color:var(--uc-text-on-surface-muted);letter-spacing:.04em;margin-bottom:.25rem}.form-group-fieldset{border:0;padding:0;margin:0 0 1rem}.form-group-fieldset>legend{font-size:1rem;font-weight:600;padding:0;margin-bottom:.5rem;float:none;width:auto}.step-label{display:block;font-size:.8rem;font-weight:600;color:var(--uc-text-on-surface-muted);margin-bottom:.25rem}.step-row{margin-bottom:.75rem}.shopping-add-row{display:flex;gap:.5rem;align-items:stretch}.shopping-add-row .autocomplete-wrapper input{margin-bottom:0;width:100%}.shopping-add-row .add-btn{background:var(--uc-gold);flex-shrink:0;flex-grow:0;width:48px;min-width:48px;max-width:48px;height:auto;border-radius:8px}.shopping-add-row .add-btn:hover{background:var(--uc-gold-hover)}h1,h2,h3,h4,h5,h6{font-weight:600}.card,.card h1,.card h2,.card h3,.card h4,.card h5,.card h6,.card header,.card header strong,.card label,.card legend,.card p,.card strong,.shopping-add-row .add-btn,article,article h1,article h2,article h3,article h4,article h5,article h6,article header,article header strong,article label,article legend,article p,article strong{color:var(--uc-text-on-surface)}.card,article{background-color:var(--uc-surface);border-radius:12px;padding:1.25rem}.card span:not([class]),article span:not([class]){color:var(--uc-text-on-surface)}article>header,article>header h3,article>header h4,article>header strong{color:var(--uc-text)}.card .text-muted,article .text-muted{color:var(--uc-text-on-surface-muted)}main.container{background-color:transparent;border-radius:0;padding:1rem;margin-top:.5rem;margin-bottom:1rem}body.capacitor-native main.container,body.standalone main.container{margin-bottom:calc(96px + env(safe-area-inset-bottom));padding-bottom:1rem}nav.container-fluid.top-nav{background-color:var(--uc-bg-elevated);border-bottom:1px solid rgba(240,234,214,.1);position:sticky;top:0;z-index:100}nav .brand{font-weight:700;font-size:1.3rem;color:var(--uc-text)}nav a{color:var(--uc-text-muted);transition:color .2s}nav a:hover{color:var(--uc-gold)}nav a[aria-current=page]{font-weight:600;color:var(--uc-gold);border-bottom:2px solid var(--uc-gold)}.brand{display:flex;align-items:center;gap:.5rem;text-decoration:none}.brand-logo{width:36px;height:36px;border-radius:8px}.bottom-tabs{display:none;position:fixed;bottom:0;left:0;right:0;background-color:var(--uc-bg-elevated);border-top:1px solid rgba(240,234,214,.1);padding:.5rem 0;padding-bottom:calc(.5rem + env(safe-area-inset-bottom));z-index:1000;justify-content:space-around;flex-wrap:wrap;-webkit-transform:translateZ(0);transform:translateZ(0)}.tab-item{display:flex;flex-direction:column;align-items:center;justify-content:center;text-decoration:none;color:#d4ccc4;padding:.25rem;min-width:0;flex:1;min-height:48px;border-radius:8px;transition:color .2s,background-color .2s}.tab-item i,.tab-item svg{width:24px;height:24px;margin-bottom:.25rem;color:inherit;stroke:currentColor}.tab-item span{font-size:.75rem;font-weight:500}.tab-item:hover{color:var(--uc-text);background-color:rgba(240,234,214,.05)}.tab-item.active{color:var(--uc-gold)}.tab-item.active i{stroke:var(--uc-gold)}@media (max-width:1279px){.top-nav-links{display:none}.grid{grid-template-columns:1fr}}.hamburger-btn{background:0 0;border:0;color:var(--uc-text-muted);padding:.25rem;min-height:44px;min-width:44px;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:color .2s,background-color .2s;transform:none;box-shadow:none;-webkit-tap-highlight-color:transparent}.hamburger-btn:hover{color:var(--uc-gold);background-color:rgba(240,234,214,.05)}.hamburger-btn:focus-visible{outline:2px solid var(--uc-gold);outline-offset:2px;box-shadow:none}.hamburger-btn i,.hamburger-btn svg{width:24px;height:24px;color:inherit;stroke:currentColor}#hamburger-menu:not([open]),dialog:not([open]){display:none}#hamburger-menu{display:block;position:fixed;top:0;left:0;right:0;bottom:0;width:100%;height:100dvh;max-width:100%;max-height:100dvh;margin:0;padding:0;border:0;border-radius:0;background:var(--uc-bg-sheet);box-shadow:none;transform:translateY(0);transition:transform .32s cubic-bezier(.32,.72,0,1);overflow:hidden;color:var(--uc-text)}@starting-style{#hamburger-menu[open]{transform:translateY(100%)}}#hamburger-menu::backdrop{background:0 0}#hamburger-menu a,#hamburger-menu div,#hamburger-menu label,#hamburger-menu p,#hamburger-menu span,#hamburger-menu strong{color:inherit}.hamburger-sheet-inner{background:var(--uc-bg-sheet);display:flex;flex-direction:column;height:100%;min-height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch}.sheet-safe-area{height:env(safe-area-inset-bottom,1rem);flex-shrink:0}.hamburger-sheet-header{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;padding:calc(env(safe-area-inset-top,0) + 1rem) 1rem .75rem;border-bottom:1px solid rgba(255,255,255,.07);background:var(--uc-bg-sheet)}.hamburger-sheet-identity{display:flex;align-items:center;gap:.75rem}.hamburger-sheet-kitchen-icon{width:44px;height:44px;border-radius:10px;object-fit:cover;flex-shrink:0}.hamburger-sheet-kitchen-name{font-weight:700;font-size:1rem;color:var(--uc-text);line-height:1.2}.hamburger-sheet-chef-row{display:flex;align-items:center;gap:.35rem;margin-top:.2rem;font-size:.82rem;color:var(--uc-text-muted)}.hamburger-sheet-chef-avatar{width:18px;height:18px;border-radius:50%;object-fit:cover}#hamburger-menu .hamburger-sheet-item,.hamburger-sheet-close{display:flex;align-items:center;color:var(--uc-text);border:0;box-shadow:none;cursor:pointer}.hamburger-sheet-close{width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.12);padding:0;justify-content:center;flex-shrink:0;transition:background .15s}.hamburger-sheet-close:hover{background:rgba(255,255,255,.2)}.hamburger-sheet-list{padding:.25rem 0}#hamburger-menu .hamburger-sheet-item{justify-content:space-between;padding:.85rem 1rem;min-height:52px;text-decoration:none;font-size:1rem;font-weight:400;width:100%;text-align:left;text-transform:none;letter-spacing:normal;background:0 0;transition:background .12s;-webkit-tap-highlight-color:transparent}#hamburger-menu .hamburger-sheet-item:focus-visible,#hamburger-menu .hamburger-sheet-item:hover{background:rgba(255,255,255,.06);outline:0}.sheet-chevron{width:18px;height:18px;color:var(--uc-text-muted);flex-shrink:0}#hamburger-menu .hamburger-sheet-signout,#hamburger-menu .hamburger-sheet-signout .sheet-chevron{color:var(--uc-danger, #E05545)}.hamburger-divider{height:1px;background:rgba(240,234,214,.08);margin:.25rem 0}.hamburger-version{padding:.5rem 1rem .25rem;font-size:.72rem;color:var(--uc-text-muted);text-align:center;letter-spacing:.04em}a[role=button]:not(.ghost):not(.secondary):not(.danger):not(.link-btn),button,input[type=button],input[type=submit]{background-color:var(--uc-gold);color:var(--uc-text-on-surface);border:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;font-weight:600;letter-spacing:.02em;border-radius:50px;transition:background-color .2s,transform .1s;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;text-decoration:none}a[role=button]:not(.ghost):not(.secondary):not(.danger):not(.link-btn):hover,button:hover,input[type=button]:hover,input[type=submit]:hover{background-color:var(--uc-gold-hover);color:var(--uc-text-on-surface);transform:translateY(-1px)}a[role=button]:active{transform:scale(.97);opacity:.9}a[role=button] i[data-lucide],a[role=button] svg.btn-icon,button i[data-lucide],button svg.btn-icon{width:18px;height:18px;flex-shrink:0}a.small[role=button] i[data-lucide],button.small i[data-lucide],button.small svg.btn-icon{width:16px;height:16px}a.ghost[role=button],button.ghost{background:0 0;background-color:transparent;border:2px solid var(--uc-gold);color:var(--uc-gold);box-shadow:none}a.ghost[role=button]:hover,button.ghost:hover{background-color:rgba(230,180,106,.1);color:var(--uc-gold);transform:translateY(-1px)}a.secondary[role=button],button.secondary{background-color:var(--uc-surface-dim);color:var(--uc-text-on-surface);border:0}a.secondary[role=button]:hover,button.secondary:hover{background-color:var(--uc-surface);color:var(--uc-text-on-surface);transform:translateY(-1px)}a.secondary.ghost[role=button],button.secondary.ghost{background:0 0;background-color:transparent;border:2px solid var(--uc-surface-dim);color:var(--uc-surface-dim)}a.secondary.ghost[role=button]:hover,button.secondary.ghost:hover{background-color:rgba(234,230,225,.1);transform:translateY(-1px)}.card button.secondary:not(.ghost),.day-card button.secondary:not(.ghost),article button.secondary:not(.ghost),dialog button.secondary:not(.ghost){background-color:transparent;border:2px solid var(--uc-text-on-surface-muted);color:var(--uc-text-on-surface)}.card button.secondary:not(.ghost):hover,.day-card button.secondary:not(.ghost):hover,article button.secondary:not(.ghost):hover,dialog button.secondary:not(.ghost):hover{background-color:rgba(44,41,38,.05);border-color:var(--uc-text-on-surface)}.card button.secondary.ghost,.day-card button.secondary.ghost,article button.secondary.ghost,dialog button.secondary.ghost{border-color:var(--uc-text-on-surface-muted);color:var(--uc-text-on-surface)}a.danger[role=button],button.danger:not(.link-btn){background-color:var(--uc-error);color:#fff;border:0}a.danger[role=button]:hover,button.danger:not(.link-btn):hover{background-color:#9e2f24;color:#fff;transform:translateY(-1px)}a.danger.ghost[role=button],button.danger.ghost{background:0 0;background-color:transparent;border:2px solid var(--uc-error);color:var(--uc-error)}a.danger.ghost[role=button]:hover,button.danger.ghost:hover{background-color:rgba(184,56,42,.08);transform:translateY(-1px)}button:disabled,button[disabled],input[type=button]:disabled,input[type=submit]:disabled{opacity:.4;cursor:not-allowed;transform:none!important}[role=button],button,input[type=checkbox],input[type=radio]{min-height:48px;min-width:48px}a.small[role=button],button.small{min-height:36px;min-width:auto;padding:.5rem 1rem;font-size:.875rem}a.small.icon-only[role=button],button.small.icon-only{padding:.5rem;width:36px;height:36px;min-width:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--border-radius-small)}.card [role=button]:not(.outline):not(.contrast):not(.secondary):not(.danger):not(.password-toggle),.card a[role=button]:not(.ghost):not(.secondary):not(.danger):not(.link-btn),.card button:not(.ghost):not(.secondary):not(.danger):not(.link-btn),.card button:not(.outline):not(.contrast):not(.secondary):not(.danger):not(.completion-indicator):not(.meal-action-btn):not(.password-toggle):not(.link-btn),.day-card [role=button]:not(.outline):not(.contrast):not(.secondary):not(.danger):not(.password-toggle),.day-card a[role=button]:not(.ghost):not(.secondary):not(.danger):not(.link-btn),.day-card button:not(.ghost):not(.secondary):not(.danger):not(.link-btn),.day-card button:not(.outline):not(.contrast):not(.secondary):not(.danger):not(.completion-indicator):not(.meal-action-btn):not(.meal-title-btn):not(.password-toggle):not(.link-btn),article [role=button]:not(.outline):not(.contrast):not(.secondary):not(.danger):not(.password-toggle),article a[role=button]:not(.ghost):not(.secondary):not(.danger):not(.link-btn),article button:not(.ghost):not(.secondary):not(.danger):not(.link-btn),article button:not(.outline):not(.contrast):not(.secondary):not(.danger):not(.completion-indicator):not(.meal-action-btn):not(.meal-title-btn):not(.password-toggle):not(.link-btn),dialog button:not(.ghost):not(.secondary):not(.danger):not(.link-btn),dialog button:not(.outline):not(.contrast):not(.secondary):not(.danger):not(.password-toggle):not(.link-btn){background-color:var(--uc-gold);color:var(--uc-text-on-surface);border:0}.card [role=button]:not(.outline):not(.contrast):not(.secondary):not(.danger):not(.password-toggle):hover,.card a[role=button]:not(.ghost):not(.secondary):not(.danger):not(.link-btn):hover,.card button:not(.ghost):not(.secondary):not(.danger):not(.link-btn):hover,.card button:not(.outline):not(.contrast):not(.secondary):not(.danger):not(.completion-indicator):not(.meal-action-btn):not(.password-toggle):not(.link-btn):hover,.day-card [role=button]:not(.outline):not(.contrast):not(.secondary):not(.danger):not(.password-toggle):hover,.day-card button:not(.ghost):not(.secondary):not(.danger):not(.link-btn):hover,.day-card button:not(.outline):not(.contrast):not(.secondary):not(.danger):not(.completion-indicator):not(.meal-action-btn):not(.meal-title-btn):not(.password-toggle):not(.link-btn):hover,article [role=button]:not(.outline):not(.contrast):not(.secondary):not(.danger):not(.password-toggle):hover,article a[role=button]:not(.ghost):not(.secondary):not(.danger):not(.link-btn):hover,article button:not(.ghost):not(.secondary):not(.danger):not(.link-btn):hover,article button:not(.outline):not(.contrast):not(.secondary):not(.danger):not(.completion-indicator):not(.meal-action-btn):not(.meal-title-btn):not(.password-toggle):not(.link-btn):hover,dialog button:not(.ghost):not(.secondary):not(.danger):not(.link-btn):hover,dialog button:not(.outline):not(.contrast):not(.secondary):not(.danger):not(.password-toggle):not(.link-btn):hover{background-color:var(--uc-gold-hover);color:var(--uc-text-on-surface)}.card button.ghost,.day-card button.ghost,article button.ghost,dialog button.ghost{border-color:var(--uc-gold);color:var(--uc-gold-dark)}.card button.danger.ghost,.day-card button.danger.ghost,article button.danger.ghost,dialog button.danger.ghost{border-color:var(--uc-error);color:var(--uc-error)}.card button.danger:not(.ghost):not(.link-btn),.day-card button.danger:not(.ghost):not(.link-btn),article button.danger:not(.ghost):not(.link-btn),dialog button.danger:not(.ghost):not(.link-btn){background-color:var(--uc-error);color:#fff}.close-btn{background-color:rgba(0,0,0,.5);color:#fff;border:0;border-radius:50%;min-width:32px;min-height:32px;padding:.25rem;display:inline-flex;align-items:center;justify-content:center}.close-btn:hover{background-color:rgba(0,0,0,.7);color:#fff}input,select,textarea{background-color:var(--uc-bg-elevated);color:var(--uc-text);border:1px solid rgba(240,234,214,.2);border-radius:8px;font-size:16px}input:focus,select:focus,textarea:focus{border-color:var(--uc-gold);box-shadow:0 0 0 3px rgba(230,180,106,.25)}input::placeholder,textarea::placeholder{color:var(--uc-text-muted)}.card input,.card select,.card textarea,article input,article select,article textarea,details input,details select,details textarea,dialog input,dialog select,dialog textarea{background-color:#fff;color:var(--uc-text-on-surface);border-color:#c8c0b8}.card input:focus,.card select:focus,.card textarea:focus,article input:focus,article select:focus,article textarea:focus,details input:focus,details select:focus,details textarea:focus,dialog input:focus,dialog select:focus,dialog textarea:focus{border-color:var(--uc-gold);box-shadow:0 0 0 3px rgba(230,180,106,.25)}.card input::placeholder,.card textarea::placeholder,article input::placeholder,article textarea::placeholder,details input::placeholder,details textarea::placeholder,dialog input::placeholder,dialog textarea::placeholder{color:var(--uc-text-on-surface-muted)}label{color:var(--uc-text);font-weight:500}input[type=checkbox]{accent-color:var(--uc-success);width:24px;height:24px}article input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:24px;height:24px;min-width:24px;min-height:24px;border:2px solid var(--uc-text-on-surface-muted);border-radius:4px;background:#fff;cursor:pointer;position:relative}article input[type=checkbox]:checked{background-color:var(--uc-success);border-color:var(--uc-success)}article input[type=checkbox]:checked::after{content:"";position:absolute;left:6px;top:2px;width:6px;height:12px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(45deg)}input[type=file]{padding:.5rem;cursor:pointer}input[type=file]::file-selector-button{border:0;padding:.5rem 1rem;border-radius:6px;font-weight:600;cursor:pointer;margin-right:.75rem;transition:background-color .2s}.card input[type=file]::file-selector-button:hover,article input[type=file]::file-selector-button:hover,details input[type=file]::file-selector-button:hover,dialog input[type=file]::file-selector-button:hover,input[type=file]::file-selector-button:hover{background-color:var(--uc-gold-hover)}.card input[type=file]::file-selector-button,article input[type=file]::file-selector-button,details input[type=file]::file-selector-button,dialog input[type=file]::file-selector-button,input[type=file]::file-selector-button{background-color:var(--uc-gold);color:var(--uc-text-on-surface)}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:.75rem;border-bottom:2px solid var(--uc-gold)}.page-header h1,.page-header h2{margin:0;color:var(--uc-text)}main>h2:first-child{margin-bottom:1.5rem;padding-bottom:.5rem;border-bottom:2px solid var(--uc-gold)}.settings-tabs{display:flex;gap:.4rem;margin-bottom:1.25rem;padding:0;background:0 0;border:0}.settings-tab{display:inline-flex;align-items:center;padding:.4rem 1rem;border-radius:50px;font-size:.875rem;font-weight:500;color:var(--uc-text-muted);text-decoration:none;border:1px solid transparent;transition:color .15s,border-color .15s,background .15s;min-height:36px;white-space:nowrap}.settings-tab:hover:not(.active){color:var(--uc-text);border-color:rgba(240,234,214,.25)}.settings-tab.active{background:var(--uc-gold);color:var(--uc-text-on-surface);font-weight:600;border-color:transparent}#toast-container{position:fixed;top:1rem;right:1rem;z-index:9999;display:flex;flex-direction:column;gap:.5rem;pointer-events:none}.toast{padding:.75rem 1rem;border-radius:8px;font-size:.9rem;font-weight:500;max-width:320px;box-shadow:0 4px 12px rgba(0,0,0,.3);animation:toast-slide-in .3s ease-out;pointer-events:auto}.toast-success{background-color:var(--uc-success);color:#fff}.toast-error{background-color:var(--uc-error);color:#fff}.toast-info,.toast-warning{background-color:var(--uc-warning);color:var(--uc-text-on-surface)}.toast-info{background-color:var(--uc-gold)}.toast-fade-out{animation:toast-fade-out .3s ease-out forwards}@media (max-width:1279px){#toast-container{left:1rem;right:1rem;top:auto;bottom:calc(1rem + env(safe-area-inset-bottom))}.toast{max-width:none}@keyframes toast-slide-in{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes toast-fade-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(100%)}}}body.capacitor-native #toast-container,body.standalone #toast-container{bottom:calc(80px + env(safe-area-inset-bottom) + 1rem)}.week-selector{display:flex;align-items:flex-end;justify-content:space-between;gap:.5rem;margin-bottom:1rem;padding:.5rem .25rem;position:sticky;top:0;z-index:10;background:var(--uc-bg)}.week-nav-center{display:flex;flex-direction:column;align-items:center;flex:1;min-width:0}.week-range-label{font-size:.85rem;color:var(--uc-text-muted);margin-bottom:.35rem;letter-spacing:.02em}.day-circles,.week-nav-btn{display:flex;justify-content:center}.week-nav-btn{background:0 0;color:var(--uc-text-muted);border:0;min-width:44px;min-height:44px;width:44px;height:44px;padding:0;border-radius:50%;align-items:center;flex-shrink:0;margin-bottom:10px}.day-circle:hover,.week-nav-btn:hover{background:rgba(240,234,214,.1);color:var(--uc-text)}.week-nav-btn i{width:20px;height:20px}.day-circles{gap:.5rem;overflow-x:auto;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none}.day-circles::-webkit-scrollbar{display:none}.day-circle{display:flex;flex-direction:column;align-items:center;justify-content:center;width:48px;height:56px;border-radius:24px;background:rgba(240,234,214,.05);color:var(--uc-text-muted);cursor:pointer;transition:background-color .2s,color .2s;text-decoration:none}.day-circle:focus-visible{outline:2px solid var(--uc-gold);outline-offset:2px}.day-circle.active{background:var(--uc-gold)}.day-card label,.day-card p,.day-card span,.day-card summary,.day-circle.active,.day-circle.active .day-name,.meal-chef strong,details fieldset,details h3,details h4,details h5,details label,details legend,details p,details span,details strong{color:var(--uc-text-on-surface)}.day-circle.today:not(.active){background:rgba(240,234,214,.08);color:var(--uc-text);position:relative}.day-circle.today:not(.active)::after{content:"";position:absolute;bottom:4px;width:5px;height:5px;border-radius:50%;background:var(--uc-gold)}.day-circle .day-name{font-size:.65rem;font-weight:600;color:var(--uc-text-on-surface-muted)}.day-circle .day-num{font-size:1rem;font-weight:700}.day-section{margin-bottom:1.25rem;scroll-margin-top:5rem}.day-label{display:flex;align-items:baseline;gap:.35rem;padding:.25rem .25rem .35rem}.day-label-name{font-size:.9rem;font-weight:700;color:var(--uc-text);font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}.day-label-date{font-size:.85rem;color:var(--uc-text-muted)}.day-card{background:var(--uc-surface);border-radius:12px;padding:.75rem}.day-card-empty{border:1.5px dashed rgba(44,41,38,.15);display:flex;align-items:center;justify-content:space-between;gap:.75rem}.day-card-empty .empty-text{color:var(--uc-text-on-surface-muted);font-size:.9rem}.day-card input,.day-card select,.day-card textarea{background-color:#fff;color:var(--uc-text-on-surface);border-color:#c8c0b8}.day-card input::placeholder,.day-card textarea::placeholder{color:var(--uc-text-on-surface-muted)}.day-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid #c8c0b8}.day-card-header h3{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;font-weight:700;font-size:1.1rem;color:var(--uc-text-on-surface)}.day-card-date{font-size:.85rem;color:var(--uc-text-on-surface-muted)}.meal-item{display:flex;align-items:center;gap:.75rem;padding:.5rem 0;border-bottom:1px solid #d0c8c0}.meal-item:last-of-type{border-bottom:none}.meal-avatar{width:48px;height:48px;border-radius:50%;background:var(--uc-surface-dim);flex-shrink:0}.meal-content{flex:1;min-width:0}.meal-chef{font-size:.8rem;color:var(--uc-text-on-surface-muted);margin:0 0 .125rem}.meal-title{font-weight:600;font-size:.95rem;color:var(--uc-text-on-surface);margin:0 0 .25rem;word-break:break-word}.meal-notes{font-size:.85rem;color:var(--uc-text-on-surface-muted);margin:0}.meal-actions{display:flex;align-items:center;gap:.35rem;flex-shrink:0}.completion-indicator,.meal-action-btn{min-width:36px;min-height:36px;width:36px;height:36px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:50%}.completion-indicator i,.meal-action-btn i{width:16px;height:16px}.completion-indicator{width:40px;height:40px;min-width:40px;min-height:40px;background:0 0;color:var(--uc-text-on-surface-muted);border:2px solid var(--uc-text-on-surface-muted);cursor:pointer;transition:background-color .2s,color .2s,border-color .2s,transform .2s}.completion-indicator:hover{border-color:var(--uc-success);color:var(--uc-success)}.completion-indicator.complete{background:var(--uc-success);border-color:var(--uc-success);color:#fff}.completion-indicator.complete:hover{opacity:.85;color:#fff}.empty-state{text-align:center;color:var(--uc-text-on-surface)}.empty-state-text{margin-bottom:1rem;color:var(--uc-text-on-surface-muted)}.add-meal-details{background:0 0;padding:0;margin:.75rem 0 0}.add-meal-summary{display:inline-flex;font-size:.85rem;color:var(--uc-text-on-surface-muted);padding:.25rem 0}.add-meal-summary:hover{color:var(--uc-gold-dark)}.add-meal-summary::after{display:none}.add-meal-details[open] .add-meal-summary{margin-bottom:.75rem;padding-bottom:0;border-bottom:none}.start-poll-btn{display:inline-flex;align-items:center;gap:.35rem;min-width:auto;min-height:44px;padding:.35rem .75rem;font-size:.8rem;margin-top:.5rem}.cal-nav{display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.75rem}.cal-nav button.nav-compact,button.nav-compact,button.nav-compact[type=button]{min-height:36px;min-width:36px;padding:.25rem .5rem;font-size:1rem}.favorites-toggle{display:inline-flex;align-items:center;justify-content:center;margin:0;cursor:pointer;padding:0;transition:background .2s}.favorites-toggle input[type=checkbox]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.favorites-toggle i,.favorites-toggle svg{color:var(--uc-text-muted);stroke:currentColor;stroke-width:1.5;fill:none;transition:color .2s,fill .2s,stroke-width .2s}.card .favorites-toggle i,.card .favorites-toggle svg,.chef-filter-select option[value=""],article .favorites-toggle i,article .favorites-toggle svg{color:var(--uc-text-on-surface-muted)}.favorites-toggle input:checked~i,.favorites-toggle input:checked~svg{color:var(--uc-coral);stroke:var(--uc-coral);stroke-width:2;fill:var(--uc-coral)}.recipe-filter-row{display:flex;gap:.5rem;align-items:center;margin-bottom:.5rem}.recipe-filter-row input[type=search]{margin-bottom:0;width:100%}.recipe-filter-row-compact{margin-bottom:0}.chef-filter-select{margin-bottom:0;min-width:160px;height:32px;padding:0 .5rem;color:var(--uc-text-on-surface)}.chef-filter-select:has(option[value=""]:checked){color:var(--uc-text-on-surface-muted)}.recipe-favorite-badge{position:absolute;top:.5rem;right:.5rem;z-index:1;pointer-events:none}.recipe-favorite-badge i,.recipe-favorite-badge svg{color:var(--uc-coral);stroke:var(--uc-coral);fill:var(--uc-coral)}.recipe-card{background:var(--uc-surface);border-radius:12px;overflow:hidden;transition:transform .2s,box-shadow .2s}.recipe-card:hover{transform:translateY(-2px)}.recipe-card-image{width:100%;height:160px;object-fit:cover;background:var(--uc-surface-dim)}.recipe-card-body{padding:1rem}.recipe-card-title{font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;font-weight:400;font-size:1.2rem;letter-spacing:.03em;color:var(--uc-text-on-surface);margin:0 0 .5rem}.recipe-card-meta{display:flex;align-items:center;gap:1rem;font-size:.85rem;color:var(--uc-text-on-surface-muted)}.recipe-card a.button{background-color:var(--uc-gold);color:var(--uc-text-on-surface);border:0}.recipe-hero{position:relative;margin:-1rem -1rem 1rem;height:250px;overflow:hidden}.recipe-hero-image{width:100%;height:100%;object-fit:cover}.recipe-hero-overlay{position:absolute;bottom:0;left:0;right:0;padding:2rem 1rem 1rem;background:linear-gradient(transparent,rgba(0,0,0,.8))}.recipe-hero-title{color:#fff;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;font-weight:400;font-size:2rem;letter-spacing:.03em;margin:0;text-shadow:0 2px 4px rgba(0,0,0,.5)}.recipe-meta{display:flex;justify-content:space-around;align-items:flex-end;padding:.75rem 0;margin-bottom:1rem}.recipe-meta-item{display:flex;flex-direction:column;align-items:center;text-align:center}.recipe-meta-item i{width:24px;height:24px;color:var(--uc-gold-dark);margin-bottom:.25rem}.install-banner-text span,.recipe-meta-label{font-size:.75rem;color:var(--uc-text-muted)}.recipe-meta-value{font-weight:600;color:var(--uc-text)}.recipe-tabs{display:flex;align-items:center;border-bottom:2px solid var(--uc-surface-dim);margin-bottom:1rem}.recipe-tab{flex:1;padding:.75rem;text-align:center;font-weight:600;color:var(--uc-text-muted);background:0 0;border:0;box-shadow:none;outline:0;cursor:pointer;position:relative;min-height:44px}.recipe-tab:hover{color:var(--uc-text);background:0 0}.recipe-tab:focus-visible{outline:2px solid var(--uc-gold);outline-offset:2px;border-radius:4px}.recipe-tab.active{color:var(--uc-gold)}.recipe-tab.active::after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background:var(--uc-gold)}.ingredient-list{list-style:none;padding:0;margin:0}.ingredient-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 0;border-bottom:1px solid rgba(255,255,255,.1);color:var(--uc-text)}#shopping-items>.shopping-item:last-child,.ingredient-item:last-child{border-bottom:none}.ingredient-item input[type=checkbox]{min-width:24px;min-height:24px}.ingredient-item.checked,.shopping-item.checked .shopping-item-name{text-decoration:line-through;color:var(--uc-text-on-surface-muted)}.recipe-action-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:1rem 0 1.25rem;padding:.75rem 0;border-top:1px solid var(--uc-surface-dim);border-bottom:1px solid var(--uc-surface-dim)}.action-btn{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;padding:.5rem .25rem;min-height:52px;min-width:44px;border:0;border-radius:8px;background:0 0;box-shadow:none;color:var(--uc-text-muted);font-size:.68rem;font-weight:600;letter-spacing:.04em;cursor:pointer;text-decoration:none;transition:color .15s;flex:1}.action-btn i{width:22px;height:22px}.action-btn:hover{background:0 0;color:var(--uc-text)}.action-btn-active{color:var(--uc-gold)}.action-btn-active i{fill:currentColor}.action-btn-danger,.action-btn-danger:hover{color:var(--uc-danger, #E05545)}.action-btn-danger:hover{background:0 0}.shopping-tabs-strip{display:flex;align-items:center;gap:.25rem;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;border-bottom:2px solid var(--uc-surface-dim);padding-bottom:.25rem;margin-bottom:1rem}.shopping-tabs-strip::-webkit-scrollbar{display:none}.shopping-tab{flex-shrink:0;padding:.4rem 1rem;border:0;border-bottom:3px solid transparent;margin-bottom:-2px;border-radius:6px 6px 0 0;background:0 0;color:var(--uc-text-muted);font-size:.9rem;font-weight:500;cursor:pointer;white-space:nowrap;min-height:44px;display:inline-flex;align-items:center;transition:color .15s,border-color .15s}.shopping-tab:hover{color:var(--uc-text)}.shopping-tab.active,.shopping-tab[aria-selected=true]{color:var(--uc-gold);border-bottom-color:var(--uc-gold)}.shopping-tab-new{border:2px dashed var(--uc-text-muted);border-bottom:2px dashed var(--uc-text-muted);border-radius:6px;margin-bottom:0;font-size:1.25rem;line-height:1;padding:.3rem .75rem;color:var(--uc-text-muted)}.shopping-tab-new:hover{border-color:var(--uc-gold);color:var(--uc-gold)}.shopping-list-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.shopping-list-name{font-size:1rem;font-weight:600;color:var(--uc-text-on-surface);cursor:pointer;padding:.2rem .4rem;border-radius:4px;border:1px solid transparent;transition:border-color .15s;display:inline-block}.shopping-list-name:hover{border-color:var(--uc-surface-dim)}.shopping-list-name:focus{border-color:var(--uc-surface-dim);outline:0}.shopping-list-name:focus-visible{outline:2px solid var(--uc-gold);outline-offset:2px}.shopping-item{display:flex;align-items:center;gap:.75rem;padding:.5rem 0}.icon-btn.secondary,.shopping-item.checked .shopping-item-qty{color:var(--uc-text-on-surface-muted)}.shopping-item-name{flex:1;color:var(--uc-text-on-surface)}.shopping-item-qty{font-size:.8rem;color:var(--uc-text-on-surface-muted);white-space:nowrap}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:0;border-radius:8px;cursor:pointer;transition:background-color .15s ease,color .15s ease}.icon-btn.secondary{background:var(--uc-surface-dim)}.icon-btn.secondary:hover{background:var(--uc-surface);color:var(--uc-text-on-surface)}.icon-btn.secondary.danger:hover{background:var(--uc-error);color:#fff}button[data-htmx-disabled],input[data-htmx-disabled]{opacity:.55;transition:none}.shopping-bottom-actions{display:flex;justify-content:center;align-items:flex-end;gap:1.5rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid #d0c8c0}#shopping-items>.shopping-item{border-bottom:1px solid #d0c8c0}#shopping-items input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:28px;height:28px;min-width:28px;min-height:28px;border:2px solid var(--uc-text-on-surface-muted);border-radius:6px;background-color:transparent;cursor:pointer;position:relative;transition:border-color .15s ease,background-color .15s ease;flex-shrink:0}#shopping-items input[type=checkbox]:hover{border-color:var(--uc-success)}#shopping-items input[type=checkbox]:checked{background-color:var(--uc-success);border-color:var(--uc-success)}#shopping-items input[type=checkbox]:checked::after{content:"";position:absolute;left:8px;top:4px;width:6px;height:12px;border:solid #fff;border-width:0 3px 3px 0;transform:rotate(45deg)}.autocomplete-wrapper{position:relative;flex:1}.autocomplete-results{position:absolute;top:100%;left:0;right:0;background:var(--uc-surface);border:1px solid #c8c0b8;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.15);max-height:200px;overflow-y:auto;z-index:100;display:none}.autocomplete-results.show{display:block}.autocomplete-item{padding:.75rem 1rem;cursor:pointer;color:var(--uc-text-on-surface);transition:background-color .15s;border-bottom:1px solid #d0c8c0}.autocomplete-item:last-child{border-bottom:none}.autocomplete-category,.autocomplete-item.active,.autocomplete-item:hover{background-color:var(--uc-surface-dim)}.autocomplete-item small{color:var(--uc-text-on-surface-muted);font-size:.75rem;margin-left:.5rem}.autocomplete-category{padding:.5rem 1rem;font-size:.7rem;font-weight:600;color:var(--uc-text-on-surface-muted);border-bottom:1px solid #c8c0b8}.recipe-autocomplete{position:relative;margin-bottom:var(--pico-form-element-spacing-vertical, 1rem)}.recipe-autocomplete-input{width:100%;margin-bottom:0;padding-right:2.5rem}.recipe-autocomplete-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--uc-surface);border:1px solid #c8c0b8;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.15);max-height:220px;overflow-y:auto;z-index:200;display:none;list-style:none;margin:0;padding:0}.recipe-autocomplete-dropdown.show{display:block}.recipe-autocomplete-option{padding:.75rem 1rem;cursor:pointer;color:var(--uc-text-on-surface);transition:background-color .15s;border-bottom:1px solid #d0c8c0}.recipe-autocomplete-option:last-child{border-bottom:none}.recipe-autocomplete-option.active,.recipe-autocomplete-option:hover{background-color:var(--uc-surface-dim)}.recipe-autocomplete-option.selected{font-weight:600;color:var(--uc-gold-dark)}.recipe-autocomplete-clear{display:none;position:absolute;right:.5rem;top:50%;transform:translateY(-50%);background:0 0;border:0;color:var(--uc-text-muted);font-size:1.25rem;line-height:1;padding:.25rem .4rem;cursor:pointer;min-width:unset;width:auto;box-shadow:none;margin:0;border-radius:50%;transition:color .15s,background-color .15s}.recipe-autocomplete-clear:hover{color:var(--uc-text);background-color:rgba(240,234,214,.12);transform:translateY(-50%)}.recipe-autocomplete-clear.visible{display:flex;align-items:center;justify-content:center}.leaderboard-list{display:flex;flex-direction:column;gap:.75rem}.leaderboard-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--uc-surface);border-radius:12px}.leaderboard-rank{width:40px;height:40px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700}.leaderboard-rank.gold{color:#b8860b}.leaderboard-rank.silver{color:gray}.leaderboard-rank.bronze{color:#cd7f32}.leaderboard-avatar{width:48px;height:48px;border-radius:50%;background:var(--uc-surface-dim)}.leaderboard-info{flex:1}.leaderboard-name{font-weight:600;color:var(--uc-text-on-surface);margin:0}.leaderboard-streak{font-size:.85rem;color:var(--uc-text-on-surface-muted)}.leaderboard-points{font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;font-weight:700;font-size:1.5rem;color:var(--uc-gold-dark)}.podium{display:flex;justify-content:center;align-items:flex-end;gap:.5rem;margin-bottom:2rem;padding:1rem}.podium-place{display:flex;flex-direction:column;align-items:center;text-align:center}.podium-place.first{order:2}.podium-place.second{order:1}.podium-place.third{order:3}.podium-avatar{width:64px;height:64px;border-radius:50%;border:3px solid;margin-bottom:.5rem}.podium-place.first .podium-avatar{width:80px;height:80px;border-color:gold}.podium-place.second .podium-avatar{border-color:silver}.podium-place.third .podium-avatar{border-color:#cd7f32}.podium-name{font-weight:600;color:var(--uc-text);font-size:.9rem}.podium-points{font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;font-weight:700;color:var(--uc-gold)}.podium-place.first .podium-points{font-size:1.5rem}.chef-picker{margin:-1rem;min-height:calc(100vh - 100px);display:flex;flex-direction:column;background-color:var(--uc-bg)}.chef-picker-hero{position:relative;height:45vh;min-height:280px;max-height:400px;background-image:url(/static/images/chef-picker-bg.jpg);background-size:cover;background-position:center;display:flex;align-items:flex-end;justify-content:center}.chef-picker-hero-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(30,27,24,.3)0,rgba(30,27,24,.5) 50%,#1e1b18 100%)}.chef-picker-hero-content{position:relative;z-index:1;text-align:center;padding:2rem 2rem 1rem}.chef-picker-hero-content h1{color:#f0ead6;font-size:2.5rem;font-weight:700;margin:0;text-shadow:0 2px 8px rgba(0,0,0,.5)}.chef-picker-hero-content .kitchen-name{color:var(--uc-gold);font-size:1.2rem;font-weight:500;margin:.5rem 0 0;text-shadow:0 1px 4px rgba(0,0,0,.5)}.chef-picker-profiles{display:flex;flex-wrap:wrap;justify-content:center;gap:1.5rem;padding:2rem;background-color:var(--uc-bg)}.chef-profile{display:flex;flex-direction:column;align-items:center;cursor:pointer;padding:1rem;border-radius:8px;transition:transform .2s ease,background-color .2s ease;min-width:100px}.chef-profile:focus,.chef-profile:hover{transform:scale(1.05);background-color:rgba(240,234,214,.1);outline:0}.chef-profile:active{transform:scale(.98)}.chef-avatar{width:100px;height:100px;border-radius:12px;object-fit:cover;border:3px solid transparent;transition:border-color .2s ease}.chef-profile:focus .chef-avatar,.chef-profile:hover .chef-avatar{border-color:var(--uc-gold)}.chef-avatar-placeholder{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--uc-gold),var(--uc-gold-dark));font-size:2.5rem;font-weight:700;color:var(--uc-text-on-surface)}.chef-avatar-add{background:rgba(240,234,214,.1);border:2px dashed rgba(240,234,214,.3);font-size:2.5rem;font-weight:300;color:rgba(240,234,214,.5)}.chef-profile-add:hover .chef-avatar-add{border-color:var(--uc-gold);color:var(--uc-gold)}.chef-name{margin-top:.75rem;font-size:1rem;font-weight:600;color:#f0ead6;text-align:center}.chef-badge{color:var(--uc-text-muted);font-size:.75rem}.chef-points{color:var(--uc-gold);font-size:.8rem;margin-top:.25rem}.chef-picker-footer{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;margin-top:auto;background-color:var(--uc-bg);border-top:1px solid rgba(240,234,214,.1)}.chef-picker-link,.chef-picker-logout{color:rgba(255,255,255,.7);font-size:.9rem}.chef-picker-link{text-decoration:none;transition:color .2s ease}.chef-picker-link:hover{color:var(--uc-gold)}.chef-picker-logout{background:0 0;border:1px solid rgba(240,234,214,.3);padding:.5rem 1rem;border-radius:4px;cursor:pointer;min-height:40px;min-width:auto;transition:background-color .2s ease,border-color .2s ease,color .2s ease}.chef-picker-logout:hover{background-color:rgba(240,234,214,.1);border-color:rgba(240,234,214,.5);color:#f0ead6}@media (max-width:600px){.chef-picker-hero{height:35vh;min-height:220px}.chef-picker-hero-content h1{font-size:1.8rem}.chef-picker-profiles{padding:1.5rem 1rem;gap:1rem}.chef-avatar{width:80px;height:80px}.chef-avatar-add,.chef-avatar-placeholder{font-size:2rem}.chef-name{font-size:.9rem}}.avatar-picker{display:flex;flex-wrap:wrap;gap:1rem}.avatar-option{cursor:pointer;position:relative}.avatar-option input[type=radio]{position:absolute;opacity:0;width:0;height:0}.avatar-preview{width:64px;height:64px;border-radius:12px;border:3px solid transparent;transition:border-color .2s,transform .2s;background-color:var(--uc-bg-elevated)}.avatar-option:hover .avatar-preview{transform:scale(1.05)}.avatar-option input[type=radio]:checked+.avatar-preview{border-color:var(--uc-gold)}.avatar-option input[type=radio]:focus+.avatar-preview{outline:2px solid var(--uc-gold);outline-offset:2px}.chef-avatar-small{width:32px;height:32px;border-radius:50%;object-fit:cover}.chef-avatar-medium,.chef-avatar-small,.install-banner{background-color:var(--uc-bg-elevated)}.chef-avatar-medium{width:48px;height:48px;border-radius:50%;object-fit:cover}.install-banner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1rem;border-bottom:1px solid var(--uc-gold)}.install-banner-content{display:flex;align-items:center;gap:.75rem}.install-banner-icon{width:40px;height:40px;border-radius:8px}.install-banner-text{display:flex;flex-direction:column;gap:.125rem}.install-banner-text strong{font-size:.9rem;color:var(--uc-text)}.install-banner-actions{display:flex;align-items:center;gap:.5rem}.install-btn{padding:.5rem 1rem;background-color:var(--uc-gold);color:var(--uc-text-on-surface);border:0;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;min-height:36px;min-width:auto}.empty-state details>summary:hover,.install-btn:hover{background-color:var(--uc-gold-hover)}.install-dismiss,details>summary{cursor:pointer;display:flex;align-items:center}.install-dismiss{justify-content:center;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;background:0 0;border:0;color:var(--uc-text-muted);border-radius:4px}.install-dismiss:hover{background-color:rgba(240,234,214,.1);color:var(--uc-text)}@media (max-width:380px){.install-banner-text span{display:none}}.install-dismiss i{width:20px;height:20px}details{background:var(--uc-surface);border-radius:12px;padding:1rem;margin-bottom:1rem}details>summary{font-weight:600;color:var(--uc-text-on-surface);list-style:none;justify-content:space-between}details>summary::-webkit-details-marker{display:none}details>summary::after{content:"+";font-size:1.25rem;color:var(--uc-gold);background-image:none}details[open]>summary::after{content:"−"}details[open]>summary{margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid #c8c0b8}.empty-state details>summary{display:inline-flex;justify-content:center;gap:.5rem;padding:.75rem 1.25rem;background-color:var(--uc-gold);border-radius:8px;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;font-weight:400;letter-spacing:.05em;transition:background-color .2s}.empty-state details>summary,.empty-state details>summary::after,dialog footer,dialog h2,dialog h3,dialog h4,dialog header,dialog label,dialog p,dialog span,dialog strong{color:var(--uc-text-on-surface)}.text-success{color:var(--uc-success)}.text-error{color:var(--uc-error)}.text-gold{color:var(--uc-gold)}.text-muted{color:var(--uc-text-muted)}.bg-success{background-color:var(--uc-success);color:#fff}.bg-error,.card button.outline.danger:hover,.day-card button.outline.danger:hover,article button.outline.danger:hover,dialog button.outline.danger:hover{background-color:var(--uc-error);color:#fff}.bg-gold,dialog{color:var(--uc-text-on-surface)}.bg-gold{background-color:var(--uc-gold)}@media (max-width:1279px){.desktop-only{display:none!important}}@media (min-width:1280px){.mobile-only{display:none!important}}a,button,input,select,textarea{touch-action:manipulation}.tab-item:active,[role=button]:active,button:active{transform:scale(.97);opacity:.9}dialog{background:var(--uc-surface);border:0;border-radius:12px;padding:1.5rem;width:min(90vw,500px)}dialog::backdrop{background:rgba(0,0,0,.7)}a{color:var(--uc-gold);text-decoration:none}a:hover{color:var(--uc-gold-hover);text-decoration:underline}.card a,.card a:hover,article a,article a:hover{color:var(--uc-gold-dark)}.card button.outline.danger,.day-card button.outline.danger,article button.outline.danger,dialog button.outline.danger{color:var(--uc-error);border-color:var(--uc-error)}.card button.contrast,.day-card button.contrast,article button.contrast,dialog button.contrast{background-color:var(--uc-bg);color:var(--uc-text);border:1px solid var(--uc-text-on-surface-muted)}.card button.contrast:hover,.day-card button.contrast:hover,article button.contrast:hover,dialog button.contrast:hover{background-color:rgba(30,27,24,.85)}.pwa-only{display:none}.browser-only,body.standalone .pwa-only{display:block}@media (display-mode:standalone){.pwa-only{display:block}.browser-only{display:none}}body.standalone .browser-only{display:none}body.capacitor-native nav.container-fluid.top-nav,body.standalone nav.container-fluid.top-nav{padding-top:env(safe-area-inset-top)}.landing-hero{text-align:center;padding:3rem 1rem 4rem;margin:-1rem -1rem 0;background:linear-gradient(180deg,var(--uc-bg-elevated) 0%,var(--uc-bg) 100%)}.landing-hero-content{max-width:600px;margin:0 auto}.landing-headline{font-size:2.5rem;font-weight:700;line-height:1.2;margin:0 0 1.5rem;color:var(--uc-text)}.landing-section p,.landing-subheadline{font-size:1.1rem;color:var(--uc-text-muted)}.landing-subheadline{margin:0 0 2rem;line-height:1.6}a.landing-cta,a.landing-cta:link,a.landing-cta:visited{display:inline-flex;align-items:center;gap:.5rem;padding:1rem 2rem;font-size:1.1rem;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;font-weight:400;letter-spacing:.05em;background-color:var(--uc-gold);color:var(--uc-text-on-surface);border-radius:12px;text-decoration:none;transition:background-color .2s,transform .1s}.landing-cta:hover{background-color:var(--uc-gold-hover);text-decoration:none;transform:translateY(-2px)}.landing-cta:active{transform:scale(.98)}.landing-section{text-align:center;padding:3rem 1rem;border-bottom:1px solid rgba(240,234,214,.1)}.landing-section-icon{width:64px;height:64px;margin:0 auto 1.5rem;display:flex;align-items:center;justify-content:center;background:rgba(230,180,106,.15);border-radius:50%}.landing-section-icon i{width:32px;height:32px;color:var(--uc-gold)}.landing-section h2{font-size:1.75rem;margin:0 0 1rem}.landing-section p{max-width:500px;margin:0 auto}.landing-features{padding:3rem 1rem}#add-recipe-details fieldset,#add-recipe-details h3,#add-recipe-details h4,#add-recipe-details h5,#add-recipe-details label,#add-recipe-details legend,#add-recipe-details p,#add-recipe-details span,#add-recipe-details strong,#scan-recipe-details fieldset,#scan-recipe-details h3,#scan-recipe-details h4,#scan-recipe-details h5,#scan-recipe-details label,#scan-recipe-details legend,#scan-recipe-details p,#scan-recipe-details span,#scan-recipe-details strong,.landing-features h2,.landing-section h2{color:var(--uc-text)}.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;max-width:900px;margin:0 auto}.feature-card{background:var(--uc-surface);border-radius:12px;padding:1.5rem;text-align:center}.feature-icon{width:56px;height:56px;margin:0 auto 1rem;display:flex;align-items:center;justify-content:center;background:var(--uc-gold);border-radius:12px}.feature-icon i{width:28px;height:28px;color:var(--uc-bg)}.feature-card h3{font-size:1.1rem;margin:0 0 .5rem;color:var(--uc-text-on-surface)}.feature-card p{font-size:.95rem;color:var(--uc-text-on-surface-muted);margin:0;line-height:1.5}.landing-auth{padding:3rem 1rem 4rem;background:var(--uc-bg-elevated);margin:0-1rem -1rem}.auth-container{max-width:400px;margin:0 auto}@media (max-width:600px){.landing-headline{font-size:1.8rem}.landing-cta,.landing-subheadline{font-size:1rem}.landing-cta{padding:.875rem 1.5rem}.feature-grid{grid-template-columns:1fr}.landing-section h2{font-size:1.5rem}}.toast-celebration{background:linear-gradient(135deg,var(--uc-gold),#c89a55);color:var(--uc-text-on-surface);font-weight:600;animation:toast-slide-in .3s ease-out,celebrate-bounce .5s ease-in-out .3s}.toast-celebration::before{content:"🎉 "}.celebrate{animation:celebrate-pulse .6s ease-in-out}.bounce-in{animation:pop-in .4s cubic-bezier(.68,-.55,.265,1.55)}.streak-glow{animation:celebrate-glow 1.5s ease-in-out infinite}.podium-title,.streak-badge{font-size:.7rem;font-weight:600;letter-spacing:.5px}.streak-badge{display:inline-block;padding:.15rem .5rem;border-radius:999px;margin-left:.5rem}.streak-badge.rolling{background:linear-gradient(135deg,#ff9800,#ff5722);color:#fff}.streak-badge.warrior{background:linear-gradient(135deg,#e91e63,#9c27b0);color:#fff}.streak-badge.unstoppable{background:linear-gradient(135deg,#2196f3,#00bcd4);color:#fff}.streak-badge.legendary{background:linear-gradient(135deg,gold,#ff8c00);color:#fff;animation:celebrate-glow 2s ease-in-out infinite}.podium-title{margin-bottom:.25rem;color:var(--uc-text-muted)}.podium-place.first .podium-title{color:gold;font-size:.8rem}.podium-place.second .podium-title{color:silver}.podium-place.third .podium-title{color:#cd7f32}.card,.leaderboard-item,.recipe-card,article,dialog{box-shadow:0 4px 12px rgba(30,27,24,.15),0 2px 4px rgba(30,27,24,.1)}.card:hover,.leaderboard-item:hover,.recipe-card:hover{box-shadow:0 8px 24px rgba(30,27,24,.2),0 4px 8px rgba(30,27,24,.1)}[role=button]:hover,button:hover{transform:translateY(-1px)}.empty-state{padding:1.5rem 1rem}.empty-state-emoji{font-size:2rem;margin-bottom:.5rem;animation:celebrate-bounce 2s ease-in-out infinite}.empty-state-text{font-size:1rem;line-height:1.6}.leaderboard-item{transition:transform .2s,box-shadow .2s}.leaderboard-item:hover{transform:translateY(-2px)}.podium{background:linear-gradient(180deg,transparent 0,rgba(230,180,106,.05) 100%);border-radius:16px}.card input:focus,.card select:focus,.card textarea:focus,article input:focus,article select:focus,article textarea:focus{transform:scale(1.01);transition:transform .2s,border-color .2s,box-shadow .2s}.meal-completed{position:relative;overflow:hidden}.meal-completed::after{content:"✓";position:absolute;top:50%;right:1rem;transform:translateY(-50%);font-size:1.5rem;color:var(--uc-success);animation:pop-in .4s cubic-bezier(.68,-.55,.265,1.55)}.kitchen-chip{transition:border-color .2s ease,background-color .2s ease}.kitchen-chip-selected,.kitchen-chip:hover{border-color:var(--pico-primary)}.kitchen-chip-selected{background:rgba(230,180,106,.15)}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.empty-state-emoji,.streak-badge.legendary{animation:none}}input:focus,select:focus,textarea:focus{outline:2px solid CanvasText}.card input:focus,.card select:focus,.card textarea:focus,article input:focus,article select:focus,article textarea:focus,details input:focus,details select:focus,details textarea:focus,dialog input:focus,dialog select:focus,dialog textarea:focus{outline:2px solid transparent}@media (forced-colors:active){.card input:focus,.card select:focus,.card textarea:focus,article input:focus,article select:focus,article textarea:focus,details input:focus,details select:focus,details textarea:focus,dialog input:focus,dialog select:focus,dialog textarea:focus{outline:2px solid ButtonText}}.dashboard-link{display:inline-flex;align-items:center;justify-content:center;flex-direction:column;gap:.5rem;border-radius:8px;padding:.75rem 1rem;min-height:48px;text-decoration:none;text-align:center}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.link-btn,.link-btn:hover{background:0 0;transform:none!important}.link-btn{border:0;color:var(--uc-gold);text-decoration:none;cursor:pointer;padding:0;font:inherit;font-weight:600;min-height:auto;min-width:auto;display:inline-flex;align-items:center;gap:.4rem}.link-btn:hover{color:var(--uc-gold-hover);text-decoration:underline}.card .link-btn,.card .link-btn:hover,.day-card .link-btn,.day-card .link-btn:hover,.meal-title-btn:hover,article .link-btn,article .link-btn:hover,dialog .link-btn,dialog .link-btn:hover{color:var(--uc-gold-dark)}.meal-title-btn,button.leaderboard-item{text-align:left;cursor:pointer;border:0;color:var(--uc-text-on-surface)}.meal-title-btn{background:0 0;box-shadow:none;padding:0;font-weight:600;font-size:.95rem;min-height:auto;min-width:auto;word-break:break-word;margin:0 0 .25rem}.meal-title-btn:hover{background:0 0;transform:none}button.leaderboard-item{width:100%;padding:1rem;border-radius:12px;font:inherit}button.leaderboard-item,button.leaderboard-item:hover{background:var(--uc-surface)}.leaderboard-achievements{display:block;margin-top:.25rem}.leaderboard-achievements small{display:inline-block;margin-right:.5rem;color:var(--uc-text-on-surface-muted)}button.chef-profile{background:0 0;border:0;color:inherit;font:inherit}div.page-loading-bar{position:fixed;top:0;left:0;right:0;height:3px;background:var(--uc-gold);z-index:9999;opacity:0;transition:opacity 50ms ease;transform-origin:left center}.htmx-request .page-loading-bar,.htmx-request.page-loading-bar{opacity:1;animation:loading-bar-pulse 1.2s ease-in-out infinite}.shopping-bottom-actions .link-btn,.shopping-bottom-actions button.link-btn{flex-direction:column;gap:.25rem;min-width:60px;font-size:.65rem;letter-spacing:.04em;border-radius:8px;padding:.5rem .25rem;color:var(--uc-text-on-surface-muted)}.shopping-bottom-actions .link-btn:hover,.shopping-bottom-actions button.link-btn:hover{color:var(--uc-text-on-surface);background-color:rgba(44,41,38,.06);text-decoration:none}.shopping-bottom-actions .link-btn.danger,.shopping-bottom-actions button.link-btn.danger{color:var(--uc-error)}.shopping-bottom-actions .link-btn.danger:hover,.shopping-bottom-actions button.link-btn.danger:hover{background-color:rgba(184,56,42,.08)}.shopping-bottom-actions svg{stroke:currentColor;flex-shrink:0}#shopping-list{transition:opacity .12s ease}#shopping-list.switching{opacity:0}.shopping-tabs-strip .shopping-tab.active,.shopping-tabs-strip .shopping-tab[aria-selected=true]{color:var(--uc-text);background:0 0;background-color:transparent;border-bottom:3px solid var(--uc-gold);border-bottom-color:var(--uc-gold)}.shopping-tabs-strip .shopping-tab.active:focus,.shopping-tabs-strip .shopping-tab.active:focus-visible,.shopping-tabs-strip .shopping-tab[aria-selected=true]:focus,.shopping-tabs-strip .shopping-tab[aria-selected=true]:focus-visible{background:0 0;background-color:transparent;box-shadow:none}.poll-section{margin-top:0;padding-top:0}.poll-section .start-poll-btn{margin-top:.5rem;border:0;background:0 0;color:var(--uc-text-muted);padding:.25rem;min-width:44px;min-height:44px;justify-content:center;border-radius:8px}.poll-form-overlay{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.65);display:flex;align-items:center;justify-content:center;padding:1rem}.poll-form-card{background:var(--uc-surface);border-radius:12px;padding:1.25rem;max-width:480px;width:100%;max-height:85vh;overflow-y:auto;box-shadow:0 8px 32px rgba(0,0,0,.4)}.recipe-card [role=button],.recipe-card a.button{border-radius:var(--border-radius, 16px)}.achievement-badge{display:inline-flex;align-items:center;gap:.3rem;background:var(--uc-surface-dim);background-color:var(--uc-surface-dim);--pico-background-color:transparent;color:var(--uc-text-on-surface);border:1px solid rgba(44,41,38,.12);border-radius:20px;padding:.2rem .6rem;font-size:.82rem;font-weight:500}#add-recipe-details,#scan-recipe-details{background:0 0;border:1px solid rgba(240,234,214,.15);border-radius:12px;padding:.75rem 1rem}#add-recipe-details summary,#scan-recipe-details summary{color:var(--uc-text);font-weight:600}