@charset "UTF-8";*{box-sizing:border-box}:root{--motion-ease: cubic-bezier(.22, 1, .36, 1);--bg: #f8f3e9;--surface: #fffdf8;--surface-strong: #ffffff;--border: #e0d1b8;--text: #1c1a14;--muted: #6b6154;--primary: #1f6449;--primary-soft: #d4edde;--warning: #f5ad2e;--warning-soft: #ffedbd;--danger: #a8322a;--danger-soft: #ffe1dc;--shadow: 0 18px 42px rgba(54, 42, 26, .08)}html,body{min-height:100%}body{margin:0;background:#eee7dc;color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:background-color .16s ease,color .16s ease,opacity .16s ease,transform .16s var(--motion-ease)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:2px solid var(--primary);outline-offset:3px}input,select,textarea{min-width:0}button:disabled{cursor:not-allowed;opacity:.65}h1,h2,h3,p{margin:0}p{color:var(--muted);line-height:1.42}h1{font-size:30px;font-weight:800;line-height:1.05;letter-spacing:0}h2{font-size:18px;font-weight:800;line-height:1.2}h3{font-size:16px;font-weight:800;line-height:1.2}.auth-shell{display:grid;min-height:100dvh;place-items:center;padding:calc(24px + env(safe-area-inset-top,0px)) 16px calc(24px + env(safe-area-inset-bottom,0px))}.auth-card{display:grid;gap:20px;width:min(100%,400px);border:1px solid var(--border);border-radius:28px;background:var(--surface);box-shadow:var(--shadow);padding:24px}.auth-description{margin-top:10px}.auth-tabs,.tabs-strip{display:grid;grid-template-columns:1fr 1fr;gap:6px;border-radius:17px;background:#efe6d9;padding:5px}.auth-tabs button,.tabs-strip button{display:grid;place-items:center;min-height:38px;border:0;border-radius:14px;background:transparent;color:var(--muted);font-weight:800}.auth-tabs button.active,.tabs-strip button.active{background:var(--surface);color:var(--primary)}.auth-form,.oauth-section,.support-form,.inline-form,.support-reply{display:grid;gap:12px}.auth-error{color:var(--danger)}.shell{width:min(100%,400px);min-height:100dvh;margin:0 auto;border-radius:28px;background:var(--bg);overflow:hidden;padding:calc(18px + env(safe-area-inset-top,0px)) 16px calc(104px + env(safe-area-inset-bottom,0px))}.shell.dev-shell{width:min(100%,1440px);border-radius:0;padding:24px;background:#f7f4e9}.topbar{display:flex;align-items:start;justify-content:space-between;gap:14px;margin-bottom:18px}.eyebrow,.section-label{margin-bottom:6px;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:0;text-transform:uppercase}.topbar-subtitle{margin-top:4px;font-size:13px}.topbar-actions{display:flex;align-items:stretch;gap:8px}.summary{display:none}.notification-button{position:relative;display:grid;place-items:center;width:44px;min-width:44px;height:44px;border:1px solid var(--border);border-radius:16px;background:var(--surface);color:var(--primary);font-size:18px}.notification-button strong{position:absolute;top:-7px;right:-7px;display:grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border:2px solid var(--surface);border-radius:999px;background:var(--danger);color:#fff;font-size:12px;line-height:1}.screen{display:grid;gap:16px;animation:tab-in .28s var(--motion-ease)}@keyframes tab-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}button:active{transform:scale(.98)}.action-card,.fridge-row:not([data-swipe-id]),.fridge-swipe-shell,.shopping-row,.profile-menu button,.notification-row,.recipe-card{animation:card-in .26s var(--motion-ease) backwards}@keyframes card-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.panel,.summary-card,.dish-card,.profile-card,.recipe-card,.empty-state,.fridge-row,.shopping-row{border:1px solid var(--border);border-radius:18px;background:var(--surface)}.action-card{width:100%;border:1px solid var(--border);color:inherit;text-align:left}.action-card:focus-visible{outline:3px solid rgba(31,100,73,.22);outline-offset:2px}.panel{display:grid;gap:14px;padding:16px}.fridge-toolbar,.filter-pills{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.fridge-toolbar{justify-content:space-between;flex-wrap:nowrap}.section-switcher,.filter-pills{min-width:0}.section-switcher{display:flex;flex:1 1 auto;gap:8px}.section-switcher button,.filter-pills span,.filter-pills button{display:inline-grid;place-items:center;height:34px;min-height:34px;border:1px solid var(--border);border-radius:17px;background:var(--surface);color:var(--muted);padding:0 12px;font-size:12px;font-weight:800;line-height:1;text-align:center;white-space:nowrap}.section-switcher button.active,.filter-pills .active,.filter-pills button.active{border-color:var(--primary-soft);background:var(--primary-soft);color:var(--primary)}.add-shortcut{display:inline-grid;place-items:center;flex:0 0 46px;width:46px;min-width:46px;height:38px;min-height:38px;border-radius:14px;padding:0;font-size:22px;line-height:1;text-align:center}.form-grid{display:grid;grid-template-columns:minmax(0,1fr) 72px;gap:10px}.form-grid select,.form-grid input[type=date],.form-grid .primary-action{grid-column:span 2}.shopping-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(118px,auto);gap:10px}.shopping-details{display:grid;grid-template-columns:72px 82px minmax(0,1fr);gap:8px}label{display:grid;gap:6px;color:var(--muted);font-size:13px;font-weight:700}input,select,textarea{width:100%;min-width:0;min-height:48px;border:1px solid var(--border);border-radius:14px;background:var(--surface-strong);color:var(--text);padding:0 14px;outline:none}select{padding-right:44px}.checkbox-row{display:inline-grid;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:10px}.checkbox-row input{width:18px;min-height:18px}input[type=date]{max-width:100%;min-width:0;appearance:none;-webkit-appearance:none}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #1f644924}textarea{min-height:92px;padding-block:12px;resize:vertical}.primary-action,.secondary-action,.danger-action,.like-button,.move-button,.row-actions button,.dish-card .primary-action,.oauth-section button{display:inline-grid;place-items:center;min-height:48px;border:0;border-radius:14px;padding:0 14px;font-weight:800;line-height:1.1;text-align:center}a.primary-action,a.secondary-action{text-decoration:none}.primary-action{background:var(--primary);color:#fff}.secondary-action,.like-button,.move-button,.row-actions button,.oauth-section button{background:#efe6d9;color:var(--text)}.danger-action{border:1px solid #f0b6af;background:#fff3f1;color:var(--danger)}.compact-action{min-height:42px;justify-self:start}.summary-card{display:flex;align-items:center;gap:12px;min-height:66px;padding:14px}.summary-card strong{display:block;margin-bottom:4px;font-size:15px}.summary-card p{font-size:12px}.summary-icon{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:12px;font-weight:900}.warning-icon{background:var(--warning-soft);color:var(--warning)}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.compact-heading{margin-top:6px}.alert-pill,.status{border-radius:999px;padding:8px 12px;font-size:12px;font-weight:800;white-space:nowrap}.alert-pill,.status.warning{background:var(--warning-soft);color:#805600}.status.fresh{background:var(--primary-soft);color:var(--primary)}.status.danger{background:var(--danger-soft);color:var(--danger)}.status.neutral{background:var(--surface-strong);color:var(--muted)}.list,.notification-list,.member-list,.message-list,.profile-menu{display:grid;gap:10px}.fridge-row,.shopping-row{position:relative;isolation:isolate;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:14px;min-height:78px;padding:14px;touch-action:pan-y;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;background:var(--surface);transition:transform .32s cubic-bezier(.22,1,.36,1);will-change:transform}.fridge-row.is-swiping{transition-duration:0ms}.fridge-row[data-swipe-id]{animation:none}.shopping-row{grid-template-columns:auto minmax(0,1fr) auto;min-height:76px}.fridge-swipe-shell{position:relative;overflow:hidden;border-radius:18px}.fridge-row{position:relative;z-index:1}.fridge-row>*{position:relative;z-index:1}.swipe-reveal{position:absolute;inset:0;display:grid;place-items:center;border:0;border-radius:18px;font-size:28px;opacity:0;pointer-events:none;transform:scale(.88);transition:opacity .18s ease,transform .24s cubic-bezier(.2,1.2,.2,1);z-index:0}.fridge-swipe-shell.swipe-shopping .swipe-reveal{opacity:var(--swipe-progress, 0);transform:scale(calc(.82 + var(--swipe-progress, 0) * .18));justify-items:start;padding-left:42px;background:var(--primary);color:#fff}.fridge-swipe-shell.swipe-delete .swipe-reveal{opacity:var(--swipe-progress, 0);transform:scale(calc(.82 + var(--swipe-progress, 0) * .18));justify-items:end;padding-right:42px;background:var(--danger);color:#fff}.item-thumb,.recipe-thumb{width:44px;height:44px;border-radius:14px;background:radial-gradient(circle at 34% 30%,rgba(255,255,255,.78),transparent 0 16%),var(--primary-soft)}.item-content{min-width:0}.item-content h3,.item-content p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-content p,.fridge-row p,.shopping-row p{margin-top:5px;font-size:12px}.row-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.row-actions button,.move-button{min-height:32px;border-radius:10px;padding:0 10px;font-size:12px;line-height:1}.row-chevron,.menu-button{color:var(--muted);font-size:26px;line-height:1}.menu-button,.icon-button,.check-button{display:grid;place-items:center;border:0;background:transparent}.check-button{flex:0 0 28px;width:28px;height:28px;border:1px solid var(--border);border-radius:9px;background:var(--surface-strong);color:var(--primary);font-weight:900;transition:background .16s ease,border-color .16s ease,transform .24s cubic-bezier(.2,1.4,.3,1)}.shopping-row.done{opacity:.62}.shopping-row.done .check-button{border-color:var(--primary);background:var(--primary-soft);transform:scale(1.08)}.shopping-row.done h3,.shopping-row.done p{text-decoration:line-through}.search-field{position:relative;display:block}.search-field span{position:absolute;top:12px;left:14px;color:var(--muted);font-size:20px}.search-field input{padding-left:44px}.inventory-tools{display:grid;gap:10px;padding:12px;border:1px solid var(--border);border-radius:18px;background:#fffdf8b8}.inventory-search input{min-height:44px;background:var(--surface)}.inventory-search span{top:10px}.inventory-selects{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.inventory-selects label{gap:5px;font-size:11px}.inventory-selects select{min-height:42px;border-radius:12px;padding-left:11px;font-size:12px;font-weight:700}.inventory-results{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:12px;font-weight:700}.inventory-results button{min-height:32px;border:0;border-radius:999px;background:var(--primary-soft);color:var(--primary);padding:0 12px;font-weight:800}.recipe-notice{padding:12px 14px;border:1px solid var(--border);border-radius:14px;background:var(--surface);color:var(--muted);font-size:13px;font-weight:700}.recipe-notice.warning{border-color:#b96c2447;background:#ffefd6bd;color:#8a4d18}.settings-hint{margin:-4px 12px 6px;color:var(--muted);font-size:12px;line-height:1.45}.dish-card{display:grid;align-content:start;gap:14px;min-height:180px;padding:18px;background:linear-gradient(135deg,rgba(31,100,73,.14),transparent 48%),var(--surface)}.dish-image,.detail-image{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:12px;border:1px solid var(--border)}.dish-card.action-card{border-color:var(--border)}.dish-card h2{font-size:28px}.recipe-grid{display:grid;gap:12px}.recipe-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto auto;align-items:start;gap:16px;min-height:100px;padding:12px}.source-dot{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;color:#1d1800;font-size:11px;font-weight:900}.source-dot.spoonacular{background:#f4c64b}.source-dot.local{background:#92d6a8}.dev-recipe-thumb{width:52px;height:52px;border-radius:12px;object-fit:cover;border:1px solid rgba(255,255,255,.16)}.recipe-thumb{width:76px;height:76px;border-radius:14px;object-fit:cover;background:var(--primary-soft)}.like-button{min-width:42px;min-height:42px;border-radius:50%;padding:0;background:transparent;color:var(--primary);font-size:24px}.create-recipe-button{width:100%}.profile-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;min-height:92px;padding:16px}.plan-badge{border-radius:999px;background:#1f2e24;color:#fff;padding:7px 10px;font-size:12px;font-weight:900}.avatar{display:grid;place-items:center;flex:0 0 56px;width:56px;height:56px;border-radius:18px;background:var(--primary-soft);color:var(--primary);font-size:24px;font-weight:900}.avatar.small{width:38px;height:38px;border-radius:12px;font-size:18px}.profile-menu button{display:grid;grid-template-columns:24px minmax(0,1fr) 18px;align-items:center;gap:14px;min-height:58px;border:1px solid var(--border);border-radius:18px;background:var(--surface);color:var(--text);padding:0 16px;text-align:left;font-weight:800;line-height:1}.member-row,.support-row,.notification-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;min-height:58px;border:1px solid var(--border);border-radius:18px;background:var(--surface);color:var(--text);padding:0 16px;text-align:left;font-weight:800}.profile-menu button span{display:grid;place-items:center;width:24px;height:24px;color:var(--primary);font-size:18px;line-height:1}.profile-menu button strong{display:grid;place-items:center;width:18px;height:24px;color:var(--muted);font-size:22px;line-height:1}.subscription-hero{display:grid;gap:10px;border:1px solid var(--border);border-radius:18px;background:var(--surface);padding:18px}.subscription-hero.active{border-color:#83a98d;background:#eef6eb}.subscription-hero-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.subscription-hero-head>span{border-radius:999px;background:#dcebd8;color:#275137;padding:7px 10px;font-size:12px;font-weight:900}.subscription-hero p,.subscription-hero strong{margin:0}.subscription-hero>p{color:var(--muted)}.plus-teaser{display:grid;grid-template-columns:44px minmax(0,1fr) 18px;align-items:center;gap:12px;width:100%;border:1px solid #83a98d;border-radius:18px;background:#eef6eb;color:var(--text);padding:14px;text-align:left}.plus-teaser-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:#1f2e24;color:#fff;font-size:18px}.plus-teaser-copy,.plus-teaser-title{display:flex}.plus-teaser-copy{min-width:0;flex-direction:column;gap:5px}.plus-teaser-title{align-items:center;justify-content:space-between;gap:8px}.plus-teaser-title small{border-radius:999px;background:#dcebd8;color:#275137;padding:5px 8px;font-size:10px;font-weight:900}.plus-teaser-copy>span:not(.plus-teaser-title){color:var(--muted);font-size:12px}.plus-teaser-copy .plus-teaser-features{color:var(--primary);font-size:11px;font-weight:800}.plus-feature-list{display:grid;gap:10px}.plus-feature-list article{display:grid;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:12px;border:1px solid var(--border);border-radius:16px;background:var(--surface);padding:14px}.plus-feature-list article>span{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--primary-soft);color:var(--primary);font-weight:900}.plus-feature-list p{margin:4px 0 0;color:var(--muted);font-size:13px;line-height:1.4}.plus-coming-soon{border-radius:16px;background:#1f2e24;color:#fff;padding:16px}.plus-coming-soon p{margin:6px 0 0;color:#cbd8cc;font-size:13px;line-height:1.45}.meal-plan-dialog{gap:18px}.meal-plan-form{display:grid;gap:12px}.meal-plan-form label{display:grid;gap:7px;color:var(--muted);font-size:12px;font-weight:800}.meal-plan-week{display:grid;gap:10px}.meal-plan-day{display:grid;grid-template-columns:72px minmax(0,1fr);gap:10px;align-items:center;border-bottom:1px solid var(--border);padding-bottom:10px}.meal-plan-day>header{display:grid;gap:3px}.meal-plan-day>header strong{text-transform:capitalize}.meal-plan-day>header span{color:var(--muted);font-size:12px}.planned-meal{display:grid;grid-template-columns:48px minmax(0,1fr) 38px;align-items:center;gap:10px;min-height:60px;border:1px solid var(--border);border-radius:14px;background:var(--surface);padding:6px}.planned-meal img{width:48px;height:48px;border-radius:10px;object-fit:cover}.planned-meal div{min-width:0}.planned-meal div span,.planned-meal div strong{display:block}.planned-meal div span{margin-bottom:3px;color:var(--primary);font-size:11px;font-weight:800}.planned-meal div strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.meal-plan-empty{min-height:52px;border:1px dashed #9eb7a2;border-radius:14px;background:#f5f8f2;color:var(--primary);font-weight:800}.profile-menu .danger-menu-item{color:var(--danger)}.profile-menu button.active{border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}.profile-hint{padding-block:22px}.detail-dialog{gap:16px}.detail-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}.recipe-priority-note,.expiry-recipe-label{color:#9a4f16;font-weight:800}.recipe-priority-note{border:1px solid rgba(185,108,36,.28);border-radius:8px;background:#fff1dc;padding:10px 12px;font-size:13px}.expiry-recipe-label{font-size:12px}.add-dialog{gap:16px}.add-form{display:grid;gap:12px}.add-form-row{display:grid;grid-template-columns:minmax(0,1fr) 96px;gap:10px}.subscreen-head{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:12px}.back-button{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--border);border-radius:14px;background:var(--surface);color:var(--primary);font-size:28px;font-weight:800;line-height:1}.detail-stats{display:flex;flex-wrap:wrap;gap:8px}.detail-stats span,.tag-row span{border-radius:999px;background:var(--primary-soft);color:var(--primary);padding:8px 12px;font-size:12px;font-weight:800}.tag-row{display:flex;flex-wrap:wrap;gap:8px}.recipe-longread{display:grid;gap:10px}.recipe-longread article{display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;align-items:start;border:1px solid var(--border);border-radius:14px;background:var(--surface-strong);padding:10px}.recipe-longread span{display:grid;place-items:center;width:28px;height:28px;border-radius:10px;background:var(--primary-soft);color:var(--primary);font-size:12px;font-weight:900}.recipe-longread p{margin:0}.account-actions{grid-template-columns:1fr}.partner-panel p{margin-top:8px}.partner-panel .inline-form,.partner-panel .member-list{margin-top:6px}.member-row{padding:10px}.member-row strong,.member-row span{display:block}.member-row span{margin-top:2px;color:var(--muted);font-size:13px}.support-row{grid-template-columns:minmax(0,1fr) auto;padding:12px}.support-row.closed{background:#f0e8dc}.support-row-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:4px}.support-row-head span{flex:0 0 auto;border-radius:999px;background:var(--primary-soft);color:var(--primary);padding:5px 8px;font-size:12px;font-weight:800}.support-row p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.support-row-actions,.notification-actions{display:flex;gap:8px}.message-list{max-height:360px;overflow:auto;padding-right:4px}.chat-message{display:grid;justify-self:start;gap:4px;max-width:82%;border-radius:18px;background:#efe6d9;padding:10px 12px}.chat-message.mine{justify-self:end;background:var(--primary-soft)}.chat-message span{color:var(--muted);font-size:12px;font-weight:800}.notifications-popover,.ticket-dialog{position:fixed;z-index:31;right:max(16px,(100vw - 400px) / 2 + 16px);left:max(16px,(100vw - 400px) / 2 + 16px);max-height:min(78dvh,620px);overflow:auto;overscroll-behavior:contain;border-color:var(--border);background:var(--surface);box-shadow:0 28px 70px #362a1a3d;animation:sheet-in .32s var(--motion-ease) both}.notifications-popover{top:calc(92px + env(safe-area-inset-top,0px));border-radius:24px}.ticket-dialog{top:50%;transform:translateY(-50%)}@keyframes sheet-in{0%{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:translateY(0)}}.ticket-dialog{animation-name:dialog-in}@keyframes dialog-in{0%{opacity:0;transform:translateY(calc(-50% + 22px)) scale(.97)}to{opacity:1;transform:translateY(-50%) scale(1)}}.notification-backdrop{position:fixed;inset:0;z-index:29;border:0;background:#1c1a143d;animation:fade-in .28s ease-out both}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.notifications-head{display:flex;align-items:start;justify-content:space-between;gap:12px}.close-button{width:36px;height:36px;color:var(--danger);font-size:24px}.notification-row{align-items:start;padding:12px}.notification-row.unread{border-color:var(--primary);background:#f5fbf5}.notification-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#efe6d9;font-size:18px}.notification-body{min-width:0}.notification-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:4px;color:var(--muted);font-size:12px;font-weight:800}.notification-row .notification-actions,.notification-row>.secondary-action{grid-column:2/-1}.notification-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.notifications-empty{display:grid;justify-items:center;gap:8px;padding:22px 12px;color:var(--muted);text-align:center}.notifications-empty span{font-size:30px}.network-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;border:1px solid #e5a29a;border-radius:18px;background:#fff0ed;color:var(--danger);padding:12px 14px}.network-banner button{border:0;border-radius:12px;background:var(--danger-soft);color:var(--danger);padding:8px 12px;font-weight:800}.empty-state{display:grid;justify-items:center;gap:12px;padding:32px 20px;text-align:center}.settings-panel{gap:10px}.setting-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;min-height:72px;border:1px solid var(--border);border-radius:18px;background:var(--surface);color:var(--text);padding:14px 16px;text-align:left}.setting-row.static{cursor:default}.quiet-hours-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;min-height:72px;border:1px solid var(--border);border-radius:18px;background:var(--surface);padding:14px 16px}.quiet-hours-row strong,.quiet-hours-row p{display:block}.quiet-hours-row p{margin:4px 0 0;color:var(--muted);font-size:12px}.quiet-hours-inputs{display:flex;align-items:center;gap:6px}.quiet-hours-inputs input{width:94px;min-height:38px;border:1px solid var(--border);border-radius:10px;background:var(--surface-strong);color:var(--text);padding:0 8px;font:inherit;font-size:13px}.setting-row strong{display:block;margin-bottom:4px}.toggle{position:relative;width:54px;height:32px;border-radius:999px;background:#e4d8c8;transition:background .18s ease}.toggle i{position:absolute;top:4px;left:4px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 4px 10px #362a1a29;transition:transform .24s cubic-bezier(.2,1.3,.3,1)}.toggle.active{background:var(--primary)}.toggle.active i{transform:translate(22px)}.cooking-dialog{gap:16px}.cooking-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.cooking-progress span{height:7px;border-radius:999px;background:#e4d8c8;overflow:hidden}.cooking-progress span.active{background:var(--primary)}.cooking-step-card{display:grid;gap:10px;min-height:140px;border:1px solid var(--border);border-radius:18px;background:linear-gradient(135deg,rgba(31,100,73,.1),transparent 55%),var(--surface);padding:18px;animation:card-in .18s ease-out both}.cooking-step-card span{color:var(--primary);font-size:13px;font-weight:800}.cooking-step-card p{color:var(--text);font-size:18px;font-weight:800}.cooking-actions{display:grid;grid-template-columns:minmax(92px,auto) minmax(0,1fr);gap:10px}.toast{position:fixed;right:50%;bottom:calc(100px + env(safe-area-inset-bottom,0px));z-index:80;width:min(100% - 32px,360px);transform:translate(50%);border-radius:18px;background:var(--primary);color:#fff;padding:14px 16px;text-align:center;font-weight:800;box-shadow:0 18px 42px #1f644942;animation:toast-in .24s ease-out both}@keyframes toast-in{0%{opacity:0;transform:translate(50%,14px)}to{opacity:1;transform:translate(50%)}}.empty-state p{max-width:312px}.empty-illustration{display:grid;place-items:center;width:164px;height:164px;border-radius:50%;background:var(--primary-soft);color:var(--primary);font-size:58px;font-weight:900}.skeleton-list{display:grid;gap:10px}.skeleton-row{height:66px;border:1px solid var(--border);border-radius:18px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.72),transparent) 0 0/220px 100% no-repeat,#efe6d9;animation:shimmer 1.2s infinite linear}@keyframes shimmer{to{background-position:420px 0}}.bottom-nav{position:fixed;right:0;bottom:max(12px,env(safe-area-inset-bottom,0px));left:0;z-index:10;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:2px;width:min(100% - 16px,368px);margin:0 auto;padding:6px;border:1px solid var(--border);border-radius:24px;background:#fffdf8f5;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.bottom-nav button{display:grid;place-items:center;gap:4px;min-width:0;min-height:56px;padding:4px 0;border:0;border-radius:17px;background:transparent;color:var(--muted);font-size:10px;font-weight:800}.bottom-nav button.active{background:var(--primary);color:#fff}.nav-icon{display:grid;place-items:center;width:22px;height:22px;font-size:20px;line-height:1}.nav-icon:before{content:"\2302"}.nav-icon[data-icon=cart]:before{content:"\2713"}.nav-icon[data-icon=dice]:before{content:"\2684"}.nav-icon[data-icon=book]:before{content:"\25a4"}.nav-icon[data-icon=user]:before{content:"\25cf"}.onboarding-layer{position:fixed;inset:0;z-index:60;display:grid;place-items:end center;padding:calc(12px + env(safe-area-inset-top,0px)) 12px calc(12px + env(safe-area-inset-bottom,0px))}.onboarding-scrim{position:absolute;inset:0;background:#1c1a147a;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fade-in .2s ease-out both}.onboarding-card{position:relative;display:grid;gap:14px;width:min(100%,400px);max-height:calc(100dvh - 24px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));overflow:auto;overscroll-behavior:contain;animation:sheet-in .32s var(--motion-ease) both;border:1px solid var(--border);border-radius:28px;background:var(--surface);box-shadow:0 30px 80px #1c1a1447;padding:20px}.onboarding-progress{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:6px}.onboarding-progress span{height:6px;border-radius:999px;background:#e4d8c8;transition:background-color .2s ease}.onboarding-progress span.active{background:var(--primary)}.onboarding-preview{display:grid;gap:8px;border:1px solid var(--border);border-radius:18px;background:var(--surface);padding:12px}.onboarding-notification-list{display:grid;gap:10px}.onboarding-notification-list>div{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px}.onboarding-notification-list>div>span{display:grid;place-items:center;width:38px;height:38px;border-radius:13px;background:var(--primary-soft);color:var(--primary);font-size:20px;font-weight:900}.onboarding-notification-list p{display:grid;gap:2px;margin:0}.onboarding-notification-list small{color:var(--muted)}.preview-row{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:42px}.preview-swipe{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;min-height:48px;border-radius:14px;background:linear-gradient(90deg,var(--danger-soft),var(--surface) 32%,var(--primary-soft));padding:0 12px;color:var(--primary)}.preview-swipe span:first-child{color:var(--danger)}.preview-choice,.onboarding-actions{display:grid;grid-template-columns:1fr;gap:8px}.preview-choice button{min-height:42px;border:0;border-radius:14px;background:#efe6d9;color:var(--text);font-weight:800}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.dev-dashboard{display:grid;grid-template-columns:236px minmax(0,1fr);gap:24px;min-height:calc(100dvh - 48px)}.dev-sidebar{position:sticky;top:24px;display:flex;flex-direction:column;min-height:calc(100dvh - 48px);padding:20px;border-radius:28px;background:#1e4930;color:#fff}.dev-brand{display:grid;gap:6px;margin-bottom:12px}.dev-brand span{color:#e0eddb;font-size:12px;font-weight:800}.dev-brand strong{font-size:24px;line-height:1}.dev-brand p{color:#c7dbcc;font-size:12px}.dev-system-pill{display:inline-flex;align-items:center;gap:8px;width:fit-content;margin-bottom:12px;padding:10px;border-radius:12px;background:#2b5c3b;font-size:12px;font-weight:700}.dev-system-pill span{width:7px;height:7px;border-radius:50%;background:#87d180;box-shadow:0 0 0 4px #87d18024}.dev-nav{display:grid;gap:4px}.dev-nav button{display:flex;align-items:center;gap:10px;min-height:42px;border:0;border-radius:12px;background:transparent;color:#fff;font-size:13px;font-weight:700;text-align:left;cursor:pointer;transition:background .18s ease,color .18s ease,transform .18s ease}.dev-nav button:hover{background:#ffffff14;transform:translate(2px)}.dev-nav button.active{background:#e0eddb;color:#1e4930}.dev-nav span{display:inline-grid;place-items:center;width:18px;min-width:18px;font-size:14px}.dev-admin{display:flex;align-items:center;gap:10px;margin-top:auto;padding:10px;border-radius:14px;background:#2b5c3b}.dev-admin>div{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#e0eddb;color:#1e4930;font-weight:800}.dev-admin span{display:grid;gap:2px;min-width:0}.dev-admin strong{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.dev-admin small{color:#c7dbcc;font-size:10px}.dev-main{display:grid;align-content:start;gap:16px;min-width:0}.dev-topbar,.dev-critical-alert,.dev-grid,.dev-metrics,.dev-live{animation:dev-rise .28s ease both}.dev-topbar{display:flex;align-items:start;justify-content:space-between;gap:16px}.dev-topbar h1{color:#1a271f;font-size:30px;line-height:1.1}.dev-topbar p,.dev-card-head p,.dev-online p{color:#656f66;font-size:12px}.dev-controls{display:flex;gap:10px;flex-wrap:wrap;justify-content:end}.dev-controls button,.dev-critical-alert button,.dev-filter-row button,.dev-incident{min-height:42px;border:0;border-radius:12px;background:#fffef9;color:#1a271f;font-weight:800;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}.dev-controls button:hover,.dev-critical-alert button:hover,.dev-filter-row button:hover,.dev-incident:hover,.dev-ticket:hover{transform:translateY(-1px);box-shadow:0 10px 22px #1e49301f}.dev-controls .dev-refresh,.dev-incident{background:#1e4930;color:#fff}.dev-critical-alert,.dev-ok-alert{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:16px;border-radius:16px}.dev-critical-alert{background:#fdebdd}.dev-ok-alert{grid-template-columns:auto minmax(0,1fr);background:#e0eddb}.dev-critical-alert>strong{padding:8px;border-radius:999px;background:#c43c35;color:#fff;font-size:12px}.dev-ok-alert>strong{color:#1e4930}.dev-critical-alert span,.dev-ok-alert span{display:grid;gap:2px;min-width:0}.dev-critical-alert b,.dev-ok-alert b{color:#1a271f;font-size:14px}.dev-critical-alert small,.dev-ok-alert small{color:#656f66;font-size:12px}.dev-critical-alert button{color:#c43c35}.dev-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.dev-metric-card,.dev-card{border-radius:18px;background:#fffef9}.dev-metric-card{display:grid;gap:8px;min-height:132px;padding:18px}.dev-metric-card span{color:#656f66;font-size:13px;font-weight:700}.dev-metric-card strong{color:#1a271f;font-size:30px;line-height:1}.dev-metric-card p{display:flex;align-items:center;gap:6px;color:#656f66;font-size:11px}.dev-metric-card b,.dev-positive{padding:7px 8px;border-radius:999px;background:#49875e;color:#fff;font-size:12px}.dev-metric-card b.blue{background:#3b73b0}.dev-metric-card b.red{background:#c43c35}.dev-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:16px}.dev-grid.single{grid-template-columns:1fr}.dev-card{display:grid;align-content:start;gap:12px;padding:20px;overflow:hidden}.dev-card-head{display:flex;align-items:start;justify-content:space-between;gap:12px}.dev-card h2{color:#1a271f;font-size:19px;line-height:1.15}.dev-legend{display:flex;gap:12px;flex-wrap:wrap}.dev-legend span,.dev-filter-row button,.dev-score b{padding:8px;border-radius:999px;font-size:12px;font-weight:800}.dev-legend .green,.dev-filter-row .active{background:#e0eddb;color:#1e4930}.dev-legend .blue{background:#e3edfa;color:#3b73b0}.dev-chart{position:relative;height:230px;overflow:hidden;border-bottom:1px solid #e6e1d5}.dev-chart span{display:block;height:20%;border-top:1px solid #e6e1d5}.dev-chart:before,.dev-chart:after{position:absolute;inset:22% 4% auto;height:3px;border-radius:999px;background:linear-gradient(90deg,transparent 0 6%,#49875e 6% 20%,transparent 20% 26%,#49875e 26% 44%,transparent 44% 50%,#49875e 50% 68%,transparent 68% 74%,#49875e 74% 100%);content:"";transform:rotate(-8deg)}.dev-chart:after{inset:52% 4% auto;background:linear-gradient(90deg,transparent 0 8%,#3b73b0 8% 26%,transparent 26% 32%,#3b73b0 32% 48%,transparent 48% 56%,#3b73b0 56% 72%,transparent 72% 78%,#3b73b0 78% 100%);transform:rotate(12deg);opacity:.75}.dev-chart i{position:absolute;left:var(--x);top:var(--y);width:7px;height:7px;border-radius:50%;background:#49875e;animation:dev-pulse 1.8s ease infinite}.dev-bars{display:grid;grid-template-columns:repeat(7,minmax(32px,1fr));align-items:end;gap:12px;min-height:230px;padding-top:16px;border-bottom:1px solid #e6e1d5}.dev-bars div{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:4px;height:210px}.dev-bars span{min-height:4px;border-radius:999px 999px 0 0;background:#49875e;transition:height .25s ease}.dev-bars span.blue{background:#3b73b0}.dev-bars small{grid-column:1/-1;color:#656f66;font-size:10px;text-align:center}.dev-online{position:relative}.dev-online strong{color:#1a271f;font-size:44px;line-height:1}.dev-online .dev-positive{position:absolute;top:84px;left:88px}.dev-platform,.dev-health{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:8px;border-radius:10px;background:#fff;color:#1a271f;font-size:12px}.dev-platform span:before{display:inline-block;width:8px;height:8px;margin-right:8px;border-radius:50%;background:#49875e;content:""}.dev-platform.web span:before{background:#3b73b0}.dev-platform.ios span:before{background:#e9a130}.dev-platform em{padding:6px 8px;border-radius:999px;background:#f7f4e9;color:#656f66;font-style:normal}.dev-feature-list,.dev-ticket-list,.dev-feedback-list,.dev-user-list,.dev-event-list{display:grid;gap:8px}.dev-feature{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;color:#1a271f;font-size:12px}.dev-feature i{grid-column:1/-1;height:7px;overflow:hidden;border-radius:999px;background:#e6e1d5}.dev-feature i:before{display:block;width:var(--w);height:100%;border-radius:inherit;background:#49875e;content:""}.dev-filter-row{display:flex;gap:8px;flex-wrap:wrap}.dev-filter-row button{min-height:34px;background:#f7f4e9;color:#656f66}.dev-ticket{display:grid;gap:4px;width:100%;padding:10px;border:0;border-radius:12px;background:#fef1ef;color:#1a271f;text-align:left;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}.dev-ticket.closed{background:#fff}.dev-ticket span{display:flex;align-items:center;gap:7px}.dev-ticket small{color:#656f66;font-weight:800}.dev-ticket b{padding:7px 8px;border-radius:999px;background:#c43c35;color:#fff;font-size:11px}.dev-ticket.closed b{background:#f7f4e9;color:#656f66}.dev-ticket strong{font-size:12px}.dev-ticket em{color:#656f66;font-size:10px;font-style:normal}.dev-score{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.dev-score strong{color:#1a271f;font-size:34px}.dev-score span{color:#e9a130;font-size:18px;font-weight:800}.dev-score b{background:#e0eddb;color:#1e4930}.dev-feedback-list article{display:grid;gap:4px;padding:10px;border-radius:12px;background:#fff}.dev-user-list article,.dev-event-list article{display:grid;gap:4px;padding:10px;border-radius:12px;background:#fff}.dev-user-list b,.dev-event-list b{color:#1a271f;font-size:13px}.dev-user-list span,.dev-event-list span{min-width:0;overflow:hidden;color:#656f66;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.dev-user-list small,.dev-event-list small{color:#1e4930;font-size:10px;font-weight:800}.dev-feedback-list article.need-answer{background:#fef1ef}.dev-feedback-list span{color:#e9a130;font-size:11px;font-weight:800}.dev-feedback-list span b{margin-left:8px;padding:6px 8px;border-radius:999px;background:#f7f4e9;color:#656f66}.dev-feedback-list strong{color:#1a271f;font-size:12px}.dev-feedback-list p{color:#656f66;font-size:10px}.dev-inline-action{justify-self:start;min-height:30px;border:0;border-radius:9px;background:#e0eddb;color:#1e4930;font-size:11px;font-weight:800;cursor:pointer}.dev-health{grid-template-columns:auto minmax(0,1fr) auto}.dev-health span{width:9px;height:9px;border-radius:50%;background:#49875e}.dev-health.warn span{background:#e9a130}.dev-health p{min-width:0;color:#1a271f;font-size:12px}.dev-health b{color:#1e4930;font-size:12px}.dev-health.warn b{color:#e9a130}.dev-live{display:flex;gap:12px;align-items:center;min-height:44px;padding:14px;overflow:hidden;border-radius:16px;background:#1f2e24;color:#fff;font-size:11px}.dev-live b{color:#87d180}.dev-live span:last-child{color:#ffb89e}.dev-access-card{display:grid;gap:14px;align-self:center;justify-self:center;width:min(100%,560px);padding:28px;border-radius:24px;background:#fffef9;box-shadow:0 22px 55px #1e49301f}.dev-access-card h1{color:#1a271f;font-size:28px}.dev-access-card p{color:#656f66;line-height:1.55}.dev-allow-list{display:flex;gap:8px;flex-wrap:wrap}.dev-allow-list span{padding:9px 11px;border-radius:999px;background:#e0eddb;color:#1e4930;font-size:12px;font-weight:800}.dev-empty{padding:16px;border-radius:12px;background:#fff;color:#656f66;font-weight:700}@keyframes dev-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes dev-pulse{0%,to{transform:scale(1);opacity:.5}50%{transform:scale(1.5);opacity:1}}@media(min-width:760px){body{padding-block:18px}.shell:not(.dev-shell){min-height:min(860px,100dvh - 36px);box-shadow:0 24px 70px #362a1a29}}@media(max-width:980px){.shell.dev-shell{padding:12px}.dev-dashboard{grid-template-columns:1fr}.dev-sidebar{position:static;min-height:auto}.dev-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.dev-admin{margin-top:12px}.dev-topbar,.dev-critical-alert{grid-template-columns:1fr}.dev-topbar{flex-direction:column}.dev-controls{justify-content:start}.dev-metrics,.dev-grid{grid-template-columns:1fr}.dev-live{flex-wrap:wrap}}@media(max-width:420px){body{background:var(--bg)}.shell{width:100%;border-radius:0}.shell.dev-shell{padding:10px;background:#f7f4e9}.dev-sidebar,.dev-card,.dev-metric-card,.dev-critical-alert,.dev-access-card{border-radius:16px}.dev-nav{grid-template-columns:1fr}.dev-topbar h1{font-size:24px}.dev-controls,.dev-controls button{width:100%}.shopping-details{grid-template-columns:72px 78px minmax(0,1fr)}.section-switcher{flex:1 1 auto}.add-shortcut{flex:0 0 46px}.notifications-popover,.ticket-dialog{right:0;bottom:0;left:0;max-height:min(86dvh,720px);border-radius:28px 28px 0 0;padding-bottom:calc(16px + env(safe-area-inset-bottom,0px))}.notifications-popover{top:auto}.ticket-dialog{top:auto;transform:none;animation-name:mobile-sheet-in}}.overlay-out{pointer-events:none;animation:fade-out .16s ease-in both}@keyframes fade-out{to{opacity:0}}body:has(.notification-backdrop,.onboarding-layer){overflow:hidden}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@keyframes mobile-sheet-in{0%{opacity:0;transform:translateY(36px) scale(.97)}to{opacity:1;transform:translateY(0)}}@media(max-width:360px){.shopping-form,.form-grid{grid-template-columns:1fr}.form-grid select,.form-grid input[type=date],.form-grid .primary-action{grid-column:auto}.shopping-details,.add-form-row{grid-template-columns:1fr}.fridge-row{grid-template-columns:auto minmax(0,1fr) auto}.fridge-row .status{grid-column:2;justify-self:start}}.recipe-availability{display:inline-flex;align-items:center;gap:6px;width:fit-content;margin-top:6px;padding:6px 9px;border-radius:10px;background:var(--primary-soft);color:var(--primary);font-size:12px;font-weight:800}.recipe-availability.missing{background:var(--danger-soft);color:var(--danger)}.ingredients-summary{color:var(--muted);font-size:13px;font-weight:700}.recipe-ingredients{display:grid;gap:8px}.recipe-ingredient{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:3px 8px;padding:11px 12px;border-radius:14px;background:var(--primary-soft);color:var(--primary)}.recipe-ingredient>span{grid-row:span 2;font-size:20px;font-weight:800}.recipe-ingredient strong{overflow-wrap:anywhere;font-size:14px}.recipe-ingredient small{grid-column:2;font-size:11px}.recipe-ingredient.missing{background:var(--danger-soft);color:var(--danger)}.recipe-card{grid-template-columns:66px minmax(0,1fr) 36px;gap:10px}.recipe-card .recipe-thumb{width:66px;height:74px}.recipe-card .item-content h3{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;white-space:normal;overflow-wrap:anywhere;line-height:1.3}.recipe-card .source-dot{display:none}.recipe-card .like-button{min-width:36px;min-height:40px}.recipe-editor-form fieldset,.recipe-editor-form label{display:grid;gap:8px;min-width:0}.recipe-editor-form fieldset{gap:16px;margin:0;padding:0;border:0}.recipe-editor-form label{font-size:14px;font-weight:700}.recipe-editor-form input,.recipe-editor-form textarea{width:100%;min-height:46px;border:1px solid var(--border);border-radius:12px;background:var(--surface-strong);color:var(--text);padding:12px;font-size:16px}.recipe-editor-form textarea{resize:vertical}.recipe-editor-form small{color:var(--muted);font-size:12px;font-weight:400}.picker-intro{display:grid;gap:8px}.picker-intro h2{font-size:28px;letter-spacing:-.6px}.picker-intro p{font-size:14px}.picker-settings{display:grid;gap:14px;min-width:0;margin:0}.picker-label{color:var(--muted);font-size:12px;font-weight:800}.picker-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.picker-options button{display:grid;align-content:start;gap:5px;min-height:110px;padding:12px;border:1px solid var(--border);border-radius:16px;background:var(--surface);color:var(--text);text-align:left}.picker-options button.active{border-color:var(--primary);background:var(--primary-soft);color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary)}.picker-options button>span{font-size:24px;line-height:1}.picker-options strong{font-size:13px}.picker-options small{font-size:11px;line-height:1.4;color:var(--muted)}.picker-select{display:grid;gap:7px;color:var(--muted);font-size:12px;font-weight:700}.picker-buy-all{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--border);border-radius:16px;background:var(--surface);color:var(--text);text-align:left}.picker-buy-all.active{border-color:var(--primary);background:var(--primary-soft);box-shadow:inset 0 0 0 1px var(--primary)}.picker-buy-all small{display:block;margin-top:4px;color:var(--muted)}.picker-hint{margin:0;color:var(--muted);font-size:12px;line-height:1.5}.recipe-meal-types{min-width:0;margin:0;padding:12px;border:1px solid var(--border);border-radius:14px}.recipe-meal-types legend{font-weight:700}.recipe-meal-types legend small{display:block;font-weight:400;color:var(--muted)}.meal-type-options{display:flex;flex-wrap:wrap;gap:8px}.meal-type-options label{display:flex;align-items:center;gap:6px;min-height:44px;padding:6px 10px;border-radius:12px;background:var(--surface);font-size:13px}.meal-type-options label.selected{background:var(--primary-soft);color:var(--primary)}.meal-type-options label input{width:18px;height:18px;min-height:0;margin:0;accent-color:var(--primary)}.picker-select select{width:100%;min-height:44px;padding:0 12px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text);font-size:14px}.picker-machine{position:relative;padding:12px;border:1px solid #d6e1cc;border-radius:28px;background:radial-gradient(ellipse at 50% 28%,#faffef 0,#e8efdc 48%,#e0e9d6);box-shadow:inset 0 1px #fff,0 14px 32px #2a492712}.dice-stage{position:relative;height:220px;perspective:800px;isolation:isolate}.dice-halo{position:absolute;top:6px;left:calc(50% - 110px);width:220px;height:180px;border-radius:50%;background:radial-gradient(ellipse,#fffff0f2,#fffff000 70%)}.dice-orbit{position:absolute;top:132px;left:calc(50% - 82px);width:164px;height:48px;border:1px solid rgba(63,107,62,.2);border-radius:50%;box-shadow:0 0 0 13px #ffffff2e,inset 0 0 25px #ffffff80}.dice-shadow{position:absolute;top:147px;left:calc(50% - 40px);width:80px;height:16px;border-radius:50%;background:#1d452733;filter:blur(6px)}.dice-launch{position:absolute;top:60px;left:calc(50% - 40px);width:80px;height:80px;transform-style:preserve-3d;animation:die-idle 4s ease-in-out infinite}.recipe-die{position:relative;width:80px;height:80px;transform-style:preserve-3d;transform:rotateX(-24deg) rotateY(-34deg) rotate(10deg)}.die-face{position:absolute;inset:0;display:grid;grid-template:repeat(3,1fr)/repeat(3,1fr);gap:6px;padding:14px;border:1px solid #cedcc4;border-radius:16px;background:linear-gradient(145deg,#fff,#f1f4e8);backface-visibility:hidden;box-shadow:inset 0 2px 2px #fff,inset 0 -5px 9px #1f64491a}.die-face i{width:11px;height:11px;align-self:center;justify-self:center;border-radius:50%;background:#245b40;box-shadow:inset 0 2px 3px #00000042,0 1px #fff}.face-front{transform:translateZ(40px)}.face-back{transform:rotateY(180deg) translateZ(40px)}.face-right{transform:rotateY(90deg) translateZ(40px);background:linear-gradient(145deg,#e4eedb,#cbdcc0)}.face-left{transform:rotateY(-90deg) translateZ(40px)}.face-top{transform:rotateX(90deg) translateZ(40px)}.face-bottom{transform:rotateX(-90deg) translateZ(40px)}.dice-spark{position:absolute;color:#62835b;pointer-events:none}.spark-one{top:45px;left:19%;font-size:20px}.spark-two{top:79px;right:14%;font-size:28px;color:#9aab70}.spark-three{top:140px;left:13%;font-size:12px}.face-front i:nth-child(1),.face-back i:nth-child(1),.face-right i:nth-child(1),.face-left i:nth-child(1){grid-area:1/1}.face-front i:nth-child(2),.face-left i:nth-child(2){grid-area:1/3}.face-front i:nth-child(3),.face-right i:nth-child(2),.face-top i{grid-area:2/2}.face-front i:nth-child(4),.face-left i:nth-child(3){grid-area:3/1}.face-front i:nth-child(5),.face-back i:nth-child(2),.face-right i:nth-child(3),.face-left i:nth-child(4){grid-area:3/3}.face-bottom i:nth-child(2n){grid-column:3}.face-bottom i:nth-child(odd){grid-column:1}.dice-caption{position:absolute;right:0;bottom:2px;left:0;font-size:12px;text-align:center}.rolling .recipe-die{animation:die-tumble 1.35s linear both}.rolling .dice-launch{animation:die-bounce 1.35s cubic-bezier(.33,0,.25,1) both}.rolling .dice-shadow{animation:die-shadow 1.35s ease-in-out both}.rolling .dice-orbit{animation:die-impact 1.35s ease-out both}.rolling .dice-spark{animation:die-sparks 1.35s ease-out both}@keyframes die-idle{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes die-tumble{0%{transform:rotateX(-24deg) rotateY(-34deg) rotate(10deg)}12%{transform:rotateX(-38deg) rotateY(-48deg) rotate(-6deg)}48%{transform:rotateX(310deg) rotateY(350deg) rotate(168deg)}74%{transform:rotateX(680deg) rotateY(680deg) rotate(354deg)}87%{transform:rotateX(711deg) rotateY(698deg) rotate(380deg)}to{transform:rotateX(696deg) rotateY(686deg) rotate(370deg)}}@keyframes die-bounce{0%,to{transform:translateZ(0)}12%{transform:translate3d(-4px,8px,0) scale(1.04,.95)}42%{transform:translate3d(15px,-56px,24px) scale(1.08)}74%{transform:translate3d(-3px,9px,0) scale(1.08,.92)}87%{transform:translate3d(2px,-13px,0)}96%{transform:translate3d(0,2px,0)}}@keyframes die-shadow{0%,to{transform:scale(1);opacity:.75}42%{transform:translate(12px) scale(.65);opacity:.25}74%{transform:scale(1.25);opacity:1}87%{transform:scale(.9);opacity:.5}}@keyframes die-impact{0%,60%,to{transform:scale(1);opacity:1}74%{transform:scale(.9);opacity:1}91%{transform:scale(1.35);opacity:0}}@keyframes die-sparks{0%,to{transform:scale(1);opacity:.65}35%{transform:translateY(-12px) rotate(35deg) scale(.65);opacity:.2}76%{transform:translateY(-22px) rotate(-20deg) scale(1.3);opacity:1}}.last-pick-button{display:block;width:100%;min-height:40px;margin-top:6px;border:0;background:transparent;color:var(--primary);font-size:12px;font-weight:700}.picker-error{margin-top:12px;padding:12px;border-radius:14px;background:var(--surface);color:var(--muted);font-size:13px;text-align:center}.picker-screen:has(.random-result-dialog[open]) .dice-launch{animation-play-state:paused}.roll-button{display:flex;width:100%;align-items:center;justify-content:center;gap:10px}.roll-button>span{font-size:24px}.random-result-dialog{position:fixed;inset:0;width:min(390px,100% - 32px);max-width:none;max-height:calc(100dvh - 48px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));margin:auto;padding:0;overflow:auto;overscroll-behavior:contain;border:1px solid rgba(255,255,255,.75);border-radius:28px;background:var(--surface);color:var(--text);box-shadow:0 32px 100px #11251952}.random-result-dialog[open]{animation:recipe-reveal .68s cubic-bezier(.16,1,.3,1) both}.random-result-dialog::backdrop{background:#14261c7a;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);animation:fade-in .26s ease-out both}body:has(.random-result-dialog[open]){overflow:hidden}.random-result{position:relative;overflow:hidden;border-radius:27px;background:var(--surface)}.random-result-close{position:absolute;z-index:2;top:12px;left:12px;display:grid;place-items:center;width:40px;height:40px;min-height:40px;padding:0;border:1px solid var(--border);border-radius:50%;background:var(--surface);color:var(--text);font-size:26px;line-height:1}.random-result-image{position:relative;height:clamp(130px,24dvh,190px)}.random-result-image img{width:100%;height:100%;object-fit:cover}.random-result-label{position:absolute;left:12px;bottom:12px;padding:7px 10px;border-radius:10px;background:var(--surface);color:var(--primary);font-size:11px;font-weight:800}.random-result-image .like-button{position:absolute;top:12px;right:12px;background:var(--surface)}.random-result-copy{display:grid;gap:12px;padding:18px}.random-result-copy h2{font-size:25px;overflow-wrap:anywhere}.random-result-copy .recipe-availability{margin:0}.random-missing{font-size:13px}.preview-dice{color:var(--primary);font-size:48px;text-align:center}@keyframes recipe-reveal{0%{opacity:0;transform:perspective(900px) translateY(100px) rotateX(16deg) rotate(-7deg) scale(.62)}65%{opacity:1;transform:perspective(900px) translateY(-8px) rotateX(0) rotate(1deg) scale(1.015)}to{opacity:1;transform:none}}.random-again{display:flex;align-items:center;justify-content:center;gap:8px}.random-again>span{font-size:20px;line-height:1}.random-result-feedback{padding:10px 12px;border-radius:12px;background:var(--primary-soft);color:var(--primary);font-size:13px}.random-result-copy>.primary-action{display:flex;align-items:center;justify-content:space-between}@media(max-height:650px){.random-result-image{height:125px}.random-result-copy{gap:10px;padding:16px}.random-result-copy h2{font-size:22px}}.catalog-intro{margin:0 0 16px;color:#68756c;font-size:14px;line-height:1.5}.catalog-pagination{position:relative;padding:24px 8px;text-align:center;color:#68756c;font-size:14px;line-height:1.5}.catalog-sentinel{height:1px}.dev-catalog-search,.dev-translation-actions{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}.dev-catalog-search input{flex:1;min-width:180px}.dev-translation-form{padding:20px;margin:20px 0;border:1px solid #cadbd1;border-radius:16px;background:#f5faf7}.dev-translation-form label{display:grid;gap:7px;margin:14px 0;font-size:14px;font-weight:600}.dev-catalog-search input,.dev-translation-form input,.dev-translation-form textarea{box-sizing:border-box;width:100%;padding:12px;color:#263a30;background:#fff;border:1px solid #c7d4cd;border-radius:10px;font:inherit}.dev-translation-form textarea{resize:vertical}.dev-translation-form p,.dev-catalog-count{color:#56675c;font-size:13px;line-height:1.6}.dev-translation-list{display:grid;gap:16px}.dev-translation-list>article{padding:16px;border:1px solid #e1e7e3;border-radius:14px;min-width:0;overflow-wrap:anywhere}.dev-translation-heading{display:flex;align-items:center;gap:12px}.dev-translation-heading h3{margin:0 0 5px}.dev-translation-badges{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.dev-translation-badges span{padding:5px 9px;border-radius:8px;background:#eef3f0;color:#466451;font-size:12px}.dev-translation-badges .manual{background:#d7eddf;color:#216042;font-weight:700}.dev-ingredient-translations{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.dev-ingredient-translations button{display:grid;text-align:left;gap:3px;padding:8px 10px;background:#fff;border:1px solid #d5dfd8;border-radius:9px;cursor:pointer}.dev-ingredient-translations small{color:#617369;font-size:10px}.dev-translation-heading .dev-recipe-thumb{flex:none;display:grid;place-items:center;background:#edf3e9;font-size:26px;object-fit:cover}
