:root{color:#4a382f;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--ink:#4a382f;--muted:#8f7d75;--surface:#fffdfb;--surface-soft:#fbeeef;--surface-raised:#fff;--peach:#ffdccc;--peach-strong:#dd8567;--mint:#dcf1e4;--sage:#9bc7a9;--sage-deep:#48755b;--butter:#fbedc0;--berry:#db99a4;--berry-strong:#c1717f;--blue:#bfe0eb;--lavender:#ddd6f3;--cream-border:#f4e3da;--ease:cubic-bezier(.22, 1, .36, 1);--shadow:0 18px 46px #78584c1a;--shadow-soft:0 10px 24px #78584c12;background:#fdf6f1;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;background:#fdf6f1;min-width:320px}body{background:linear-gradient(135deg,#fbedc057,#0000 32%),linear-gradient(215deg,#bfe0eb42,#0000 38%),linear-gradient(#fffaf6 0%,#f7eee9 100%);min-width:320px;min-height:100dvh;margin:0;position:relative;overflow-x:hidden}body:before{content:"";z-index:0;pointer-events:none;opacity:.4;mix-blend-mode:multiply;background-image:url(/food-pattern.svg);background-repeat:repeat;background-size:420px 420px;position:fixed;inset:0}#root{z-index:1;position:relative}button,input,textarea,select{font:inherit;font-size:16px}button{background:var(--sage-deep);color:#fffdf8;cursor:pointer;overflow-wrap:anywhere;min-height:44px;transition:transform .22s var(--ease), box-shadow .22s var(--ease), background .22s var(--ease);border:1px solid #0000;border-radius:16px;padding:.8rem 1rem;font-weight:750;box-shadow:0 10px 22px #48755b38}button:hover{transform:translateY(-2px)scale(1.01);box-shadow:0 16px 28px #48755b42}button:active{transform:translateY(0)scale(.99)}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-offset:3px;outline:3px solid #48755b57}button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}button.secondary{border-color:var(--cream-border);color:#6b564b;box-shadow:none;background:#fff9f4}button.secondary:hover{background:var(--butter);box-shadow:0 10px 22px #7e5c311a}button.danger{background:var(--berry-strong);color:#fffdf8;box-shadow:0 10px 22px #c1717f38}button.full{width:100%;margin-top:1rem}input,textarea,select{border:1px solid var(--cream-border);width:100%;min-width:0;color:var(--ink);transition:border-color .2s var(--ease), box-shadow .2s var(--ease);background:#fffdf8f0;border-radius:16px;outline:none;padding:.9rem 1rem;box-shadow:inset 0 1px #ffffffa6}input:focus,textarea:focus,select:focus{border-color:var(--sage);box-shadow:0 0 0 4px #9bc7a93d}textarea{resize:vertical;line-height:1.45}label{color:var(--muted);gap:.45rem;font-size:.92rem;font-weight:650;display:grid}.app-shell{min-height:100dvh;display:flex}.sidebar{width:288px;height:100vh;color:var(--ink);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffdf8eb;border-right:1px solid #ead8c7e6;padding:1.4rem;position:sticky;top:0}.brand{cursor:pointer;width:100%;min-height:auto;color:var(--ink);text-align:left;box-shadow:none;background:0 0;border-color:#0000;border-radius:18px;align-items:center;gap:.95rem;margin-bottom:1.7rem;padding:.5rem;display:flex}.brand:hover{box-shadow:none;background:#fbeeef;transform:none}.brand-logo{background:linear-gradient(145deg, var(--peach), var(--butter));color:#5b3a2e;border-radius:18px;place-items:center;width:50px;height:50px;font-size:1.35rem;font-weight:900;display:grid;box-shadow:0 12px 24px #e7907733}.brand strong{font-size:1.12rem;display:block}.brand>span:not(.brand-logo)>span,.eyebrow{color:var(--muted);font-size:.84rem;display:block}.page-subtitle{color:#6e574c;max-width:54rem;margin:.42rem 0 0}.sidebar nav{gap:.3rem;display:grid}.topbar-logout{white-space:nowrap;flex:none}.sidebar nav button{text-align:left;color:#6b564b;width:100%;box-shadow:none;transition:background .22s var(--ease), color .22s var(--ease), transform .22s var(--ease);background:0 0;border-color:#0000;justify-content:flex-start;align-items:center;gap:.75rem;display:flex;position:relative}.sidebar nav button .nav-icon{color:var(--sage-deep);opacity:.72;transition:color .22s var(--ease), opacity .22s var(--ease);flex:none}.sidebar nav button.active,.sidebar nav button:hover{background:var(--surface-soft);color:var(--ink);border-color:var(--cream-border);transform:translate(2px)}.sidebar nav button.active .nav-icon{color:var(--berry-strong);opacity:1}.sidebar nav button.active{font-weight:800}.content{flex:1;width:100%;min-width:0;max-width:1420px;margin:0 auto;padding:2rem}.mobile-tabbar{display:none}.topbar{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffdf8b8;border:1px solid #ead8c7d9;border-radius:22px;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.35rem;padding:1.1rem 1.2rem;display:flex}.topbar-icon{background:linear-gradient(145deg, var(--mint), var(--surface-soft));width:52px;height:52px;color:var(--sage-deep);box-shadow:var(--shadow-soft);border-radius:16px;flex:none;place-items:center;display:grid}.topbar-icon svg{width:24px;height:24px}h1,h2,h3,p{margin-top:0}h1{color:#4d3328;margin-bottom:0;font-size:clamp(2rem,3.5vw,3.55rem);line-height:.98}h2{color:#4f362c;margin-bottom:.85rem;line-height:1.15}h3{color:#4f362c;margin-bottom:.45rem}p{color:var(--muted);line-height:1.55}.grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;display:grid}@keyframes page-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.dashboard-layout,.two-columns,.cooking-layout,.single-column,.recipe-detail-shell{animation:page-enter .42s var(--ease)}.dashboard-layout{gap:1rem;display:grid}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-panels{grid-template-columns:minmax(260px,.72fr) minmax(360px,1.3fr) minmax(260px,.82fr);align-items:stretch;gap:1rem;display:grid}.command-panel{min-height:260px;box-shadow:var(--shadow);background:linear-gradient(135deg,#dcf1e4d1,#fffdf8e6 48%),linear-gradient(245deg,#ffdcccb3,#bfe0eb2e);border:1px solid #ead8c7db;border-radius:26px;grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr);gap:1rem;padding:1.35rem;display:grid}.command-copy{align-content:center;gap:.9rem;max-width:760px;display:grid}.command-copy h2{color:#3f2a22;max-width:700px;margin-bottom:0;font-size:clamp(2rem,4vw,4.4rem);line-height:.98}.command-copy p{max-width:620px;margin-bottom:0;font-size:1.02rem}.today-panel{min-width:0;box-shadow:var(--shadow-soft);background:#fffdf8b8;border:1px solid #8fb59b61;border-radius:20px;align-content:end;gap:.65rem;padding:1rem;display:grid}.today-panel span,.today-panel small{color:var(--muted);font-weight:700}.today-panel strong{color:var(--sage-deep);font-size:clamp(2.4rem,5vw,4.8rem);line-height:.9}.next-card,.watch-card{min-height:260px}.next-card{background:linear-gradient(160deg,#fbedc070,#0000 48%),#fffdf8f0}.compact-header{margin-bottom:.85rem}.recipe-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid}.recipe-tile{border-color:var(--cream-border);min-height:156px;color:var(--ink);text-align:left;box-shadow:none;transition:background .22s var(--ease), transform .22s var(--ease), box-shadow .22s var(--ease);background:#fffaf5;gap:.45rem;padding:.9rem;display:grid}.recipe-tile:hover{background:var(--surface-soft);box-shadow:var(--shadow-soft);transform:translateY(-2px)}.recipe-initial{background:linear-gradient(145deg, var(--peach), var(--butter));color:#5b3a2e;border-radius:14px;place-items:center;width:42px;height:42px;font-weight:900;display:grid}.recipe-tile small,.mini-list-row span{color:var(--muted)}.mini-list-row{border-bottom:1px solid #ead8c7cc;gap:.18rem;padding:.78rem 0;display:grid}.mini-list-row:last-child{border-bottom:0}.two-columns,.cooking-layout,.single-column{grid-template-columns:minmax(320px,.86fr) minmax(420px,1.3fr);align-items:start;gap:1rem;display:grid}.single-column{grid-template-columns:minmax(0,1fr)}.form-page{max-width:860px;margin:0 auto}.card{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);min-width:0;box-shadow:var(--shadow);transition:transform .26s var(--ease), box-shadow .26s var(--ease);background:#fffdf8db;border:1px solid #f4e3dae6;border-radius:24px;padding:1.25rem}.card.wide{background:linear-gradient(135deg,#ffdcccc7,#fffdf8e0 46%),linear-gradient(245deg,#dcf1e4cc,#fbedc057);grid-column:span 4;position:relative;overflow:hidden}.card.wide:after{content:"";background:linear-gradient(90deg,#0000 46%,#6f8f7373 46% 54%,#0000 54%),linear-gradient(#0000 46%,#6f8f7373 46% 54%,#0000 54%),#fffdf8a3;border:1px solid #8fb59b5c;border-radius:28px;width:92px;height:92px;position:absolute;bottom:1.25rem;right:1.25rem;transform:rotate(8deg)}.dashboard-hero{justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.dashboard-hero>*{z-index:1;position:relative}.card-header,.actions,.inline,.space-between{align-items:center;gap:.75rem;display:flex}.card-header,.space-between{justify-content:space-between}.card-header h2,.card h2:last-child{margin-bottom:0}.actions{flex-wrap:wrap}.compact-actions,.recipe-card-actions,.board-actions,.form-actions{gap:.55rem}.compact-actions button,.recipe-card-actions button,.board-actions button,.form-actions button{border-radius:12px;min-height:38px;padding:.58rem .76rem;font-size:.92rem}.recipe-card-actions,.form-actions{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;display:grid}.recipe-card-actions button,.form-actions button{width:100%}.form{gap:.85rem;display:grid}.quick-actions,.mini-list{gap:.65rem;display:grid}.mini-list-item{border-color:var(--cream-border);min-height:auto;color:var(--ink);text-align:left;box-shadow:none;transition:background .22s var(--ease), transform .22s var(--ease), box-shadow .22s var(--ease);background:#fffaf5;gap:.18rem;padding:.78rem .9rem;display:grid}.mini-list-item:hover{background:#fbeeef;box-shadow:0 8px 18px #6f493714}.mini-list-item span{color:var(--muted);font-size:.9rem}.form .inline{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;display:grid}.field-grid{gap:.75rem;display:grid}.recipe-meta-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.recipe-fieldset{background:#fffaf2b8;border:1px solid #ead8c7e6;border-radius:18px;gap:.85rem;min-width:0;margin:0;padding:1rem;display:grid}.recipe-fieldset legend{color:#4f362c;padding:0 .35rem;font-size:1rem;font-weight:850}.recipe-builder-list{gap:.8rem;display:grid}.ingredient-row,.step-row,.utensil-row{background:#fffdf8d1;border:1px solid #ead8c7c7;border-radius:16px;align-items:end;gap:.65rem;padding:.85rem;display:grid}.ingredient-row{grid-template-columns:minmax(140px,1.1fr) minmax(180px,.9fr)}.ingredient-measure{grid-template-columns:minmax(86px,.9fr) minmax(86px,.9fr);align-items:end;gap:.65rem;display:grid}.step-row{grid-template-columns:minmax(180px,1fr) minmax(88px,.32fr)}.utensil-row{grid-template-columns:minmax(180px,1fr)}.remove-row,.add-row{box-shadow:none}.remove-row{color:#8c5f5d;white-space:nowrap;overflow-wrap:normal;grid-column:1/-1;justify-self:end;min-height:38px;padding:.55rem .8rem}.add-row{justify-self:start}.recipes-board{gap:1rem;display:grid}.board-header{border-bottom:1px solid #ead8c7d9;padding-bottom:.85rem}.board-header p{margin-bottom:0}.search-field{max-width:560px}.recipe-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.recipe-card{border:1px solid var(--cream-border);background:var(--surface-raised);min-width:0;box-shadow:var(--shadow-soft);transition:transform .26s var(--ease), box-shadow .26s var(--ease);border-radius:24px;display:grid;overflow:hidden}.recipe-card:hover{box-shadow:var(--shadow);transform:translateY(-4px)}.recipe-card-media{background:linear-gradient(135deg,#dcf1e4d9,#fffdf859),linear-gradient(245deg,#ffdcccb8,#fbedc06b);justify-content:flex-end;align-items:flex-start;min-height:178px;padding:.9rem;display:flex;position:relative;overflow:hidden}.recipe-card-media img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.recipe-card-media:after{content:"";background:linear-gradient(#35231c05,#35231c3d);position:absolute;inset:0}.recipe-select{z-index:1;color:#5f493f;background:#fffdf8e0;border:1px solid #ead8c7e0;border-radius:999px;align-items:center;gap:.45rem;width:auto;padding:.45rem .62rem;font-size:.82rem;display:inline-flex;position:relative}.recipe-select input{width:1rem;height:1rem}.recipe-card-body{gap:.85rem;padding:1rem;display:grid}.chip-row,.recipe-meta{flex-wrap:wrap;gap:.45rem;margin-bottom:.55rem;display:flex}.chip-row span,.recipe-meta span{color:#5f493f;background:#fbeeef;border-radius:999px;align-items:center;min-height:28px;padding:.26rem .55rem;font-size:.83rem;font-weight:750;display:inline-flex}.recipe-meta span{color:#48755b;background:#dcf1e473}.utensil-note{font-size:.92rem}.photo-suggestion-panel{background:#fffaf2b8;border:1px solid #ead8c7e0;border-radius:18px;gap:.8rem;padding:.9rem;display:grid}.photo-import-row{grid-template-columns:minmax(0,auto) minmax(0,1fr);align-items:center;gap:.75rem;display:grid}.file-button{color:#5f493f;cursor:pointer;background:#fff9f4;border:1px solid #ead8c7;border-radius:12px;justify-content:center;align-items:center;width:fit-content;min-height:38px;padding:.58rem .76rem;font-size:.92rem;font-weight:750;display:inline-flex}.file-button input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.photo-pool-grid{grid-template-columns:repeat(auto-fit,minmax(82px,96px));align-items:start;gap:.8rem;display:grid}.recipe-image-preview-wrap{border-radius:14px;width:100%;max-width:96px;height:72px;position:relative}.recipe-image-preview-wrap.selected{outline-offset:3px;outline:3px solid #dd85676b}.photo-pool-button{width:100%;height:100%;min-height:auto;box-shadow:none;background:0 0;border:0;border-radius:14px;padding:0}.photo-pool-button:hover{box-shadow:none;transform:none}.recipe-image-preview{object-fit:cover;width:100%;height:100%;box-shadow:var(--shadow-soft);border:1px solid #ead8c7e6;border-radius:14px}.image-remove-button{color:#fffdf8;width:26px;min-height:26px;box-shadow:var(--shadow-soft);background:#c1717f;border:1px solid #fffdf8eb;border-radius:999px;place-items:center;padding:0;font-size:1rem;line-height:1;display:grid;position:absolute;top:-.45rem;right:-.45rem}.photo-import-row span{color:var(--muted);font-size:.9rem;font-weight:650}.photo-suggestion-grid,.recipe-photo-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid}.photo-suggestion-grid button,.recipe-photo-strip button{aspect-ratio:4/3;min-height:auto;box-shadow:var(--shadow-soft);background:#fffaf5;border:2px solid #0000;border-radius:16px;padding:0;overflow:hidden}.photo-suggestion-grid button.selected,.recipe-photo-strip button.selected{border-color:var(--peach-strong)}.photo-suggestion-grid img,.recipe-photo-strip img{object-fit:cover;width:100%;height:100%;display:block}.recipe-detail-shell{justify-items:center;display:grid}.recipe-detail{width:min(100%,980px);box-shadow:var(--shadow);background:#fffdf8f5;border:1px solid #ead8c7db;border-radius:26px;overflow:hidden}.recipe-detail-hero{background:var(--surface-soft);min-height:clamp(260px,44vw,520px);position:relative;overflow:hidden}.recipe-hero-button{width:100%;min-height:inherit;box-shadow:none;background:0 0;border:0;border-radius:0;padding:0;display:block}.recipe-hero-button:hover{box-shadow:none;transform:none}.recipe-detail-hero img{width:100%;height:100%;min-height:inherit;object-fit:cover;display:block}.recipe-detail-hero:after{content:"";pointer-events:none;background:linear-gradient(#35231c29,#0000 42%,#35231c33);position:absolute;inset:0}.recipe-detail-toolbar{z-index:1;justify-content:space-between;gap:.75rem;display:flex;position:absolute;top:1rem;left:1rem;right:1rem}.icon-button{border-radius:999px;place-items:center;width:48px;min-height:48px;padding:0;font-size:2rem;line-height:1;display:grid}.icon-button.light{color:#4f362c;box-shadow:var(--shadow-soft);background:#fffdf8d1;border-color:#fffdf8bf}.recipe-detail-content{gap:1.1rem;padding:clamp(1rem,3vw,1.6rem);display:grid}.recipe-detail-titlebar{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.recipe-detail-titlebar h2{max-width:720px;margin-bottom:0;font-size:clamp(2rem,5vw,3.6rem);line-height:1}.recipe-rating-row,.recipe-facts{color:#5f493f;flex-wrap:wrap;align-items:center;gap:.85rem;font-weight:800;display:flex}.recipe-rating-row span:first-child{color:var(--peach-strong);letter-spacing:0}.recipe-image-tools{background:#fffaf5;border:1px solid #ead8c7db;border-radius:18px;gap:.75rem;padding:1rem;display:grid}.gallery-lightbox{z-index:50;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.gallery-lightbox-backdrop{min-height:auto;box-shadow:none;background:#231814b8;border:0;border-radius:0;padding:0;position:absolute;inset:0}.gallery-lightbox-backdrop:hover{box-shadow:none;transform:none}.gallery-lightbox-panel{z-index:1;background:var(--surface-raised);width:min(940px,100%);box-shadow:var(--shadow);border-radius:22px;gap:.85rem;padding:.85rem;display:grid;position:relative}.gallery-lightbox-panel img{object-fit:contain;background:#201613;border-radius:16px;width:100%;max-height:min(72vh,720px)}.gallery-lightbox-actions{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.recipe-facts{border-top:1px solid #ead8c7db;border-bottom:1px solid #ead8c7db;justify-content:center;padding:1rem}.recipe-facts span{align-items:center;min-height:34px;display:inline-flex}.recipe-tabs{background:#eee8e4;border-radius:999px;grid-template-columns:repeat(2,minmax(0,1fr));gap:.2rem;padding:.25rem;display:grid}.recipe-tabs button{color:#8a7770;min-height:54px;box-shadow:none;background:0 0;border-radius:999px}.recipe-tabs button.active{color:var(--peach-strong);box-shadow:var(--shadow-soft);background:#fffdf8}.ingredient-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.ingredient-detail-card{text-align:center;min-height:170px;box-shadow:var(--shadow-soft);background:#fffdf8;border:1px solid #ead8c7e0;border-radius:18px;justify-items:center;gap:.45rem;padding:1rem;display:grid}.ingredient-detail-card span{background:linear-gradient(145deg, var(--mint), var(--surface-soft));width:74px;height:74px;color:var(--sage-deep);border-radius:22px;place-items:center;font-size:2rem;font-weight:900;display:grid}.ingredient-detail-card strong{color:#4f362c}.ingredient-detail-card small{color:var(--muted);font-weight:750}.preparation-panel{gap:1rem;padding-top:.5rem;display:grid}.preparation-panel h3{text-align:center;color:var(--peach-strong);margin-bottom:0;font-size:clamp(1.8rem,4vw,2.8rem)}.time-summary{text-align:center;background:#f1eeee;border-radius:20px;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;padding:1rem;display:grid}.time-summary strong{color:#2d201b;grid-column:1/-1;font-size:1.25rem}.time-summary span{color:#5f493f;font-weight:750}.start-recipe-button{min-width:min(100%,360px);color:var(--peach-strong);box-shadow:var(--shadow-soft);background:#fffdf8;border-color:#ead8c7e6;justify-self:center}.step-timeline{gap:0;display:grid}.step-timeline-item{color:#4f362c;grid-template-columns:34px minmax(0,1fr);gap:.8rem;min-height:160px;display:grid}.step-timeline-item>span{background:#fffdf8;border:2px solid #eadfd9;border-radius:999px;width:18px;height:18px;margin:.35rem auto 0;display:block;position:relative}.step-timeline-item>span:after{content:"";background:#eadfd9;width:2px;height:150px;position:absolute;top:16px;left:50%;transform:translate(-50%)}.step-timeline-item:last-child>span:after{display:none}.step-timeline-item strong{color:#4f362c;text-transform:uppercase;margin-bottom:.6rem;font-size:1.25rem;display:block}.step-timeline-item p{color:#4f362c;margin-bottom:.4rem;font-size:1.08rem}.step-timeline-item small{color:var(--muted);font-weight:750}.list{gap:.78rem;display:grid}.list-item{border:1px solid var(--cream-border);transition:transform .22s var(--ease), box-shadow .22s var(--ease);background:#fffaf5;border-radius:18px;padding:1rem;box-shadow:0 8px 20px #78584c0d}.list-item:hover{box-shadow:var(--shadow-soft);transform:translateY(-2px)}.list-item h3{font-size:1.1rem}.list-item p:last-child,.card p:last-child{margin-bottom:0}.list-item.compact{justify-content:space-between;align-items:center;gap:1rem;display:flex}.list-item.compact span{color:var(--muted);text-align:right}.list-item.done{opacity:.58;text-decoration:line-through}.empty-state{background:#dcf1e438;border:1px dashed #8fb59bbf;border-radius:16px;place-items:start;gap:.55rem;padding:1rem;display:grid}.empty-state strong{color:#4f362c}.empty-state p{margin-bottom:.15rem}.checkbox-row{color:var(--muted);align-items:center;gap:.65rem;font-size:.92rem;display:flex}.checkbox-row input{width:1.1rem;height:1.1rem;accent-color:var(--sage)}.stat{gap:.65rem;display:grid;position:relative;overflow:hidden}.stat:before{content:"";background:var(--mint);border-radius:999px;width:2.4rem;height:.35rem}.stat:nth-child(2):before{background:var(--peach)}.stat:nth-child(3):before{background:var(--butter)}.stat:nth-child(4):before{background:var(--lavender)}.stat span{color:var(--muted);font-weight:700}.stat strong{color:#5f493f;font-size:2.55rem;line-height:1}.stat small{color:var(--muted);font-weight:650}.cooking-card{background:linear-gradient(155deg,#dcf1e4c2,#0000 46%),#fffdf8f0;align-content:center;gap:1.15rem;min-height:480px;display:grid}.step-text{color:#4f362c;font-size:clamp(1.45rem,3vw,2.45rem);line-height:1.2}.timer{color:#6b4d1d;background:#fff1ba;border:1px solid #eadb91;border-radius:18px;width:fit-content;padding:.85rem 1rem;font-size:1.45rem;font-weight:900}.step-progress{background:#8fb59b2e;border-radius:999px;height:.6rem;overflow:hidden}.step-progress span{border-radius:inherit;background:#6f8f73;height:100%;transition:width .18s;display:block}ul{color:var(--muted);margin:0;padding-left:1.2rem;line-height:1.65}.alert,.status-card{justify-content:space-between;align-items:center;gap:.85rem;display:flex}.alert{color:#9d4b56;background:#fff0f1;border:1px solid #efc3c8;border-radius:18px;margin-bottom:1rem;padding:1rem}.alert button{flex:none}.status-card{color:#5f493f}@media (width<=1100px){.grid,.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.card.wide{grid-column:span 2}.dashboard-panels,.command-panel{grid-template-columns:1fr}.recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=980px){.app-shell{display:block}.sidebar{display:none}.mobile-tabbar{z-index:20;padding:.35rem max(.35rem, env(safe-area-inset-right)) calc(.35rem + env(safe-area-inset-bottom)) max(.35rem, env(safe-area-inset-left));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffdf8f5;border-top:1px solid #ead8c7e6;justify-content:space-around;align-items:stretch;gap:.15rem;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -10px 24px #78584c14}.mobile-tabbar button{color:#8a7267;min-height:54px;box-shadow:none;background:0 0;border-radius:14px;flex:1 1 0;justify-items:center;gap:.18rem;padding:.4rem .15rem;font-size:.68rem;font-weight:700;line-height:1.05;display:grid}.mobile-tabbar button:hover{box-shadow:none;transform:none}.mobile-tabbar button .nav-icon{color:#8a7267;width:20px;height:20px;transition:color .22s var(--ease)}.mobile-tabbar button.active{color:var(--berry-strong);background:var(--surface-soft)}.mobile-tabbar button.active .nav-icon{color:var(--berry-strong)}.content{padding:1rem max(1rem, env(safe-area-inset-right)) calc(4.6rem + env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left))}.two-columns,.cooking-layout,.single-column{grid-template-columns:1fr}.topbar,.alert,.dashboard-hero,.board-header,.list-item.compact{flex-direction:column;align-items:stretch}.ingredient-row,.step-row,.utensil-row{grid-template-columns:1fr}.ingredient-measure{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.add-row{justify-self:stretch}.topbar{gap:.85rem;padding:1rem}.card-header{flex-direction:column;align-items:flex-start}.recipe-detail-titlebar{flex-direction:column}.ingredient-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.list-item.compact span{text-align:left}}@media (width<=560px){input,textarea,select{padding:.72rem .82rem}button{min-height:40px;padding:.68rem .85rem}label{gap:.34rem;font-size:.86rem}.grid,.recipe-grid,.recipe-strip{grid-template-columns:1fr}.command-panel{border-radius:20px;min-height:auto;padding:1rem}.command-copy h2{font-size:2.05rem;line-height:1.02}.today-panel,.recipe-card-body{padding:.85rem}.card.wide{grid-column:auto}.mobile-tabbar button{min-height:50px;font-size:.62rem}.content{padding-top:.85rem}h1{font-size:1.9rem;line-height:1.04}h2{font-size:1.22rem}.grid,.two-columns,.cooking-layout,.single-column,.list,.form{gap:.62rem}.form .inline,.recipe-meta-grid,.ingredient-detail-grid,.time-summary{grid-template-columns:1fr;gap:.52rem}.photo-suggestion-grid,.recipe-photo-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.recipe-detail{border-radius:18px}.recipe-detail-hero{min-height:240px}.recipe-detail-content{padding:.85rem}.recipe-tabs button{min-height:46px}.ingredient-detail-card{min-height:140px}.time-summary strong{grid-column:auto}.card,.list-item{border-radius:18px;padding:.85rem}.recipe-fieldset{border-radius:16px;gap:.65rem;padding:.75rem}.recipe-fieldset legend{font-size:.96rem}.recipe-builder-list{gap:.62rem}.ingredient-row,.step-row,.utensil-row{border-radius:14px;gap:.52rem;padding:.68rem}.ingredient-measure{gap:.52rem}.recipe-meta-grid input{padding-left:.7rem;padding-right:.55rem}.remove-row{justify-self:stretch;min-height:36px}.card.wide:after{display:none}.actions:not(.recipe-card-actions):not(.compact-actions):not(.board-actions),.board-actions{grid-template-columns:1fr;display:grid}.recipe-card-actions,.compact-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.stat{gap:.5rem}.stat strong{font-size:2rem}.cooking-card{align-content:start;min-height:auto}.step-text{font-size:1.32rem}}@media print{.sidebar,.mobile-tabbar,.topbar button,.actions,form{display:none!important}body{background:#fff}.content{padding:0}.card{box-shadow:none;border:none}}.login-screen{justify-content:center;align-items:center;min-height:100dvh;padding:1.5rem;display:flex}.login-card{text-align:center;gap:.85rem;width:100%;max-width:380px;display:grid}.login-card h1{margin:0}.login-card .form{text-align:left}.login-wait{justify-items:center;gap:.75rem;display:grid}.button-link{background:var(--sage-deep);color:#fff;border-radius:999px;justify-content:center;align-items:center;padding:.75rem 1.5rem;font-weight:600;text-decoration:none;display:inline-flex}.login-hint{color:var(--muted);font-size:.9rem}.login-code{color:var(--muted);text-align:center;max-width:26rem;font-size:.85rem}.login-code strong{color:inherit;letter-spacing:.05em;font-size:1.1rem}.hp-field{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;left:-9999px}
