:root{--color-primary: #C5A059;--color-primary-alt: #A88945;--color-header-bg: #222222;--color-header-text: #F5EDE4;--color-background: #FDF8F3;--color-background-alt: #F5EDE4;--color-accent: #6B3A3A;--color-accent-alt: #5C4A5C;--color-text: #3D3535;--color-text-secondary: #6B5E5E;--color-text-light: #8B7E7E;--color-success: #4A7C59;--color-success-bg: #E8F5E8;--color-error: #8B3A3A;--color-error-bg: #F8E8E8;--color-warning: #856404;--color-warning-bg: #FFF8E1;--color-info: #4A6B8A;--color-info-bg: #E8F0F8;--font-heading: "Playfair Display", Georgia, "Times New Roman", serif;--font-body: "Lato", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-size-5xl: 3rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(61, 53, 53, .05);--shadow-md: 0 4px 6px rgba(61, 53, 53, .07), 0 2px 4px rgba(61, 53, 53, .05);--shadow-lg: 0 10px 15px rgba(61, 53, 53, .1), 0 4px 6px rgba(61, 53, 53, .05);--shadow-xl: 0 20px 25px rgba(61, 53, 53, .1), 0 10px 10px rgba(61, 53, 53, .04);--shadow-glow: 0 0 40px rgba(197, 160, 89, .4);--shadow-glow-pulse: 0 0 60px rgba(197, 160, 89, .6);--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .35s ease;--z-dropdown: 100;--z-sticky: 200;--z-modal-backdrop: 300;--z-modal: 400;--z-toast: 500;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;font-family:var(--font-body);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text);background-color:var(--color-background)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--color-text);margin:0}h1{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-base)}p{margin:0}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-alt)}button{font-family:var(--font-body);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);border-radius:var(--radius-md);border:1px solid transparent;padding:.6em 1.2em;cursor:pointer;transition:all var(--transition-normal);background-color:var(--color-primary);color:#fff}button:hover{background-color:var(--color-primary-alt)}button:focus,button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}input,textarea,select{font-family:var(--font-body);font-size:var(--font-size-base);color:var(--color-text);background-color:#fff;border:1px solid var(--color-text-light);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #c5a05933}input::placeholder,textarea::placeholder{color:var(--color-text-light)}img{max-width:100%;height:auto;display:block}@keyframes candlelight-pulse{0%,to{box-shadow:var(--shadow-glow)}50%{box-shadow:var(--shadow-glow-pulse)}}.candlelight-glow{box-shadow:var(--shadow-glow);animation:candlelight-pulse 2s ease-in-out infinite}.app{min-height:100vh;display:flex;flex-direction:column;font-family:var(--font-body)}.app-header{background:linear-gradient(135deg,var(--color-accent) 0%,var(--color-accent-alt) 100%);color:#fff;padding:var(--spacing-2xl) var(--spacing-xl);text-align:center}.app-header h1{margin:0;font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);font-family:var(--font-heading);color:#fff}.app-header .subtitle{margin:var(--spacing-sm) 0 0;font-size:var(--font-size-lg);opacity:.9}.app-main{flex:1;padding:var(--spacing-xl);max-width:800px;margin:0 auto;width:100%;box-sizing:border-box}.health-section{background:var(--color-background-alt);border-radius:var(--radius-lg);padding:var(--spacing-xl);text-align:center}.health-section h2{margin:0 0 var(--spacing-lg);color:var(--color-text);font-size:var(--font-size-2xl);font-family:var(--font-heading)}.status{padding:var(--spacing-md);border-radius:var(--radius-md);font-size:var(--font-size-base)}.status.loading{background:var(--color-warning-bg);color:var(--color-warning)}.status.error{background:var(--color-error-bg);color:var(--color-error)}.error-details{font-size:var(--font-size-sm);margin-top:var(--spacing-sm);opacity:.8}.status.success{background:var(--color-success-bg);color:var(--color-success)}.status.success p{margin:var(--spacing-sm) 0}.app-footer{background:var(--color-background-alt);padding:var(--spacing-md);text-align:center;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.app-footer p{margin:0}.container{width:100%;max-width:1400px;margin-left:auto;margin-right:auto;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}@media (min-width: 768px){.container{padding-left:var(--spacing-xl);padding-right:var(--spacing-xl)}}.container-sm{width:100%;max-width:800px;margin-left:auto;margin-right:auto;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.container-lg{width:100%;max-width:1200px;margin-left:auto;margin-right:auto;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.heading-1{font-family:var(--font-heading);font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--color-text)}.heading-2{font-family:var(--font-heading);font-size:var(--font-size-3xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--color-text)}.heading-3{font-family:var(--font-heading);font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--color-text)}.body-text{font-family:var(--font-body);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);color:var(--color-text)}.body-small{font-family:var(--font-body);font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);color:var(--color-text)}.text-secondary{color:var(--color-text-secondary)}.text-muted{color:var(--color-text-light)}.mt-xs{margin-top:var(--spacing-xs)}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mt-xl{margin-top:var(--spacing-xl)}.mb-xs{margin-bottom:var(--spacing-xs)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mb-xl{margin-bottom:var(--spacing-xl)}.my-xs{margin-top:var(--spacing-xs);margin-bottom:var(--spacing-xs)}.my-sm{margin-top:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.my-md{margin-top:var(--spacing-md);margin-bottom:var(--spacing-md)}.my-lg{margin-top:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.my-xl{margin-top:var(--spacing-xl);margin-bottom:var(--spacing-xl)}.mx-xs{margin-left:var(--spacing-xs);margin-right:var(--spacing-xs)}.mx-sm{margin-left:var(--spacing-sm);margin-right:var(--spacing-sm)}.mx-md{margin-left:var(--spacing-md);margin-right:var(--spacing-md)}.mx-lg{margin-left:var(--spacing-lg);margin-right:var(--spacing-lg)}.mx-xl{margin-left:var(--spacing-xl);margin-right:var(--spacing-xl)}.mx-auto{margin-left:auto;margin-right:auto}.pt-xs{padding-top:var(--spacing-xs)}.pt-sm{padding-top:var(--spacing-sm)}.pt-md{padding-top:var(--spacing-md)}.pt-lg{padding-top:var(--spacing-lg)}.pt-xl{padding-top:var(--spacing-xl)}.pb-xs{padding-bottom:var(--spacing-xs)}.pb-sm{padding-bottom:var(--spacing-sm)}.pb-md{padding-bottom:var(--spacing-md)}.pb-lg{padding-bottom:var(--spacing-lg)}.pb-xl{padding-bottom:var(--spacing-xl)}.py-xs{padding-top:var(--spacing-xs);padding-bottom:var(--spacing-xs)}.py-sm{padding-top:var(--spacing-sm);padding-bottom:var(--spacing-sm)}.py-md{padding-top:var(--spacing-md);padding-bottom:var(--spacing-md)}.py-lg{padding-top:var(--spacing-lg);padding-bottom:var(--spacing-lg)}.py-xl{padding-top:var(--spacing-xl);padding-bottom:var(--spacing-xl)}.px-xs{padding-left:var(--spacing-xs);padding-right:var(--spacing-xs)}.px-sm{padding-left:var(--spacing-sm);padding-right:var(--spacing-sm)}.px-md{padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.px-lg{padding-left:var(--spacing-lg);padding-right:var(--spacing-lg)}.px-xl{padding-left:var(--spacing-xl);padding-right:var(--spacing-xl)}.flex{display:flex}.flex-col{display:flex;flex-direction:column}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.flex-start{display:flex;align-items:flex-start}.flex-end{display:flex;align-items:flex-end}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.gap-xs{gap:var(--spacing-xs)}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.gap-xl{gap:var(--spacing-xl)}.grid{display:grid;gap:var(--spacing-md)}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md)}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-md)}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-md)}@media (max-width: 768px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}@media (min-width: 769px) and (max-width: 1024px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}}.card{background:#fff;border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-md)}.card-alt{background:var(--color-background-alt);border-radius:var(--radius-lg);padding:var(--spacing-lg)}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.hidden{display:none}.visible{visibility:visible}.invisible{visibility:hidden}.w-full{width:100%}.h-full{height:100%}.min-h-screen{min-height:100vh}
