:root{--bg:#faf7f2;--surface:#fff;--surface-2:#f3eee6;--ink:#24211d;--muted:#6b665e;--line:#e6dfd3;--accent:#2f6b4f;--accent-dark:#245540;--accent-soft:#e3efe7;--warm:#b94a32;--warm-soft:#fbeae5;--amber-soft:#fdf3d8;--shadow:0 1px 2px #24211d0d, 0 6px 20px #24211d0f;--radius:14px;--serif:"Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;--sans:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--tabbar:62px}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.5}h1,h2,h3{font-family:var(--serif);letter-spacing:-.01em;margin:0;font-weight:600;line-height:1.2}h1{font-size:clamp(1.7rem,4vw,2.2rem)}h2{font-size:1.3rem}h3{font-size:1.05rem}p{margin:0 0 .75rem}a{color:var(--accent)}img{max-width:100%;display:block}code{background:var(--surface-2);border-radius:5px;padding:.1em .35em;font-size:.9em}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.muted,small{color:var(--muted)}small{font-size:.85rem}.app{grid-template-columns:228px minmax(0,1fr);min-height:100dvh;display:grid}.sidebar{border-right:1px solid var(--line);background:var(--surface);height:100dvh;padding:22px 14px;position:sticky;top:0}.brand{font-family:var(--serif);align-items:center;gap:10px;padding:0 10px 22px;font-size:1.45rem;font-weight:600;display:flex}.brand img{border-radius:9px}.nav-link{color:var(--muted);border-radius:10px;align-items:center;gap:12px;margin-bottom:2px;padding:10px 12px;font-weight:500;text-decoration:none;display:flex}.nav-link:hover{background:var(--surface-2);color:var(--ink)}.nav-link.active{background:var(--accent-soft);color:var(--accent-dark)}.main{min-width:0}.tabbar{display:none}.page{max-width:1120px;margin:0 auto;padding:30px 32px 72px}.page-narrow{max-width:760px}.page-wide{max-width:1400px}.page-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.subtitle{color:var(--muted);margin:4px 0 0}.page-actions{flex-shrink:0;gap:8px;display:flex}.back-row{margin:-8px 0 12px -10px}.btn{border:1px solid var(--line);background:var(--surface);min-height:42px;color:var(--ink);white-space:nowrap;cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:8px 16px;font-size:.95rem;font-weight:600;text-decoration:none;transition:background .12s,border-color .12s;display:inline-flex}.btn:hover:not(:disabled){background:var(--surface-2)}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-dark)}.btn-danger{background:var(--warm);border-color:var(--warm);color:#fff}.btn-danger:hover:not(:disabled){background:#9c3d28}.btn-danger-outline{color:var(--warm);border-color:#e9c2b8}.btn-ghost{color:var(--muted);background:0 0;border-color:#0000;padding:8px 10px}.btn-small{min-height:36px;padding:6px 12px;font-size:.9rem}.icon-btn{width:42px;height:42px;color:var(--muted);background:0 0;border:0;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.icon-btn:hover:not(:disabled){background:var(--surface-2);color:var(--ink)}.icon-btn.bordered{border:1px solid var(--line);background:var(--surface)}.icon-btn.small{width:32px;height:32px}.icon-btn.is-favorite{color:var(--warm);background:var(--warm-soft);border-color:#e9c2b8}.link{color:var(--accent);text-underline-offset:2px;background:0 0;border:0;padding:4px 0;font-size:.92rem;font-weight:600;text-decoration:underline}.link-danger{color:var(--warm)}input[type=text],input[type=email],input[type=password],input[type=search],input[type=number],input[type=date],select,textarea{border:1px solid var(--line);background:var(--surface);border-radius:10px;width:100%;min-height:44px;padding:9px 12px}textarea{resize:vertical;line-height:1.5}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:0;border-color:var(--accent)}input[type=checkbox]{width:20px;height:20px;accent-color:var(--accent);flex-shrink:0}.field{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.field>span{font-size:.92rem;font-weight:600}.field-row{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:0 14px;display:grid}.form-actions{justify-content:flex-end;gap:10px;margin-top:4px;display:flex}.inline-add{gap:8px;max-width:380px;margin-top:10px;display:flex}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.form-card,.settings-card{margin-bottom:16px;padding:20px}.form-card>:last-child,.settings-card>:last-child{margin-bottom:0}.note{background:var(--accent-soft);color:var(--accent-dark);border-radius:10px;padding:10px 14px;font-size:.94rem}.note-warn{background:var(--amber-soft);color:#6b4e00}.note-error{background:var(--warm-soft);color:#8a2f1b}.note a{color:inherit}.toolbar{gap:10px;margin-bottom:14px;display:flex}.toolbar select{width:auto;max-width:190px}.search{flex:1;align-items:center;min-width:0;display:flex;position:relative}.search svg{color:var(--muted);pointer-events:none;position:absolute;left:13px}.search input{border-radius:999px;padding-left:40px}.chips{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.field .chips,.chips-static{margin-bottom:0}.chip{border:1px solid var(--line);background:var(--surface);min-height:36px;color:var(--ink);border-radius:999px;align-items:center;gap:6px;padding:5px 14px;font-size:.9rem;font-weight:500;text-decoration:none;display:inline-flex}.chip:hover{border-color:var(--accent)}.chip-on{background:var(--accent);border-color:var(--accent);color:#fff}.chip-tag{background:var(--surface-2);color:var(--muted);border-color:#0000}.segmented{background:var(--surface-2);border-radius:999px;gap:4px;width:100%;margin-bottom:16px;padding:4px;display:inline-flex}.segmented button{min-height:40px;color:var(--muted);white-space:nowrap;background:0 0;border:0;border-radius:999px;flex:1;justify-content:center;align-items:center;gap:8px;padding:6px 12px;font-size:.93rem;font-weight:600;display:inline-flex}.segmented button.on{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px #24211d24}.segmented-small{width:auto;margin-bottom:0}.segmented-small button{min-height:34px;font-size:.88rem}.divider{color:var(--muted);align-items:center;gap:12px;margin:20px 0;font-size:.9rem;display:flex}.divider:before,.divider:after{content:"";background:var(--line);flex:1;height:1px}.recipe-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:18px;display:grid}.recipe-card{color:inherit;flex-direction:column;text-decoration:none;transition:transform .14s,box-shadow .14s;display:flex;overflow:hidden}.recipe-card:hover{transform:translateY(-2px);box-shadow:0 2px 4px #24211d0f,0 12px 28px #24211d1a}.recipe-card-image{aspect-ratio:4/3;background:var(--surface-2);position:relative}.recipe-card-image img,.thumb img,.recipe-photo img{object-fit:cover;width:100%;height:100%}.image-placeholder{color:#a9a294;background:linear-gradient(135deg,#efe8dc,#e4ecdf);justify-content:center;align-items:center;width:100%;height:100%;display:flex}.favorite-badge{width:30px;height:30px;color:var(--warm);background:#fffffff0;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:10px;right:10px}.recipe-card-body{padding:12px 14px 14px}.recipe-card-body h3{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.meta{color:var(--muted);flex-wrap:wrap;gap:4px 12px;margin:6px 0 0;font-size:.86rem;display:flex}.meta span{align-items:center;gap:4px;display:inline-flex}.empty{text-align:center;color:var(--muted);flex-direction:column;align-items:center;gap:6px;padding:56px 20px;display:flex}.empty h2{color:var(--ink)}.empty p{max-width:380px}.empty-icon{background:var(--accent-soft);width:64px;height:64px;color:var(--accent);border-radius:50%;justify-content:center;align-items:center;margin-bottom:8px;display:flex}.spinner-wrap{color:var(--muted);align-items:center;gap:10px;padding:24px 0;display:flex}.spinner{border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.option-card{color:inherit;align-items:center;gap:14px;padding:16px 18px;text-decoration:none;display:flex}.option-card:hover{border-color:var(--accent)}.option-card svg{color:var(--accent);flex-shrink:0}.option-card small{display:block}.photo-row{flex-wrap:wrap;gap:10px;display:flex}.photo-thumb,.photo-add{border-radius:12px;width:104px;height:104px;position:relative;overflow:hidden}.photo-thumb img{object-fit:cover;width:100%;height:100%}.photo-thumb .icon-btn{width:28px;height:28px;color:var(--ink);background:#ffffffeb;position:absolute;top:4px;right:4px}.photo-add{border:2px dashed var(--line);color:var(--muted);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:6px;font-size:.85rem;font-weight:600;display:flex}.photo-add:hover{border-color:var(--accent);color:var(--accent)}.image-field{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.image-preview{aspect-ratio:4/3;background:var(--surface-2);border-radius:12px;width:150px;position:relative;overflow:hidden}.image-preview img{object-fit:cover;width:100%;height:100%}.image-preview .icon-btn{width:32px;height:32px;color:var(--warm);background:#ffffffeb;position:absolute;top:6px;right:6px}.tag-input{border:1px solid var(--line);background:var(--surface);border-radius:10px;flex-wrap:wrap;align-items:center;gap:6px;min-height:44px;padding:5px 8px;display:flex}.tag-input:focus-within{outline:2px solid var(--accent);border-color:var(--accent)}.tag-input input{border:0;outline:none;flex:1;min-width:120px;min-height:32px;padding:2px 4px}.tag{background:var(--surface-2);border-radius:999px;align-items:center;gap:4px;padding:3px 4px 3px 10px;font-size:.88rem;display:inline-flex}.tag button{width:22px;height:22px;color:var(--muted);background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.tag button:hover{background:var(--line)}.sticky-actions{background:linear-gradient(to top, var(--bg) 70%, transparent);margin:0 -8px;padding:12px 8px;position:sticky;bottom:0}.recipe-hero{grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:center;gap:32px;margin-bottom:36px;display:grid}.recipe-hero:not(:has(.recipe-photo)){grid-template-columns:1fr}.recipe-photo{aspect-ratio:4/3;background:var(--surface-2);box-shadow:var(--shadow);border-radius:18px;overflow:hidden}.recipe-intro h1{margin-bottom:10px}.lede{color:var(--muted);font-size:1.05rem}.facts{flex-wrap:wrap;gap:10px 26px;margin:16px 0;padding:0;list-style:none;display:flex}.facts li{align-items:flex-start;gap:8px;display:flex}.facts svg{color:var(--accent);margin-top:3px}.facts small{display:block}.source{color:var(--muted);margin:14px 0 0;font-size:.92rem}.source a{align-items:center;gap:4px;display:inline-flex}.actions{flex-wrap:wrap;gap:8px;margin-top:20px;display:flex}.recipe-columns{grid-template-columns:minmax(0,4fr) minmax(0,7fr);align-items:start;gap:40px;display:grid}.ingredients{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:20px;position:sticky;top:20px}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.ingredients h3,.method h3{font-family:var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:18px 0 8px;font-size:.82rem;font-weight:700}.stepper{border:1px solid var(--line);border-radius:999px;align-items:center;font-size:.9rem;font-weight:600;display:inline-flex}.stepper button{width:36px;height:36px;color:var(--accent);background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.stepper button:hover{background:var(--accent-soft)}.stepper span{text-align:center;min-width:84px}.scaled-note{color:var(--muted);margin-bottom:8px;font-size:.88rem}.ingredient-list,.check-list,.step-list,.grocery-list,.row-list,.picker-list{margin:0;padding:0;list-style:none}.ingredient-list label,.check-list label{cursor:pointer;align-items:flex-start;gap:12px;padding:8px 0;display:flex}.ingredient-list li+li,.check-list li+li{border-top:1px solid var(--surface-2)}.ingredient-list input,.check-list input{margin-top:2px}.is-done span{color:var(--muted);text-decoration:line-through}.method h2{margin-bottom:14px}.step-list li{gap:16px;margin-bottom:20px;display:flex}.step-number{background:var(--accent-soft);width:32px;height:32px;color:var(--accent-dark);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.92rem;font-weight:700;display:flex}.step-list p{margin:3px 0 0;font-size:1.04rem;line-height:1.6}.notes{border-radius:var(--radius);background:var(--amber-soft);margin-top:28px;padding:18px 20px}.notes h2{margin-bottom:8px;font-size:1.1rem}.notes p{white-space:pre-wrap;margin:0}.cook-mode{z-index:60;background:var(--bg);padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom);flex-direction:column;display:flex;position:fixed;inset:0}.cook-mode header{justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;display:flex}.cook-mode header small,.cook-mode header strong{display:block}.cook-progress{background:var(--line);height:4px}.cook-progress span{background:var(--accent);height:100%;transition:width .2s;display:block}.cook-body{flex:1;justify-content:center;align-items:center;padding:24px;display:flex;overflow-y:auto}.cook-step{max-width:820px;font-family:var(--serif);margin:0;font-size:clamp(1.5rem,4.4vw,2.5rem);line-height:1.4}.cook-ingredients{width:100%;max-width:560px;margin:auto;padding:0;font-size:1.2rem;list-style:none}.cook-ingredients li{border-bottom:1px solid var(--line);padding:10px 0}.cook-mode footer{justify-content:space-between;gap:10px;padding:14px 20px 20px;display:flex}.cook-mode footer .btn{flex:1;max-width:220px;min-height:52px;font-size:1rem}.modal-backdrop{z-index:50;background:#24211d73;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border-radius:18px;outline:none;flex-direction:column;width:100%;max-width:460px;max-height:min(86dvh,720px);display:flex;box-shadow:0 20px 60px #24211d4d}.modal-wide{max-width:560px}.modal-header{justify-content:space-between;align-items:center;gap:12px;padding:16px 12px 8px 22px;display:flex}.modal-body{padding:8px 22px 20px;overflow-y:auto}.modal-body>:last-child{margin-bottom:0}.modal-footer{border-top:1px solid var(--line);justify-content:flex-end;gap:10px;padding:14px 22px;display:flex}.picker .search{margin:12px 0}.picker-item{text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;width:100%;padding:8px;display:flex}.picker-item:hover{background:var(--surface-2)}.picker-text{min-width:0}.picker-text strong,.picker-text small{display:block}.thumb{background:var(--surface-2);border-radius:9px;flex-shrink:0;width:46px;height:46px;overflow:hidden}.thumb .image-placeholder svg{width:18px;height:18px}.picked{align-items:center;gap:12px;margin:14px 0;display:flex}.picked strong{flex:1}.toasts{z-index:80;pointer-events:none;flex-direction:column;align-items:center;gap:8px;width:max-content;max-width:calc(100vw - 32px);display:flex;position:fixed;bottom:28px;left:50%;transform:translate(-50%)}.toast{background:var(--ink);color:#fff;border-radius:999px;padding:11px 18px;font-size:.94rem;font-weight:500;box-shadow:0 8px 24px #24211d40}.toast-error{background:#8a2f1b;border-radius:14px}.cookbook-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:18px;display:grid}.cookbook-card{color:inherit;text-decoration:none;overflow:hidden}.cookbook-card:hover{border-color:var(--accent)}.cookbook-covers{aspect-ratio:16/10;background:var(--surface-2);gap:2px;display:grid}.cookbook-covers img{object-fit:cover;width:100%;height:100%;min-height:0}.covers-2{grid-template-columns:1fr 1fr}.covers-3{grid-template-rows:1fr 1fr;grid-template-columns:2fr 1fr}.covers-3 img:first-child{grid-row:span 2}.covers-4{grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr}.empty-covers{color:#a9a294;background:linear-gradient(135deg,#efe8dc,#e4ecdf);place-items:center}.cookbook-body{padding:12px 16px 14px}.week-nav{align-items:center;gap:8px;margin-bottom:16px;display:flex}.week{flex-direction:column;gap:10px;display:flex}.day{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);grid-template-columns:76px repeat(4,minmax(0,1fr));gap:0 14px;padding:12px 14px;display:grid}.day>header{flex-direction:column;display:flex}.day-name{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:.8rem;font-weight:700}.day-number{font-family:var(--serif);font-size:1.3rem;font-weight:600}.day.is-today{border-color:var(--accent)}.day.is-today .day-name,.day.is-today .day-number{color:var(--accent)}.slot{min-width:0}.slot-head{color:var(--muted);justify-content:space-between;align-items:center;font-size:.8rem;font-weight:600;display:flex}.entry{background:var(--accent-soft);border-radius:10px;align-items:center;gap:2px;margin-top:4px;padding:5px 2px 5px 5px;display:flex}.entry-note{background:var(--amber-soft)}.entry-link{min-width:0;color:inherit;flex:1;align-items:center;gap:8px;font-size:.86rem;text-decoration:none;display:flex}.entry-note .entry-link{padding:4px}.entry-note svg{color:#8a6a00;flex-shrink:0}.entry .thumb{border-radius:7px;width:34px;height:34px}.entry-text{overflow-wrap:break-word;min-width:0;line-height:1.25}.entry-text strong{-webkit-line-clamp:3;-webkit-box-orient:vertical;font-weight:600;display:-webkit-box;overflow:hidden}.entry-text small{font-size:.78rem;display:block}.add-item{gap:10px;margin-bottom:18px;display:flex}.list-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;display:flex}.list-actions{gap:18px;display:flex}.grocery-group{margin-bottom:20px}.grocery-group h2{font-family:var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--accent-dark);margin-bottom:6px;font-size:.82rem;font-weight:700}.grocery-group h2 a{color:inherit}.grocery-list{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);overflow:hidden}.grocery-list li{align-items:center;padding-right:6px;display:flex}.grocery-list li+li{border-top:1px solid var(--surface-2)}.grocery-list label{cursor:pointer;flex:1;align-items:flex-start;gap:14px;min-width:0;padding:12px 8px 12px 16px;display:flex}.grocery-list input{margin-top:2px}.grocery-text{flex-wrap:wrap;align-items:baseline;gap:2px 10px;min-width:0;display:flex}.grocery-name{font-weight:600}.grocery-amount{color:var(--muted)}.grocery-text small{flex-basis:100%}.grocery-list .is-done .grocery-name,.grocery-list .is-done .grocery-amount{color:var(--muted);font-weight:400;text-decoration:line-through}.settings-card h2{align-items:center;gap:8px;margin-bottom:6px;display:flex}.row-list li{border-bottom:1px solid var(--surface-2);justify-content:space-between;align-items:center;gap:10px;min-height:48px;display:flex}.row-label small{margin-left:8px}.row-buttons{flex-shrink:0;gap:4px;display:flex}.row-edit{align-items:center;gap:6px;width:100%;display:flex}.row-confirm{padding:8px 0;font-size:.94rem}.status-dot{background:#bdb6a8;border-radius:50%;width:10px;height:10px;margin-right:6px;display:inline-block}.status-dot.on{background:#3d9a6b}.auth{justify-content:center;align-items:center;min-height:100dvh;padding:24px 16px;display:flex}.auth-card{width:100%;max-width:420px;padding:28px 28px 24px}.auth-brand{padding:0 0 18px}.auth-card h1{margin-bottom:8px;font-size:1.7rem}.auth-card form{margin-top:18px}.auth-foot{margin:16px 0 0;font-size:.9rem}.btn-block{width:100%}.sidebar{flex-direction:column;display:flex}.sidebar nav{flex:1}.sidebar-user{color:inherit;border-radius:10px;padding:10px 12px;line-height:1.3;text-decoration:none;display:block}.sidebar-user:hover{background:var(--surface-2)}.sidebar-user strong,.sidebar-user small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.facts-list{margin:8px 0 16px}.facts-list div{border-bottom:1px solid var(--surface-2);align-items:center;gap:12px;min-height:44px;display:flex}.facts-list dt{width:96px;color:var(--muted);flex-shrink:0;font-size:.92rem}.facts-list dd{overflow-wrap:anywhere;flex:1;align-items:center;gap:4px;min-width:0;margin:0;display:flex}.button-row{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.household{margin-top:18px}.household h3{font-family:var(--sans);align-items:center;gap:8px;font-size:1rem;display:flex}.badge{background:var(--accent-soft);color:var(--accent-dark);font-family:var(--sans);border-radius:999px;align-items:center;gap:4px;padding:2px 9px;font-size:.76rem;font-weight:600;display:inline-flex}.badge-quiet{background:var(--surface-2);color:var(--muted);margin-left:8px}.member-email{display:block;margin-left:0!important}.link-box{gap:8px;margin-bottom:12px;display:flex}.link-box input{min-width:0;font-size:.9rem}@media (width<=820px){.app{grid-template-columns:1fr}.sidebar{display:none}.tabbar{z-index:40;height:calc(var(--tabbar) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff5;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.tab{color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:.7rem;font-weight:600;text-decoration:none;display:flex}.tab.active{color:var(--accent)}.page{padding:20px 16px calc(var(--tabbar) + env(safe-area-inset-bottom) + 28px)}.toasts{bottom:calc(var(--tabbar) + env(safe-area-inset-bottom) + 14px)}.toolbar{flex-wrap:wrap}.toolbar .search{flex-basis:100%}.toolbar select{flex:1;max-width:none}.chips:not(.chips-static):not(.field .chips){scrollbar-width:none;flex-wrap:nowrap;margin-inline:-16px;padding-inline:16px;overflow-x:auto}.chips:not(.chips-static):not(.field .chips) .chip{flex-shrink:0}.recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.recipe-card-body{padding:10px 11px 12px}.recipe-card-body h3{font-size:.98rem}.recipe-hero{grid-template-columns:1fr;gap:18px;margin-bottom:24px}.recipe-columns{grid-template-columns:1fr;gap:24px}.ingredients{position:static}.modal-backdrop{align-items:flex-end;padding:0}.modal{max-width:none;max-height:90dvh;padding-bottom:env(safe-area-inset-bottom);border-radius:18px 18px 0 0}.sticky-actions{bottom:calc(var(--tabbar) + env(safe-area-inset-bottom))}.page-header{align-items:center}.day{grid-template-columns:52px minmax(0,1fr);padding:10px 12px}.day>header{grid-row:1/span 4}.day .slot{grid-column:2;padding-bottom:4px}}@media (width<=420px){.segmented:not(.segmented-small) button{gap:5px;padding:6px 4px;font-size:.86rem}}@media print{@page{margin:14mm}:root{--bg:#fff}body{font-size:11.5pt}.no-print,.sidebar,.tabbar{display:none!important}.app{display:block}.page{max-width:none;padding:0}.card,.ingredients,.grocery-list,.day{box-shadow:none}.recipe-hero{grid-template-columns:38% 1fr;gap:18px;margin-bottom:16px}.recipe-photo{box-shadow:none;border-radius:8px}.recipe-columns{grid-template-columns:34% 1fr;gap:22px}.ingredients{border:0;padding:0;position:static}.ingredient-list label{padding:3px 0}.ingredient-list li+li{border:0}.ingredient-list input{width:12px;height:12px;margin-top:4px}.is-done span{color:inherit;text-decoration:none}.step-list li{break-inside:avoid;margin-bottom:9px}.step-number{color:#000;background:0 0;border:1px solid #999;width:22px;height:22px;font-size:9pt}.step-list p{margin-top:0;font-size:11.5pt;line-height:1.45}.notes{break-inside:avoid;background:0 0;border:1px solid #ccc;padding:10px 12px}.chip{border-color:#ccc;min-height:0;padding:1px 8px;font-size:9pt}.grocery-page .page-header{margin-bottom:8px}.grocery-page{columns:2;column-gap:28px}.grocery-page .page-header,.grocery-group h2{column-span:none}.grocery-group{break-inside:avoid;margin-bottom:10px}.grocery-list{border:0;border-radius:0}.grocery-list label{padding:3px 0}.grocery-list li+li{border:0}.grocery-list input{width:12px;height:12px;margin-top:4px}.grocery-text small{display:none}.week{gap:4px}.day{break-inside:avoid;padding:6px 8px}.entry .thumb{display:none}a{color:inherit;text-decoration:none}}.save-to-nyam{margin-top:24px}.save-to-nyam h2{margin:0 0 12px;font-size:1.05rem}.save-to-nyam .btn{cursor:grab}
