:root{color:#412e26;font-synthesis:none;--accent:#b44d35;--bg:#fcf4eb;--soft:#f7e2d3;background:#fcf4eb;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,.button{cursor:pointer;color:inherit;background:#fffcf7;border:1px solid #e8ddd0;border-radius:13px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:12px 16px;text-decoration:none;display:inline-flex}button:disabled{opacity:.48;cursor:default}button:active{transform:scale(.985)}button:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:3px}input,select,textarea{color:#412e26;background:#fffdf8;border:1px solid #dfd0c0;border-radius:11px;width:100%;min-height:46px;padding:11px 12px;font-size:16px}input[type=checkbox]{accent-color:var(--accent);flex-shrink:0;width:21px;height:21px;min-height:21px}input[type=color]{height:46px;padding:6px}textarea{resize:vertical;line-height:1.5}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Georgia,Times New Roman,serif;font-weight:600}h1{letter-spacing:-1px;margin-bottom:24px;font-size:36px;line-height:1.13}h2{margin-bottom:17px;font-size:24px;line-height:1.15}h3{margin:24px 0 14px;font-size:20px}p{line-height:1.55}small{color:#806f61;font-size:12px;line-height:1.5}a{color:var(--accent)}.app{background:var(--bg);min-height:100vh;padding-bottom:110px}.app header{justify-content:space-between;align-items:center;max-width:1050px;margin:auto;padding:23px 25px 14px;display:flex}.brand{background:0 0;border:0;gap:12px;padding:0;font-family:Georgia,serif;font-size:27px;font-weight:700}.brand>span{text-align:left}.brand small{letter-spacing:1.5px;margin-top:3px;font-family:system-ui;font-size:9px;display:block}.brand-mark{background:var(--soft);width:47px;height:47px;color:var(--accent);border-radius:50%;justify-content:center;align-items:center;display:flex}.avatar{background:var(--soft);width:44px;height:44px;color:var(--accent);border:0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-weight:700;display:inline-flex}main{max-width:1000px;margin:auto;padding:0 25px}.weekbar{justify-content:space-between;align-items:center;gap:8px;padding:8px 0 15px;display:flex}.weekbar span{color:#826b5b;font-size:12px;font-weight:600}.icon{background:0 0;border:0;flex-shrink:0;width:44px;height:44px;padding:10px}.eyebrow{letter-spacing:1.6px;color:var(--accent);margin-bottom:10px;font-size:10px;font-weight:800;display:block}.intro{justify-content:space-between;align-items:center;padding-top:10px;display:flex}.intro h1{margin-bottom:20px;font-size:33px}.intro em{color:#836653;font-size:28px;font-weight:400}.decor{margin-right:4px;font-size:65px;transform:rotate(-15deg)}.days-nav{grid-template-columns:repeat(7,1fr);gap:5px;margin:0 0 22px;display:grid}.days-nav button{background:#ffffff80;border:0;border-radius:14px;flex-direction:column;gap:4px;min-height:70px;padding:10px 3px 7px;display:flex}.days-nav b{font-size:18px}.days-nav .active{background:var(--accent);color:#fff;box-shadow:0 5px 12px #944a2920}.days-nav .active small{color:#fff}.dot{background:0 0;border-radius:50%;width:4px;height:4px}.dot.filled{background:var(--accent)}.active .dot.filled{background:#fff}.hero{background:#fffaf4;border:1px solid #f0e3d7;border-radius:20px;margin-bottom:28px;position:relative;overflow:hidden;box-shadow:0 9px 25px #5a35240b}.hero-photo{text-align:left;border:0;border-radius:0;width:100%;height:300px;padding:0;display:block;position:relative}.hero-photo img{object-fit:cover;width:100%;height:100%}.hero-photo:after{content:"";background:linear-gradient(#0000,#28180c80);position:absolute;inset:50% 0 0}.today{background:var(--accent);color:#fff;z-index:1;border-radius:10px;padding:8px 12px;font-size:12px;font-weight:700;position:absolute;top:17px;left:17px}.hero-caption{color:#fff;z-index:1;letter-spacing:.3px;font-size:12px;position:absolute;bottom:17px;left:19px}.hero-heart{color:#fff;background:#412e2650;border:1px solid #ffffff60;border-radius:50%;position:absolute;top:13px;right:14px}.hero-body{padding:22px}.hero-body h2{margin-bottom:15px;font-size:28px}.meta{color:#786354;flex-wrap:wrap;align-items:center;gap:13px;font-size:12px;line-height:1.5;display:flex}.meta span{align-items:center;gap:5px;display:flex}.text-button{color:var(--accent);background:0 0;border:0;min-height:40px;padding:14px 0 0;font-size:13px;font-weight:700}.section-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.section-head h2{text-transform:capitalize;margin:0;font-size:22px}.daily-meals{gap:10px;display:grid}.meal-card{background:#fffaf4;border:1px solid #eee0d2;border-radius:15px;align-items:center;padding:9px;display:flex;overflow:hidden}.recipe-mini{text-align:left;background:0 0;border:0;flex:1;justify-content:flex-start;align-items:center;gap:12px;min-width:0;padding:0;display:flex}.recipe-mini img,.meal-placeholder{object-fit:cover;border-radius:11px;flex-shrink:0;width:66px;height:66px}.recipe-mini>span{flex:1;min-width:0}.recipe-mini b{margin:3px 0;font-size:14px;font-weight:650;line-height:1.4;display:block}.recipe-mini small{font-size:11px;display:block}.meal-placeholder{background:var(--soft);color:var(--accent);justify-content:center;align-items:center;display:flex}.meal-actions{flex-direction:column;display:flex}.meal-actions .icon{color:#866c58;width:34px;height:34px;min-height:34px;padding:7px}.primary{background:var(--accent);color:#fff;border-color:#0000;font-weight:650;box-shadow:0 5px 14px #873c2610}.secondary{background:var(--soft);color:var(--accent);border:0}.full{width:100%;min-height:50px;margin-top:14px}.generate-button{margin-top:23px}.row{align-items:center;gap:10px;margin:12px 0;display:flex}.row input{min-width:0}.wrap{flex-wrap:wrap}.columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.field{margin:17px 0;display:block}.field>span{margin-bottom:8px;font-size:12px;font-weight:650;display:block}.columns .field{margin:8px 0}.muted{color:#88715f;font-size:13px;line-height:1.55}.notice{background:var(--soft);border-radius:13px;margin:17px 0;padding:16px;font-size:12px;line-height:1.55}.notice p{margin:8px 0}.card{background:#fffcf7;border:1px solid #eddfd2;border-radius:18px;margin:16px 0}.pad{padding:21px}.card h2{align-items:center;gap:9px;font-size:23px;display:flex}.card h2 svg{color:var(--accent)}.chips{flex-wrap:wrap;gap:7px;margin:12px 0 20px;display:flex}.chips button{white-space:nowrap;border-radius:30px;min-height:39px;padding:9px 13px;font-size:12px}.selected{background:var(--accent)!important;color:#fff!important;border-color:var(--accent)!important}.chips.days{flex-wrap:nowrap;gap:4px}.chips.days button{flex:1;padding:8px 3px;font-size:11px}.scroll{scrollbar-width:none;flex-wrap:nowrap;padding-bottom:4px;overflow-x:auto}.search{align-items:center;display:flex;position:relative}.search svg{color:#a08774;position:absolute;left:15px}.search input{padding-left:42px}.recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-top:20px;display:grid}.recipe-card{text-align:left;background:#fffaf4;border:1px solid #eadccc;border-radius:17px;padding:0;display:block;overflow:hidden}.recipe-card .pad{padding:15px}.recipe-card h3{min-height:43px;margin:0 0 12px;font-size:18px;line-height:1.2}.recipe-card .meta{gap:7px;font-size:11px}.photo{height:180px;position:relative}.photo img{object-fit:cover;width:100%;height:100%}.photo .label{background:#fff6e6ea;border-radius:6px;padding:5px 8px;font-size:9px;position:absolute;bottom:10px;left:10px}.photo-heart{color:#fff;filter:drop-shadow(0 1px 3px #333);position:absolute;top:11px;right:11px}.pantry-toggle{background:var(--soft);color:var(--accent);border:0;font-size:13px}.ingredient-edit{align-items:center;gap:7px;margin:10px 0;display:flex}.ingredient-edit select{flex:1;min-width:0;padding:9px 6px;font-size:13px}.ingredient-edit input{width:80px}.ingredient-edit button{padding:10px}.shopping-total{background:var(--soft);border-radius:18px;align-items:center;gap:15px;margin-bottom:17px;padding:22px;display:flex}.shopping-total svg{color:var(--accent)}.shopping-total div{flex:1}.shopping-total b{margin-top:4px;font-family:Georgia,serif;font-size:28px;display:block}.shopping-total>span{text-align:right;width:70px;font-size:11px;line-height:1.4}.shopping-line{border-top:1px solid #eee1d5;align-items:flex-start;gap:9px;padding:16px 0;display:flex}.shopping-line .check{flex:1;margin:0}.shopping-line b{font-size:13px}.shopping-line small{margin-top:4px;font-size:10px;display:block}.price-side{text-align:right;max-width:88px}.price-side button{min-height:33px;color:var(--accent);background:0 0;border:0;padding:6px 0;font-size:9px}.check{align-items:center;gap:10px;margin:17px 0;font-size:13px;line-height:1.45;display:flex}.shopping-line .check{align-items:flex-start}.done{opacity:.6}.done b{text-decoration:line-through}.success{color:#496132;font-size:12px}.profile-line{border-top:1px solid #eee2d8;align-items:center;padding:9px 0;display:flex}.profile-line>button:first-child{text-align:left;background:0 0;border:0;flex:1;justify-content:flex-start;gap:12px;padding:0}.profile-line small{font-size:10px;display:block}.theme-grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.theme{justify-content:flex-start;padding:13px 10px;font-size:11px}.theme span{border-radius:50%;flex-shrink:0;width:21px;height:21px}.theme.active{border:2px solid var(--accent)}.settings>section{margin-bottom:20px}summary{cursor:pointer;min-height:30px;font-size:14px;font-weight:700;line-height:1.6}.overview-day{border-top:1px solid #eee1d5;padding:15px 0}.overview-day b{text-transform:capitalize;font-family:Georgia,serif}.overview-day button{text-align:left;background:0 0;border:0;justify-content:flex-start;width:100%;min-height:35px;padding:8px 0;font-size:12px;display:flex}.overview-day small{flex-shrink:0;width:60px;font-size:10px}.overview-day span{flex:1}.app nav{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);padding:10px 12px max(12px, env(safe-area-inset-bottom));z-index:10;background:#fffaf6ef;border-top:1px solid #e9dccf;justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0}.app nav button{color:#79695b;background:0 0;border:0;flex-direction:column;gap:5px;min-width:65px;min-height:50px;padding:3px 12px}.app nav span{font-size:10px}.app nav .active{color:var(--accent);font-weight:700}.app nav .active:before{content:"";background:var(--accent);border-radius:0 0 3px 3px;width:30px;height:3px;position:absolute;top:0}dialog{background:var(--bg);color:#412e26;border:0;border-radius:23px;width:calc(100% - 24px);max-width:600px;max-height:90dvh;margin:auto;padding:0;position:fixed;box-shadow:0 20px 80px #2e170d45}dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#35261970}dialog .pad{padding:27px 23px}.modal-close{float:right;z-index:3;background:#fffcf7e6;border-radius:50%;margin:9px 9px -53px 0;position:sticky;top:9px;right:9px;box-shadow:0 2px 10px #0001}dialog h2{padding-right:30px}.recipe-cover{object-fit:cover;width:100%;height:220px;display:block}.toolbar{justify-content:space-between;align-items:center;margin:16px 0;display:flex}.stepper{border:1px solid #e3d6c8;border-radius:11px;align-items:center;gap:9px;display:flex}.stepper button{background:0 0;border:0;padding:7px}.stepper b{font-size:13px}.cost{background:#fffcf7;border-radius:12px;padding:14px;font-size:12px}.cost b{color:var(--accent);font-size:19px}.cost small{margin-top:5px;display:block}.ingredient-line{border-bottom:1px solid #eaddce;justify-content:space-between;gap:12px;padding:12px 0;font-size:13px;display:flex}.step{text-align:left;background:0 0;border:0;justify-content:flex-start;align-items:flex-start;width:100%;padding:14px 0;font-size:14px;line-height:1.5}.step-no{background:var(--soft);width:28px;height:28px;color:var(--accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex}.step>span:last-child{flex:1}.cooking{padding:26px 0}.cooking p{margin-bottom:24px;font-family:Georgia,serif;font-size:23px;line-height:1.55}.timer{border:1px solid #e4d8ca;border-radius:12px;padding:13px;font-size:12px}.timer input{width:55px;padding:8px}.timer button{flex:1;padding:10px 5px;font-size:11px}.stars button{color:var(--accent);background:0 0;border:0;padding:8px}.alternative{background:#fffaf4;border-radius:13px;align-items:center;gap:12px;margin:13px 0;padding:10px;display:flex}.danger{color:#a73f2c;background:0 0;border-color:#dbb5a8;margin-top:20px}.empty{text-align:center;color:#947562;padding:35px 20px}.empty svg{color:var(--accent)}.empty h2{margin-top:15px}.empty p{font-size:13px}.toast{color:#fff;z-index:100;white-space:pre-line;background:#4d382f;border-radius:15px;align-items:center;gap:10px;width:calc(100% - 32px);max-width:600px;max-height:35dvh;padding:14px 13px 14px 18px;font-size:12px;line-height:1.5;display:flex;position:fixed;bottom:100px;left:50%;overflow:auto;transform:translate(-50%);box-shadow:0 8px 35px #0003}.toast span{flex:1}.toast button{color:#fff}.saving{background:var(--accent);color:#fff;z-index:101;border-radius:20px;padding:8px 15px;font-size:11px;position:fixed;top:10px;left:50%;transform:translate(-50%)}.login{background:#fcf4eb;grid-template-columns:1fr 1fr;max-width:1200px;min-height:100dvh;margin:auto;display:grid}.login-art{background:#eed6bd;flex-direction:column;align-items:flex-start;padding:55px;display:flex;position:relative;overflow:hidden}.login-art>svg{color:#b44d35;margin-bottom:40px}.login-art>span{letter-spacing:2px;color:#795641;font-size:9px}.login-art h1{margin:16px 0;font-size:66px}.login-art p{font-family:Georgia,serif;font-size:21px}.login-art img{object-fit:cover;border-radius:50% 50% 0 0;width:120%;height:360px;margin:10px 0 -90px -25px}.login-form{align-self:center;padding:70px 45px}.login-form h2{margin-top:10px;font-size:32px}.login-form>small{text-align:center;margin-top:18px;display:block}.error{color:#8f2d22;background:#fbd8ca;border-radius:10px;padding:12px;font-size:13px}.loading{color:#b44d35;background:#fcf4eb;flex-direction:column;justify-content:center;align-items:center;height:100dvh;display:flex}@media (width>=750px){.app header{padding:28px 30px}main{padding:0 30px}.days-nav{max-width:600px}.hero{grid-template-columns:1.15fr 1fr;display:grid}.hero-photo{height:340px}.hero-body{align-self:center;padding:34px}.hero-heart{right:calc(46% + 15px)}.daily-meals{grid-template-columns:1fr 1fr}.recipe-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.settings{grid-template-columns:1fr 1fr;align-items:start;gap:20px;display:grid}.settings>section{margin:0}.app nav{border:1px solid #e6d7c8;border-radius:22px 22px 0 0;max-width:720px;left:50%;transform:translate(-50%)}.generate-button,.secondary.full{max-width:550px;margin-left:auto;margin-right:auto;display:flex}.intro h1{font-size:41px}.intro em{font-size:34px}.decor{font-size:85px}.app nav button{flex:1}}@media (width<=430px){main{padding:0 17px}.app header{padding:20px 18px 8px}.intro h1{font-size:30px}.intro em{font-size:25px}.decor{font-size:52px}.hero-photo{height:245px}.hero-body{padding:20px}.hero-body h2{font-size:25px}.recipe-grid{gap:11px}.photo{height:145px}.recipe-card .pad{padding:12px}.recipe-card h3{font-size:17px}.recipe-card .meta{flex-direction:column;align-items:flex-start;gap:4px}.login{display:block}.login-art{height:220px;padding:28px 25px 24px}.login-art>svg{width:26px;margin-bottom:15px}.login-art h1{margin:9px 0;font-size:46px}.login-art p{z-index:1;font-size:16px;position:relative}.login-art img{opacity:.75;width:240px;height:260px;position:absolute;bottom:-110px;right:-70px;transform:rotate(-15deg)}.login-form{padding:28px 25px 45px}.login-form h2{font-size:28px}.shopping-line{gap:6px}.shopping-line .check{gap:7px}.pad{padding:18px}.theme{font-size:10px}.recipe-mini img{width:58px;height:58px}dialog{border-radius:22px 22px 0 0;width:100%;max-height:93dvh;margin:auto auto 0}dialog .pad{padding:26px 20px}.timer{gap:6px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
