@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.12tyk43_3sh9u.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.0jzbimsg8vl84.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/53b9e256198e5412-s.0-wfv7uh4i7h9.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.0nx0ww8fni_q3.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.09~u27dqhyhd6.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/5ce348bf30bf5439-s.0ee55_hj9qcer.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.0.qu-9752pffj.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/6306c77e7c8268e4-s.0mao5jbfbduzp.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.0uzt.a6d44yda.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.0mvwgmnhv29no.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.09zddjkbdep5a.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{--bg-primary:#f8fafc;--bg-secondary:#fff;--bg-glass:#ffffffb3;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--accent-primary:#f59e0b;--accent-hover:#d97706;--accent-light:#fef3c7;--danger:#ef4444;--success:#10b981;--border-color:#e2e8f0;--border-glass:#ffffff80;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000000d, 0 2px 4px -1px #00000008;--shadow-lg:0 10px 15px -3px #0000000d, 0 4px 6px -2px #00000005;--shadow-glass:0 8px 32px 0 #1f26870d;--radius-md:.5rem;--radius-lg:1rem;--radius-full:9999px;--transition-fast:.15s ease;--transition-normal:.3s ease}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-geist-sans), sans-serif;-webkit-font-smoothing:antialiased;line-height:1.5}h1,h2,h3,h4,h5,h6{color:var(--text-primary);letter-spacing:-.025em;margin-bottom:.5rem;font-weight:600}p{color:var(--text-secondary);margin-bottom:1rem}a{color:var(--accent-primary);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--accent-hover)}.app-container{min-height:100vh;display:flex}.main-content{flex:1;margin-left:250px;padding:2rem;overflow-y:auto}.glass-panel{background:var(--bg-glass);-webkit-backdrop-filter:blur(10px);border:1px solid var(--border-glass);border-radius:var(--radius-lg);box-shadow:var(--shadow-glass)}.btn{border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);border:none;justify-content:center;align-items:center;padding:.5rem 1rem;font-family:inherit;font-size:.875rem;font-weight:500;display:inline-flex}.btn-primary{background-color:var(--accent-primary);color:#fff;box-shadow:var(--shadow-md)}.btn-primary:hover{background-color:var(--accent-hover);box-shadow:var(--shadow-lg);transform:translateY(-1px)}.btn-outline{color:var(--text-primary);border:1px solid var(--border-color);background-color:#0000}.btn-outline:hover{background-color:var(--bg-secondary);border-color:var(--text-muted)}.input-field{border-radius:var(--radius-md);border:1px solid var(--border-color);background-color:var(--bg-secondary);width:100%;color:var(--text-primary);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);padding:.75rem 1rem;font-family:inherit;font-size:.875rem}.input-field:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-light);outline:none}.label{color:var(--text-secondary);margin-bottom:.5rem;font-size:.875rem;font-weight:500;display:block}.card{background:var(--bg-secondary);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--border-color);transition:transform var(--transition-fast), box-shadow var(--transition-fast);padding:1.5rem}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.sidebar{background-color:var(--bg-secondary);border-right:1px solid var(--border-color);z-index:100;width:250px;height:100vh;transition:transform var(--transition-normal);flex-direction:column;padding:1.5rem;display:flex;position:fixed;top:0;left:0}.sidebar-header{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.sidebar-header .sidebar-logo{margin-bottom:0}.sidebar-close-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:.5rem;display:none}.sidebar-logo{color:var(--text-primary);align-items:center;gap:.5rem;margin-bottom:2rem;font-size:1.5rem;font-weight:700;display:flex}.sidebar-logo span{color:var(--accent-primary)}.nav-link{color:var(--text-secondary);border-radius:var(--radius-md);transition:all var(--transition-fast);align-items:center;gap:.75rem;margin-bottom:.5rem;padding:.75rem 1rem;font-weight:500;display:flex}.nav-link:hover,.nav-link.active{background-color:var(--accent-light);color:var(--accent-hover)}.mobile-header{background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color);z-index:90;justify-content:space-between;align-items:center;height:60px;padding:0 1rem;display:none;position:fixed;top:0;left:0;right:0}.mobile-menu-btn{color:var(--text-primary);cursor:pointer;border-radius:var(--radius-md);transition:background-color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:.5rem;display:flex}.mobile-menu-btn:hover{background-color:var(--bg-primary)}.mobile-logo{color:var(--text-primary);align-items:center;gap:.25rem;font-size:1.25rem;font-weight:700;display:flex}.mobile-logo span{color:var(--accent-primary)}.sidebar-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:95;background-color:#0006;display:none;position:fixed;inset:0}.page-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2rem;display:flex}.view-switcher{gap:1rem;margin-bottom:2rem;display:flex}.form-grid{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}.ingredient-row{background-color:var(--bg-primary);border-radius:var(--radius-md);align-items:center;gap:1rem;padding:1rem;display:flex}.ingredient-row-type{flex:0 0 150px}.ingredient-row-amount{flex:0 0 100px}.ingredient-row-val{flex:1}.ingredient-row-btn{border-color:var(--danger);color:var(--danger);margin-top:1.25rem;padding:.5rem}.grid-cards{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;display:grid}@media (max-width:768px){.main-content{margin-top:60px;margin-left:0;padding:1.25rem}.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-close-btn{justify-content:center;align-items:center;display:flex}.mobile-header{display:flex}.sidebar-overlay{display:block}.page-header{flex-direction:column;align-items:stretch;gap:1rem}.page-header h1{margin-bottom:0}.view-switcher{flex-direction:column;gap:.5rem}.form-grid{grid-template-columns:1fr;gap:1rem}.ingredient-row{flex-direction:column;align-items:stretch;gap:.75rem}.ingredient-row-type,.ingredient-row-amount,.ingredient-row-val{flex:unset;width:100%}.ingredient-row-btn{align-self:flex-end;margin-top:.5rem}}.badge{border-radius:var(--radius-full);padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-block}.badge-blue{color:#0369a1;background-color:#e0f2fe}.badge-green{color:#15803d;background-color:#dcfce7}.badge-orange{color:#c2410c;background-color:#ffedd5}.badge-gray{color:#475569;background-color:#f1f5f9}.progress-container{background-color:var(--border-color);border-radius:var(--radius-full);width:100%;height:8px;margin-top:.5rem;overflow:hidden}.progress-bar{background-color:var(--accent-primary);height:100%;transition:width var(--transition-normal)}.markdown-content ul,.markdown-content ol{margin-bottom:1rem;margin-left:1.5rem}.markdown-content li{margin-bottom:.25rem}.markdown-content h1,.markdown-content h2,.markdown-content h3{margin-top:1rem;margin-bottom:.5rem;font-size:1.1rem}.markdown-content strong{color:var(--text-primary);font-weight:700}.markdown-content p{margin-bottom:.75rem}.slim-mode .main-content{margin-top:0!important;margin-left:0!important;padding:1.5rem!important}.slim-mode .sidebar,.slim-mode .mobile-header,.slim-mode .sidebar-overlay{display:none!important}
