*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--color-primary: #d4a574;--color-primary-light: #e8c4a0;--color-primary-dark: #c4956a;--color-secondary: #8fa87a;--color-secondary-light: #a8c090;--color-secondary-dark: #6b7f5e;--color-bg-primary: #0a0c0f;--color-bg-secondary: #12151a;--color-bg-tertiary: #1a1f2e;--color-text-primary: #e8dcc4;--color-text-secondary: rgba(232, 220, 196, .7);--color-text-tertiary: rgba(232, 220, 196, .5);--color-text-muted: rgba(232, 220, 196, .4);--color-accent-green: #8fa87a;--color-accent-orange: #d4a574;--color-accent-line: #6B7F5E;--color-border: rgba(232, 220, 196, .1);--color-border-light: rgba(232, 220, 196, .2);--layout-max-width: 1400px;--layout-gutter-x: 48px;--home-canvas-bg: rgb(17, 18, 18);--font-display: "Fraunces", Georgia, serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-weight-light: 300;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-extrabold: 800;--text-display-xl: 5.5rem;--text-display-lg: 4.5rem;--text-display-md: 3.5rem;--text-display-sm: 2.75rem;--text-heading-1: 2.5rem;--text-heading-2: 2rem;--text-heading-3: 1.5rem;--text-heading-4: 1.25rem;--text-heading-5: 1.125rem;--text-heading-6: 1rem;--text-body-xl: 1.25rem;--text-body-lg: 1.125rem;--text-body-md: 1rem;--text-body-sm: .875rem;--text-body-xs: .75rem;--leading-none: 1;--leading-tight: 1.15;--leading-snug: 1.3;--leading-normal: 1.5;--leading-relaxed: 1.7;--leading-loose: 2;--tracking-tighter: -.05em;--tracking-tight: -.025em;--tracking-normal: 0;--tracking-wide: .025em;--tracking-wider: .05em;--tracking-widest: .1em;--spacing-0: 0;--spacing-1: .25rem;--spacing-2: .5rem;--spacing-3: .75rem;--spacing-4: 1rem;--spacing-5: 1.25rem;--spacing-6: 1.5rem;--spacing-8: 2rem;--spacing-10: 2.5rem;--spacing-12: 3rem;--spacing-16: 4rem;--spacing-20: 5rem;--spacing-24: 6rem;--spacing-32: 8rem;--radius-none: 0;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 20px;--radius-3xl: 24px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .1);--shadow-md: 0 4px 12px rgba(0, 0, 0, .15);--shadow-lg: 0 10px 30px rgba(0, 0, 0, .2);--shadow-xl: 0 20px 50px rgba(0, 0, 0, .25);--shadow-2xl: 0 30px 70px rgba(0, 0, 0, .3);--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .4s ease;--transition-slower: .6s ease;--z-dropdown: 100;--z-sticky: 200;--z-fixed: 300;--z-modal-backdrop: 400;--z-modal: 500;--z-popover: 600;--z-tooltip: 700;--z-toast: 800}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{font-family:var(--font-body);font-size:var(--text-body-md);font-weight:var(--font-weight-regular);line-height:var(--leading-normal);color:var(--color-text-secondary);background-color:#000!important;margin:0;padding:0}html{background-color:#000!important}app-root{display:block;min-height:100vh;background-color:#000}app-home,app-home .home-page{display:block;background:var(--home-canvas-bg)}app-home .feature-card{background:#0f0e0a;border-radius:20px;overflow:hidden}app-home .card-half{background-color:#0f0e0afc}app-home .card-text-top{background-color:#0f0e0afc}app-home .showcase-card{background:#14100c;border-radius:20px;overflow:hidden}app-home .home-page{min-height:100vh;color:#fff}app-home .hero-section{position:relative;width:100%;height:100vh;min-height:700px;overflow:hidden;background-color:var(--home-canvas-bg)}app-home .hero-bg{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0}app-home .hero-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(to right,rgba(0,0,0,.72) 0%,rgba(0,0,0,.45) 40%,rgba(0,0,0,.15) 70%,transparent 100%),linear-gradient(to top,rgb(17,18,18) 0%,rgba(17,18,18,.92) 6%,rgba(17,18,18,.5) 18%,transparent 40%);z-index:1;pointer-events:none}app-home .hero-content{position:relative;z-index:2;max-width:var(--layout-max-width);margin-left:auto;margin-right:auto;width:100%;padding-left:var(--layout-gutter-x);padding-right:var(--layout-gutter-x);padding-top:clamp(104px,14vh + 56px,220px);box-sizing:border-box}@media (max-width: 1024px){app-home .hero-content{padding-left:36px;padding-right:36px;padding-top:clamp(96px,12vh + 52px,200px)}}@media (max-width: 768px){app-home .hero-content{padding-left:24px;padding-right:24px;padding-top:clamp(88px,11vh + 48px,168px)}}@media (max-width: 480px){app-home .hero-content{padding-left:20px;padding-right:20px;padding-top:clamp(76px,10vh + 40px,140px)}}app-recipes .recipes-page{display:grid;grid-template-columns:100%;width:100%;min-height:100vh;background:#121214;color:#fff;overflow-x:hidden}app-recipes .bg-image,app-recipes .bg-overlay,app-recipes .content-layer{grid-column:1;grid-row:1}app-recipes .bg-image{width:100%;height:auto;display:block;z-index:0}app-recipes .bg-overlay{width:100%;height:100%;background:#000000a6;z-index:1;pointer-events:none}app-recipes .content-layer{z-index:2}app-blog .blog-page,app-blog-detail .blog-detail-page,app-recipe-detail .recipe-detail-page,app-fridge .fridge-container,app-profile .profile-container,app-liked-recipes .liked-recipes-container,app-saved-recipes .saved-recipes-container,app-shopping-list .page-container{display:grid;grid-template-columns:100%;width:100%;min-height:100vh;background:#121214;color:#fff;overflow-x:hidden}app-blog .bg-image,app-blog .bg-overlay,app-blog .content-layer,app-blog-detail .bg-image,app-blog-detail .bg-overlay,app-blog-detail .content-layer,app-recipe-detail .bg-image,app-recipe-detail .bg-overlay,app-recipe-detail .content-layer,app-fridge .bg-image,app-fridge .bg-overlay,app-fridge .content-layer,app-profile .bg-image,app-profile .bg-overlay,app-profile .content-layer,app-liked-recipes .bg-image,app-liked-recipes .bg-overlay,app-liked-recipes .content-layer,app-saved-recipes .bg-image,app-saved-recipes .bg-overlay,app-saved-recipes .content-layer,app-shopping-list .bg-image,app-shopping-list .bg-overlay,app-shopping-list .content-layer{grid-column:1;grid-row:1}app-blog .bg-image,app-blog-detail .bg-image,app-recipe-detail .bg-image,app-fridge .bg-image,app-profile .bg-image,app-liked-recipes .bg-image,app-saved-recipes .bg-image,app-shopping-list .bg-image{width:100%;height:auto;display:block;z-index:0}app-blog .bg-overlay,app-blog-detail .bg-overlay,app-recipe-detail .bg-overlay,app-recipes .bg-overlay{width:100%;height:100%;background:#000000a6;z-index:1;pointer-events:none}app-fridge .bg-overlay{width:100%;height:100%;background:#00000080;z-index:1;pointer-events:none}app-shopping-list .bg-overlay{width:100%;height:100%;background:#0006;z-index:1;pointer-events:none}app-profile .bg-overlay,app-liked-recipes .bg-overlay,app-saved-recipes .bg-overlay{width:100%;height:100%;background:linear-gradient(180deg,#000000bf,#000000d9,#121214f2);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:1;pointer-events:none}app-blog .content-layer,app-blog-detail .content-layer,app-recipe-detail .content-layer,app-fridge .content-layer,app-profile .content-layer,app-liked-recipes .content-layer,app-saved-recipes .content-layer,app-shopping-list .content-layer{z-index:2}app-login{display:block;min-height:100vh;background-color:#000}app-login .login-page{min-height:100vh;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;background-color:#000}app-login .background-overlay{position:fixed;inset:0;z-index:0;background-color:#000;background-image:url(/assets/images/Login_Background.png);background-position:center;background-size:cover;background-repeat:no-repeat}app-login .background-overlay:after{content:"";position:absolute;inset:0}app-register{display:block;min-height:100vh;background-color:#000}app-register .register-page{min-height:100vh;width:100%;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;background-color:#000}app-register .background-overlay{position:fixed;inset:0;z-index:0;background-color:#000;background-image:url(/assets/images/CreateAccount_Background.png);background-position:center;background-size:cover;background-repeat:no-repeat}app-register .background-overlay:after{content:"";position:absolute;inset:0;z-index:1;background:#00000040}app-recipes,app-recipe-detail,app-liked-recipes,app-saved-recipes,app-fridge,app-shopping-list,app-profile{display:block;background:#000}app-blog,app-blog-detail{display:block;background:#000}app-topbar{display:block}app-topbar .topbar-wrapper{position:fixed;top:0;left:0;right:0;z-index:1000;pointer-events:none}app-topbar .topbar{background:#120e0a8c;backdrop-filter:blur(40px) saturate(160%);-webkit-backdrop-filter:blur(40px) saturate(160%);border-radius:999px;pointer-events:auto}.text-display-xl{font-family:var(--font-display);font-size:clamp(3rem,8vw,var(--text-display-xl));font-weight:var(--font-weight-regular);font-style:italic;line-height:var(--leading-tight);color:var(--color-text-primary);font-variation-settings:"SOFT" 50,"WONK" 1}.text-display-lg{font-family:var(--font-display);font-size:clamp(2.5rem,6vw,var(--text-display-lg));font-weight:var(--font-weight-regular);font-style:italic;line-height:var(--leading-tight);color:var(--color-text-primary);font-variation-settings:"SOFT" 50,"WONK" 1}.text-display-md{font-family:var(--font-display);font-size:clamp(2rem,5vw,var(--text-display-md));font-weight:var(--font-weight-regular);font-style:italic;line-height:var(--leading-snug);color:var(--color-text-primary);font-variation-settings:"SOFT" 50,"WONK" 1}.text-display-sm{font-family:var(--font-display);font-size:clamp(1.75rem,4vw,var(--text-display-sm));font-weight:var(--font-weight-regular);font-style:italic;line-height:var(--leading-snug);color:var(--color-text-primary);font-variation-settings:"SOFT" 50,"WONK" 1}.text-h1{font-family:var(--font-display);font-size:var(--text-heading-1);font-weight:var(--font-weight-medium);line-height:var(--leading-snug);color:var(--color-text-primary)}.text-h2{font-family:var(--font-display);font-size:var(--text-heading-2);font-weight:var(--font-weight-medium);line-height:var(--leading-snug);color:var(--color-text-primary)}.text-h3{font-family:var(--font-display);font-size:var(--text-heading-3);font-weight:var(--font-weight-medium);line-height:var(--leading-snug);color:var(--color-text-primary)}.text-h4{font-family:var(--font-display);font-size:var(--text-heading-4);font-weight:var(--font-weight-medium);line-height:var(--leading-snug);color:var(--color-text-primary)}.text-h5{font-family:var(--font-display);font-size:var(--text-heading-5);font-weight:var(--font-weight-medium);line-height:var(--leading-normal);color:var(--color-text-primary)}.text-h6{font-family:var(--font-display);font-size:var(--text-heading-6);font-weight:var(--font-weight-medium);line-height:var(--leading-normal);color:var(--color-text-primary)}.text-body-xl{font-family:var(--font-body);font-size:var(--text-body-xl);font-weight:var(--font-weight-regular);line-height:var(--leading-relaxed)}.text-body-lg{font-family:var(--font-body);font-size:var(--text-body-lg);font-weight:var(--font-weight-regular);line-height:var(--leading-relaxed)}.text-body-md{font-family:var(--font-body);font-size:var(--text-body-md);font-weight:var(--font-weight-regular);line-height:var(--leading-normal)}.text-body-sm{font-family:var(--font-body);font-size:var(--text-body-sm);font-weight:var(--font-weight-regular);line-height:var(--leading-normal)}.text-body-xs{font-family:var(--font-body);font-size:var(--text-body-xs);font-weight:var(--font-weight-regular);line-height:var(--leading-normal)}.font-light{font-weight:var(--font-weight-light)}.font-regular{font-weight:var(--font-weight-regular)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.font-extrabold{font-weight:var(--font-weight-extrabold)}.font-italic{font-style:italic}.font-normal{font-style:normal}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-tertiary{color:var(--color-text-tertiary)}.text-muted{color:var(--color-text-muted)}.text-accent-green{color:var(--color-accent-green)}.text-accent-orange{color:var(--color-accent-orange)}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}h1{font-family:var(--font-display);font-size:var(--text-heading-1);font-weight:var(--font-weight-medium);line-height:var(--leading-snug);color:var(--color-text-primary)}h2{font-family:var(--font-display);font-size:var(--text-heading-2);font-weight:var(--font-weight-medium);line-height:var(--leading-snug);color:var(--color-text-primary)}h3{font-family:var(--font-display);font-size:var(--text-heading-3);font-weight:var(--font-weight-medium);line-height:var(--leading-snug);color:var(--color-text-primary)}h4{font-family:var(--font-display);font-size:var(--text-heading-4);font-weight:var(--font-weight-medium);line-height:var(--leading-snug);color:var(--color-text-primary)}h5{font-family:var(--font-display);font-size:var(--text-heading-5);font-weight:var(--font-weight-medium);line-height:var(--leading-normal);color:var(--color-text-primary)}h6{font-family:var(--font-display);font-size:var(--text-heading-6);font-weight:var(--font-weight-medium);line-height:var(--leading-normal);color:var(--color-text-primary)}p{margin-bottom:var(--spacing-4)}a{color:inherit;text-decoration:none;transition:color var(--transition-fast)}strong,b{font-weight:var(--font-weight-semibold)}em,i{font-style:italic}img{max-width:100%;height:auto;display:block}button{font-family:var(--font-body);cursor:pointer;border:none;background:none}input,textarea,select{font-family:var(--font-body);font-size:var(--text-body-md)}.container{width:100%;max-width:1400px;margin:0 auto;padding:0 var(--spacing-6)}.container-sm{max-width:800px}.container-lg{max-width:1600px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-secondary)}::-webkit-scrollbar-thumb{background:var(--color-border-light);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}::selection{background-color:var(--color-primary);color:var(--color-bg-primary)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-6);font-family:var(--font-body);font-size:var(--text-body-md);font-weight:var(--font-weight-semibold);line-height:1;text-decoration:none;border-radius:var(--radius-full);transition:all var(--transition-base);cursor:pointer}.btn-primary{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);color:var(--color-bg-primary);box-shadow:0 4px 20px #d4a5744d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 30px #d4a57466}.btn-secondary{background:transparent;color:var(--color-text-primary);border:2px solid var(--color-border-light)}.btn-secondary:hover{background:#e8dcc41a;border-color:var(--color-text-tertiary)}.btn-ghost{background:transparent;color:var(--color-text-secondary)}.btn-ghost:hover{color:var(--color-text-primary);background:#e8dcc40d}.reveal-up{opacity:0;transform:translateY(80px);transition:opacity 2.9s cubic-bezier(.22,1,.36,1),transform 2.9s cubic-bezier(.22,1,.36,1);will-change:opacity,transform}.reveal-up.revealed{opacity:1;transform:translateY(0)}.reveal-child{opacity:0;transform:translateY(40px);transition:opacity 2.2s cubic-bezier(.22,1,.36,1) 1.1s,transform 2.2s cubic-bezier(.22,1,.36,1) 1.1s;will-change:opacity,transform}.reveal-up.revealed .reveal-child{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion: reduce){.reveal-up,.reveal-child{opacity:1!important;transform:none!important;transition:none!important}}
