:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:var(--text-primary);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--bg-card: rgba(45, 45, 45, .95);--bg-button: #2d2d2d;--bg-button-hover: #3a3a3a;--text-primary: #e1e5e9;--text-secondary: #b8bcc8;--text-muted: #888;--brand-maroon: #8B1538;--brand-navy: #1e3a5f;--brand-maroon-light: #ff6b8a;--brand-navy-light: #4facfe;--gradient-primary: linear-gradient(135deg, var(--brand-maroon) 0%, var(--brand-navy) 100%);--gradient-light: linear-gradient(135deg, var(--brand-maroon-light) 0%, var(--brand-navy-light) 100%);--border-light: rgba(255, 255, 255, .1);--border-accent: rgba(139, 21, 56, .2);--border-accent-strong: rgba(139, 21, 56, .3);--shadow-light: 0 4px 20px rgba(0, 0, 0, .3);--shadow-strong: 0 8px 25px rgba(139, 21, 56, .3);--shadow-header: 0 2px 20px rgba(0, 0, 0, .3);--shadow-sidebar: 2px 0 20px rgba(0, 0, 0, .4);--overlay-light: rgba(0, 0, 0, .7);--accent-bg: rgba(139, 21, 56, .15);--breakfast: hsl(30, 40%, 40%);--lunch: hsl(60, 40%, 40%);--dinner: hsl(120, 40%, 40%);--dessert: hsl(300, 40%, 40%);--drink: hsl(210, 40%, 40%)}body{margin:0;padding:0;min-width:320px;min-height:100vh;color:var(--text-primary)}h1{font-size:2rem;line-height:1.2;margin:0}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:var(--bg-button);cursor:pointer;transition:all .25s ease;color:var(--text-primary)}button:hover{background-color:var(--bg-button-hover);border-color:var(--text-muted)}button:focus,button:focus-visible{outline:2px solid var(--brand-maroon);outline-offset:2px}@media (max-width: 768px){:root{font-size:14px}h1{font-size:1.75rem}button{padding:.5em 1em;font-size:.95em}}@media (max-width: 480px){:root{font-size:13px}body{min-width:280px}h1{font-size:1.5rem}button{padding:.5em .875em;font-size:.9em}}@media (hover: none) and (pointer: coarse){button{min-height:44px;min-width:44px}.nav-item{min-height:48px}}.header{position:fixed;top:0;left:0;right:0;height:70px;background:var(--gradient-primary);color:#fff;display:flex;align-items:center;padding:0 1rem;box-shadow:var(--shadow-header);z-index:900;border-bottom:1px solid var(--border-light)}.hamburger-btn{background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer;padding:.75rem;border-radius:8px;transition:background-color .2s ease;display:flex;align-items:center;justify-content:center;margin-right:1rem}.hamburger-btn:hover{background:var(--border-light)}.hamburger-btn:active{background:#fff3}.header-title{position:relative;margin:0;font-size:1.5rem;font-weight:600;color:#fff}.header-title .float-text{position:absolute;top:10px;left:10%;color:var(--brand-navy);font-size:1.05em;font-weight:900;transform:rotate(-5deg);width:200px;-webkit-text-stroke:2px var(--brand-maroon-light)}.header-title-link{text-decoration:none;color:inherit;transition:opacity .2s ease}.header-title-link:hover{opacity:.8}@keyframes shimmer{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.transformative-title{position:relative;height:1.5em;width:17em;display:flex;align-items:center}.transformative-title div{position:absolute;transition:all .5s cubic-bezier(.4,0,.2,1);white-space:nowrap}.transformative-title div.leslie-text{left:0}.transformative-title div.har-text{left:3.5em}.transformative-title div.gus-text{left:5.6em}.transformative-title div.and-text{left:7.9em}.transformative-title div.nic-text{left:9em}.transformative-title div.per-text{left:11em}.transformative-title div.erei-text{left:12.9em}.transformative-title div.harper-text{left:6.5em;opacity:0;transform:scale(.8)}.transformative-title:hover div{--harper-start: 6.5em}.transformative-title:hover div.leslie-text{left:0}.transformative-title:hover div.and-text{left:3.5em}.transformative-title:hover div.nic-text{left:4.5em}.transformative-title:hover div.har-text{left:var(--harper-start)}.transformative-title:hover div.per-text{left:calc(var(--harper-start) + 2.1em)}.transformative-title:hover div.gus-text,.transformative-title:hover div.erei-text{opacity:0;transform:scale(.8)}.transformative-title:hover div.harper-text{left:6.5em;opacity:1;transform:scale(1);background:linear-gradient(45deg,#ff6b6b,#4ecdc4,#45b7d1,#96ceb4,#ffecd2,#ff6b6b);background-size:300% 300%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:shimmer 2s ease-in-out infinite;filter:drop-shadow(0 0 10px rgba(255,107,107,.6)) drop-shadow(0 0 20px rgba(78,205,196,.4))}@media (max-width: 768px){.header{padding:0 .75rem;height:60px}.header-title{font-size:1.25rem}.header-title .float-text{font-size:.95em;top:8px;left:8%;width:180px}.hamburger-btn{margin-right:.75rem}}@media (max-width: 480px){.header{height:60px;padding:0 .5rem}.header-title{font-size:1.1rem}.header-title .float-text{font-size:.85em;top:6px;left:5%;width:160px;-webkit-text-stroke:1.5px var(--brand-maroon-light)}.hamburger-btn{margin-right:.5rem;font-size:1.25rem}}.sidebar{position:fixed;top:0;left:-320px;width:320px;height:100vh;background:var(--gradient-primary);color:#fff;z-index:1000;transition:left .3s ease-in-out;box-shadow:var(--shadow-sidebar);overflow-y:auto;border-right:1px solid var(--border-light)}.sidebar.sidebar-open{left:0}.sidebar-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:var(--overlay-light);z-index:999;cursor:pointer}.sidebar-header{padding:2rem 1.5rem 1rem;border-bottom:1px solid var(--border-light);display:flex;justify-content:space-between;align-items:center}.sidebar-header h2{margin:0;font-size:1.5rem;font-weight:600;color:#fff}.close-btn{background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer;padding:.5rem;border-radius:50%;transition:background-color .2s ease;display:flex;align-items:center;justify-content:center;width:40px;height:40px}.close-btn:hover{background:var(--border-light)}.sidebar-nav{padding:1rem 0}.sidebar-nav ul{list-style:none;margin:0;padding:0}.sidebar-nav li{margin:0}.nav-item{width:100%;padding:1rem 1.5rem;background:none;border:none;color:#fff;font-size:1rem;text-align:left;cursor:pointer;transition:all .2s ease;border-left:4px solid transparent;display:block;text-decoration:none}.nav-item:hover{background:var(--border-light);border-left-color:#fffc;padding-left:2rem}.nav-item:active{background:#fff3}@media (max-width: 768px){.sidebar{width:280px;left:-280px}}@media (max-width: 480px){.sidebar{width:100vw;left:-100vw}.sidebar-header{padding:1.5rem 1rem 1rem}.sidebar-header h2{font-size:1.25rem}}.main-content{margin-top:70px;min-height:calc(100vh - 70px);padding:2rem;background:var(--gradient-bg)}.main-content .content-section{max-width:1200px;margin:0 auto;background:var(--bg-card);border:1px solid var(--border-accent);border-radius:12px;padding:2rem;box-shadow:var(--shadow-light);animation:fadeIn .3s ease-in-out;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.main-content .content-section h2{color:var(--text-primary);margin-bottom:1rem;font-size:2rem;text-align:center;background:var(--gradient-light);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.main-content .content-section p{color:var(--text-secondary);line-height:1.6;text-align:center;margin-bottom:2rem}.main-content .content-section .welcome-content{text-align:center}.main-content .content-section .welcome-content .feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:1.5rem;margin:2rem 0}.main-content .content-section .welcome-content .feature-grid .feature-card{background:var(--gradient-primary);padding:1.5rem;border-radius:12px;transition:transform .2s ease,box-shadow .2s ease;text-decoration:none}.main-content .content-section .welcome-content .feature-grid .feature-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-strong)}.main-content .content-section .welcome-content .feature-grid .feature-card h3{color:var(--text-primary);margin:0 0 .5rem;font-size:1.25rem}.main-content .content-section .welcome-content .feature-grid .feature-card h3 svg{margin-right:.5rem}.main-content .content-section .welcome-content .feature-grid .feature-card p{margin:0;opacity:1;color:var(--text-primary);font-size:.9rem}.main-content .content-section .welcome-content .instruction{background:var(--accent-bg);color:var(--brand-maroon-light);padding:1rem;border-radius:8px;border:1px solid var(--border-accent-strong);font-weight:500;margin-top:2rem}@media (max-width: 768px){.main-content{margin-top:60px;min-height:calc(100vh - 60px);padding:1rem}.content-section{padding:1.5rem}.content-section h2{font-size:1.5rem}.feature-grid{grid-template-columns:1fr;gap:1rem}}@media (max-width: 480px){.main-content{padding:.75rem}.content-section{padding:1rem;border-radius:8px}.content-section h2{font-size:1.25rem}.feature-card{padding:1rem}}.recipe-card{max-width:400px;border:1px solid #ccc;border-radius:8px;padding:1rem;background:#ffffff1a}.recipe-card .season-icons-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:2.25em;margin-bottom:.5rem}.recipe-card .season-icons{--side: 2em;height:calc(var(--side) + .25em);display:flex;justify-content:center;align-items:center;grid-column:2}.recipe-card .season-icons img{width:var(--side);height:var(--side);margin-right:.25em;display:inline-block;background-size:cover}.recipe-card .qty-select{justify-self:end;grid-column:3;font-size:.9em}.recipe-card .qty-select label{margin-right:.25em}.recipe-card .qty-select select{padding:.25em;width:2.75em}.recipe-card .recipe-title-region{display:flex;justify-content:flex-start;align-items:center}.recipe-card .subtitle{font-weight:600;font-size:.95em;font-style:italic;text-align:center}.recipe-card .adjustments{font-size:.95em;color:#bababa}.recipe-card h2{margin:0}.recipe-card h2.dessert{color:var(--dessert)}.recipe-card h2.dinner{color:var(--dinner)}.recipe-card h2.lunch{color:var(--lunch)}.recipe-card h2.breakfast{color:var(--breakfast)}.recipe-card h2.drink{color:var(--drink)}.recipe-card h3{margin:0;color:#bdbdbd}.recipe-card h4{margin:0;color:#a1a1a1;font-style:italic}.recipe-card ul,.recipe-card ol{margin:0 0 .5em}.recipe-card ul li.step-0,.recipe-card ol li.step-0{color:var(--brand-maroon-light)}@media (max-width: 768px){.recipe-card{max-width:none;width:100%;padding:.875rem}.recipe-card .season-icons-row{flex-direction:column;align-items:center;gap:.5rem;height:auto}.recipe-card .recipe-title-region h2{font-size:1.375rem}.recipe-card .season-icons{--side: 1.75em}}@media (max-width: 480px){.recipe-card{padding:.75rem}.recipe-card .recipe-title-region h2{font-size:1.25rem}.recipe-card .season-icons{--side: 1.5em}.recipe-card .qty-select select{width:2.5em}.recipe-card h3{font-size:1rem}.recipe-card h4{font-size:.875rem}}.recipe-filters{margin:2rem 0;padding:1.5rem;background-color:#8787ff0d;border-radius:8px;border:1px solid #e9ecef}.recipe-filters .search-box{margin-bottom:1.5rem}.recipe-filters .search-box .search-input{width:100%;max-width:500px;padding:.75rem 1rem;font-size:1rem;border-radius:6px}.recipe-filters .search-box .search-input:focus{box-shadow:0 0 0 .2rem #007bff40}.recipe-filters .checkbox-filters{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.recipe-filters .checkbox-filters .filter-label{font-weight:600;margin-right:.5rem}.recipe-filters .filter-checkbox{display:flex;align-items:center;font-size:.95rem;color:#b1bac3;-webkit-user-select:none;user-select:none;cursor:pointer}.recipe-filters .filter-checkbox input[type=checkbox]{margin-right:.5rem;transform:scale(1.1);accent-color:#f7f7f7}.recipe-filters .filter-checkbox:hover{color:#ced4d9}@media (max-width: 768px){.recipe-filters{padding:1rem;margin:1.5rem 0}.recipe-filters .search-box{margin-bottom:1rem}.recipe-filters .search-input{max-width:100%;padding:.625rem .875rem}.recipe-filters .checkbox-filters{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.75rem}.season-filters{flex-direction:column;align-items:flex-start;gap:.5rem}.filter-label{margin-bottom:.5rem}}@media (max-width: 480px){.recipe-filters{padding:.75rem;margin:1rem 0}.recipe-filters .checkbox-filters{grid-template-columns:1fr 1fr;gap:.5rem}.recipe-filters .filter-checkbox{font-size:.875rem}.recipe-filters .search-input{padding:.5rem .75rem;font-size:.95rem}}.results-info{margin:1rem 0 .5rem;font-size:.9rem;color:#6c757d;font-style:italic;animation:fadeIn .4s ease-in-out}.recipe-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem;animation:fadeIn .5s ease-in-out}@media (max-width: 768px){.recipe-grid{grid-template-columns:1fr;gap:.75rem}}@media (max-width: 480px){.recipe-grid{gap:.5rem}}.app{min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--text-primary)}*{box-sizing:border-box}body{margin:0;padding:0}.main-content{margin-top:70px;padding:2rem;min-height:calc(100vh - 70px)}.page-content{max-width:1200px;margin:0 auto;animation:fadeIn .3s ease-in-out}.page-content h1{color:var(--text-primary);margin-bottom:1rem}.page-content p{color:var(--text-secondary);line-height:1.6}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.main-content{margin-top:60px;padding:1rem}.page-content{padding:0}.page-content h1{font-size:1.75rem;margin-bottom:.75rem}}@media (max-width: 480px){.main-content{padding:.75rem}.page-content h1{font-size:1.5rem}}
