:root{--cream:#f8f3eb;--white:#fffdfa;--ink:#26291f;--olive:#4b612a;--olive2:#768549;--light:#eeeedf;--gold:#be9654;--muted:#7c806e;--line:#e7dcc8;--shadow:0 9px 32px #54472d15;--radius:18px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(ellipse at top left,#fffdf5 0,#f8f3eb 60%,#f1e8d8 100%);color:var(--ink);margin:0;font:15px/1.48 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.53;cursor:not-allowed}a{color:var(--olive)}[hidden]{display:none!important}.app{margin:auto;max-width:1040px;min-height:100dvh;background:#fffdfaee;box-shadow:0 0 55px #54472d0a;position:relative;padding-bottom:92px}.top{height:87px;position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:10px 22px;background:#fffdfaed;border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.top-brand{display:flex;align-items:center;gap:10px;color:var(--olive)}.top-brand strong{font:600 25px/1.03 Georgia,'Times New Roman',serif;letter-spacing:.5px;display:block}.top-brand small{display:block;letter-spacing:2px;font-size:9px;color:var(--gold);margin-top:5px;text-transform:uppercase}.hat{width:50px;height:50px;object-fit:contain;border:1px solid #e8ddca;border-radius:15px;background:#f7f3e7}.round-btn,.icon-btn{border:1px solid var(--line);width:42px;height:42px;border-radius:50%;background:var(--white);color:var(--olive);font-size:23px;display:grid;place-items:center}.bottom-nav{height:76px;padding-bottom:env(safe-area-inset-bottom);position:fixed;left:50%;transform:translateX(-50%);bottom:0;display:flex;background:#fffdfaf5;border-top:1px solid var(--line);z-index:11;max-width:1040px;width:100%;justify-content:space-around;backdrop-filter:blur(10px)}.bottom-nav button{background:none;border:0;color:#868978;font-size:10px;display:flex;align-items:center;justify-content:center;gap:3px;flex-direction:column;min-width:64px}.bottom-nav button span{font-size:25px;line-height:1.1;font-weight:300}.bottom-nav button.active{color:var(--olive);font-weight:750}.bottom-nav button.active span{color:var(--gold)}main{padding:24px 26px 38px;max-width:940px;margin:auto}.kicker{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:#9b845d;font-weight:800}.serif,h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:500}h1{font-size:34px;line-height:1.1;margin:8px 0 10px}h2{font-size:24px;line-height:1.15;margin:0 0 10px}h3{font-size:18px;margin:0 0 7px}.muted{color:var(--muted)}.tiny{font-size:12px}.section{margin:24px 0}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:13px}.section-heading h2{margin:0}.link{border:0;background:transparent;color:var(--olive);font-size:13px;font-weight:700;text-decoration:underline;text-underline-offset:4px}.panel{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}.hero{border-radius:23px;background:linear-gradient(125deg,#eef0e4 0,#faf1e3 65%,#f7e7d3 100%);position:relative;overflow:hidden;padding:26px;min-height:177px;border:1px solid #e7dbc8}.hero:after{content:'❧';position:absolute;font:175px Georgia;right:-15px;bottom:-85px;color:#9baf7b44;transform:rotate(-25deg)}.hero h1{max-width:550px;position:relative;z-index:1}.hero p{color:#686d5c;position:relative;z-index:1;margin:0 0 15px}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:14px;padding:13px 16px;font-weight:750;min-height:46px;border:1px solid transparent}.primary{background:linear-gradient(135deg,#697d35,#40571f);color:white;box-shadow:0 5px 16px #47602c30}.secondary{background:#f4f0e7;border-color:#e2d7c4;color:var(--olive)}.full{width:100%}.quick-links{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.quick-links button{border:1px solid var(--line);background:#fffefa;border-radius:16px;padding:15px 8px;box-shadow:var(--shadow);font-size:12px;font-weight:750;color:var(--ink)}.quick-links .bigicon{display:block;font-size:29px;margin-bottom:9px}.active-card{border:1px solid #c9cfa4;background:linear-gradient(135deg,#f0f2e7,#fffdf6);padding:17px;border-radius:20px;box-shadow:var(--shadow);margin:0 0 21px}.active-card .primary{margin-top:12px}.active-name{font-family:Georgia,serif;font-size:24px}.progress{height:7px;background:#e3e2d4;border-radius:99px;overflow:hidden;margin:12px 0}.progress span{display:block;background:var(--olive);height:100%}.chip,.pill{display:inline-block;border-radius:99px;padding:6px 11px;background:#f3f0e7;border:1px solid #e8dfcf;color:#62664b;font-size:12px}.chips{display:flex;flex-wrap:wrap;gap:7px}.chips button,.filter-bar button{border-radius:99px;border:1px solid var(--line);background:#faf7f0;color:#555b43;padding:9px 12px;font-size:12px}.chips button.active,.filter-bar button.active{background:var(--olive);color:white;border-color:var(--olive)}.search{width:100%;border:1px solid #e2d7c5;border-radius:14px;background:#fffefa;padding:13px 14px;min-height:46px;font-size:16px;outline-color:#9dac72}.filter-bar{display:flex;gap:8px;align-items:center;overflow-x:auto;padding:5px 0 10px}.filters{display:grid;grid-template-columns:1.4fr 1fr;gap:9px;margin:12px 0}.filters select,.filters input{border:1px solid #e2d7c5;background:var(--white);border-radius:12px;padding:11px;min-width:0;width:100%;color:var(--ink)}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.recipe-card{border:1px solid var(--line);background:#fffdf9;border-radius:17px;overflow:hidden;box-shadow:var(--shadow);cursor:pointer;display:flex;flex-direction:column}.food-photo{height:140px;background:linear-gradient(135deg,#e1d7b7,#b4a577);display:grid;place-items:center;overflow:hidden;position:relative}.food-photo img{width:100%;height:100%;object-fit:cover;display:block}.food-photo .emoji{font-size:58px;filter:drop-shadow(0 8px 10px #3c361537)}.photo-corner{position:absolute;bottom:8px;left:9px;background:#fdfbf3dd;padding:3px 7px;border-radius:7px;font-size:10px;color:#576040}.recipe-card .body{padding:13px;flex:1;display:flex;flex-direction:column;gap:6px}.recipe-card strong{font-family:Georgia,serif;font-weight:500;font-size:18px;line-height:1.15}.recipe-card .meta{color:var(--muted);font-size:11px}.recipe-card .availability{font-size:11px;font-weight:700;color:var(--olive)}.count-line{font-size:12px;color:var(--muted);margin:6px 0 14px}.notion{padding:11px 13px;background:#f7f3e7;border-radius:12px;font-size:12px;color:#6c6c57;margin:9px 0}.item-row{padding:12px 2px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:9px}.item-row .sub{font-size:11px;color:var(--muted)}.item-row:last-child{border-bottom:0}.group{display:flex;gap:9px;align-items:center}.group .symbol{font-size:23px;min-width:27px}.mini-stepper{display:flex;gap:9px;align-items:center;justify-content:flex-end}.mini-stepper button{border:1px solid var(--line);border-radius:50%;background:var(--white);color:var(--olive);width:33px;height:33px;font-weight:800;font-size:20px}.mini-stepper strong{min-width:27px;text-align:center}.details-photo{width:100%;height:220px;border-radius:19px;overflow:hidden;background:linear-gradient(135deg,#dbc7a1,#f1e8d3);display:grid;place-items:center;font-size:80px}.details-photo img{width:100%;height:100%;object-fit:cover}.details-header{margin:15px 0}.detail-meta{display:flex;flex-wrap:wrap;gap:6px;margin:9px 0 12px}.mood-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.mood-grid button{border:1px solid var(--line);border-radius:12px;background:#fffefa;padding:11px 6px;color:var(--ink);font-size:11px}.mood-grid button.active{background:#e9edda;border-color:#84934b;box-shadow:inset 0 0 0 1px #84934b;color:#2d4620;font-weight:800}.macro-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin:11px 0}.macro-grid div{background:#f1eddd;border-radius:11px;padding:9px 4px;text-align:center}.macro-grid b{display:block;font-size:16px;color:var(--olive)}.macro-grid small{font-size:10px;color:var(--muted)}.ing-row{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--line);font-size:13px;gap:8px}.ing-row:last-child{border:0}.missing{color:#ac654b}.have{color:#647a35}.steps{list-style:none;counter-reset:step;padding:0;margin:0;display:grid;gap:12px}.steps li{counter-increment:step;display:flex;gap:12px;align-items:flex-start;background:#faf8f2;padding:13px;border:1px solid var(--line);border-radius:13px}.steps li:before{content:counter(step);display:grid;place-items:center;flex-shrink:0;background:#e5e9d7;color:var(--olive);border-radius:50%;width:28px;height:28px;font-weight:800}.steps li.done{opacity:.65}.notice{border-left:3px solid var(--gold);padding:11px 13px;background:#fbf4e5;border-radius:9px;font-size:12px;color:#746145}.sticky-action{position:sticky;bottom:80px;background:#fffdfae9;backdrop-filter:blur(9px);padding:10px 0;margin:15px -4px -10px}.section-tag{display:flex;align-items:center;justify-content:space-between;margin:16px 0 9px}.section-tag h3{margin:0}.timers{display:grid;gap:8px}.timer{border:1px solid var(--line);border-radius:16px;background:#fbf8f2;padding:13px}.timer-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.timer-time{font-weight:800;font-variant-numeric:tabular-nums;font-size:26px;color:var(--olive)}.timer.expired .timer-time{color:#b04836}.timer .actions{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}.timer .actions button{background:#fffefa;border:1px solid var(--line);border-radius:10px;padding:7px 10px;color:var(--olive);font-size:12px}.timer-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:8px;margin-top:8px}.field{display:block;margin:13px 0;font-weight:650;font-size:12px;color:#686a57}.field input,.field select{margin-top:6px;display:block;width:100%;border:1px solid var(--line);border-radius:12px;padding:12px;background:white;color:var(--ink);font-size:16px}.screen-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}.screen-actions .primary{flex:1}.empty{text-align:center;padding:38px 18px;color:var(--muted)}.empty .icon{font-size:45px}.list-buttons{display:grid;gap:9px}.list-buttons button{text-align:left;background:var(--white);border:1px solid var(--line);padding:13px 14px;border-radius:12px;color:var(--ink)}.safe{color:#4b622a}.warning{color:#a46839}.head-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:13px}.arrow-back{border:0;background:none;font-size:25px;color:var(--olive);padding:7px 12px 7px 0}.flex-between{display:flex;justify-content:space-between;align-items:center;gap:10px}.divider{height:1px;background:var(--line);margin:14px 0}.sheet{position:fixed;inset:0;z-index:30;display:flex;align-items:flex-end;justify-content:center}.sheet-backdrop{position:absolute;inset:0;background:#25251981}.sheet-content{position:relative;z-index:1;max-width:570px;width:100%;background:var(--cream);padding:22px;max-height:92dvh;overflow:auto;border-radius:23px 23px 0 0;box-shadow:0 -10px 60px #211b1833}.sheet-content h2{margin:0 0 15px}.toast{position:fixed;left:50%;bottom:90px;transform:translateX(-50%);z-index:40;max-width:90vw;padding:11px 16px;background:#52662e;color:white;border-radius:12px;box-shadow:var(--shadow);display:none}.toast.show{display:block}.small-btn{border:1px solid var(--line);border-radius:10px;background:#fffefa;padding:9px 12px;color:var(--olive);font-size:12px}.subtle-label{color:var(--gold);letter-spacing:.13em;text-transform:uppercase;font-size:10px;font-weight:800}.history-row{display:grid;grid-template-columns:35px 1fr auto;gap:9px;align-items:center;border-bottom:1px solid var(--line);padding:11px 0}.history-row .stamp{font-size:11px;color:var(--muted)}.truncate{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.hide-desktop{display:none}@media(max-width:700px){.app{box-shadow:none}.top{padding:10px 18px;height:77px}main{padding:19px 15px 25px}h1{font-size:30px}.top-brand strong{font-size:20px}.hat{font-size:32px}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.food-photo{height:113px}.recipe-card strong{font-size:16px}.recipe-card .body{padding:10px}.quick-links{gap:7px}.quick-links button{font-size:10px;padding:10px 5px}.quick-links .bigicon{font-size:22px}.mood-grid{grid-template-columns:repeat(2,1fr)}.hero{padding:19px}.hero:after{font-size:126px}.bottom-nav button{min-width:0;flex:1}.details-photo{height:200px}}@media(max-width:355px){.card-grid{grid-template-columns:1fr}.quick-links{grid-template-columns:repeat(2,1fr)}.filters{grid-template-columns:1fr}.top-brand strong{font-size:18px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
