@import"https://fonts.googleapis.com/css2?family=Fraunces:wght@600;700&family=Nunito+Sans:wght@400;600;700;800&display=swap";:root{--cream: #fff8ef;--paper: #ffffff;--ink: #31261d;--muted: #806f61;--line: #eadfd2;--sun: #f6b85b;--tomato: #e86f4d;--sage: #7aa874;--shadow: 0 24px 70px rgba(78, 53, 27, .13)}*{box-sizing:border-box}body{margin:0;min-height:100vh;color:var(--ink);font-family:Nunito Sans,sans-serif;background:radial-gradient(circle at top left,#ffe7bd 0,transparent 28rem),linear-gradient(135deg,#fffaf3,#f7efe4)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.app-shell{min-height:100vh}.icon-button{border:0;background:transparent;color:var(--tomato);cursor:pointer;font-weight:900}.content-shell{width:min(100%,1680px);margin:0 auto;padding:34px}.side-nav{position:fixed;z-index:900;left:22px;top:50%;transform:translateY(-50%);display:grid;justify-items:center;gap:8px;width:auto;pointer-events:none}.side-nav-inner{display:grid;grid-template-columns:1fr;gap:12px;width:auto;padding:12px;border:1px solid rgba(255,255,255,.55);border-radius:38px;background:linear-gradient(135deg,#ffffff61,#fff6e82e);box-shadow:0 24px 70px #31261d2e;backdrop-filter:blur(22px) saturate(1.3);-webkit-backdrop-filter:blur(22px) saturate(1.3);pointer-events:auto}.side-nav-item{border:0;min-width:0;padding:0;display:grid;justify-items:center;gap:6px;color:#31261dcc;background:transparent;cursor:pointer;font:inherit;font-weight:900}.side-nav-icon{width:56px;height:56px;display:grid;place-items:center;border-radius:999px;color:#5a3820;background:#ffffff85;border:1px solid rgba(255,255,255,.7);box-shadow:inset 0 1px #ffffffbd,0 12px 28px #4e351b1f;transition:transform .18s ease,color .18s ease,background .18s ease,box-shadow .18s ease}.side-nav-svg{width:27px;height:27px;filter:drop-shadow(0 1px 0 rgba(255,255,255,.5))}.side-nav-label{max-width:100%;color:#31261ddb;font-size:12px;line-height:1;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 1px 0 rgba(255,255,255,.42)}.side-nav-item:hover .side-nav-icon,.side-nav-item.active .side-nav-icon{color:#fff;background:linear-gradient(135deg,#e86f4df0,#f6b85beb);box-shadow:0 16px 34px #e86f4d47;transform:translate(4px)}.side-nav-item.active .side-nav-label{color:var(--ink)}.side-nav-action .side-nav-icon{color:#8f3824}.side-nav-user{max-width:96px;padding:6px 12px;border-radius:999px;color:#31261db3;background:#ffffff57;border:1px solid rgba(255,255,255,.45);font-size:12px;font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);pointer-events:auto;text-align:center}.topbar,.page-header,.section-title{display:flex;align-items:center;justify-content:space-between;gap:18px}h1,h2,h3{font-family:Fraunces,serif;margin:0 0 8px}h1{font-size:clamp(28px,4vw,46px)}h2{font-size:clamp(26px,3vw,38px)}.eyebrow{color:var(--tomato);font-weight:900;letter-spacing:.08em;text-transform:uppercase;margin:0 0 6px;font-size:12px}.page-stack{display:grid;gap:24px;animation:rise .45s ease both}.hero-card,.card,.auth-panel{background:#ffffffe0;border:1px solid var(--line);border-radius:34px;padding:26px;box-shadow:var(--shadow)}.hero-card{min-height:260px;display:grid;align-items:center;background:linear-gradient(135deg,#ffffffeb,#ffeed3e6),url(https://images.unsplash.com/photo-1506368249639-73a05d6f6488?auto=format&fit=crop&w=1600&q=80) center/cover}.hero-card h2{max-width:780px;font-size:clamp(34px,6vw,72px)}.hero-card p{max-width:620px;color:var(--muted);font-size:18px}.dashboard-page{gap:18px}.dashboard-hero-card{min-height:150px;padding:20px 24px;align-items:start}.dashboard-hero-card h2{max-width:100%;font-size:clamp(26px,3.4vw,42px);margin-bottom:6px}.dashboard-hero-card p{max-width:720px;margin:0 0 12px;font-size:16px}.dashboard-hero-card .hero-actions{gap:8px}.dashboard-hero-card .button{padding:9px 14px}.hero-actions,.meta-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.button{border:0;border-radius:999px;padding:12px 18px;cursor:pointer;font-weight:900;display:inline-flex;align-items:center;justify-content:center}.button-icon{width:18px;height:18px;flex:0 0 auto}.button.primary{background:var(--tomato);color:#fff;box-shadow:0 12px 28px #e86f4d40}.button.secondary{background:#ffe1b8;color:#6a3b13}.button.ghost{background:#fff;color:var(--tomato);border:1px solid var(--line)}.recipe-page{position:relative}.breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:8px;color:var(--muted);font-size:13px;font-weight:800}.breadcrumb a{color:inherit;text-decoration:none}.breadcrumb a:hover{color:var(--tomato)}.breadcrumb span:last-child{color:var(--ink)}.recipe-page-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px}.round-icon-action{width:48px;height:48px;min-width:48px;padding:0;display:inline-grid;place-items:center;border-radius:999px;color:#6a3b13;background:#ffffffb8;border:1px solid rgba(234,223,210,.9);box-shadow:0 14px 34px #4e351b1f;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,color .18s ease,background .18s ease}.button.round-icon-action{padding:0}.round-icon-action:hover{color:#fff;background:linear-gradient(135deg,var(--tomato),var(--sun));box-shadow:0 18px 42px #e86f4d38;transform:translateY(-2px)}.round-icon-action.primary{color:#fff;background:var(--tomato)}.round-icon-action.danger{color:#a33c25}.round-icon-action:disabled{cursor:not-allowed;opacity:.48;transform:none}.round-icon-action-svg{width:23px;height:23px}.round-icon-action.compact{width:38px;height:38px;min-width:38px}.round-icon-action.compact .round-icon-action-svg{width:19px;height:19px}.recipe-three-column,.recipe-edit-three-column{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(360px,1.05fr) minmax(360px,1.05fr);gap:22px;align-items:start}.recipe-media-card{grid-column:1;grid-row:1 / span 2;align-self:start;min-width:0;min-height:0;padding:12px;overflow:hidden}.recipe-detail-media-card{display:grid;gap:12px}.recipe-media-source-link{display:block;border-radius:24px;color:inherit;text-decoration:none}.recipe-media-source-link:focus-visible{outline:3px solid rgba(232,111,77,.45);outline-offset:4px}.recipe-original-video-button{width:100%;text-decoration:none}.recipe-wide-header-card{grid-column:2 / 4;min-width:0;align-self:stretch}.recipe-ingredients-card{grid-column:2}.recipe-steps-card{grid-column:3}.recipe-overview-card,.recipe-column-card{min-width:0}.recipe-overview-card{display:grid;gap:18px;align-content:start}.recipe-title-block{display:grid;gap:14px}.recipe-title-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.recipe-edit-title-toolbar{align-items:flex-start}.recipe-inline-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.recipe-cook-button{min-height:38px;padding:9px 14px;text-decoration:none;white-space:nowrap}.recipe-title-block h2{font-size:clamp(30px,3.5vw,52px);line-height:1.02}.recipe-title-block p{color:var(--muted);margin:0;line-height:1.55}.recipe-meta-row{align-items:flex-start}.recipe-source-meta-link{margin-left:auto;font-size:13px;font-weight:800;color:var(--muted);text-decoration:none;white-space:nowrap}.recipe-source-meta-link:hover{color:var(--tomato)}.recipe-column-media{width:100%;aspect-ratio:16 / 9;min-height:0;border-radius:28px;overflow:hidden;box-shadow:0 18px 44px #4e351b1f}.recipe-media-card .recipe-column-media{height:auto;min-height:0;aspect-ratio:auto;border-radius:24px;box-shadow:none}.recipe-media-card img.recipe-column-media{display:block;width:100%;object-fit:contain}.recipe-media-card .recipe-media-video.recipe-column-media{display:block;width:100%;height:auto;background:#fff5e8}.recipe-media-card .recipe-media-video.recipe-column-media video{width:100%;height:auto;max-height:none;object-fit:contain}.recipe-media-video.recipe-column-media{aspect-ratio:auto;height:auto;overflow:hidden}.recipe-media-video.recipe-column-media video{width:100%;height:auto;max-height:min(72vh,780px);border-radius:inherit}img.recipe-column-media{display:block;object-fit:cover}.image-upload-panel.recipe-column-media{position:relative;padding:0;cursor:pointer;background:#fff5e8}.image-upload-panel.recipe-column-media img,.image-upload-panel.recipe-column-media .recipe-media,.image-upload-panel.recipe-column-media .recipe-image-placeholder{width:100%;height:100%;min-height:0;border-radius:28px;box-shadow:none;transition:transform .2s ease,filter .2s ease}.image-upload-panel.recipe-column-media:hover img,.image-upload-panel.recipe-column-media.is-dragging img,.image-upload-panel.recipe-column-media:hover .recipe-media,.image-upload-panel.recipe-column-media.is-dragging .recipe-media,.image-upload-panel.recipe-column-media:hover .recipe-image-placeholder,.image-upload-panel.recipe-column-media.is-dragging .recipe-image-placeholder{transform:scale(1.025);filter:saturate(1.08)}.recipe-edit-three-column>.error-box{grid-column:1 / -1}.recipe-edit-overview-card .title-field input{font-size:clamp(28px,3vw,44px)}.recipe-edit-overview-card .description-field textarea{min-height:110px}.recipe-edit-three-column .ingredient-edit-list li.ingredient-row{grid-template-columns:minmax(80px,.7fr) minmax(62px,.6fr) minmax(170px,1.6fr) minmax(70px,.55fr) auto}.recipe-edit-three-column .step-edit-list textarea{min-height:132px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(260px,1fr);gap:22px}.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px}.recipe-grid,.plan-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:18px}.cookbook-manager{display:grid;gap:18px}.cookbook-tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px}.cookbook-tile{position:relative;min-height:228px;border-radius:30px;background:#ffffffd6;border:1px solid rgba(234,223,210,.9);box-shadow:0 18px 42px #4e351b14;overflow:visible;transition:transform .18s ease,box-shadow .18s ease}.cookbook-tile:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.cookbook-tile-link{min-height:228px;display:grid;align-items:start;padding:34px 58px 30px 30px;isolation:isolate}.cookbook-cover{position:absolute;z-index:-1;right:26px;bottom:20px;width:132px;height:184px;border-radius:11px 19px 19px 11px;background:linear-gradient(90deg,#31261d38 0,#31261d38 18px,#31261d24 18px,#31261d24);box-shadow:14px 18px 30px #4e351b14;opacity:.72;transform:rotate(-5deg)}.cookbook-cover:before,.cookbook-cover:after{content:"";position:absolute;right:13px;left:34px;height:10px;border-radius:999px;background:#fff8efc7}.cookbook-cover:before{top:40px}.cookbook-cover:after{top:64px;width:42px}.cookbook-tile-all .cookbook-cover{background:linear-gradient(90deg,#476b4038 0,#476b4038 18px,#476b4021 18px,#476b4021)}.cookbook-tile-content{display:grid;min-height:164px;align-content:space-between;gap:8px;min-width:0;max-width:100%;color:var(--ink)}.cookbook-tile-content strong{font-family:Fraunces,serif;max-width:100%;font-size:40px;line-height:1;hyphens:auto;-webkit-hyphens:auto;overflow-wrap:normal;word-break:normal;text-wrap:balance}.cookbook-tile-content small{color:#5f4d3d;font-size:16px;font-weight:900}.cookbook-menu-button{position:absolute;z-index:3;top:12px;right:12px;width:38px;height:38px;border:0;border-radius:999px;color:#6a3b13;background:#ffffffc2;box-shadow:inset 0 0 0 1px #eadfd2e0;cursor:pointer;font-weight:900}.cookbook-menu{position:absolute;z-index:5;top:54px;right:12px;min-width:150px;display:grid;gap:4px;padding:8px;border-radius:16px;background:#fffffff5;border:1px solid var(--line);box-shadow:0 18px 42px #4e351b29}.cookbook-menu button{border:0;width:100%;padding:9px 10px;border-radius:12px;color:var(--ink);background:transparent;cursor:pointer;font:inherit;font-weight:900;text-align:left}.cookbook-menu button:hover{background:#fff0dd}.cookbook-edit-dialog{width:min(520px,100%)}.cookbook-create-form{grid-template-columns:minmax(240px,1fr) auto}.cookbook-list{display:grid;gap:10px}.cookbook-row{display:grid;grid-template-columns:minmax(220px,1fr) auto;align-items:end;gap:12px;padding:12px;border-radius:20px;background:#fff8ef;border:1px solid rgba(234,223,210,.76)}.cookbook-delete-dialog{width:min(560px,100%)}.option-row{gap:10px}.option-row input[type=radio]{width:auto}.recipe-card,.plan-card{display:grid;background:var(--paper);border:1px solid var(--line);border-radius:28px;overflow:hidden;box-shadow:0 18px 42px #4e351b14;transition:transform .18s ease,box-shadow .18s ease}.recipe-card{grid-template-rows:auto 1fr}.recipe-card:hover,.plan-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.recipe-card img,.recipe-card .recipe-media{width:100%;aspect-ratio:16 / 9;height:100%}.recipe-card img{display:block;object-fit:cover}.recipe-card .recipe-media-video video{height:100%;object-fit:cover}.recipe-card-media-link{display:block;width:100%;aspect-ratio:16 / 9;overflow:hidden;border:0;padding:0;color:inherit;background:transparent;cursor:pointer}.recipe-card-body,.plan-card{padding:18px}.recipe-card-body{display:grid;grid-template-rows:auto 1fr auto;gap:12px}.recipe-card-heading{display:grid;gap:8px;align-content:start}.recipe-card-title-link{justify-self:start}.recipe-card-title-link:hover{color:var(--tomato)}.plan-card-link{display:grid;gap:8px}.plan-card .button{justify-self:start;margin-top:8px}.recipe-card p{color:var(--muted);min-height:44px;margin:0}.recipe-card-meta{align-self:end}.pill{display:inline-flex;width:fit-content;justify-self:start;border-radius:999px;background:#eef7eb;color:#476b40;padding:6px 10px;font-weight:900;font-size:12px}.clickable-pill{transition:color .18s ease,background .18s ease}.clickable-pill:hover{color:#fff;background:var(--tomato)}.meta-row span{color:var(--muted);background:#fff7ee;border-radius:999px;padding:7px 10px;font-weight:800;font-size:13px}.toolbar,.inline-form,.form-stack,.form-grid{display:grid;gap:14px}.toolbar{grid-template-columns:1fr 240px}.inline-form{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));align-items:end}.field{display:grid;gap:7px;font-weight:900}.field input,.field select,.field textarea,.toolbar input,.toolbar select,.ingredient-row input,.step-row textarea,.step-row input,.editable-meta-row input,.category-editor-row input,.category-editor-add input,.copy-box{border:1px solid var(--line);border-radius:16px;padding:12px 14px;background:#fffaf5;color:var(--ink);width:100%}.field textarea{min-height:120px;resize:vertical}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}.recipe-edit-grid{display:grid;grid-template-columns:minmax(230px,.8fr) minmax(460px,1.35fr) minmax(290px,1fr);gap:18px;align-items:start}.recipe-edit-column{min-width:0}.recipe-edit-actions{grid-column:1 / -1;display:flex;justify-content:flex-end}.recipe-edit-grid>.error-box{grid-column:1 / -1}.recipe-edit-form{display:grid;gap:24px}.recipe-header-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.recipe-import-form{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:12px;align-items:end}.recipe-book-import{display:grid;gap:12px;margin-top:18px;padding-top:18px;border-top:1px dashed var(--line)}.recipe-book-import-actions{display:flex;flex-wrap:wrap;gap:10px}.book-import-file-list{display:grid;gap:6px;padding:0;margin:0;list-style:none}.book-import-file-list li{display:flex;justify-content:space-between;gap:12px;padding:9px 12px;border-radius:14px;color:var(--muted);background:#fff8ef}.editor-list{display:grid;gap:12px}.ingredient-row{display:grid;grid-template-columns:minmax(88px,.55fr) minmax(58px,.7fr) minmax(50%,2.4fr) minmax(72px,.48fr) auto;gap:8px;align-items:center}.ingredient-description{min-width:50%}.step-row{display:grid;gap:10px;align-items:stretch}.step-row-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.recipe-hero{display:grid;grid-template-columns:minmax(280px,520px) 1fr;gap:28px;align-items:stretch}.recipe-hero img,.recipe-hero .recipe-media{width:100%;height:100%;min-height:390px;border-radius:34px;box-shadow:var(--shadow)}.recipe-hero img{object-fit:cover}.recipe-hero>div{padding:32px;border-radius:34px;background:#ffffffe6;border:1px solid var(--line)}.recipe-hero-edit{align-items:start}.recipe-hero-edit>.image-upload-panel{position:relative;aspect-ratio:1 / 1;padding:0;overflow:hidden;cursor:pointer;background:#fff5e8}.recipe-hero-edit>.image-upload-panel img{display:block;min-height:0;box-shadow:none;transition:transform .2s ease,filter .2s ease}.recipe-hero-edit>.image-upload-panel:hover img,.recipe-hero-edit>.image-upload-panel.is-dragging img,.recipe-hero-edit>.image-upload-panel:hover .recipe-media,.recipe-hero-edit>.image-upload-panel.is-dragging .recipe-media,.recipe-hero-edit>.image-upload-panel:hover .recipe-image-placeholder,.recipe-hero-edit>.image-upload-panel.is-dragging .recipe-image-placeholder{transform:scale(1.025);filter:saturate(1.08)}.recipe-image-placeholder{width:100%;height:100%;min-height:0;display:grid;place-items:center;border-radius:34px;background:radial-gradient(circle at 28% 22%,#ffe2a7 0 18%,transparent 19%),radial-gradient(circle at 74% 72%,#f6d5c8 0 20%,transparent 21%),linear-gradient(135deg,#fff8ef,#f7e2c2);transition:transform .2s ease,filter .2s ease}.placeholder-plate{position:relative;width:58%;aspect-ratio:1;border-radius:50%;background:#fffdf8;box-shadow:inset 0 0 0 18px #ffe1b8,0 24px 60px #4e351b29}.placeholder-plate:before{content:"";position:absolute;top:29%;right:29%;bottom:29%;left:29%;border-radius:50%;background:#fff4de}.placeholder-leaf{position:absolute;width:34%;height:18%;border-radius:999px 999px 999px 8px;background:var(--sage);transform-origin:right center}.leaf-left{left:20%;top:39%;transform:rotate(-32deg)}.leaf-right{right:18%;top:39%;transform:scaleX(-1) rotate(-32deg)}.placeholder-tomato{position:absolute;left:41%;top:36%;width:18%;aspect-ratio:1;border-radius:50%;background:var(--tomato);box-shadow:0 18px 0 -6px #f6b85b}.image-upload-overlay{position:absolute;inset:auto 18px 18px;display:grid;gap:3px;padding:14px 16px;border-radius:22px;color:#fff;background:linear-gradient(135deg,#31261ddb,#e86f4dc7);box-shadow:0 18px 42px #31261d38}.image-upload-overlay strong,.image-upload-overlay span{display:block}.image-upload-overlay span{font-size:13px;opacity:.92}.recipe-edit-summary{display:grid;align-content:start;gap:16px}.pill-field{max-width:260px}.title-field input{border:0;border-bottom:1px solid var(--line);border-radius:0;padding:6px 0 10px;background:transparent;font-family:Fraunces,serif;font-size:clamp(30px,4vw,52px);line-height:1.02}.description-field textarea{min-height:132px;font-size:17px;line-height:1.55}.editable-meta-row label{display:inline-grid;grid-template-columns:auto 82px auto;gap:7px;align-items:center;color:var(--muted);background:#fff7ee;border-radius:999px;padding:7px 10px;font-weight:800;font-size:13px}.editable-meta-row label input{height:34px;border-radius:999px;padding:6px 10px;text-align:center}.recipe-edit-footer{display:flex;justify-content:flex-end}.ingredient-list,.steps-list{display:grid;gap:12px;padding-left:0;list-style:none}.ingredient-list li{display:grid;grid-template-columns:minmax(120px,.38fr) minmax(0,1fr) auto;align-items:baseline;border-bottom:1px dashed var(--line);padding-bottom:10px;gap:10px}.ingredient-amount{min-height:1.4em}.ingredient-points{min-width:44px;color:var(--muted);font-size:.9rem;font-weight:900;text-align:right;white-space:nowrap}.cook-mode-shell{min-height:100vh;display:grid;align-content:start;gap:18px;padding:max(22px,env(safe-area-inset-top,0px)) max(22px,env(safe-area-inset-right,0px)) max(24px,env(safe-area-inset-bottom,0px)) max(22px,env(safe-area-inset-left,0px));background:radial-gradient(circle at 12% 0,rgba(246,184,91,.28),transparent 28rem),linear-gradient(145deg,#fffaf3,#f2eadf)}.cook-mode-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:16px;margin:-22px -22px 0;padding:calc(18px + env(safe-area-inset-top,0px)) max(22px,env(safe-area-inset-right,0px)) 16px max(22px,env(safe-area-inset-left,0px));background:#fffaf3e0;border-bottom:1px solid rgba(234,223,210,.82);box-shadow:0 14px 34px #4e351b14;backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2)}.cook-mode-title{min-width:0;display:grid;gap:4px}.cook-mode-title span{color:var(--tomato);font-size:12px;font-weight:900;text-transform:uppercase}.cook-mode-title h1{max-width:920px;margin:0;font-size:clamp(28px,4vw,48px);line-height:1.05}.cook-mode-header-actions,.cook-mode-meta,.cook-step-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.cook-mode-header-actions{justify-content:flex-end}.cook-servings-select{display:inline-grid;grid-template-columns:auto 78px;align-items:center;gap:8px;min-height:46px;padding:6px 8px 6px 14px;border:1px solid var(--line);border-radius:999px;background:#ffffffdb;color:var(--muted);font-size:13px;font-weight:900}.cook-servings-select select{min-height:34px;border:0;border-radius:999px;background:#fff7ee;color:var(--ink);font-weight:900;text-align:center}.cook-exit-button{min-height:46px;text-decoration:none}.cook-mode-meta{color:var(--muted)}.cook-mode-meta span{padding:8px 12px;border-radius:999px;background:#ffffffc2;border:1px solid rgba(234,223,210,.82);font-size:13px;font-weight:900}.cook-mode-grid{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(0,1.35fr);gap:18px;align-items:start}.cook-panel{min-width:0;padding:22px;border:1px solid rgba(234,223,210,.9);border-radius:28px;background:#ffffffe6;box-shadow:0 20px 54px #4e351b1a}.cook-ingredients-panel{position:sticky;top:112px;max-height:calc(100vh - 132px);overflow-y:auto}.cook-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.cook-panel-heading h2{margin:0;font-size:clamp(24px,3vw,34px)}.cook-panel-heading span{color:var(--muted);font-weight:900}.cook-ingredient-list{display:grid;gap:10px;padding:0;margin:0;list-style:none}.cook-ingredient-list label{min-height:54px;display:grid;grid-template-columns:26px minmax(82px,.34fr) minmax(0,1fr);align-items:center;gap:10px;padding:10px 12px;border:1px solid rgba(234,223,210,.82);border-radius:18px;background:#fffaf5;cursor:pointer}.cook-ingredient-list input{width:22px;height:22px;accent-color:var(--sage)}.cook-ingredient-list label.is-checked{color:#31261d8f;background:#f3f8f0}.cook-ingredient-amount{font-weight:900}.cook-ingredient-name{min-width:0;overflow-wrap:anywhere}.cook-progress{height:10px;overflow:hidden;border-radius:999px;background:#f4e8da}.cook-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--sage),var(--sun));transition:width .2s ease}.cook-active-step{min-height:min(42vh,480px);display:grid;align-content:center;gap:18px;padding:clamp(18px,4vw,42px) 0}.cook-step-number{width:62px;height:62px;display:grid;place-items:center;border-radius:999px;color:#fff;background:var(--tomato);font-size:28px;font-weight:900}.cook-active-step p{max-width:980px;margin:0;font-size:clamp(24px,4.5vw,46px);line-height:1.22}.cook-active-step strong{width:fit-content;padding:9px 12px;border-radius:999px;background:#eef7eb;color:#476b40}.cook-step-actions{justify-content:space-between}.cook-step-actions .button{min-width:190px;min-height:54px}.cook-step-overview{display:flex;flex-wrap:wrap;gap:8px;padding:18px 0 0;margin:18px 0 0;border-top:1px dashed var(--line);list-style:none}.cook-step-overview button{width:42px;height:42px;border:1px solid var(--line);border-radius:999px;background:#fffaf5;color:var(--ink);cursor:pointer;font-weight:900}.cook-step-overview button.is-active{border-color:transparent;background:var(--tomato);color:#fff}.recipe-edit-detail-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}.ingredient-edit-list li.ingredient-row{display:grid;grid-template-columns:minmax(88px,.55fr) minmax(72px,.7fr) minmax(50%,2.6fr) minmax(72px,.48fr) auto;align-items:center}.step-edit-list li.step-row{grid-template-columns:1fr;border-bottom:1px dashed var(--line);padding-bottom:12px}.step-edit-list textarea{min-height:96px;resize:none;overflow:hidden;line-height:1.45}.week-grid{display:grid;gap:10px}.day-column{display:grid;grid-template-columns:minmax(150px,.26fr) minmax(0,1fr);gap:12px;align-items:start;background:#ffffffd1;border:1px solid var(--line);border-radius:22px;padding:12px;min-height:0}.day-column h3 small{display:block;color:var(--muted);font-family:Nunito Sans,sans-serif;font-size:12px}.day-column-meals{display:grid;gap:8px}.planned-card{display:grid;grid-template-columns:58px 1fr auto;gap:10px;align-items:center;padding:10px;border-radius:18px;background:#fff8ef;margin-bottom:10px}.planned-card img,.planned-card .recipe-media{width:58px;height:58px;border-radius:16px}.planned-media-trigger{width:58px;height:58px;border-radius:16px;overflow:hidden}.planned-card img{object-fit:cover}.planned-card span,.planned-card small{display:block;color:var(--muted);font-size:12px}.week-planner-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px;align-items:start}.week-days-column,.recipe-result-list,.planned-meal-list{display:grid;gap:12px}.recipe-picker-column{position:sticky;top:24px}.week-day-card,.recipe-picker-card{display:grid;gap:16px}.week-day-card{transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease}.week-day-card.is-drop-target{border-color:#e86f4db3;background:#fff4e3f0;box-shadow:0 24px 70px #e86f4d2e;transform:translateY(-1px)}.recipe-picker-filters{display:grid;grid-template-columns:minmax(220px,1fr) minmax(170px,.55fr);gap:10px;align-items:end}.week-day-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.week-day-header small,.day-points span,.day-points small,.planner-meal-main span,.recipe-result-main span{color:var(--muted)}.day-points{min-width:130px;padding:10px 12px;border-radius:18px;text-align:right;background:#fff4e3}.day-points strong,.day-points span,.day-points small{display:block}.planned-meal-list{min-height:84px}.day-note-field{gap:8px}.day-note-field textarea{min-height:92px;height:92px;line-height:1.35}.planner-meal-card{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:12px;align-items:start;padding:12px;border-radius:22px;background:#fff8ef;border:1px solid rgba(234,223,210,.8);transition:opacity .18s ease,transform .18s ease,border-color .18s ease,box-shadow .18s ease}.planner-meal-card.is-dragging{opacity:.42;border-color:#e86f4d85;box-shadow:inset 0 0 0 1px #e86f4d1f;transform:scale(.99)}.planner-meal-card img,.planner-meal-card .recipe-media,.recipe-result-row img,.recipe-result-row .recipe-media,.image-trigger{width:72px;height:72px;border-radius:18px}.planner-meal-card img,.planner-meal-card .recipe-media,.recipe-result-row img,.recipe-result-row .recipe-media{display:block;object-fit:cover}.planner-meal-actions{display:grid;gap:8px;justify-items:center}.planned-meal-drag-handle,.planned-meal-remove{width:38px;height:38px;border:0;display:grid;place-items:center;border-radius:999px;color:#a33c25;background:#ffffffc7;box-shadow:inset 0 0 0 1px #eadfd2e6;cursor:pointer;transition:color .18s ease,background .18s ease,transform .18s ease}.planned-meal-drag-handle{color:#6a3b13;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.planned-meal-drag-handle:active{cursor:grabbing;color:var(--tomato)}.planned-meal-drag-handle:disabled{cursor:not-allowed;opacity:.45}.planned-meal-drag-handle:hover,.planned-meal-remove:hover{color:#fff;background:var(--tomato);transform:translateY(-1px)}.planned-meal-action-svg,.planned-meal-remove-svg{width:19px;height:19px}.planned-meal-drag-preview{position:fixed;z-index:9999;display:grid;grid-template-columns:40px minmax(0,1fr);gap:10px;align-items:center;padding:10px;border:1px solid rgba(232,111,77,.5);border-radius:20px;background:#fff8eff7;box-shadow:0 22px 58px #4e351b33;color:var(--ink);font-weight:900;pointer-events:none;transform:rotate(-1deg)}.planned-meal-drag-preview-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:999px;color:var(--tomato);background:#fff0dd}.planned-meal-drag-preview span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recipe-media{position:relative;overflow:hidden;background:#fff5e8}.recipe-media-video{background:#fff5e8}.recipe-media video{display:block;width:100%;height:100%;object-fit:contain;border-radius:inherit}.recipe-video-play{position:absolute;inset:50% auto auto 50%;width:58px;height:58px;display:grid;place-items:center;border-radius:999px;background:#31261d94;transform:translate(-50%,-50%);pointer-events:none}.recipe-video-play span{width:0;height:0;margin-left:4px;border-top:13px solid transparent;border-bottom:13px solid transparent;border-left:19px solid rgba(255,255,255,.92)}.recipe-preview-trigger{border:0;padding:0;color:inherit;background:transparent;cursor:pointer;font:inherit}.image-trigger{overflow:hidden}.title-trigger{justify-self:start;text-align:left;font-weight:900}.title-trigger:hover{color:var(--tomato)}.planner-meal-main,.recipe-result-main{display:grid;gap:5px;min-width:0}.planner-meal-main strong,.recipe-result-main strong{overflow-wrap:anywhere}.planner-meal-controls{display:grid;grid-template-columns:minmax(150px,1fr) 96px;gap:8px;margin-top:8px}.planner-meal-controls label{display:grid;gap:4px;font-size:12px;font-weight:900;color:var(--muted)}.planner-meal-controls select,.planner-meal-controls input,.recipe-search-field input,.recipe-cookbook-filter select{width:100%;border:1px solid var(--line);border-radius:14px;padding:9px 10px;background:#fffaf5;color:var(--ink)}.recipe-result-row{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border-radius:22px;background:#fff8ef;border:1px solid rgba(234,223,210,.8)}.weekday-buttons{display:grid;grid-template-columns:repeat(7,minmax(34px,1fr));gap:6px}.weekday-buttons button{display:grid;gap:1px;place-items:center;border:0;border-radius:14px;padding:7px 8px;color:#6a3b13;background:#ffe1b8;cursor:pointer;font-weight:900}.weekday-buttons button small{color:#6a3b13b8;font-size:.72rem;font-weight:800}.weekday-buttons button:disabled{cursor:not-allowed;color:#806f6194;background:#eee4d9;opacity:.72}.date-choice-dialog{width:min(460px,100%)}.date-choice-list{display:grid;gap:8px;margin-top:14px}.date-choice-list button{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;border:1px solid var(--line);border-radius:12px;background:#fffaf3;color:var(--ink);cursor:pointer;padding:10px 12px;text-align:left}.date-choice-list button span{color:var(--muted);font-weight:800}.shopping-meal-select-dialog{width:min(560px,100%);max-height:calc(100vh - 48px);overflow-y:auto}.shopping-meal-select-list{display:grid;gap:8px;margin:14px 0 18px}.shopping-select-group-title{margin-top:4px;color:var(--ink);font-size:.9rem}.shopping-meal-select-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;min-height:58px;padding:10px 12px;border:1px solid var(--line);border-radius:14px;background:#fffaf3;cursor:pointer}.shopping-meal-select-row input{width:20px;height:20px;accent-color:var(--tomato)}.shopping-meal-select-row span{display:grid;gap:3px;min-width:0}.shopping-meal-select-row strong,.shopping-meal-select-row small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shopping-meal-select-row small{color:var(--muted);font-weight:800}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;place-items:center;padding:24px;background:#31261d57;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.share-dialog,.week-plan-edit-dialog{width:min(560px,100%)}.caldav-dialog{width:min(620px,100%)}.import-dialog{width:min(680px,100%)}.image-edit-dialog{width:min(920px,100%);max-height:calc(100vh - 48px);overflow-y:auto}.image-edit-tools{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.image-edit-canvas{display:block;width:100%;max-height:62vh;object-fit:contain;border-radius:24px;background:#fff5e8;cursor:crosshair;touch-action:none;box-shadow:inset 0 0 0 1px var(--line)}.shopping-list{display:grid;gap:18px}.shopping-list-header-action{gap:8px}.shopping-completed-actions{margin:-4px 0 14px}.shopping-add-item-fab{position:sticky;left:calc(90% + env(safe-area-inset-right,0px));bottom:calc(40px + env(safe-area-inset-bottom,0px));z-index:20;display:grid;place-items:center;width:58px;height:58px;border:0;border-radius:50%;background:var(--tomato);color:#fff;box-shadow:0 18px 42px #e86f4d57;cursor:pointer}.shopping-add-item-fab-icon{width:28px;height:28px}.shopping-add-item-dialog{position:relative;width:min(460px,100%);max-height:calc(100vh - 48px);overflow-y:auto}.shopping-add-item-dialog .section-title{padding-right:48px}.manual-history-panel{display:grid;gap:8px}.manual-history-panel>strong{color:var(--muted);font-size:.83rem;text-transform:uppercase;letter-spacing:.04em}.manual-history-list{display:grid;gap:6px;max-height:172px;overflow-y:auto;padding-right:2px}.manual-history-row{display:grid;grid-template-columns:minmax(0,1fr) 38px;align-items:stretch;gap:6px}.manual-history-add,.manual-history-delete{border:1px solid var(--line);background:#fffaf3;color:var(--ink);cursor:pointer}.manual-history-add{display:grid;gap:2px;min-height:42px;border-radius:14px;padding:8px 10px;text-align:left}.manual-history-add span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:900}.manual-history-add small{overflow:hidden;color:var(--muted);font-size:.76rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.manual-history-delete{display:grid;place-items:center;min-height:42px;border-radius:14px;color:var(--muted);font-size:20px;font-weight:900}.manual-history-add:disabled,.manual-history-delete:disabled{cursor:wait;opacity:.58}.shopping-category-group{display:grid;gap:8px}.shopping-category-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 2px 5px;border-bottom:1px solid var(--line)}.shopping-category-heading strong{font-size:.95rem}.shopping-category-heading small{min-width:24px;padding:2px 8px;border-radius:999px;background:#fff2df;color:var(--muted);text-align:center}.shopping-category-items{display:grid;gap:8px}.shopping-item{position:relative;display:flex;gap:12px;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:12px;background:#fff8ef}.shopping-item.checked{background:#f0ebe3;opacity:.68}.shopping-item.checked .shopping-item-check span{color:var(--muted);text-decoration:line-through;text-decoration-thickness:2px}.shopping-item.checked .shopping-item-check small{color:var(--muted)}.shopping-item-check{display:flex;gap:12px;align-items:flex-start;min-width:0}.shopping-item-check span{min-width:0}.shopping-item small,.friend-row small{display:block;color:var(--muted)}.shopping-category-select{width:min(240px,42%);min-width:170px;height:36px;padding:6px 30px 6px 10px;border-radius:10px;font-size:.9rem}.shopping-category-mobile-button{display:none;position:absolute;top:8px;right:8px;width:32px;height:32px;border:0;border-radius:50%;background:transparent;color:var(--muted);cursor:pointer;font-size:22px;font-weight:900;line-height:1}.shopping-category-mobile-button:active{background:#fff2df}.shopping-category-dialog{width:min(420px,100%);max-height:calc(100vh - 48px);overflow-y:auto}.shopping-category-editor-dialog{position:relative;width:min(760px,100%);max-height:calc(100vh - 48px);overflow-y:auto}.shopping-category-editor-dialog .section-title{padding-right:48px}.category-dialog-close{position:absolute;top:16px;right:16px;z-index:2}.category-editor-list{display:grid;gap:8px;margin-top:14px}.category-editor-row{display:grid;grid-template-columns:40px minmax(180px,1fr) auto;gap:10px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:12px;background:#fffaf3}.category-editor-row.dragging{border-color:var(--tomato);box-shadow:none;opacity:.42}.category-editor-row input{min-width:0}.category-drop-indicator{height:4px;border-radius:999px;background:var(--tomato);box-shadow:0 0 0 4px #e05b3a1f}.category-drag-handle{display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:14px;background:#fff2df;color:var(--muted);cursor:grab;font-size:20px;font-weight:900;line-height:1;touch-action:none;-webkit-user-select:none;user-select:none}.category-drag-handle:active{cursor:grabbing;color:var(--tomato)}.category-drag-preview{position:fixed;z-index:9999;display:grid;grid-template-columns:40px minmax(180px,1fr) auto;gap:10px;align-items:center;padding:10px;border:1px solid var(--tomato);border-radius:12px;background:#fffaf3;box-shadow:0 18px 44px #4e351b3d;pointer-events:none;transform:rotate(-1deg)}.category-drag-preview .category-drag-handle{cursor:grabbing;color:var(--tomato)}.category-drag-preview-name{display:flex;align-items:center;min-width:0;min-height:40px;padding:0 14px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.category-drag-preview-spacer{width:76px}.category-editor-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.category-delete-button{display:flex;align-items:center;justify-content:center;gap:6px;min-height:36px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--tomato);cursor:pointer;font-weight:900;padding:8px 10px}.category-delete-button:disabled{cursor:not-allowed;opacity:.45}.category-delete-icon{width:18px;height:18px;flex:0 0 auto}.category-editor-add{display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:10px;margin-top:16px}.shopping-category-choice-list{display:grid;gap:6px;margin-top:14px}.shopping-category-choice{width:100%;min-height:44px;border:1px solid var(--line);border-radius:10px;background:#fffaf3;color:var(--ink);cursor:pointer;text-align:left;padding:10px 12px;font-weight:800}.shopping-category-choice.selected{border-color:var(--tomato);background:#fff2df;color:var(--tomato)}.friend-row{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line)}.profile-summary{display:flex;align-items:center;justify-content:space-between;gap:18px}.profile-summary strong,.profile-summary small{display:block}.profile-summary strong{font-size:22px}.profile-summary small{color:var(--muted);font-weight:800}.shopping-all-done{display:grid;gap:6px;padding:18px;border:1px dashed var(--line);border-radius:18px;background:#fffaf3}.shopping-all-done strong{font-size:20px}.shopping-all-done p{margin:0;color:var(--muted)}.auth-page,.centered{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-panel{width:min(460px,100%)}.auth-panel form{display:grid;gap:14px;margin:18px 0}.error-box,.success-box{border-radius:16px;padding:12px 14px}.error-box{background:#fff0ee;color:#9a301d}.success-box{background:#eff8ed;color:#426d39}.empty-state,.empty-small{color:var(--muted)}.copy-box{min-height:170px;margin-top:16px}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 1280px){.recipe-edit-grid{grid-template-columns:minmax(260px,.85fr) minmax(420px,1.15fr)}.recipe-edit-column:nth-of-type(3){grid-column:1 / -1}}@media (max-width: 1100px){.dashboard-grid,.detail-grid,.recipe-hero,.recipe-three-column,.recipe-edit-three-column,.week-planner-grid,.cook-mode-grid{grid-template-columns:1fr}.cook-ingredients-panel{position:static;max-height:none}.recipe-media-card,.recipe-wide-header-card,.recipe-ingredients-card,.recipe-steps-card{grid-column:auto;grid-row:auto}.recipe-picker-column{position:static}}@media (max-width: 720px){.cook-mode-shell{gap:14px;padding:max(14px,env(safe-area-inset-top,0px)) max(12px,env(safe-area-inset-right,0px)) max(16px,env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px))}.cook-mode-header{align-items:stretch;flex-direction:column;margin:-14px -12px 0;padding:calc(14px + env(safe-area-inset-top,0px)) max(12px,env(safe-area-inset-right,0px)) 12px max(12px,env(safe-area-inset-left,0px))}.cook-mode-title h1{font-size:clamp(26px,8vw,34px)}.cook-mode-header-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch}.cook-servings-select{grid-template-columns:minmax(0,1fr) 72px;width:100%}.cook-mode-meta{display:grid;grid-template-columns:1fr;gap:8px}.cook-panel{padding:16px;border-radius:22px}.cook-ingredient-list label{grid-template-columns:26px minmax(70px,.32fr) minmax(0,1fr);min-height:58px;border-radius:16px}.cook-active-step{min-height:34vh;padding:22px 0}.cook-step-number{width:52px;height:52px;font-size:24px}.cook-active-step p{font-size:clamp(24px,7vw,34px)}.cook-step-actions{display:grid;grid-template-columns:1fr}.cook-step-actions .button{width:100%;min-width:0}.recipe-title-toolbar{align-items:flex-start;flex-direction:column}.recipe-inline-actions{width:100%;justify-content:flex-start;margin-left:0}.recipe-cook-button{flex:1 1 auto;min-height:44px}.content-shell{padding:18px}.side-nav{left:8px;top:50%;width:auto}.side-nav-inner{grid-template-columns:1fr;gap:6px;padding:8px;border-radius:28px}.side-nav-icon{width:44px;height:44px}.side-nav-svg{width:22px;height:22px}.side-nav-label{font-size:10px}.side-nav-user{display:none}.topbar,.page-header,.section-title{align-items:flex-start;flex-direction:column}.recipe-header-actions{width:100%;justify-content:stretch}.recipe-header-actions .button{flex:1 1 220px}.toolbar,.ingredient-row,.step-row,.two-col,.recipe-edit-grid,.recipe-import-form,.cookbook-create-form,.cookbook-row{grid-template-columns:1fr}.cookbook-row .hero-actions{width:100%}.cookbook-row .button{flex:1 1 180px}.ingredient-edit-list li.ingredient-row,.step-edit-list li.step-row,.recipe-edit-three-column .ingredient-edit-list li.ingredient-row{grid-template-columns:1fr}.recipe-edit-column:nth-of-type(3){grid-column:auto}.recipe-edit-actions,.recipe-edit-footer{justify-content:stretch}.recipe-edit-actions .button,.recipe-edit-footer .button,.recipe-import-form .button{width:100%}.recipe-hero img{min-height:260px}.recipe-hero-edit>.image-upload-panel img{min-height:0}.planner-meal-card,.recipe-result-row{grid-template-columns:58px minmax(0,1fr)}.day-column{grid-template-columns:1fr}.planner-meal-actions{grid-column:2;justify-self:end;display:flex}.planner-meal-card img,.planner-meal-card .recipe-media,.recipe-result-row img,.recipe-result-row .recipe-media,.image-trigger{width:58px;height:58px}.planner-meal-controls,.weekday-buttons{grid-template-columns:1fr 1fr}.recipe-result-row .weekday-buttons{grid-column:1 / -1}}.mobile-bottom-nav{display:none}@media (max-width: 640px){.section-title.shopping-list-title-row{flex-direction:row;align-items:center;justify-content:space-between;gap:10px}.section-title.shopping-list-title-row .hero-actions{width:auto;flex:0 0 auto;justify-content:flex-end;gap:8px}.section-title.shopping-list-title-row .hero-actions .button:not(.shopping-list-header-action){flex:1 1 100%;order:2;width:100%}.section-title.shopping-list-title-row .hero-actions .shopping-list-header-action{flex:0 0 40px;width:40px;min-height:40px;padding:0;border-radius:50%}.shopping-list-header-action span{display:none}.shopping-list-header-action .button-icon{width:20px;height:20px}.shopping-add-item-fab{position:sticky;left:calc(80% + env(safe-area-inset-right,0px));bottom:calc(102px + env(safe-area-inset-bottom,0px));width:56px;height:56px}.shopping-add-item-dialog{align-self:end;width:100%;max-height:min(82vh,720px);border-radius:18px 18px 0 0}.shopping-item{align-items:stretch;padding:12px 44px 12px 12px}.shopping-category-select{display:none}.shopping-category-mobile-button{display:grid;place-items:center}.shopping-category-dialog{align-self:end;width:100%;max-height:min(82vh,720px);border-radius:18px 18px 0 0}.shopping-category-editor-dialog{align-self:end;width:100%;max-height:min(86vh,760px);border-radius:18px 18px 0 0}.category-dialog-close{top:12px;right:12px}.category-editor-row,.category-drag-preview{grid-template-columns:40px minmax(0,1fr) 40px;gap:8px;padding:8px}.category-drag-preview-spacer{width:40px}.category-editor-add{grid-template-columns:1fr}.category-editor-actions{grid-column:auto;justify-content:flex-end}.category-delete-button{width:40px;height:40px;min-height:40px;border-radius:14px;padding:0}.category-delete-button span{display:none}}@media (max-width: 1100px),(hover: none) and (pointer: coarse) and (max-width: 1366px){body{background:radial-gradient(circle at 20% 0,#ffe0a5 0,transparent 18rem),linear-gradient(160deg,#fffaf3,#f3eadf)}.content-shell{padding-bottom:calc(124px + env(safe-area-inset-bottom,0px))}.side-nav{display:none}.mobile-bottom-nav{position:fixed;z-index:950;right:0;bottom:0;left:0;display:block;padding:0 18px calc(16px + env(safe-area-inset-bottom,0px));pointer-events:none}.mobile-nav-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;border:0;padding:0;background:#31261d0a;pointer-events:auto}.mobile-bottom-nav-inner{position:relative;z-index:2;width:min(100%,640px);min-height:76px;margin:0 auto;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;padding:9px;border:1px solid rgba(255,255,255,.72);border-radius:30px;background:linear-gradient(135deg,#ffffffc7,#fff7ea94);box-shadow:0 20px 54px #31261d38;backdrop-filter:blur(24px) saturate(1.35);-webkit-backdrop-filter:blur(24px) saturate(1.35);pointer-events:auto}.mobile-nav-item{border:0;min-width:0;min-height:58px;padding:6px 4px 5px;display:grid;place-items:center;gap:4px;border-radius:23px;color:#31261db8;background:transparent;cursor:pointer;font:inherit;font-weight:900;-webkit-tap-highlight-color:transparent;transition:color .18s ease,background .18s ease,transform .18s ease}.mobile-nav-item.active{color:#fff;background:linear-gradient(135deg,#e86f4df5,#f6b85beb);box-shadow:0 13px 30px #e86f4d3d;transform:translateY(-2px)}.mobile-nav-icon{width:28px;height:28px;display:grid;place-items:center}.mobile-nav-svg{width:25px;height:25px}.mobile-nav-label{max-width:100%;font-size:11px;line-height:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-nav-dropup{position:absolute;z-index:3;right:max(18px,calc((100vw - 640px)/2));bottom:calc(104px + env(safe-area-inset-bottom,0px));width:min(280px,calc(100vw - 36px));display:grid;gap:8px;padding:12px;border:1px solid rgba(255,255,255,.7);border-radius:26px;background:linear-gradient(145deg,#fffffff0,#fff4e1e0);box-shadow:0 24px 70px #31261d3d;backdrop-filter:blur(22px) saturate(1.35);-webkit-backdrop-filter:blur(22px) saturate(1.35);opacity:0;transform:translateY(12px) scale(.98);transform-origin:bottom right;pointer-events:none;transition:opacity .18s ease,transform .18s ease}.mobile-nav-dropup.is-open{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.mobile-nav-user{display:block;padding:8px 12px 10px;color:var(--muted);border-bottom:1px dashed var(--line);font-size:12px;font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-dropup-item{border:0;width:100%;min-height:48px;display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:10px;padding:6px 10px 6px 6px;border-radius:18px;color:var(--ink);background:#ffffff9e;cursor:pointer;font:inherit;font-weight:900;text-align:left;-webkit-tap-highlight-color:transparent}.mobile-dropup-item.active,.mobile-dropup-item:hover{color:#8f3824;background:#fff0dd}.mobile-dropup-action{color:#8f3824}.mobile-dropup-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:999px;background:#fff7ee;box-shadow:inset 0 0 0 1px #eadfd2d9}.mobile-dropup-svg{width:21px;height:21px}}@media (max-width: 720px){body{background:radial-gradient(circle at 20% 0,#ffe0a5 0,transparent 18rem),linear-gradient(160deg,#fffaf3,#f3eadf)}.content-shell{padding:18px 14px calc(118px + env(safe-area-inset-bottom,0px))}.mobile-bottom-nav{padding:0 10px calc(10px + env(safe-area-inset-bottom,0px))}.mobile-bottom-nav-inner{width:min(100%,520px);min-height:72px;gap:4px;padding:8px;border-radius:28px}.mobile-nav-item{min-height:56px;padding:5px 3px 4px;gap:3px;border-radius:22px}.mobile-nav-icon{width:26px;height:26px}.mobile-nav-svg{width:24px;height:24px}.mobile-nav-label{font-size:10px}.mobile-nav-dropup{right:14px;bottom:calc(94px + env(safe-area-inset-bottom,0px));width:min(260px,calc(100vw - 28px))}.page-stack{gap:16px}.hero-card,.card,.auth-panel{border-radius:24px;padding:18px;box-shadow:0 18px 46px #4e351b1c}.hero-card{min-height:0;background-position:center}.hero-card h2,.dashboard-hero-card h2{font-size:clamp(28px,9vw,38px);line-height:1.04}.hero-card p,.dashboard-hero-card p{font-size:15px;line-height:1.5}.dashboard-hero-card{padding:20px}.dashboard-hero-card .hero-actions,.page-header .hero-actions,.section-title .hero-actions{width:100%}.dashboard-hero-card .button,.page-header .button,.section-title .button,.inline-form .button,.hero-actions .button{min-height:46px}.dashboard-hero-card .button,.page-header>.button,.page-header .hero-actions .button,.section-title .hero-actions .button{flex:1 1 100%;width:100%}.button{min-height:46px;padding:12px 16px}.field input,.field select,.field textarea,.toolbar input,.toolbar select,.ingredient-row input,.step-row textarea,.step-row input,.editable-meta-row input,.copy-box{min-height:46px;border-radius:15px;font-size:16px}.recipe-grid,.plan-list{grid-template-columns:1fr;gap:14px}.cookbook-tile-grid{grid-template-columns:1fr;gap:16px}.cookbook-tile,.cookbook-tile-link{min-height:168px}.cookbook-tile-link{padding:24px 54px 22px 20px}.cookbook-cover{right:20px;bottom:16px;width:92px;height:132px}.cookbook-tile-content strong{font-size:32px}.cookbook-tile-content{min-height:122px}.recipe-media-card{padding:10px}.recipe-card,.plan-card{border-radius:24px}.recipe-card-body,.plan-card{padding:16px}.recipe-card p{min-height:0}.meta-row{gap:7px}.meta-row span{padding:6px 9px;font-size:12px}.day-column{border-radius:20px;padding:12px}.planned-card{grid-template-columns:54px minmax(0,1fr) auto;border-radius:16px;padding:9px}.planned-card img,.planned-card .recipe-media,.planned-media-trigger{width:54px;height:54px;border-radius:15px}.week-day-header{flex-direction:column}.day-points{width:100%;text-align:left}.planner-meal-card,.recipe-result-row{border-radius:20px;padding:10px}.planner-meal-controls,.weekday-buttons{gap:7px}.recipe-picker-filters{grid-template-columns:1fr}.weekday-buttons button{min-height:40px;padding:8px 7px}.dialog-backdrop{align-items:end;padding:12px 12px calc(102px + env(safe-area-inset-bottom,0px))}.share-dialog,.week-plan-edit-dialog,.shopping-meal-select-dialog,.caldav-dialog,.import-dialog,.image-edit-dialog{width:100%;max-height:calc(100vh - 132px - env(safe-area-inset-bottom,0px));overflow-y:auto}.shopping-item,.friend-row{border-radius:17px}.profile-summary{align-items:stretch;flex-direction:column}}@media (max-width: 390px){.content-shell{padding-right:10px;padding-left:10px}.mobile-bottom-nav{padding-right:6px;padding-left:6px}.mobile-bottom-nav-inner{border-radius:24px;padding:7px 5px}.mobile-nav-label{font-size:9px}.mobile-nav-svg{width:22px;height:22px}}
