@import "https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;700&family=Lato:wght@300;400;700&display=swap";
@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.8e0177b5.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.b97b3418.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.853070df.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a71539c9-module__T19VSG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a71539c9-module__T19VSG__variable{--font-geist-sans:"Geist","Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.c1fdd6c2.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.799d8ef8.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.dbea232f.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_8d43a2aa-module__8Li5zG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_8d43a2aa-module__8Li5zG__variable{--font-geist-mono:"Geist Mono","Geist Mono Fallback"}
:root{--primary:#5e445a;--accent:#dc7243;--gold:#dd9d5b;--bg:#fdf6ee}html{font-size:112%}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg);color:#3a2a38;border-top:5px solid var(--primary);min-height:100vh;font-family:Lato,sans-serif;transition:background-color .3s,color .3s}html.dark body{color:#e8d8f0;background-color:var(--bg)}html.dark .recipe-card,html.dark .form-section,html.dark .compare-card,html.dark .comparison-box,html.dark .day-column,html.dark .unscheduled-pool,html.dark .grocery-panel,html.dark .modal,html.dark .multiselect-dropdown,html.dark .tag-dropdown,html.dark .collection-picker,html.dark .list-row,html.dark .grid-card,html.dark .view-btn,html.dark .multiselect-btn,html.dark .sort-select,html.dark .search-input{color:#e8d8f0;background:#424769;border-color:#5a6080}html.dark .sort-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23e8d8f0' d='M6 8L1 3h10z'/%3E%3C/svg%3E")}html.dark .recipe-preview:after{background:linear-gradient(#0000,#424769)}html.dark .collections-sidebar{color:#e8d8f0;background:#363b5e;border-color:#5a6080}html.dark .footer{background:var(--bg);border-color:#5a6080}html.dark .ingredient-item,html.dark .instruction-item,html.dark .notes-text,html.dark .list-title,html.dark .grid-card-title,html.dark .recipe-title{color:#e0c8d8}html.dark .multiselect-item:hover,html.dark .tag-dropdown-item:hover,html.dark .collection-picker-item:hover,html.dark .collection-item:hover{background:#4e5480}html.dark .scale-btn{color:#e8d8f0;background:#424769;border-color:#5a6080}html.dark .notes-display{border-color:#5a6080}html.dark .notes-display:hover{background:#424769}html.dark .recipe-tag{color:#e8d8f0;background:#4e5480;border-color:#5a6080}html.dark .grocery-item{color:#e8d8f0}html.dark .grocery-breakdown-item{color:#c0b0d0}html.dark .ingredients-label{color:var(--gold)}html.dark .header-subtitle,html.dark .empty-msg{color:#c0a8d0}html.dark .compare-btn{background:#6a4a5e}html.dark .add-collection-btn{background:#5a5030}html.dark .add-planner-btn{background:#4a3a60}html.dark .deselect-btn{color:#e8d8f0;background:#3a3060;border-color:#5a6080}html.dark .deselect-btn:hover{border-color:var(--accent);color:var(--accent);background:#4a4070}html.dark .notes-textarea,html.dark .new-collection-input,html.dark .collection-picker-input,html.dark .theme-hex-input{color:#e8d8f0;background:#363b5e;border-color:#5a6080}html.dark .recipe-divider,html.dark .notes-section{border-color:#5a6080}html.dark .settings-sidebar{background:#363b5e;border-color:#5a6080}html.dark .theme-section{background:#424769;border-color:#5a6080}html.dark .theme-hex-input{background:#2d3250}html.dark .collection-count,html.dark .cancel-delete-btn{color:#e8d8f0;background:#4e5480}html.dark .day-empty{color:#8080a0}html.dark .planner-empty{color:#c0a8d0}html.dark .collection-item{color:#e8d8f0}html.dark .new-collection-btn,html.dark .settings-gear-btn{color:#c0a8d0;border-color:#5a6080}html.dark .sidebar-label{color:var(--gold)}.app-layout{max-width:1300px;min-height:100vh;margin:0 auto;padding-top:16px;display:flex}.main-content-wrapper{flex:1;justify-content:center;min-width:0;display:flex}.collections-sidebar{background:#ede3d8;border-right:none;border-radius:16px;flex-direction:column;flex-shrink:0;gap:8px;width:220px;height:calc(100vh - 96px);margin:0 0 24px 24px;padding:40px 16px;transition:box-shadow .2s,transform .2s;display:flex;position:sticky;top:24px;overflow-y:auto;box-shadow:0 4px 24px #5e445a21}.collections-sidebar:hover{transform:translateY(-2px);box-shadow:0 8px 36px #5e445a33}.sidebar-spacer{flex:1}.sidebar-label{letter-spacing:2.5px;text-transform:uppercase;color:var(--gold);margin-bottom:8px;font-size:10px;font-weight:700}.sidebar-divider{border:none;border-top:1px solid #e8d8c4;margin:8px 0}.collections-list{flex-direction:column;gap:4px;list-style:none;display:flex}.collection-item{cursor:pointer;color:#6b4a5e;border-radius:8px;align-items:center;gap:8px;padding:8px 10px;font-size:13px;list-style:none;transition:background .15s,color .15s,transform .15s,box-shadow .15s;display:flex;position:relative}.collection-item:hover{background:#f0e4d4;transform:scale(1.02);box-shadow:0 2px 8px #5e445a14}.collection-item.active{background:var(--primary);color:#fff;box-shadow:none;transform:none}.collection-item.active .collection-count{color:#fff;background:#fff3}.collection-icon{flex-shrink:0;font-size:14px}.collection-name{text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:600;overflow:hidden}.collection-count{color:#6b4a5e;background:#e8d8c4;border-radius:10px;padding:1px 6px;font-size:10px;font-weight:700}.collection-delete-btn{color:#c4a898;cursor:pointer;opacity:0;background:0 0;border:none;padding:0 2px;font-size:16px;line-height:1;transition:opacity .15s,color .15s}.collection-item:hover .collection-delete-btn{opacity:1}.collection-delete-btn:hover{color:var(--accent)}.collection-delete-confirm{gap:4px;display:flex;position:absolute;right:8px}.confirm-delete-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:2px 8px;font-family:Lato,sans-serif;font-size:11px}.cancel-delete-btn{color:#6b4a5e;cursor:pointer;background:#e8d8c4;border:none;border-radius:4px;padding:2px 8px;font-family:Lato,sans-serif;font-size:11px}.new-collection-btn{color:#a65a6e;cursor:pointer;text-align:left;background:0 0;border:1.5px dashed #e0cfc0;border-radius:8px;margin-top:4px;padding:8px 10px;font-family:Lato,sans-serif;font-size:12px;font-weight:700;transition:border-color .2s,color .2s,transform .15s,box-shadow .15s}.new-collection-btn:hover{border-color:var(--accent);color:var(--accent);transform:scale(1.02);box-shadow:0 2px 8px #5e445a1a}.new-collection-form{flex-direction:column;gap:6px;margin-top:4px;display:flex}.new-collection-input{color:#3a2a38;background:#fff;border:1.5px solid #e0cfc0;border-radius:8px;outline:none;padding:6px 10px;font-family:Lato,sans-serif;font-size:12px}.new-collection-input:focus{border-color:var(--accent)}.new-collection-save{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:5px 10px;font-family:Lato,sans-serif;font-size:11px;font-weight:700}.new-collection-cancel{color:#a65a6e;cursor:pointer;background:0 0;border:1px solid #e0cfc0;border-radius:6px;padding:5px 10px;font-family:Lato,sans-serif;font-size:11px}.settings-gear-btn{color:#6b4a5e;cursor:pointer;background:0 0;border:1.5px solid #e0cfc0;border-radius:8px;align-items:center;gap:8px;margin-top:4px;padding:8px 10px;font-family:Lato,sans-serif;font-size:12px;font-weight:700;transition:all .2s;display:flex}.settings-gear-btn:hover{border-color:var(--accent);color:var(--accent);transform:scale(1.02)}.settings-gear-label{letter-spacing:1px;text-transform:uppercase;font-size:11px}.settings-overlay{display:none}.settings-sidebar{background:#faf3eb;border-radius:16px;flex-direction:column;flex-shrink:0;gap:16px;width:260px;height:calc(100vh - 96px);margin:0 24px 24px 0;padding:28px 16px;animation:.2s slideInRight;display:flex;position:sticky;top:24px;overflow-y:auto;box-shadow:0 4px 24px #5e445a21}@keyframes slideInRight{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}.settings-header{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.settings-title{letter-spacing:2.5px;text-transform:uppercase;color:var(--gold);font-size:10px;font-weight:700}.settings-close{color:#a65a6e;cursor:pointer;background:0 0;border:none;padding:2px;font-size:16px;transition:color .2s,transform .2s}.settings-close:hover{color:var(--primary);transform:scale(1.2)}.settings-body{flex-direction:column;gap:16px;display:flex}.theme-section{background:#fff;border:1.5px solid #e8d8c4;border-radius:12px;flex-direction:column;gap:10px;padding:14px;display:flex}.theme-section-active{border-color:var(--primary)}.theme-section-title{letter-spacing:1px;text-transform:uppercase;color:var(--primary);align-items:center;gap:6px;font-size:11px;font-weight:700;display:flex}.theme-active-badge{background:var(--primary);color:#fff;letter-spacing:.5px;border-radius:10px;padding:1px 6px;font-size:9px}.theme-presets{flex-wrap:wrap;gap:6px;display:flex}.theme-preset-swatch{cursor:pointer;border:1.5px solid #0000;border-radius:6px;width:40px;height:24px;padding:0;transition:border-color .15s,transform .15s;display:flex;overflow:hidden}.theme-preset-swatch:hover{border-color:var(--primary);transform:scale(1.1)}.theme-preset-swatch span{flex:1;display:block}.theme-inputs{flex-direction:column;gap:8px;display:flex}.theme-input-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.theme-input-label{color:#6b4a5e;flex-shrink:0;font-size:11px;font-weight:700}.theme-input-wrapper{align-items:center;gap:6px;display:flex}.theme-color-dot{background-color:var(--dot-color,#ccc);border:1px solid #e0cfc0;border-radius:50%;flex-shrink:0;width:16px;height:16px}.theme-hex-input{color:#3a2a38;background:#fff;border:1.5px solid #e0cfc0;border-radius:6px;outline:none;width:80px;padding:4px 8px;font-family:monospace;font-size:12px;transition:border-color .2s}.theme-hex-input:focus{border-color:var(--accent)}.main-content{width:100%;min-width:0;max-width:860px;padding:60px 32px 100px}.header{border-bottom:2px solid var(--primary);margin-bottom:24px;padding-bottom:24px}.header-eyebrow{letter-spacing:3px;text-transform:uppercase;color:var(--accent);margin-bottom:8px;font-size:11px;font-weight:700}.header-title{color:var(--primary);margin-bottom:8px;font-family:Playfair Display,serif;font-size:48px;font-weight:700;line-height:1.1}.header-subtitle{color:#a65a6e;font-size:15px;font-weight:300}.recipes-header{color:var(--primary);margin-bottom:20px;font-family:Playfair Display,serif;font-size:22px}.empty-msg{color:#a65a6e;font-size:14px;font-style:italic}.form-section{border:1.5px solid var(--primary);background:#fff;border-radius:12px;margin-bottom:48px;padding:28px;transition:transform .2s,box-shadow .2s;box-shadow:0 2px 16px #5e445a12}.form-section:hover{transform:scale(1.01)rotate(.3deg);box-shadow:0 8px 32px #5e445a21}.form-label{letter-spacing:2px;text-transform:uppercase;color:var(--primary);margin-bottom:10px;font-size:12px;font-weight:700;display:block}.form-row{gap:12px;display:flex}.form-input{color:#3a2a38;background:var(--bg);border:1.5px solid #e0cfc0;border-radius:8px;outline:none;flex:1;padding:12px 16px;font-family:Lato,sans-serif;font-size:14px;transition:border-color .2s}.form-input:focus{border-color:var(--accent)}.form-input::placeholder{color:#c4a898}.submit-btn{background:var(--accent);color:#fff;letter-spacing:1px;text-transform:uppercase;cursor:pointer;white-space:nowrap;border:none;border-radius:8px;padding:12px 24px;font-family:Lato,sans-serif;font-size:13px;font-weight:700;transition:background .2s,transform .2s,box-shadow .2s}.submit-btn:hover{background:#c45e30;transform:scale(1.04)rotate(-.5deg);box-shadow:0 4px 16px #dc72434d}.submit-btn:disabled{cursor:not-allowed;background:#e0b89e;transform:none}.error-msg{color:#c0392b;margin-top:12px;font-size:13px}.sticky-actions{z-index:50;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:24px;display:flex;position:sticky;top:16px}.compare-btn{color:#fff;letter-spacing:1px;text-transform:uppercase;cursor:pointer;white-space:nowrap;background:#a65a6e;border:3px solid #ffffffe6;border-radius:12px;padding:10px 20px;font-family:Lato,sans-serif;font-size:13px;font-weight:700;transition:background .2s,transform .2s,box-shadow .2s;box-shadow:0 4px 20px #0003}.compare-btn:hover{background:#8a4a5a;transform:scale(1.04)rotate(-.5deg)}.add-collection-btn{background:var(--gold);color:#fff;letter-spacing:1px;text-transform:uppercase;cursor:pointer;white-space:nowrap;border:3px solid #ffffffe6;border-radius:12px;padding:10px 20px;font-family:Lato,sans-serif;font-size:13px;font-weight:700;transition:background .2s,transform .2s,box-shadow .2s;box-shadow:0 4px 20px #0003}.add-collection-btn:hover{background:#c4843a;transform:scale(1.04)rotate(-.5deg)}.add-planner-btn{background:var(--primary);color:#fff;letter-spacing:1px;text-transform:uppercase;cursor:pointer;white-space:nowrap;border:3px solid #ffffffe6;border-radius:12px;padding:10px 20px;font-family:Lato,sans-serif;font-size:13px;font-weight:700;transition:background .2s,transform .2s,box-shadow .2s;box-shadow:0 4px 20px #0003}.add-planner-btn:hover{background:#3a2a38;transform:scale(1.04)rotate(-.5deg)}.deselect-btn{letter-spacing:1px;text-transform:uppercase;color:#a65a6e;cursor:pointer;white-space:nowrap;background:#f5ede3;border:1.5px solid #e0cfc0;border-radius:12px;padding:10px 16px;font-family:Lato,sans-serif;font-size:12px;font-weight:700;transition:all .2s;box-shadow:0 4px 20px #0000001a}.deselect-btn:hover{border-color:var(--accent);color:var(--accent);background:#fde8e0}.collection-picker-wrapper{position:relative}.collection-picker{z-index:100;background:#fff;border:1.5px solid #e0cfc0;border-radius:12px;min-width:200px;padding:6px 0;position:absolute;top:calc(100% + 8px);left:0;overflow:hidden;box-shadow:0 4px 20px #5e445a26}.collection-picker-item{text-align:left;color:#3a2a38;cursor:pointer;background:0 0;border:none;width:100%;padding:10px 16px;font-family:Lato,sans-serif;font-size:13px;transition:background .15s;display:block}.collection-picker-item:hover{background:var(--bg);color:var(--accent)}.collection-picker-new{border-top:1px solid #f0e0d0;padding:8px 12px}.collection-picker-input{color:#3a2a38;background:var(--bg);border:1.5px solid #e0cfc0;border-radius:8px;outline:none;width:100%;padding:6px 10px;font-family:Lato,sans-serif;font-size:12px}.collection-picker-input:focus{border-color:var(--accent)}.collection-picker-input::placeholder{color:#c4a898}.recipe-list{flex-direction:column;display:flex}.search-row{align-items:center;gap:12px;margin-bottom:16px;display:flex}.search-input{color:#3a2a38;background:#fff;border:1.5px solid #e0cfc0;border-radius:8px;outline:none;flex:1;padding:10px 16px;font-family:Lato,sans-serif;font-size:14px;transition:border-color .2s,box-shadow .2s,transform .2s}.search-input:focus{border-color:var(--accent)}.search-input:hover{transform:scale(1.005);box-shadow:0 2px 8px #5e445a1a}.search-input::placeholder{color:#c4a898}.sort-select{color:#3a2a38;appearance:none;cursor:pointer;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%235e445a' d='M6 8L1 3h10z'/%3E%3C/svg%3E") right 14px center no-repeat;border:1.5px solid #e0cfc0;border-radius:8px;outline:none;padding:10px 40px 10px 16px;font-family:Lato,sans-serif;font-size:14px;transition:border-color .2s,transform .2s}.sort-select:focus{border-color:var(--accent)}.sort-select:hover{transform:scale(1.03)rotate(-.5deg)}.filter-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:24px;display:flex}.view-selector{gap:4px;margin-left:auto;display:flex}.view-btn{cursor:pointer;color:#6b4a5e;background:#fff;border:1.5px solid #e0cfc0;border-radius:8px;justify-content:center;align-items:center;padding:7px 10px;transition:all .15s;display:flex}.view-btn:hover{border-color:var(--primary);color:var(--primary)}.view-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.multiselect-wrapper{position:relative}.multiselect-btn{letter-spacing:.5px;color:#6b4a5e;cursor:pointer;white-space:nowrap;background:#fff;border:1.5px solid #e0cfc0;border-radius:8px;padding:8px 14px;font-family:Lato,sans-serif;font-size:12px;font-weight:700;transition:all .2s}.multiselect-btn:hover{border-color:var(--primary);color:var(--primary);transform:scale(1.03)}.multiselect-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.multiselect-dropdown{z-index:200;background:#fff;border:1.5px solid #e0cfc0;border-radius:10px;min-width:180px;max-height:240px;padding:6px 0;position:absolute;top:calc(100% + 4px);left:0;overflow-y:auto;box-shadow:0 4px 20px #5e445a1f}.multiselect-item{color:#3a2a38;cursor:pointer;align-items:center;gap:8px;padding:8px 14px;font-family:Lato,sans-serif;font-size:13px;transition:background .15s;display:flex}.multiselect-item:hover{background:var(--bg)}.multiselect-item input{accent-color:var(--primary);cursor:pointer}.multiselect-empty{color:#c4a898;padding:10px 14px;font-size:13px;font-style:italic}.clear-filters-btn{color:#a65a6e;cursor:pointer;background:0 0;border:none;padding:4px 8px;font-family:Lato,sans-serif;font-size:12px;text-decoration:underline;transition:color .2s}.clear-filters-btn:hover{color:var(--accent)}.recipe-card{background:#fff;border:1.5px solid #e8d8c4;border-radius:12px;margin-bottom:20px;padding:24px 28px;transition:transform .2s,box-shadow .2s;position:relative;box-shadow:0 2px 12px #5e445a0f}.recipe-card:hover{transform:scale(1.01);box-shadow:0 8px 28px #5e445a21}.recipe-card.selected{z-index:10;transform:scale(1.04);box-shadow:0 20px 60px #5e445a40,0 8px 24px #5e445a26}.recipe-image-wrapper{cursor:pointer;border-radius:8px;height:180px;margin-bottom:16px;position:relative;overflow:hidden}.recipe-image-bg{filter:blur(12px)brightness(.85);z-index:0;background-position:50%;background-size:cover;transition:transform .4s;position:absolute;inset:-10px;transform:scale(1.1)}.recipe-image{object-fit:contain;z-index:1;width:100%;height:180px;transition:transform .4s;display:block;position:relative}.source-badge{color:#fff;letter-spacing:.5px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:3;pointer-events:none;background:#5e445ad9;border-radius:20px;padding:4px 10px;font-size:10px;font-weight:700;position:absolute;top:10px;left:10px}.recipe-image-overlay{z-index:2;background:#5e445a00;border-radius:8px;justify-content:center;align-items:center;transition:background .3s;display:flex;position:absolute;inset:0}.overlay-checked{background:#5e445a40!important}.overlay-icons{align-items:center;gap:20px;display:flex}.overlay-checkmark,.overlay-trash{opacity:0;filter:drop-shadow(0 2px 8px #0000004d);width:48px;height:48px;transition:opacity .2s,transform .2s;transform:scale(.8)}.overlay-checked .overlay-checkmark{opacity:1;transform:scale(1)}.overlay-trash-btn{cursor:pointer;background:0 0;border:none;align-items:center;padding:0;display:flex}.mobile-image-actions{display:none}.no-image-actions{justify-content:flex-end;margin-bottom:8px;display:flex}.no-image-trash-btn{cursor:pointer;opacity:.4;background:0 0;border:none;padding:4px;transition:opacity .2s,transform .2s}.no-image-trash-btn:hover{opacity:1;transform:scale(1.15)}@media (hover:hover){.recipe-image-wrapper:hover .recipe-image-overlay{background:#5e445a73}.recipe-image-wrapper:hover .overlay-checked{background:#5e445a8c!important}.recipe-image-wrapper:hover .recipe-image-bg{transform:scale(1.25)}.recipe-image-wrapper:hover .recipe-image{transform:scale(1.05)}.recipe-image-wrapper:hover .overlay-checkmark,.recipe-image-wrapper:hover .overlay-trash{opacity:1;transform:scale(1)}.overlay-trash-btn:hover .overlay-trash{transform:scale(1.2)!important}.grid-card-image-wrapper:hover .overlay-checkmark,.grid-card-image-wrapper:hover .overlay-trash{opacity:1;transform:scale(1)}}.recipe-tags{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:12px;display:flex}.recipe-tag{letter-spacing:.5px;color:#a65a6e;cursor:pointer;background:#f5ede3;border:1px solid #e0cfc0;border-radius:20px;padding:3px 10px;font-family:Lato,sans-serif;font-size:11px;font-weight:700;transition:all .15s}.recipe-tag:hover{border-color:var(--accent);color:var(--accent);background:#fde8e0}.tag-input-wrapper{align-items:center;display:flex;position:relative}.tag-input{color:#3a2a38;background:0 0;border:1.5px dashed #e0cfc0;border-radius:20px;outline:none;width:110px;padding:3px 28px 3px 10px;font-family:Lato,sans-serif;font-size:11px;transition:border-color .2s}.tag-input:focus{border-color:var(--accent)}.tag-input::placeholder{color:#c4a898}.tag-add-btn{color:#fff;cursor:pointer;background:#4e6646;border:none;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;padding:0;font-size:14px;line-height:1;transition:background .2s,transform .2s;display:flex;position:absolute;right:6px}.tag-add-btn:hover{background:#3a4e32;transform:scale(1.15)}.tag-dropdown{z-index:200;background:#fff;border:1.5px solid #e0cfc0;border-radius:10px;min-width:150px;position:absolute;top:calc(100% + 4px);left:0;overflow:hidden;box-shadow:0 4px 16px #5e445a1f}.tag-dropdown-item{text-align:left;color:#3a2a38;cursor:pointer;background:0 0;border:none;width:100%;padding:8px 14px;font-family:Lato,sans-serif;font-size:12px;transition:background .15s;display:block}.tag-dropdown-item:hover{background:var(--bg);color:var(--accent)}.recipe-card-header{align-items:flex-start;display:flex}.recipe-title{color:var(--primary);flex:1;font-family:Playfair Display,serif;font-size:20px;line-height:1.3;text-decoration:none;display:block}.recipe-title:hover{color:var(--accent)}.recipe-divider{border:none;border-top:1px solid #f0e0d0;margin:16px 0}.recipe-details{margin-top:4px;position:relative}.recipe-preview{pointer-events:none;max-height:80px;position:relative;overflow:hidden}.recipe-preview:after{content:"";background:linear-gradient(#0000,#fff);height:60px;position:absolute;bottom:0;left:0;right:0}.recipe-summary{letter-spacing:1.5px;text-transform:uppercase;color:var(--accent);cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:none;margin-top:8px;padding:0;font-family:Lato,sans-serif;font-size:12px;font-weight:700;transition:color .2s,transform .2s;display:inline-block}.recipe-summary:hover{color:#c45e30;transform:scale(1.04)rotate(-.5deg)}.scale-controls{gap:6px;margin:12px 0 8px;display:flex}.scale-btn{color:#6b4a5e;cursor:pointer;background:#fff;border:1.5px solid #e0cfc0;border-radius:20px;padding:3px 12px;font-family:Lato,sans-serif;font-size:12px;font-weight:700;transition:all .15s}.scale-btn:hover{border-color:var(--primary);color:var(--primary)}.scale-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.recipe-columns{grid-template-columns:1fr 1fr;gap:24px;margin-top:12px;display:grid}.ingredients-label{letter-spacing:2.5px;text-transform:uppercase;color:var(--gold);margin-bottom:10px;font-size:10px;font-weight:700}.ingredients-list{flex-direction:column;gap:6px;list-style:none;display:flex}.ingredient-item{color:#6b4a5e;padding-left:16px;font-size:14px;line-height:1.5;position:relative}.ingredient-item:before{content:"—";color:var(--gold);font-size:12px;position:absolute;left:0}.instructions-list{counter-reset:steps;flex-direction:column;gap:8px;list-style:none;display:flex}.instruction-item{color:#6b4a5e;counter-increment:steps;padding-left:28px;font-size:14px;line-height:1.6;position:relative}.instruction-item:before{content:counter(steps);background:var(--primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:10px;font-weight:700;display:flex;position:absolute;top:1px;left:0}.notes-section{border-top:1px solid #f0e0d0;margin-top:20px;padding-top:16px}.notes-display{cursor:pointer;border:1.5px dashed #e0cfc0;border-radius:8px;min-height:42px;padding:10px 14px;transition:border-color .2s,background .2s}.notes-display:hover{border-color:var(--accent);background:var(--bg)}.notes-text{color:#6b4a5e;font-size:14px;line-height:1.6}.notes-placeholder{color:#c4a898;font-size:14px;font-style:italic}.notes-textarea{color:#3a2a38;background:var(--bg);resize:vertical;border:1.5px solid #e0cfc0;border-radius:8px;outline:none;width:100%;padding:10px 14px;font-family:Lato,sans-serif;font-size:14px;line-height:1.6;transition:border-color .2s}.notes-textarea:focus{border-color:var(--accent)}.notes-actions{gap:8px;margin-top:8px;display:flex}.notes-save-btn{background:var(--accent);color:#fff;letter-spacing:1px;text-transform:uppercase;cursor:pointer;border:none;border-radius:8px;padding:8px 16px;font-family:Lato,sans-serif;font-size:12px;font-weight:700;transition:background .2s,transform .2s}.notes-save-btn:hover{background:#c45e30;transform:scale(1.03)}.notes-save-btn:disabled{cursor:not-allowed;background:#e0b89e;transform:none}.notes-cancel-btn{color:#a65a6e;letter-spacing:1px;text-transform:uppercase;cursor:pointer;background:0 0;border:1.5px solid #e0cfc0;border-radius:8px;padding:8px 16px;font-family:Lato,sans-serif;font-size:12px;font-weight:700;transition:border-color .2s}.notes-cancel-btn:hover{border-color:#a65a6e}.list-view{flex-direction:column;gap:8px;display:flex}.list-row{background:#fff;border:1.5px solid #e8d8c4;border-radius:10px;align-items:center;gap:12px;padding:10px 14px;transition:box-shadow .15s,transform .15s;display:flex}.list-row:hover{transform:scale(1.005);box-shadow:0 4px 16px #5e445a1a}.list-row.selected{border-color:var(--primary)}.list-checkbox{accent-color:var(--primary);cursor:pointer;flex-shrink:0;width:16px;height:16px}.list-thumb{object-fit:cover;border-radius:6px;flex-shrink:0;width:40px;height:40px}.list-thumb-placeholder{background:#f0e4d4;border-radius:6px;flex-shrink:0;width:40px;height:40px}.list-title{color:var(--primary);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-family:Playfair Display,serif;font-size:15px;text-decoration:none;overflow:hidden}.list-title:hover{color:var(--accent)}.list-tags{flex-shrink:0;gap:4px;display:flex}.list-source{color:#a65a6e;white-space:nowrap;flex-shrink:0;font-size:11px}.list-expand-btn{cursor:pointer;color:#6b4a5e;background:0 0;border:1.5px solid #e0cfc0;border-radius:6px;flex-shrink:0;align-items:center;padding:5px 8px;transition:all .15s;display:flex}.list-expand-btn:hover{border-color:var(--primary);color:var(--primary)}.list-delete-btn{cursor:pointer;color:#c4a898;background:0 0;border:none;flex-shrink:0;align-items:center;padding:4px;transition:color .15s,transform .15s;display:flex}.list-delete-btn:hover{color:#ff6b6b;transform:scale(1.15)}.grid-view{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.grid-card{background:#fff;border:1.5px solid #e8d8c4;border-radius:12px;transition:transform .2s,box-shadow .2s;overflow:hidden}.grid-card:hover{transform:scale(1.02);box-shadow:0 8px 24px #5e445a21}.grid-card.selected{border-color:var(--primary);box-shadow:0 8px 24px #5e445a33}.grid-card-image-wrapper{cursor:pointer;height:140px;position:relative;overflow:hidden}.grid-card-image{object-fit:cover;z-index:1;width:100%;height:140px;transition:transform .3s;display:block;position:relative}.grid-card-image-wrapper:hover .grid-card-image{transform:scale(1.05)}.grid-card-no-image{background:#f0e4d4;width:100%;height:140px}.grid-card-overlay{z-index:2;background:#5e445a00;justify-content:center;align-items:center;transition:background .3s;display:flex;position:absolute;inset:0}.grid-card-image-wrapper:hover .grid-card-overlay{background:#5e445a73}.grid-card-body{padding:12px}.grid-card-title{color:var(--primary);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin-bottom:8px;font-family:Playfair Display,serif;font-size:14px;line-height:1.3;display:-webkit-box;overflow:hidden}.grid-show-more{color:#6b4a5e;cursor:pointer;background:0 0;border:1.5px solid #e0cfc0;border-radius:6px;padding:4px 10px;font-family:Lato,sans-serif;font-size:11px;font-weight:700;transition:all .15s}.grid-show-more:hover{border-color:var(--primary);color:var(--primary)}.grid-card-mobile-actions{display:none}.recipe-detail-modal{max-width:700px}.recipe-detail-modal .modal-body{padding:16px}.recipe-detail-modal .recipe-card{box-shadow:none;border:none;margin-bottom:0;transform:none!important}.grocery-panel{border:1.5px solid var(--primary);z-index:100;background:#fff;border-bottom:none;border-radius:12px 12px 0 0;flex-direction:column;width:340px;max-height:60vh;display:flex;position:fixed;bottom:48px;right:24px;box-shadow:0 -4px 24px #5e445a26}.grocery-minimized{max-height:none}.grocery-panel-header{background:var(--primary);color:#fff;-webkit-user-select:none;user-select:none;border-radius:10px 10px 0 0;justify-content:space-between;align-items:center;gap:8px;padding:14px 18px;font-family:Lato,sans-serif;font-size:14px;font-weight:700;display:flex}.grocery-minimize-btn{color:#ffffffb3;cursor:pointer;background:0 0;border:none;padding:0;font-size:12px;transition:color .2s}.grocery-minimize-btn:hover{color:#fff}.grocery-close-btn{color:#ffffffb3;cursor:pointer;background:0 0;border:none;padding:0 0 0 4px;font-size:14px;transition:color .2s}.grocery-close-btn:hover{color:#fff}.grocery-panel-body{flex:1;padding:16px 18px;overflow-y:auto}.grocery-list{flex-direction:column;gap:10px;list-style:none;display:flex}.grocery-item{color:#3a2a38;align-items:flex-start;gap:10px;font-size:14px;line-height:1.4;display:flex}.grocery-item input[type=checkbox]{accent-color:var(--accent);flex-shrink:0;margin-top:2px}.grocery-checked{color:#b0a0a8;text-decoration:line-through}.grocery-breakdown{flex-direction:column;gap:2px;margin-top:4px;padding-left:4px;list-style:none;display:flex}.grocery-breakdown-item{color:#a65a6e;padding-left:10px;font-size:11px;line-height:1.4;position:relative}.grocery-breakdown-item:before{content:"·";color:var(--gold);position:absolute;left:0}.grocery-regenerate-btn{color:#6b4a5e;cursor:pointer;background:0 0;border:1.5px solid #e0cfc0;border-radius:6px;margin-bottom:12px;padding:4px 10px;font-family:Lato,sans-serif;font-size:11px;font-weight:700;transition:all .15s;display:block}.grocery-regenerate-btn:hover{border-color:var(--primary);color:var(--primary)}.grocery-regenerate-btn:disabled{opacity:.5;cursor:not-allowed}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:300;background:#3a2a3880;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal{background:var(--bg);border-radius:16px;flex-direction:column;width:100%;max-width:900px;max-height:85vh;display:flex;box-shadow:0 24px 80px #3a2a384d}.modal-header{border-bottom:1.5px solid #e8d8c4;justify-content:space-between;align-items:center;padding:20px 28px;display:flex}.modal-title{color:var(--primary);font-family:Playfair Display,serif;font-size:22px}.modal-close{color:#a65a6e;cursor:pointer;background:0 0;border:none;padding:4px;font-size:18px;transition:color .2s,transform .2s}.modal-close:hover{color:var(--primary);transform:scale(1.2)}.modal-body{flex-direction:column;gap:24px;padding:24px 28px;display:flex;overflow-y:auto}.compare-cards-grid{gap:16px;display:grid}.compare-cards-grid:has(>:nth-child(2):last-child){grid-template-columns:1fr 1fr}.compare-cards-grid:has(>:nth-child(3):last-child){grid-template-columns:1fr 1fr 1fr}.compare-cards-grid:has(>:nth-child(4):last-child){grid-template-columns:1fr 1fr}.compare-card{background:#fff;border:1.5px solid #e8d8c4;border-radius:12px;padding:16px}.compare-card-image-wrapper{border-radius:8px;height:120px;margin-bottom:12px;position:relative;overflow:hidden}.compare-card-image{object-fit:contain;width:100%;height:120px;display:block}.compare-card-title{color:var(--primary);margin-bottom:8px;font-family:Playfair Display,serif;font-size:15px;line-height:1.3;text-decoration:none;display:block}.compare-card-title:hover{color:var(--accent)}.comparison-box{background:#fff;border:1.5px solid #e8d8c4;border-radius:12px;padding:20px}.comparison-loading{color:#a65a6e;font-size:14px;font-style:italic}.comparison-error{color:#c0392b;font-size:14px}.comparison-text{color:#6b4a5e;font-size:14px;line-height:1.7}.meal-planner{flex-direction:column;gap:24px;display:flex}.planner-header{justify-content:space-between;align-items:center;display:flex}.planner-actions{align-items:center;gap:12px;display:flex}.clear-planner-btn{letter-spacing:1px;text-transform:uppercase;color:#a65a6e;cursor:pointer;background:0 0;border:1.5px solid #e0cfc0;border-radius:8px;padding:8px 16px;font-family:Lato,sans-serif;font-size:12px;font-weight:700;transition:all .2s}.clear-planner-btn:hover{border-color:var(--accent);color:var(--accent)}.planner-grocery-btn{color:#fff;letter-spacing:1px;text-transform:uppercase;cursor:pointer;background:#4e6646;border:none;border-radius:8px;padding:8px 16px;font-family:Lato,sans-serif;font-size:12px;font-weight:700;transition:background .2s,transform .2s}.planner-grocery-btn:hover{background:#3a4e32;transform:scale(1.02)}.unscheduled-pool{background:#fff;border:2px dashed #e0cfc0;border-radius:12px;padding:16px;transition:border-color .2s,background .2s}.unscheduled-pool.drag-over{border-color:var(--gold);background:var(--bg)}.pool-label{letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin-bottom:12px;font-size:10px;font-weight:700}.pool-recipes{flex-wrap:wrap;gap:8px;display:flex}.planner-empty{text-align:center;color:#a65a6e;padding:48px 24px}.planner-empty p{margin-bottom:8px;font-size:14px;line-height:1.6}.planner-empty strong{color:var(--primary)}.week-grid{grid-template-columns:repeat(7,1fr);gap:12px;display:grid}.day-column{background:#fff;border:1.5px solid #e8d8c4;border-radius:12px;flex-direction:column;min-height:160px;padding:12px;transition:border-color .2s,background .2s;display:flex}.day-column.drag-over{border-color:var(--primary);background:#f5ede3}.day-label{letter-spacing:1.5px;text-transform:uppercase;color:var(--primary);margin-bottom:10px;font-size:10px;font-weight:700}.day-recipes{flex-direction:column;flex:1;gap:8px;display:flex}.day-empty{color:#c4a898;text-align:center;margin-top:12px;font-size:12px;font-style:italic}.planner-recipe-chip{background:var(--bg);cursor:grab;-webkit-user-select:none;user-select:none;border:1px solid #e0cfc0;border-radius:8px;align-items:center;gap:6px;padding:6px 8px;transition:all .15s;display:flex}.planner-recipe-chip:hover{border-color:var(--primary);box-shadow:0 2px 8px #5e445a1f}.planner-recipe-chip.dragging{opacity:.4;transform:scale(.95)}.chip-image{object-fit:cover;border-radius:4px;flex-shrink:0;width:28px;height:28px}.chip-title{color:var(--primary);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;flex:1;font-size:11px;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.chip-remove{color:#c4a898;cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0;font-size:14px;line-height:1;transition:color .15s}.chip-remove:hover{color:var(--accent)}.footer{background:var(--bg);z-index:90;border-top:1px solid #e8d8c4;justify-content:space-between;align-items:center;height:48px;padding:0 32px;display:flex;position:fixed;bottom:0;left:0;right:0}.footer-text{color:#a65a6e;font-size:13px}.footer-text strong{color:var(--primary)}.footer-links{align-items:center;gap:16px;display:flex}.footer-icon{color:#a65a6e;transition:color .2s,transform .2s;display:flex}.footer-icon:hover{color:var(--primary);transform:scale(1.15)}.dark-toggle{cursor:pointer;color:#a65a6e;background:0 0;border:none;align-items:center;padding:4px;transition:color .2s,transform .2s;display:flex}.dark-toggle:hover{color:var(--primary);transform:scale(1.15)}.toast-container{z-index:500;pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;bottom:60px;left:50%;transform:translate(-50%)}.toast{background:var(--primary);color:#fff;border-radius:20px;padding:10px 20px;font-family:Lato,sans-serif;font-size:13px;font-weight:600;animation:.2s toastIn;box-shadow:0 4px 16px #3a2a3840}@keyframes toastIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.swatch-color{background-color:var(--swatch-color);flex:1;display:block}.modal-overlay,.settings-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.planner-recipe-chip,.grocery-panel-header,.recipe-summary{-webkit-user-select:none;user-select:none}@media (max-width:900px){.week-grid{grid-template-columns:repeat(4,1fr)}.grid-view{grid-template-columns:repeat(2,1fr)}.settings-sidebar{z-index:400;border-radius:16px 0 0 16px;height:100vh;margin:0;position:fixed;top:0;right:0}.settings-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:399;background:#3a2a3866;display:block;position:fixed;inset:0}}@media (max-width:640px){.collections-sidebar{width:auto;height:auto;box-shadow:none;border-bottom:1.5px solid #e8d8c4;border-right:none;border-radius:0;flex-direction:row;margin:12px 0 0;padding:16px 16px 12px;position:static;overflow-x:auto}.collections-sidebar:hover{box-shadow:none;transform:none}.collections-list{flex-direction:row;flex:none}.sidebar-spacer,.settings-gear-btn{display:none}.collection-item{white-space:nowrap}.sidebar-label{display:none}.app-layout{flex-direction:column;padding-top:0}.main-content{padding:24px 16px 100px}.header-title{font-size:32px}.form-row{flex-direction:column}.submit-btn{width:100%}.compare-cards-grid{grid-template-columns:1fr!important}.week-grid,.grid-view{grid-template-columns:repeat(2,1fr)}.list-tags,.list-source{display:none}.sticky-actions{justify-content:center;top:8px}.grocery-panel{width:auto;left:8px;right:8px}.mobile-image-actions{z-index:4;pointer-events:none;justify-content:space-between;display:flex;position:absolute;top:50%;left:10px;right:10px;transform:translateY(-50%)}.mobile-action-btn{cursor:pointer;pointer-events:all;border:2.5px solid #fff9;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;transition:all .15s;display:flex}.mobile-select-btn{background:#503c5080}.mobile-select-btn.mobile-selected{background:var(--primary);border-color:#fff}.mobile-delete-btn{background:#b4282899}.mobile-delete-btn:hover{background:#c82828e6}.overlay-icons{display:none}}
