:root{--bg:#f8f7f2;--surface:#fffefa;--sidebar:#f1f0e8;--text:#30382d;--muted:#77796e;--border:#e0e2d6;--accent:#46563a;--accent-hover:#34432b;--soft:#e9eddf;--terracotta:#a86145;--warm:#f1e7d8;--warning:#825324;--error:#a2392c;--shadow:0 18px 70px #2c35221a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#20221d;--surface:#292c25;--sidebar:#252820;--text:#eeede3;--muted:#b1b4a5;--border:#44483c;--accent:#bdceaa;--accent-hover:#d0dfbd;--soft:#353f2d;--terracotta:#dca183;--warm:#3b3329;--warning:#e6bd81;--error:#ffb4a3;--shadow:0 18px 70px #0005;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:DM Sans,Arial,sans-serif;font-size:14px;line-height:1.55}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{opacity:.5;cursor:not-allowed}button{border:0}a{color:var(--accent);text-underline-offset:3px}h1,h2,h3,p{margin:0}h1,h2,h3{letter-spacing:-.035em;font-family:Georgia,Times New Roman,serif;font-weight:400;line-height:1.12}h1{font-size:clamp(32px,3vw,43px)}h2{font-size:27px}h3{font-size:23px}p{line-height:1.65}small{font-size:12px;line-height:1.55}svg{flex-shrink:0}button{transition:background .15s,color .15s,transform .15s}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--terracotta);outline-offset:4px}input,textarea,select{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:7px;width:100%;max-width:100%;min-height:44px;padding:10px 12px}textarea{resize:vertical;line-height:1.6}input[type=checkbox]{width:18px;height:18px;min-height:18px;accent-color:var(--accent);flex-shrink:0;margin:0}input[type=date]{min-width:140px}input[type=file]{max-width:100%}fieldset{border:0;min-width:0;margin:0;padding:0}legend{margin-bottom:10px;font-size:13px;font-weight:600}summary{cursor:pointer;align-content:center;min-height:36px;font-size:13px;display:list-item}details ul{color:var(--muted);padding-left:18px;font-size:12px}details li{margin:6px 0}ul{padding-left:20px}em{font-weight:400}::selection{background:var(--soft)}.app-shell{min-height:100vh}.sidebar{background:var(--sidebar);border-right:1px solid var(--border);z-index:20;flex-direction:column;width:238px;padding:35px 23px 21px;display:flex;position:fixed;inset:0 auto 0 0}.brand{letter-spacing:-2px;color:var(--text);background:0 0;align-items:center;gap:8px;padding:0 10px;font-family:Georgia,serif;font-size:36px;font-weight:500;display:flex}.brand-icon{place-items:center;margin-right:2px;display:grid}.brand-dot{color:var(--terracotta);margin-left:-7px}.brand-caption{letter-spacing:1.8px;color:var(--muted);margin:10px 0 43px 13px;font-size:8px;font-weight:600}.sidebar nav{flex-direction:column;gap:6px;display:flex}.nav-item{text-align:left;color:var(--muted);background:0 0;border-radius:7px;align-items:center;gap:13px;min-height:47px;padding:12px 17px;font-weight:500;display:flex}.nav-item.active{background:var(--soft);color:var(--accent);font-weight:700}.nav-item:hover{background:var(--soft)}.nav-count{background:var(--surface);border-radius:4px;margin-left:auto;padding:0 6px;font-size:11px}.sidebar-bottom{margin-top:auto}.sidebar-note{border-top:1px solid var(--border);color:var(--muted);padding:24px 12px 27px}.sidebar-note svg{color:var(--accent)}.sidebar-note p{margin-top:10px;font-family:Georgia,serif;font-size:18px;line-height:1.4}.owner-badge{border-top:1px solid var(--border);align-items:center;gap:10px;padding-top:20px;display:flex}.owner-badge>span{color:#665242;background:#ddcebb;border-radius:50%;place-items:center;width:33px;height:33px;font-family:Georgia,serif;display:grid}.owner-badge strong{font-size:11px;font-weight:600;display:block}.owner-badge small{color:var(--muted);font-size:9px}.main-wrap{margin-left:238px}.topbar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;height:80px;padding:0 42px;display:flex}.breadcrumb{color:var(--muted);font-size:12px}.breadcrumb span{color:var(--border);margin:0 12px}.connection{color:var(--muted);align-items:center;gap:7px;font-size:11px;display:flex}.status-dot{background:var(--accent);border-radius:50%;width:6px;height:6px}.disconnected{color:var(--warning)}main{min-width:0;max-width:1480px;margin:auto;padding:42px}.page-heading{justify-content:space-between;align-items:center;gap:24px;margin:0 0 37px;display:flex}.page-heading .eyebrow{margin-bottom:11px}.page-heading .muted{margin-top:12px;font-size:13px}.page-heading .button{flex-shrink:0}.eyebrow{text-transform:uppercase;letter-spacing:1.6px;color:var(--muted);font-family:DM Sans,Arial,sans-serif;font-size:9px;font-weight:650;line-height:1.6}.muted{color:var(--muted)}.small{font-size:12px}.button{background:var(--accent);color:var(--bg);white-space:normal;border-radius:6px;justify-content:center;align-items:center;gap:9px;min-height:44px;padding:12px 17px;font-size:12px;font-weight:600;line-height:1.4;text-decoration:none;display:inline-flex}.button:hover{background:var(--accent-hover)}.button.secondary{background:var(--surface);border:1px solid var(--border);color:var(--text)}.button.secondary:hover{background:var(--soft)}.text-button{color:var(--accent);text-align:left;background:0 0;justify-content:center;align-items:center;gap:7px;min-height:40px;padding:8px 0;font-size:12px;font-weight:600;display:inline-flex}.text-button:hover{text-underline-offset:4px;text-decoration:underline}.icon-button{background:0 0;border-radius:6px;justify-content:center;align-items:center;width:40px;min-width:40px;height:40px;display:inline-flex}.icon-button:hover{background:var(--soft)}.row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.row>select{flex:1;min-width:140px}.between{justify-content:space-between}.section-heading{justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px;display:flex}.section-heading h2{font-size:25px}.section-heading h3{font-size:23px}.section-heading .eyebrow{margin-bottom:6px}.today-layout{grid-template-columns:minmax(0,1fr) 270px;gap:28px;display:grid}.welcome-card{background:var(--soft);border:1px solid var(--border);text-align:center;border-radius:9px;flex-direction:column;align-items:center;min-height:370px;padding:26px 32px 28px;display:flex}.welcome-card h2{margin:10px 0 12px;font-size:32px}.welcome-card>p:not(.eyebrow){max-width:400px;color:var(--muted);margin-bottom:20px;font-size:13px}.welcome-illustration{place-items:center;width:220px;height:125px;margin:0 auto 16px;display:grid;position:relative}.plate.outer{background:var(--bg);border:1px solid #b6bd9f;border-radius:50%;place-items:center;width:122px;height:122px;display:grid;box-shadow:0 4px #00000006}.plate.inner{border:1px solid var(--border);color:#88976e;border-radius:50%;place-items:center;width:96px;height:96px;display:grid;transform:rotate(-18deg)}.fork-line,.knife-line{background:#a6ae94;border-radius:6px;width:5px;height:100px;position:absolute;top:15px;left:26px}.fork-line:before{content:"";border-bottom:4px solid #a6ae94;border-left:3px solid #a6ae94;border-right:3px solid #a6ae94;border-radius:0 0 7px 7px;width:15px;height:28px;position:absolute;top:0;left:-5px}.knife-line{width:5px;left:auto;right:26px}.knife-line:before{content:"";background:#a6ae94;border-radius:8px 0 0 2px;width:10px;height:55px;position:absolute;top:0;right:0}.handwritten{color:var(--muted);margin-top:15px;font-family:Georgia,serif;font-size:13px;font-style:italic}.today-nutrition{border-bottom:1px solid var(--border);margin-top:28px;padding-bottom:23px}.nutrition-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:15px 0;display:grid}.nutrition-value{white-space:nowrap;margin:7px 0 8px;font-family:Georgia,serif;font-size:23px}.nutrition-value small,.nutrition-value .target{color:var(--muted);font-family:DM Sans,Arial,sans-serif;font-size:10px}.meter{background:var(--border);border-radius:2px;height:3px;margin-right:10px;overflow:hidden}.meter>span{background:var(--accent);height:100%;display:block}.today-aside{padding-top:47px}.shopping-preview{background:var(--warm);border:1px solid var(--border);border-radius:9px;padding:24px;position:relative;overflow:hidden}.shopping-preview .section-heading{margin-bottom:23px}.shopping-preview h2{font-size:36px;line-height:1.12}.shopping-preview p{color:var(--muted);margin:15px 0 20px;font-size:12px}.shopping-preview .button{z-index:1;width:100%;font-size:11px;position:relative}.shopping-sketch{color:#a78e6d;justify-content:center;align-items:center;height:95px;margin-top:17px;display:flex;transform:rotate(-8deg)}.shopping-sketch>svg:first-child{margin-top:-32px;margin-right:-29px}.small-note{padding:25px 13px 0}.small-note h3{margin:9px 0 12px;font-size:24px}.small-note p{color:var(--muted);font-size:12px}.recent-section{margin-top:36px}.cookbook-empty{background:var(--surface);border:1px dashed var(--border);text-align:left;border-radius:8px;align-items:center;gap:22px;width:100%;padding:25px;display:flex}.book-illustration{background:var(--warm);width:75px;height:75px;color:var(--terracotta);border-radius:7px;flex-shrink:0;place-items:center;display:grid}.cookbook-empty strong{font-family:Georgia,serif;font-size:23px;font-weight:400;display:block}.cookbook-empty small{color:var(--muted);max-width:480px;margin-top:7px;display:block}.cookbook-empty>svg{margin-left:auto}.recipe-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:23px;display:grid}.recipe-card{border:1px solid var(--border);background:var(--surface);text-align:left;border-radius:8px;flex-direction:column;min-width:0;padding:0;display:flex;overflow:hidden}.recipe-card:hover{transform:translateY(-3px);box-shadow:0 7px 20px #00000007}.recipe-photo,.recipe-art{aspect-ratio:1.55;object-fit:cover;width:100%}.recipe-art{background:var(--warm);color:var(--terracotta);flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex}.recipe-art>span{letter-spacing:2px;font-size:8px}.art-plate{outline-offset:7px;opacity:.7;border:1px solid;border-radius:50%;outline:1px solid;place-items:center;width:80px;height:80px;display:grid}.recipe-card:nth-child(3n+2) .recipe-art{background:var(--soft);color:var(--accent)}.recipe-card:nth-child(3n+3) .recipe-art{background:var(--sidebar);color:var(--muted)}.recipe-card-copy{flex-direction:column;flex:1;width:100%;padding:20px;display:flex}.recipe-card h3{overflow-wrap:anywhere;margin:10px 0 22px;font-size:25px}.card-bottom{color:var(--muted);justify-content:space-between;align-items:center;margin-top:auto;font-size:11px;display:flex}.card-bottom span{align-items:center;gap:5px;display:flex}.recipe-toolbar{gap:15px;margin-bottom:25px;display:flex}.search-input{border:1px solid var(--border);background:var(--surface);color:var(--muted);border-radius:6px;flex:1;align-items:center;gap:10px;padding:0 14px;display:flex}.search-input input{outline-offset:0;background:0 0;border:0;padding-left:0}.recipe-filters{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:9px;margin-bottom:28px;display:flex}.recipe-filters button{color:var(--muted);text-transform:capitalize;background:0 0;border-bottom:2px solid #0000;padding:12px 16px}.recipe-filters button.active{border-color:var(--accent);color:var(--accent);font-weight:600}.recipe-filters>span{color:var(--muted);margin-left:auto;font-size:11px}.empty{border:1px dashed var(--border);background:var(--surface);text-align:center;border-radius:8px;padding:60px 25px}.empty-mark{background:var(--soft);width:70px;height:70px;color:var(--accent);border-radius:50%;place-items:center;margin:0 auto 23px;display:grid}.empty h3{font-size:30px}.empty p{color:var(--muted);max-width:460px;margin:13px auto 23px}.draft-list{background:var(--warm);border-radius:7px;flex-wrap:wrap;align-items:center;gap:8px 24px;margin:0 0 25px;padding:15px 20px;display:flex}.page-footer{border-top:1px solid var(--border);color:var(--muted);justify-content:space-between;gap:20px;margin-top:55px;padding:23px 0 0;font-size:10px;display:flex}.mobile-nav,.mobile-brand{display:none}.toast,.saving{z-index:200;background:var(--text);color:var(--bg);box-shadow:var(--shadow);border-radius:8px;align-items:center;gap:10px;width:max-content;max-width:calc(100vw - 40px);padding:13px 20px;font-size:12px;display:flex;position:fixed;bottom:25px;left:calc(50% + 119px);transform:translate(-50%)}.saving{top:25px;bottom:auto}.error{background:color-mix(in srgb, var(--error) 10%, var(--surface));color:var(--error);border:1px solid color-mix(in srgb, var(--error) 35%, var(--border));overflow-wrap:anywhere;border-radius:6px;padding:13px 16px;font-size:13px}.global-error{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.notice{background:var(--warm);border:1px solid var(--border);color:var(--warning);border-radius:7px;margin:12px 0;padding:15px 18px;font-size:13px}.notice p{margin-top:8px}.notice small{margin-top:8px;display:block}.notice.compact{padding:9px 12px;font-size:11px}.tag{color:var(--accent);background:var(--soft);white-space:nowrap;border-radius:4px;padding:5px 9px;font-size:10px;display:inline-block}.danger{color:var(--error)}.danger-fill{background:var(--error);color:var(--surface)}.modal{background:var(--surface);color:var(--text);border:1px solid var(--border);width:calc(100vw - 32px);max-width:600px;max-height:90dvh;box-shadow:var(--shadow);border-radius:13px;padding:26px;overflow:auto}.modal.wide{max-width:850px}.modal::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#151b1666}.modal-head{justify-content:space-between;align-items:center;gap:15px;margin-bottom:24px;display:flex}.modal-head h2{font-size:29px}.stack{flex-direction:column;gap:19px;display:flex}.field{flex-direction:column;gap:7px;min-width:0;display:flex}.field>span{font-size:12px;font-weight:600}.field>small{color:var(--muted)}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;display:grid}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.checks{flex-wrap:wrap;gap:13px 20px;display:flex}.check{text-transform:capitalize;align-items:center;gap:10px;min-height:35px;font-size:13px;display:flex}.modal-actions{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;margin-top:5px;padding-top:21px;display:flex}.inset{padding:15px 0}.list-button{text-align:left;border-bottom:1px solid var(--border);background:0 0;justify-content:space-between;align-items:center;gap:12px;width:100%;min-width:0;padding:15px 3px;display:flex}.list-button:hover{background:var(--soft)}.list-button strong{font-size:13px;font-weight:500}.list-button small{color:var(--muted);margin-top:3px;display:block}.ingredient-result{align-items:center;gap:12px;display:flex}.ingredient-result>.list-button{flex:1}.ingredient-result>.text-button{flex-shrink:0}.count{color:var(--muted);font-family:DM Sans,sans-serif;font-size:13px}.source-note{color:var(--muted);background:var(--bg);padding:12px;font-size:11px}.title-input{padding:15px;font-family:Georgia,serif;font-size:27px}.photo-upload{border:1px dashed var(--border);color:var(--muted);border-radius:7px;flex-wrap:wrap;align-items:center;gap:13px;padding:18px;display:flex}.photo-upload strong{color:var(--text);font-size:13px}.photo-upload small{display:block}.photo-upload .button{margin-left:auto}.photo-upload input,.file-button input{opacity:0;width:1px;height:1px;min-height:0;padding:0;position:absolute}.photo-upload label,.file-button{cursor:pointer}.photo-upload label:focus-within,.file-button:focus-within{outline:3px solid var(--terracotta);outline-offset:3px}.editor-section{border-top:1px solid var(--border);padding-top:23px}.editor-section>h3{margin-bottom:18px}.ingredient-row{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) 80px 75px 32px 32px;align-items:center;gap:8px;padding:12px 0;display:grid}.ingredient-name strong{overflow-wrap:anywhere;font-size:13px;font-weight:500}.ingredient-name small{color:var(--muted);font-size:10px;display:block}.ingredient-row .icon-button{width:32px;min-width:32px}.ingredient-row input,.ingredient-row select{padding:8px}.add-row{background:var(--bg);border:1px dashed var(--border);width:100%;color:var(--accent);border-radius:6px;justify-content:center;align-items:center;gap:8px;margin-top:13px;padding:13px;font-size:12px;display:flex}.step-row{align-items:flex-start;gap:13px;margin-bottom:13px;display:flex}.step-row textarea{flex:1}.step-row>div{flex-direction:column;display:flex}.step-number{border:1px solid var(--border);width:30px;height:30px;color:var(--terracotta);border-radius:50%;flex-shrink:0;place-items:center;margin-top:6px;font-family:Georgia,serif;display:grid}.nutrition-box{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:22px}.recipe-detail>.recipe-photo,.recipe-detail>.recipe-art{border-radius:7px;max-height:300px}.recipe-detail>.recipe-art .art-plate{width:120px;height:120px}.detail-copy{padding:27px 0 0}.detail-copy h1{overflow-wrap:anywhere;margin:10px 0 17px}.detail-meta{color:var(--muted);flex-wrap:wrap;gap:20px;margin-bottom:15px;font-size:12px;display:flex}.detail-meta>span{align-items:center;gap:7px;display:flex}.detail-copy>.row{margin-top:16px}.scaler{border:1px solid var(--border);background:var(--soft);border-radius:7px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:15px;margin:27px 0;padding:18px 20px;display:flex}.scaler strong{font-size:13px}.scaler small{color:var(--muted);font-size:11px;display:block}.scaler input{width:65px;min-height:38px;padding:6px}.cooking-columns{grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr);gap:35px;margin:30px 0;display:grid}.cooking-columns h2{margin-bottom:20px}.cooking-ingredient{border-bottom:1px solid var(--border);align-items:flex-start;gap:12px;padding:13px 0;font-size:14px;display:flex}.cooking-ingredient input{margin-top:4px}.cooking-ingredient strong{font-weight:600}.cooking-ingredient small{color:var(--muted);font-size:11px;display:block}.cooking-ingredient:has(input:checked)>span{opacity:.5;text-decoration:line-through}.cooking-step{align-items:flex-start;gap:15px;margin-bottom:22px;display:flex}.cooking-step p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:16px;line-height:1.8}.cooking-step .step-number{margin-top:0}.plan-toolbar{justify-content:space-between;align-items:center;gap:15px;margin-bottom:25px;display:flex}.plan-toolbar input{width:155px}.plan-toolbar .row{flex-wrap:nowrap;gap:5px}.plan-toolbar select{width:100px;min-width:100px}.plan-grid{grid-template-columns:repeat(var(--days), minmax(0, 1fr));gap:16px;display:grid}.plan-day{border:1px solid var(--border);background:var(--surface);border-radius:8px;flex-direction:column;min-width:0;padding:17px 13px;display:flex}.plan-day.is-today{border-top:3px solid var(--accent);padding-top:15px}.plan-day>header{border-bottom:1px solid var(--border);margin-bottom:17px;padding-bottom:17px}.plan-day h2{margin-top:6px;font-size:24px}.slot-label{text-transform:uppercase;letter-spacing:1px;color:var(--muted);justify-content:space-between;align-items:center;margin-bottom:8px;font-size:10px;display:flex}.plan-slot{margin-bottom:20px}.slot-card{text-align:left;background:0 0;flex-direction:column;gap:9px;width:100%;padding:0;display:flex}.slot-card>.recipe-photo,.slot-card>.recipe-art{aspect-ratio:1.45;border-radius:5px}.slot-card .recipe-art .art-plate{outline-offset:5px;width:48px;height:48px}.slot-card .recipe-art>span{display:none}.slot-card strong{overflow-wrap:anywhere;font-family:Georgia,serif;font-size:20px;font-weight:400;line-height:1.2}.open-slot{border:1px dashed var(--border);width:100%;color:var(--muted);border-radius:5px;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:125px;padding:23px 9px;font-size:11px;display:flex}.day-total{border-top:1px solid var(--border);margin-top:auto;padding-top:15px}.day-total strong{font-size:13px;display:block}.day-total small{color:var(--muted);font-size:10px;display:block}.today-meal{border-bottom:1px solid var(--border);align-items:center;gap:22px;padding:18px 0;display:flex}.today-meal h3{overflow-wrap:anywhere;margin:7px 0;font-size:27px}.today-meal>.meal-photo-button{background:0 0;flex-shrink:0;width:145px;padding:0}.meal-photo-button>.recipe-photo,.meal-photo-button>.recipe-art{aspect-ratio:1;border-radius:7px}.today-meal .art-plate{width:60px;height:60px}.today-meal .recipe-art>span{display:none}.shopping-toolbar{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:20px;padding-bottom:20px;display:flex}.shopping-toolbar>select{max-width:280px}.shopping-toolbar>.text-button{margin-left:auto}.linked-range{color:var(--muted);flex-wrap:wrap;align-items:center;gap:15px;margin:20px 0 30px;font-size:12px;display:flex}.linked-range label{align-items:center;gap:8px;display:flex}.linked-range input{width:155px}.linked-range select{width:100px}.shopping-columns{columns:2;column-gap:32px}.shopping-category{break-inside:avoid;background:var(--surface);border:1px solid var(--border);border-radius:8px;margin-bottom:32px;padding:20px}.shopping-category h2{align-items:center;gap:10px;margin-bottom:14px;font-size:25px;display:flex}.shopping-category h2>span{color:var(--muted);font-family:Arial,sans-serif;font-size:11px}.shopping-row{border-bottom:1px solid var(--border);align-items:flex-start;gap:13px;padding:15px 0;display:flex}.shopping-row:last-child{border-bottom:0;padding-bottom:0}.shopping-row>input{margin-top:7px}.shopping-content{flex:1;min-width:0}.shopping-content>strong{overflow-wrap:anywhere;font-size:13px;font-weight:500}.shopping-content>span,.shopping-content>small{color:var(--muted);margin-top:4px;font-size:11px;display:block}.shopping-row.checked strong{opacity:.6;text-decoration:line-through}.shopping-content details summary{color:var(--muted);min-height:27px;font-size:10px}.shopping-content .inline-quantity{width:68px;min-height:32px;padding:4px 7px;font-size:11px}.review{color:var(--warning);background:var(--warm);border-radius:4px;margin-top:7px;padding:8px;font-size:11px}.shopping-note{max-width:650px}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.settings-section{border:1px solid var(--border);background:var(--surface);border-radius:8px;min-width:0;padding:26px}.settings-section h2{margin-bottom:15px;font-size:27px}.settings-section .section-heading{margin-bottom:0}.settings-section .muted{margin-bottom:22px;font-size:12px}.settings-section .small{margin-top:18px;margin-bottom:0}.settings-section .stack{gap:17px}.settings-section.full{grid-column:1/-1}.settings-section.full p{margin-bottom:0}.theme-controls{gap:10px;margin:20px 0;display:flex}.theme-controls button{background:var(--bg);border:1px solid var(--border);border-radius:6px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;padding:18px 8px;font-size:12px;display:flex}.theme-controls button.selected{background:var(--soft);border-color:var(--accent);color:var(--accent)}.exclusion-list{max-height:240px;padding:12px 0;overflow:auto}.login{grid-template-columns:1fr 1fr;max-width:none;min-height:100dvh;padding:0;display:grid}.login-art{background:var(--soft);flex-direction:column;justify-content:space-between;align-items:flex-start;gap:50px;padding:50px 10%;display:flex}.login-art>.brand{padding:0;font-size:40px}.login-art h1{margin:23px 0;font-size:clamp(50px,6vw,85px);line-height:1.02}.login-art h1 em{color:var(--terracotta)}.login-art p:not(.eyebrow){color:var(--muted);font-size:15px}.login-form{align-self:center;width:100%;max-width:650px;margin:auto;padding:60px 12%}.login-form h2{margin:12px 0 15px;font-size:37px}.login-form>p{margin-bottom:26px}.login-form .button{width:100%}.local-mode{border:1px solid var(--border);background:var(--sidebar);border-radius:7px;margin:27px 0;padding:18px}.local-mode strong{font-size:12px}.local-mode p{color:var(--muted);margin-top:7px;font-size:11px}.local-mode code{color:var(--text)}.loading-screen{flex-direction:column;justify-content:center;align-items:center;gap:15px;min-height:100vh;display:flex}.loading-screen h1{font-size:46px}.loading-screen h1 span{color:var(--terracotta)}.loading-screen p{color:var(--muted);font-size:13px}@media (min-width:1500px){main{padding:48px 55px}.topbar{padding:0 55px}.today-layout{grid-template-columns:minmax(0,1fr) 310px}.welcome-card{padding:30px 45px}.welcome-card h2{font-size:36px}}@media (max-width:1150px){.sidebar{width:205px;padding-left:16px;padding-right:16px}.main-wrap{margin-left:205px}main{padding:32px}.topbar{padding:0 32px}.page-heading{flex-direction:column;align-items:flex-start;gap:19px}.today-layout{grid-template-columns:minmax(0,1fr) 235px;gap:20px}.shopping-preview{padding:20px}.welcome-card{padding:23px}.welcome-card h2{font-size:29px}.nutrition-value{font-size:21px}.nutrition-value .target{display:none}.plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.recipe-grid{gap:16px}.recipe-card h3{font-size:23px}.recipe-card-copy{padding:16px}.settings-section{padding:22px}.toast{left:calc(50% + 102px)}}@media (max-width:900px){.today-layout{grid-template-columns:minmax(0,1fr)}.today-aside{grid-template-columns:1fr 1fr;gap:20px;padding:0;display:grid}.shopping-sketch{display:none}.shopping-preview h2{font-size:30px}.shopping-preview h2 br{display:none}.small-note{align-self:center;padding:10px}.recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-grid{grid-template-columns:1fr}.shopping-columns{columns:1}.settings-section.full{grid-column:auto}.connection{font-size:10px}.theme-toggle{display:none}.topbar{padding:0 24px}main{padding:30px 24px}.brand{font-size:32px}.brand-caption{letter-spacing:1.5px;font-size:7px}.sidebar{width:185px;padding:32px 12px 20px}.main-wrap{margin-left:185px}.owner-badge small{font-size:8px}.toast{left:calc(50% + 92px)}}@media (max-width:680px){.sidebar{display:none}.main-wrap{margin-left:0}.topbar{height:66px;padding:0 20px}.breadcrumb{display:none}.mobile-brand{letter-spacing:-1px;align-items:center;gap:7px;font-family:Georgia,serif;font-size:25px;display:flex}.topbar .row{gap:3px}.connection{font-size:9px}.topbar .icon-button{width:35px;min-width:35px}.mobile-nav{z-index:30;background:var(--surface);border-top:1px solid var(--border);padding:9px 7px max(9px, env(safe-area-inset-bottom));justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0}.mobile-nav button{color:var(--muted);background:0 0;border-radius:5px;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-width:58px;min-height:46px;font-size:10px;display:flex}.mobile-nav button.active{color:var(--accent);background:var(--soft)}main{padding:29px 20px 100px}.page-heading{margin-bottom:28px}.page-heading h1{max-width:370px;font-size:34px}.page-heading .muted,.page-heading .button{font-size:12px}.section-heading h2{font-size:25px}.eyebrow{letter-spacing:1.4px;font-size:8px}.welcome-card{padding:24px 22px}.welcome-card h2{max-width:290px;font-size:31px}.welcome-card .eyebrow{font-size:7px}.welcome-card>p:not(.eyebrow){font-size:12px}.welcome-illustration{height:110px;margin-bottom:17px}.plate.outer{width:108px;height:108px}.plate.inner{width:85px;height:85px}.fork-line,.knife-line{height:90px;top:10px}.nutrition-strip{gap:9px}.nutrition-value{font-size:22px}.nutrition-value small{font-size:8px}.today-nutrition .section-heading>.small{font-size:9px}.today-aside{grid-template-columns:1fr 1fr;gap:12px}.shopping-preview{padding:18px}.shopping-preview .section-heading .eyebrow{display:none}.shopping-preview .section-heading{margin-bottom:13px}.shopping-preview h2{font-size:27px}.shopping-preview p{font-size:11px}.shopping-preview .button{padding:9px 10px;font-size:10px}.shopping-preview .button svg{display:none}.small-note{padding:10px}.small-note h3{font-size:24px}.small-note p{font-size:11px}.small-note .eyebrow{font-size:7px}.cookbook-empty{gap:15px;padding:18px}.book-illustration{width:55px;height:65px}.book-illustration svg{width:33px}.cookbook-empty strong{font-size:21px}.cookbook-empty small{font-size:10px}.cookbook-empty>svg{display:none}.recipe-grid{gap:14px}.recipe-card h3{margin-bottom:17px;font-size:22px}.recipe-card-copy{padding:14px}.recipe-card .eyebrow{letter-spacing:1px;font-size:7px}.recipe-card .recipe-art{aspect-ratio:1.15}.recipe-card .art-plate{outline-offset:5px;width:55px;height:55px}.recipe-card .art-plate svg{width:25px}.recipe-card .recipe-art>span{letter-spacing:1.2px;font-size:6px}.recipe-toolbar{flex-direction:column;gap:12px}.recipe-toolbar>.button{align-self:flex-start}.recipe-filters{gap:0}.recipe-filters button{padding:12px 11px;font-size:11px}.recipe-filters>span{text-align:right;width:100%;margin-top:10px;margin-bottom:8px}.empty{padding:40px 20px}.empty h3{font-size:28px}.page-footer{gap:10px;margin-top:35px;font-size:8px}.toast{font-size:11px;bottom:85px;left:50%}.saving{top:12px;bottom:auto}.modal{border-radius:10px;width:calc(100vw - 20px);max-height:93dvh;padding:20px}.modal-head{margin-bottom:20px}.modal-head h2{font-size:26px}.modal .stack{gap:16px}.form-grid{gap:12px}.form-grid.three{gap:9px}.field>span{font-size:11px}input,select,textarea{min-width:0;font-size:16px}.form-grid.three input{padding:9px}.field small{font-size:10px}.modal-actions{gap:10px}.modal-actions .button{flex:1}.modal-actions .text-button{width:100%}.ingredient-row{grid-template-columns:1fr 70px 65px 30px 30px;gap:5px}.ingredient-name{grid-column:1/-1}.ingredient-row input{grid-column:1/3}.ingredient-row .icon-button{width:30px;min-width:30px}.photo-upload{padding:13px}.photo-upload>.button{margin-left:0}.photo-upload small{font-size:10px}.nutrition-box{padding:17px}.nutrition-box .section-heading{flex-direction:column;align-items:flex-start;gap:7px}.cooking-columns{grid-template-columns:1fr;gap:30px}.scaler{padding:15px}.recipe-detail>.recipe-photo,.recipe-detail>.recipe-art{max-height:220px}.detail-copy h1{font-size:35px}.cooking-step p{font-size:16px}.plan-grid{grid-template-columns:1fr;gap:20px}.plan-day{padding:20px}.plan-day.is-today{padding-top:18px}.plan-day>header{justify-content:space-between;align-items:center;display:flex}.plan-day h2{margin:0}.plan-slot{grid-template-columns:63px minmax(0,1fr);gap:10px;display:grid}.slot-label{align-items:flex-start;padding-top:10px;font-size:8px}.slot-card{grid-template-columns:66px 1fr;align-items:center;gap:4px 12px;display:grid}.slot-card>.recipe-photo,.slot-card>.recipe-art{grid-row:1/3;width:66px;height:66px}.slot-card>.recipe-art .art-plate{outline-offset:3px;width:35px;height:35px}.slot-card>.recipe-art svg{width:20px}.slot-card strong{font-size:22px}.slot-card>.small{align-self:flex-start;font-size:10px}.open-slot{flex-direction:row;grid-column:1/-1;min-height:65px;padding:15px}.day-total{justify-content:space-between;align-items:center;display:flex}.plan-toolbar{flex-wrap:wrap;align-items:flex-start}.plan-toolbar .row{flex:1}.plan-toolbar .row:last-child{justify-content:flex-end}.plan-toolbar .row>select{flex:0}.plan-toolbar input{width:145px}.today-meal>.meal-photo-button{width:100px}.today-meal{gap:16px}.today-meal h3{font-size:25px}.shopping-toolbar{gap:10px}.shopping-toolbar>select{flex:1;min-width:200px;max-width:100%}.shopping-toolbar>.text-button{margin-left:0}.shopping-toolbar>.muted{margin-right:auto}.linked-range{gap:10px}.linked-range .tag{width:100%}.linked-range>small{display:none}.shopping-category{padding:18px}.settings-section{padding:22px 19px}.settings-section .row .button{flex:1}.settings-section .section-heading{align-items:flex-start}.settings-section h2{font-size:28px}.settings-section .section-heading .tag{font-size:8px}.settings-section.full .row{flex-direction:column;align-items:flex-start}.login{padding:0;display:block}.login-art{gap:25px;min-height:230px;padding:26px 30px}.login-art>.brand{font-size:30px}.login-art>svg{display:none}.login-art h1{margin:12px 0;font-size:45px;line-height:1.03}.login-art h1 br{display:none}.login-art h1 br:after,.login-art h1 em:before{content:" "}.login-art>div>p:not(.eyebrow){display:none}.login-art .eyebrow{font-size:7px}.login-form{padding:35px 30px}.login-form h2{font-size:32px}.login-form>p{font-size:12px}.login-form .local-mode{margin-top:22px}.row select{min-width:130px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.recipe-card h3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}@media (max-width:480px){.recipe-grid{grid-template-columns:1fr}.recipe-card .recipe-art,.recipe-card .recipe-photo{aspect-ratio:1.7}.recipe-card .art-plate{width:75px;height:75px}.recipe-card .art-plate svg{width:34px}.recipe-card .recipe-art>span{font-size:8px}.recipe-card-copy{padding:20px}.recipe-card h3{font-size:28px}.recipe-card .eyebrow{font-size:8px}}
