@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=Playfair+Display:ital,wght@0,400..900;1,400..900&family=JetBrains+Mono:wght@400;500&display=swap";:root{--color-obsidian:#000;--color-graphite:#333;--color-slate:#7b7b7b;--color-mist:#bcbcbc;--color-silver:#d6d6d6;--color-bone:#f5f2f0;--color-paper:#fff;--color-lilac-bloom:#f1ccff;--color-sky-veil:#91e0ff;--font-switzer:"Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-pp-editorial-new:"Playfair Display", Georgia, serif;--font-sans:var(--font-switzer);--font-mono:"JetBrains Mono", "Fira Code", monospace;--text-caption:13px;--leading-caption:1.19;--text-body:16px;--leading-body:1.44;--text-subheading:20px;--leading-subheading:1.4;--tracking-subheading:-.2px;--text-heading-sm:32px;--leading-heading-sm:1.2;--tracking-heading-sm:-.8px;--text-display:48px;--leading-display:1.25;--text-display-lg:62px;--leading-display-lg:1.2;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--space-3xl:64px;--spacing-8:8px;--spacing-12:12px;--spacing-16:16px;--spacing-20:20px;--spacing-24:24px;--spacing-32:32px;--spacing-40:40px;--spacing-56:56px;--spacing-60:60px;--spacing-80:80px;--spacing-88:88px;--spacing-116:116px;--spacing-160:160px;--page-max-width:1200px;--section-gap:80px;--card-padding:24px;--element-gap:16px;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--radius-cards:24px;--radius-pills:32px;--radius-badges:10px;--radius-inputs:10px;--radius-buttons:10px;--radius-cards-elevated:42px;--shadow-sm:#1018280d 0px 1px 2px 0px;--shadow-md:#0000000a 0px 8px 16px 0px;--shadow-lg:0 10px 30px #0000000f;--shadow-subtle:#1018280d 0px 1px 2px 0px;--shadow-glow:0 0 25px #0000001a;--color-calories:#d32f2f;--color-protein:#4f46e5;--color-carbs:#e67e22;--color-fat:#0f9d58;--color-success:#10b981;--color-warning:#f59e0b;--color-error:#ef4444;--color-info:#3b82f6;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-base:.25s cubic-bezier(.4, 0, .2, 1);--transition-slow:.4s cubic-bezier(.4, 0, .2, 1);--z-dropdown:100;--z-sticky:200;--z-modal:300;--z-toast:400;--glass-bg:#00000008;--glass-bg-hover:#0000000f;--glass-border:#00000014;--glass-border-hover:#00000026;--glass-primary-bg:#6366f114;--glass-primary-border:#6366f133;--glass-accent-bg:#0ea5e914;--glass-accent-border:#0ea5e933}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-switzer);background-color:var(--color-paper);color:var(--color-obsidian);min-height:100vh;line-height:1.44}a{color:var(--color-obsidian);transition:color var(--transition-fast);font-weight:500;text-decoration:none}a:hover{color:var(--color-slate)}img{max-width:100%;display:block}h1,h2,h3,h4,h5,h6{font-family:var(--font-switzer);color:var(--color-obsidian);font-weight:600;line-height:1.2}.editorial-title,.hero-title,.section-title{font-family:var(--font-pp-editorial-new);color:var(--color-obsidian);font-weight:400}h1{font-size:var(--text-display)}h2{font-size:var(--text-heading-sm)}h3{font-size:var(--text-subheading)}h4{font-size:1.15rem}.text-gradient{background:linear-gradient(135deg, var(--color-obsidian), var(--color-slate));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.card{background:var(--color-paper);border:1px solid var(--color-silver);border-radius:var(--radius-cards);padding:var(--card-padding);box-shadow:var(--shadow-sm);transition:all var(--transition-base)}.card:hover{border-color:var(--color-graphite);box-shadow:var(--shadow-md)}.card-glass{-webkit-backdrop-filter:blur(16px);border:1px solid var(--color-silver);border-radius:var(--radius-cards);padding:var(--card-padding);box-shadow:var(--shadow-md);background:#ffffffd9}.btn{justify-content:center;align-items:center;gap:var(--space-sm);font-family:var(--font-switzer);border-radius:var(--radius-buttons);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;box-shadow:var(--shadow-subtle);border:none;padding:12px 20px;font-size:16px;font-weight:500;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--glass-primary-bg);color:var(--color-obsidian);border:1px solid var(--glass-primary-border);-webkit-backdrop-filter:blur(12px)}.btn-primary:hover:not(:disabled){background:var(--glass-bg-hover);border-color:var(--glass-border-hover);box-shadow:var(--shadow-md);transform:translateY(-2px)scale(1.02)}.btn-ghost{background:var(--glass-bg);color:var(--color-obsidian);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(12px)}.btn-ghost:hover:not(:disabled){background:var(--glass-bg-hover);border-color:var(--glass-border-hover);box-shadow:var(--shadow-md);transform:translateY(-2px)}.btn-accent{background:var(--glass-accent-bg);color:var(--color-obsidian);border:1px solid var(--glass-accent-border);-webkit-backdrop-filter:blur(12px)}.btn-accent:hover:not(:disabled){background:var(--glass-bg-hover);border-color:var(--glass-border-hover);box-shadow:var(--shadow-md);transform:translateY(-2px)scale(1.02)}.btn-sm{padding:8px 16px;font-size:14px}.btn-lg{padding:14px 24px;font-size:16px}.btn-icon{background:var(--color-bone);width:36px;height:36px;color:var(--color-obsidian);border:1px solid var(--color-silver);padding:0}.btn-icon:hover:not(:disabled){background:var(--color-silver);color:var(--color-obsidian)}.input-group{gap:var(--space-xs);text-align:left;flex-direction:column;display:flex}.input-label{color:var(--color-graphite);font-size:14px;font-weight:500}.input{width:100%;font-family:var(--font-switzer);color:var(--color-obsidian);background:var(--color-paper);border:1px solid var(--color-silver);border-radius:var(--radius-inputs);transition:all var(--transition-fast);outline:none;padding:12px 16px;font-size:16px}.input:focus{border-color:var(--color-obsidian);box-shadow:0 0 0 1px var(--color-obsidian)}.input::placeholder{color:var(--color-slate)}.input-error{border-color:var(--color-error)}.error-text{color:var(--color-error);margin-top:2px;font-size:13px}.tag-pill{background:var(--color-lilac-bloom);border-radius:var(--radius-badges);font-family:var(--font-switzer);color:var(--color-obsidian);margin-bottom:var(--space-md);justify-content:center;align-items:center;padding:5px 12px;font-size:13px;font-weight:500;display:inline-flex}.tag-pill-bone{background:var(--color-bone)}.macro-chip{border-radius:var(--radius-pills);letter-spacing:-.01em;align-items:center;gap:4px;padding:4px 10px;font-size:13px;font-weight:500;display:inline-flex}.macro-chip-calories{color:var(--color-calories);background:#d32f2f14;border:1px solid #d32f2f26}.macro-chip-protein{color:var(--color-protein);background:#4f46e514;border:1px solid #4f46e526}.macro-chip-carbs{color:var(--color-carbs);background:#e67e2214;border:1px solid #e67e2226}.macro-chip-fat{color:var(--color-fat);background:#0f9d5814;border:1px solid #0f9d5826}.tier-badge{border-radius:var(--radius-badges);border:1px solid var(--color-silver);align-items:center;gap:4px;padding:3px 8px;font-size:13px;font-weight:500;display:inline-flex}.tier-cache{background:var(--color-bone);color:var(--color-obsidian)}.tier-db{background:var(--color-bone);color:var(--color-graphite)}.tier-usda{background:var(--color-bone);color:var(--color-slate)}.tier-gemini{background:var(--color-lilac-bloom);color:var(--color-obsidian);border-color:#0000000d}.tier-barcode_api{background:var(--color-sky-veil);color:var(--color-obsidian);border-color:#0000000d}.spinner{border:2px solid var(--color-silver);border-top-color:var(--color-obsidian);border-radius:50%;width:24px;height:24px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.spinner-lg{width:40px;height:40px}.page{background-color:var(--color-paper);flex-direction:column;min-height:100vh;display:flex}.page-content{max-width:1200px;padding:var(--space-xl) var(--space-lg);flex:1;width:100%;margin:0 auto}@media (width<=768px){h1{font-size:32px}h2{font-size:24px}.page-content{padding:var(--space-md)}}@media (width<=480px){html{font-size:15px}h1{font-size:28px}h2{font-size:22px}.page-content{padding:var(--space-sm) var(--space-md)}.card{padding:var(--space-md)}.btn-lg{padding:12px 20px;font-size:15px}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.4s ease-out fadeIn}.animate-slide-up{animation:.5s ease-out slideUp}.toast{bottom:var(--space-lg);right:var(--space-lg);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-inputs);z-index:var(--z-toast);box-shadow:var(--shadow-md);border:1px solid var(--color-silver);max-width:calc(100vw - 48px);font-size:14px;font-weight:500;animation:.3s ease-out slideUp;position:fixed}@media (width<=480px){.toast{left:var(--space-md);right:var(--space-md);bottom:var(--space-md);text-align:center}}.toast-success{background:var(--color-paper);color:var(--color-success);border-left:4px solid var(--color-success)}.toast-error{background:var(--color-paper);color:var(--color-error);border-left:4px solid var(--color-error)}[data-theme=dark]{--color-obsidian:#fff;--color-graphite:#d6d6d6;--color-slate:#8b8b98;--color-mist:#444450;--color-silver:#2d2d3a;--color-bone:#1a1a24;--color-paper:#0e0e12;--color-lilac-bloom:#e1b3fc;--color-sky-veil:#67cdff;--shadow-sm:#0000004d 0px 1px 2px 0px;--shadow-md:#0006 0px 8px 16px 0px;--shadow-lg:0 10px 30px #00000080;--shadow-subtle:#0000004d 0px 1px 2px 0px;--shadow-glow:0 0 25px #ffffff40;--color-calories:#ff5252;--color-protein:#818cf8;--color-carbs:#fb923c;--color-fat:#34d399;--glass-bg:#ffffff0d;--glass-bg-hover:#ffffff1a;--glass-border:#ffffff1a;--glass-border-hover:#ffffff40;--glass-primary-bg:#e1b3fc1a;--glass-primary-border:#e1b3fc40;--glass-accent-bg:#67cdff1a;--glass-accent-border:#67cdff40}.navbar{z-index:var(--z-sticky);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--color-silver);background:#ffffffe6;position:sticky;top:0}[data-theme=dark] .navbar{background:#0e0e12e6}.navbar-inner{max-width:1200px;padding:0 var(--space-lg);justify-content:space-between;align-items:center;height:64px;margin:0 auto;display:flex;position:relative}.navbar-brand{align-items:center;gap:var(--space-sm);z-index:2;text-decoration:none;display:flex}.brand-icon{color:var(--color-obsidian)}.brand-text{font-family:var(--font-pp-editorial-new);letter-spacing:-.01em;color:var(--color-obsidian);font-size:1.5rem;font-weight:500}.navbar-actions{align-items:center;gap:var(--space-md);display:flex}.nav-link{font-family:var(--font-switzer);color:var(--color-graphite);transition:color var(--transition-fast);font-size:14px;font-weight:500}.nav-link:hover{color:var(--color-obsidian)}.navbar-user{align-items:center;gap:var(--space-sm);padding-left:var(--space-md);border-left:1px solid var(--color-silver);display:flex}.user-email{font-family:var(--font-switzer);color:var(--color-slate);text-overflow:ellipsis;white-space:nowrap;max-width:150px;font-size:13px;overflow:hidden}.navbar-hamburger{cursor:pointer;color:var(--color-obsidian);z-index:2;background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:none}.navbar-overlay{z-index:calc(var(--z-sticky) - 1);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000040;display:none;position:fixed;inset:0}.navbar-overlay.open{display:block}.navbar-mobile-menu{-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--color-silver);padding:var(--space-md) var(--space-lg);gap:var(--space-xs);z-index:var(--z-sticky);box-shadow:var(--shadow-lg);background:#fffffffa;flex-direction:column;animation:.2s ease-out slideDown;display:none;position:fixed;top:64px;left:0;right:0}[data-theme=dark] .navbar-mobile-menu{background:#0e0e12fa}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.navbar-mobile-menu.open{display:flex}.navbar-mobile-menu .nav-link{padding:12px var(--space-sm);border-radius:var(--radius-md);border-bottom:1px solid var(--color-bone);font-size:16px;display:block}.navbar-mobile-menu .nav-link:last-of-type{border-bottom:none}.navbar-mobile-menu .nav-link:hover{background:var(--color-bone);color:var(--color-obsidian)}.mobile-menu-bottom{padding-top:var(--space-sm);border-top:1px solid var(--color-silver);margin-top:var(--space-xs);justify-content:space-between;align-items:center;display:flex}@media (width<=768px){.navbar-actions .nav-link,.navbar-user{display:none}.navbar-hamburger{display:flex}.navbar-actions{gap:var(--space-sm)}.navbar-actions .btn-primary{display:none}}@media (width<=640px){.user-email{display:none}.navbar-inner{padding:0 var(--space-md)}}.landing{background-color:var(--color-paper);min-height:100vh}.hero{padding:var(--spacing-80) var(--space-lg);text-align:center;background-color:var(--color-paper);justify-content:center;align-items:center;min-height:60vh;display:flex;position:relative;overflow:hidden}.hero-glow{pointer-events:none;z-index:0;background:radial-gradient(#f1ccff26 0%,#91e0ff14 50%,#0000 80%);width:800px;height:600px;position:absolute;top:-200px;left:50%;transform:translate(-50%)}.hero-content{z-index:1;max-width:800px;position:relative}.hero-title{font-family:var(--font-pp-editorial-new);font-size:var(--text-display-lg);color:var(--color-obsidian);margin-bottom:var(--space-lg);letter-spacing:-.02em;font-weight:400;line-height:1.15}.hero-subtitle{font-family:var(--font-switzer);color:var(--color-graphite);max-width:600px;margin:0 auto var(--space-xl);font-size:18px;line-height:1.6}.hero-cta{gap:var(--space-md);flex-wrap:wrap;justify-content:center;display:flex}.features{padding:var(--spacing-80) var(--space-lg);max-width:var(--page-max-width);background-color:var(--color-paper);margin:0 auto}.section-title{font-family:var(--font-pp-editorial-new);text-align:center;font-size:var(--text-display);color:var(--color-obsidian);margin-bottom:var(--spacing-40);letter-spacing:-.015em;font-weight:400}.section-subtitle{font-family:var(--font-switzer);text-align:center;color:var(--color-slate);margin-bottom:var(--spacing-56);margin-top:-16px;font-size:16px}.features-grid{gap:var(--spacing-24);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.feature-card{background:var(--color-paper);border:1px solid var(--color-silver);border-radius:var(--radius-cards);padding:var(--space-xl);transition:all var(--transition-base);text-align:left;box-shadow:var(--shadow-sm)}.feature-card:hover{border-color:var(--color-graphite);box-shadow:var(--shadow-md);transform:translateY(-4px)}.feature-icon{border-radius:var(--radius-badges);width:52px;height:52px;margin-bottom:var(--space-md);justify-content:center;align-items:center;display:flex}.icon-photo{background:var(--color-bone);color:var(--color-obsidian)}.icon-text{color:var(--color-obsidian);background:#f1ccff66}.icon-barcode{color:var(--color-obsidian);background:#91e0ff66}.feature-card h3{font-family:var(--font-switzer);color:var(--color-obsidian);margin-bottom:var(--space-xs);letter-spacing:-.01em;font-size:20px;font-weight:500}.feature-card p{font-family:var(--font-switzer);color:var(--color-slate);font-size:15px;line-height:1.6}.benefits-section{padding:var(--spacing-80) var(--space-lg);max-width:var(--page-max-width);margin:0 auto}.benefits-grid{gap:var(--spacing-24);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));display:grid}.benefit-card{background:var(--color-paper);border:1px solid var(--color-silver);border-radius:var(--radius-cards);padding:var(--space-xl);transition:all var(--transition-base);text-align:left;box-shadow:var(--shadow-sm)}.benefit-card:hover{border-color:var(--color-graphite);box-shadow:var(--shadow-md);transform:translateY(-4px)}.benefit-icon{border-radius:var(--radius-badges);background:var(--color-bone);width:48px;height:48px;color:var(--color-obsidian);margin-bottom:var(--space-md);justify-content:center;align-items:center;display:flex}.benefit-card h3{font-family:var(--font-switzer);margin-bottom:var(--space-xs);color:var(--color-obsidian);letter-spacing:-.01em;font-size:20px;font-weight:500}.benefit-card p{color:var(--color-slate);font-size:15px;line-height:1.6}.landing-footer{border-top:1px solid var(--color-silver);padding:var(--space-2xl) var(--space-lg);background-color:var(--color-bone)}.footer-inner{max-width:var(--page-max-width);justify-content:space-between;align-items:center;margin:0 auto;display:flex}.footer-brand{color:var(--color-obsidian);align-items:center;gap:6px;font-size:14px;font-weight:600;display:flex}.footer-copy{color:var(--color-slate);font-size:13px}@media (width<=768px){.hero-title{font-size:40px}.hero{min-height:auto;padding:var(--spacing-56) var(--space-md)}.footer-inner{gap:var(--space-sm);text-align:center;flex-direction:column}.benefits-grid,.features-grid{grid-template-columns:1fr}}@media (width<=480px){.hero-title{font-size:30px}.hero{padding:48px var(--space-md) 40px}.hero-subtitle{font-size:16px}.hero-cta{flex-direction:column;align-items:center}.hero-cta .btn{justify-content:center;width:100%;max-width:280px}.section-title{font-size:var(--text-heading-sm)}.features,.benefits-section{padding:48px var(--space-md)}.feature-card,.benefit-card{padding:var(--space-lg)}}.auth-page{min-height:100vh;padding:var(--space-lg);background-color:var(--color-bone);justify-content:center;align-items:center;display:flex;position:relative}.auth-glow{pointer-events:none;background:radial-gradient(#f1ccff33 0%,#0000 70%);width:600px;height:400px;position:absolute;top:0;left:50%;transform:translate(-50%)}.auth-card{background:var(--color-paper);border:1px solid var(--color-silver);border-radius:var(--radius-cards);width:100%;max-width:420px;padding:var(--space-2xl);box-shadow:var(--shadow-md);position:relative}.auth-header{text-align:center;margin-bottom:var(--space-xl)}.auth-brand{margin-bottom:var(--space-md);color:var(--color-obsidian);display:inline-flex}.auth-title{font-family:var(--font-pp-editorial-new);color:var(--color-obsidian);margin-bottom:var(--space-xs);font-size:2rem;font-weight:400}.auth-subtitle{font-family:var(--font-switzer);color:var(--color-slate);font-size:.9rem}.auth-form{gap:var(--space-md);flex-direction:column;display:flex}.auth-error{padding:var(--space-md);border-radius:var(--radius-inputs);color:var(--color-error);text-align:center;background:#ef444414;border:1px solid #ef444426;font-size:.85rem}.input-with-icon{position:relative}.input-icon{color:var(--color-slate);pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.input-icon-left{padding-left:44px}.auth-submit{width:100%;margin-top:var(--space-sm)}.spin{animation:.7s linear infinite spin}.auth-footer{text-align:center;margin-top:var(--space-lg);padding-top:var(--space-lg);border-top:1px solid var(--color-silver);color:var(--color-slate);font-size:.85rem}.auth-footer a{color:var(--color-obsidian);font-weight:600}.auth-footer a:hover{color:var(--color-slate)}.meal-log-page{padding-bottom:var(--space-3xl);background-color:var(--color-paper)}.meal-log-header{margin-bottom:var(--spacing-40);text-align:left}.meal-log-header h1{font-family:var(--font-pp-editorial-new);font-size:var(--text-display);color:var(--color-obsidian);margin-bottom:var(--space-xs);font-weight:400}.text-secondary{font-family:var(--font-switzer);color:var(--color-slate)}.meal-log-grid{gap:var(--spacing-32);grid-template-columns:1fr 1fr;align-items:start;display:grid}.meal-input-card{gap:var(--space-lg);border:1px solid var(--color-silver);box-shadow:var(--shadow-sm);background-color:var(--color-paper);border-radius:var(--radius-cards);flex-direction:column;display:flex}.meal-type-selector{gap:var(--space-sm);flex-wrap:wrap;display:flex}.meal-type-btn{background:var(--color-bone);border:1px solid var(--color-silver);border-radius:var(--radius-pills);font-family:var(--font-switzer);color:var(--color-graphite);cursor:pointer;transition:all var(--transition-fast);padding:8px 16px;font-size:14px;font-weight:500}.meal-type-btn:hover{background:var(--color-silver);color:var(--color-obsidian)}.meal-type-btn.active{background:var(--color-lilac-bloom);border-color:var(--color-lilac-bloom);color:var(--color-obsidian)}.input-tabs{background:var(--color-bone);border-radius:var(--radius-inputs);border:1px solid var(--color-silver);gap:4px;padding:4px;display:flex}.tab-btn{font-family:var(--font-switzer);color:var(--color-slate);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:6px;padding:10px 16px;font-size:14px;font-weight:500;display:flex}.tab-btn:hover{color:var(--color-obsidian)}.tab-btn.active{background:var(--color-paper);color:var(--color-obsidian);box-shadow:var(--shadow-subtle)}.input-content{min-height:140px}.meal-textarea{resize:vertical;border:1px solid var(--color-silver);min-height:120px;line-height:1.6}.barcode-hint{color:var(--color-slate);margin-top:var(--space-sm);font-size:13px;line-height:1.5}.photo-input-area{gap:var(--space-md);flex-direction:column;display:flex}.photo-upload-btn{align-items:center;gap:var(--space-sm);padding:var(--space-xl);background:var(--color-bone);border:2px dashed var(--color-silver);border-radius:var(--radius-cards);color:var(--color-graphite);cursor:pointer;transition:all var(--transition-base);font-family:var(--font-switzer);flex-direction:column;font-size:15px;display:flex}.photo-upload-btn:hover{border-color:var(--color-slate);background:var(--color-silver);color:var(--color-obsidian)}.photo-hint{color:var(--color-slate);font-size:13px}.photo-preview{border-radius:var(--radius-cards);position:relative;overflow:hidden}.photo-preview img{object-fit:cover;border-radius:var(--radius-cards);width:100%;max-height:250px}.photo-clear{top:var(--space-sm);right:var(--space-sm);border-radius:8px;position:absolute;color:#fff!important;background:#000000b3!important}.meal-submit{width:100%}.result-panel{position:sticky;top:80px}.result-card{border-color:var(--color-silver);box-shadow:var(--shadow-md);border-radius:var(--radius-cards)}.nutri-card{background:var(--color-paper);border:1px solid var(--color-silver);border-radius:24px;padding:24px;box-shadow:0 10px 30px #0000000d}.nutri-header{align-items:center;gap:16px;margin-bottom:24px;display:flex}.nutri-thumbnail{object-fit:cover;background:var(--color-bone);width:80px;height:80px;color:var(--color-slate);border-radius:16px;justify-content:center;align-items:center;display:flex}.nutri-info{flex:1}.nutri-title{font-family:var(--font-switzer);color:var(--color-obsidian);margin-bottom:8px;font-size:20px;font-weight:700;line-height:1.2}.nutri-meta{color:var(--color-slate);justify-content:space-between;align-items:center;font-size:13px;display:flex}.nutri-score-badge{color:#ff6b00;font-weight:700}.nutri-macros{border-top:1px solid var(--color-bone);border-bottom:1px solid var(--color-bone);justify-content:space-between;align-items:center;margin-bottom:24px;padding:16px 0;display:flex}.nutri-macro{text-align:center;border-right:1px solid var(--color-bone);flex:1}.nutri-macro:last-child{border-right:none}.nutri-macro-val{color:var(--color-obsidian);justify-content:center;align-items:center;gap:4px;font-size:18px;font-weight:700;display:flex}.nutri-macro-label{color:var(--color-slate);justify-content:center;align-items:center;gap:4px;margin-top:4px;font-size:12px;display:flex}.nutri-actions{gap:12px;display:flex}.btn-outline{border:1px solid var(--color-obsidian);color:var(--color-obsidian);background:0 0;border-radius:12px}.btn-dark{background:var(--color-obsidian);color:var(--color-paper);border:none;border-radius:12px}.result-header{margin-bottom:var(--space-md);justify-content:space-between;align-items:center;display:flex}.result-success{color:var(--color-success);align-items:center;gap:6px;font-size:15px;font-weight:600;display:flex}.tier-time{opacity:.7;font-family:var(--font-mono);margin-left:4px;font-size:11px}.result-food-name{font-family:var(--font-switzer);color:var(--color-obsidian);letter-spacing:-.01em;margin-bottom:2px;font-size:24px;font-weight:600}.result-serving{color:var(--color-slate);margin-bottom:var(--space-lg);font-size:14px}.macro-grid{gap:var(--space-md);margin-bottom:var(--space-lg);grid-template-columns:repeat(2,1fr);display:grid}.macro-card{padding:var(--space-md);border-radius:var(--radius-cards);text-align:center;box-shadow:var(--shadow-subtle);flex-direction:column;align-items:center;display:flex}.macro-calories{background:#d32f2f0d;border:1px solid #d32f2f1f}.macro-protein{background:#4f46e50d;border:1px solid #4f46e51f}.macro-carbs{background:#e67e220d;border:1px solid #e67e221f}.macro-fat{background:#0f9d580d;border:1px solid #0f9d581f}.macro-value{font-size:var(--text-heading-sm);font-weight:700}.macro-calories .macro-value{color:var(--color-calories)}.macro-protein .macro-value{color:var(--color-protein)}.macro-carbs .macro-value{color:var(--color-carbs)}.macro-fat .macro-value{color:var(--color-fat)}.macro-label{color:var(--color-slate);text-transform:uppercase;letter-spacing:.05em;margin-top:4px;font-size:12px;font-weight:500}.confidence-bar{margin-top:var(--space-sm)}.confidence-label{color:var(--color-graphite);margin-bottom:6px;font-size:14px;font-weight:500;display:block}.confidence-track{background:var(--color-bone);border-radius:var(--radius-full);height:6px;overflow:hidden}.confidence-fill{background:var(--color-lilac-bloom);border-radius:var(--radius-full);height:100%;transition:width var(--transition-slow)}.result-placeholder{text-align:center;padding:var(--space-3xl) var(--space-lg);color:var(--color-slate);border:1px dashed var(--color-silver);border-radius:var(--radius-cards);background:var(--color-bone);flex-direction:column;justify-content:center;align-items:center;min-height:300px;display:flex}.result-placeholder-icon{color:var(--color-slate);margin-bottom:var(--space-md);opacity:.5}.result-placeholder h3{margin-top:var(--space-sm);font-weight:500}.result-placeholder-hint{margin-top:var(--space-xs);color:var(--color-slate);font-size:13px}.result-adjustment-form{gap:var(--space-md);margin-bottom:var(--space-md);border-bottom:1px solid var(--color-silver);padding-bottom:var(--space-md);flex-direction:column;display:flex}.input-row-grid{gap:var(--space-md);grid-template-columns:1fr 1fr;display:grid}@media (width<=768px){.meal-log-grid{gap:var(--space-lg);grid-template-columns:1fr}.result-panel{position:static}}@media (width<=480px){.meal-log-header h1{font-size:var(--text-heading-sm)}.meal-log-header{margin-bottom:var(--spacing-24)}.tab-btn{gap:4px;padding:10px 8px;font-size:13px}.meal-type-selector{gap:6px}.meal-type-btn{padding:7px 12px;font-size:13px}.macro-grid{gap:var(--space-sm);grid-template-columns:repeat(2,1fr)}.macro-value{font-size:22px}.input-row-grid{grid-template-columns:1fr}.result-food-name{font-size:20px}}.meal-history-page{padding-bottom:var(--space-3xl);background-color:var(--color-paper)}.history-header{margin-bottom:var(--spacing-40);justify-content:space-between;align-items:center;display:flex}.history-header h1{font-family:var(--font-pp-editorial-new);font-size:var(--text-display);color:var(--color-obsidian);margin-bottom:var(--space-xs);font-weight:400}.history-loading{padding:var(--space-3xl);justify-content:center;display:flex}.history-empty{padding:var(--space-3xl);text-align:center;color:var(--color-slate);background:var(--color-bone);border:1px dashed var(--color-silver);border-radius:var(--radius-cards);flex-direction:column;justify-content:center;align-items:center;display:flex}.history-empty h3{margin-top:var(--space-md);color:var(--color-obsidian);font-family:var(--font-switzer);font-weight:500}.history-empty p{margin-top:var(--space-xs);font-size:15px}.meals-list{flex-direction:column;display:flex}.meal-date-group{gap:var(--space-lg);margin-bottom:var(--space-xl);grid-template-columns:repeat(auto-fill,minmax(320px,1fr));display:grid}.meal-date-header{grid-column:1/-1}.meal-delete-abs{opacity:0;transition:opacity var(--transition-fast);background:var(--color-bone);border-radius:50%;width:32px;height:32px}.nutri-card:hover .meal-delete-abs{opacity:1}.pagination{justify-content:center;align-items:center;gap:var(--space-md);margin-top:var(--space-2xl);display:flex}.page-info{font-family:var(--font-switzer);color:var(--color-graphite);font-size:14px;font-weight:500}@media (width<=768px){.meal-date-group{gap:var(--space-md);grid-template-columns:1fr}.meal-delete-abs{opacity:1}}@media (width<=480px){.history-header{margin-bottom:var(--spacing-24);flex-direction:column;align-items:flex-start;gap:12px}.history-header h1{font-size:var(--text-heading-sm)}.history-header .btn{align-self:flex-start}.meal-macros{display:none}.meal-name{font-size:15px}}.onboarding-container{box-sizing:border-box;width:100%;max-width:600px;margin:40px auto;padding:0 16px;animation:.4s ease-out fadeIn}.onboarding-card{background:var(--color-paper);border:1px solid var(--color-silver);border-radius:var(--radius-cards-elevated);box-shadow:var(--shadow-lg);text-align:center;box-sizing:border-box;width:100%;padding:40px}.onboarding-steps{justify-content:center;gap:12px;margin-bottom:30px;display:flex}.step-dot{background:var(--color-silver);width:10px;height:10px;transition:all var(--transition-fast);border-radius:50%}.step-dot.active{background:var(--color-lilac-bloom);transform:scale(1.3)}.onboarding-title{font-family:var(--font-pp-editorial-new);font-size:var(--text-heading-sm);color:var(--color-obsidian);word-wrap:break-word;margin-bottom:8px}.onboarding-subtitle{color:var(--color-slate);word-wrap:break-word;margin-bottom:32px;font-size:16px}.onboarding-form{flex-direction:column;gap:24px;display:flex}.options-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.option-button{background:var(--color-bone);border:1px solid var(--color-silver);border-radius:var(--radius-inputs);color:var(--color-obsidian);cursor:pointer;transition:all var(--transition-fast);text-align:center;padding:16px;font-size:15px;font-weight:500}.option-button:hover{border-color:var(--color-graphite)}.option-button.selected{background:var(--color-lilac-bloom);border-color:var(--color-obsidian);color:var(--color-obsidian)}.multiselect-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.checkbox-tile{background:var(--color-bone);border:1px solid var(--color-silver);border-radius:var(--radius-inputs);cursor:pointer;transition:all var(--transition-fast);-webkit-user-select:none;user-select:none;align-items:center;gap:10px;padding:12px 16px;display:flex}.checkbox-tile:hover{border-color:var(--color-graphite)}.checkbox-tile.active{border-color:var(--color-obsidian);background:#f1ccff33}.checkbox-tile input{accent-color:var(--color-obsidian)}.onboarding-nav{justify-content:space-between;gap:16px;margin-top:32px;display:flex}.onboarding-nav button{flex:1}@media (width<=600px){.onboarding-container{margin:20px auto}.onboarding-card{padding:24px 16px}.options-grid,.multiselect-grid{grid-template-columns:1fr}.onboarding-title{font-size:28px}.onboarding-subtitle{margin-bottom:24px;font-size:14px}.checkbox-tile{padding:12px}}.dashboard-grid{gap:var(--space-xl);margin-top:var(--space-lg);grid-template-columns:2fr 1fr;display:grid}.dashboard-hero-card{background:linear-gradient(135deg, var(--color-bone), var(--color-paper));border:1px solid var(--color-silver);border-radius:var(--radius-cards-elevated);box-shadow:var(--shadow-md);grid-column:span 2;justify-content:space-between;align-items:center;padding:32px;display:flex}.dashboard-hero-text h1{font-family:var(--font-pp-editorial-new);font-size:var(--text-display);margin-bottom:8px;font-weight:400}.dashboard-hero-text p{color:var(--color-slate);font-size:16px}.streak-display{background:var(--color-paper);border:1px solid var(--color-silver);border-radius:var(--radius-pills);box-shadow:var(--shadow-sm);align-items:center;gap:12px;padding:12px 20px;font-size:16px;font-weight:600;display:flex}.streak-fire-icon{font-size:24px;animation:1.5s infinite pulse}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.15)}to{transform:scale(1)}}.dashboard-main{gap:var(--space-lg);flex-direction:column;display:flex}.progress-card{padding:32px}.calorie-summary{justify-content:space-between;align-items:center;gap:40px;margin-bottom:32px;display:flex}.calorie-dial{flex-direction:column;justify-content:center;align-items:center;width:160px;height:160px;display:flex;position:relative}.calorie-dial svg{width:100%;height:100%;position:absolute;top:0;left:0;transform:rotate(-90deg)}.calorie-dial-value{color:var(--color-obsidian);font-size:28px;font-weight:700;line-height:1}.calorie-dial-label{color:var(--color-slate);text-transform:uppercase;letter-spacing:.05em;margin-top:4px;font-size:13px}.calorie-stats-list{flex-direction:column;flex:1;gap:16px;display:flex}.calorie-stat-item{border-bottom:1px solid var(--color-silver);justify-content:space-between;align-items:center;padding-bottom:12px;display:flex}.calorie-stat-label{color:var(--color-slate);font-weight:500}.calorie-stat-val{font-size:18px;font-weight:600}.calorie-stat-val.remaining{color:var(--color-calories)}.macros-progress-grid{grid-template-columns:repeat(3,1fr);gap:16px;margin-top:16px;display:grid}.macro-progress-bar{flex-direction:column;gap:8px;display:flex}.macro-bar-label{justify-content:space-between;font-size:14px;font-weight:500;display:flex}.macro-bar-track{background:var(--color-bone);border-radius:var(--radius-full);height:8px;overflow:hidden}.macro-bar-fill{border-radius:var(--radius-full);height:100%;transition:width .5s ease-out}.dashboard-sidebar{gap:var(--space-lg);flex-direction:column;display:flex}.actions-card{flex-direction:column;gap:12px;display:flex}.actions-card .btn{justify-content:flex-start;width:100%}.summary-card{padding:24px}.summary-title{margin-bottom:16px;font-size:18px;font-weight:600}.quick-meal-list{flex-direction:column;gap:12px;display:flex}.quick-meal-item{background:var(--color-bone);border-radius:var(--radius-inputs);border:1px solid var(--color-silver);justify-content:space-between;align-items:center;padding:12px;display:flex}.quick-meal-info{flex-direction:column;gap:2px;display:flex}.quick-meal-name{font-size:14px;font-weight:500}.quick-meal-type{color:var(--color-slate);text-transform:capitalize;font-size:12px}.quick-meal-cals{font-size:15px;font-weight:600}@media (width<=900px){.dashboard-grid{grid-template-columns:1fr}.dashboard-hero-card{text-align:center;flex-direction:column;grid-column:span 1;gap:16px}}@media (width<=600px){.dashboard-hero-card{border-radius:var(--radius-cards);padding:20px}.dashboard-hero-text h1{font-size:var(--text-heading-sm)}.progress-card{padding:20px}.calorie-summary{flex-direction:column;align-items:center;gap:24px}.calorie-stats-list{width:100%}.macros-progress-grid{grid-template-columns:1fr}.summary-card{padding:16px}}.analytics-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:32px;display:flex}.timeframe-tabs{background:var(--color-bone);border:1px solid var(--color-silver);border-radius:var(--radius-pills);padding:4px;display:flex}.timeframe-tab{border-radius:var(--radius-pills);color:var(--color-graphite);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;padding:8px 16px;font-size:14px;font-weight:500}.timeframe-tab.active{background:var(--color-paper);color:var(--color-obsidian);box-shadow:var(--shadow-sm)}.analytics-grid{gap:var(--space-xl);grid-template-columns:2fr 1fr;display:grid}.chart-card{margin-bottom:var(--space-lg);padding:32px}.chart-title-area{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.chart-legend{gap:16px;font-size:13px;font-weight:500;display:flex}.legend-item{align-items:center;gap:6px;display:flex}.legend-color{border-radius:3px;width:12px;height:12px}.chart-svg-container{width:100%;height:240px;position:relative}.chart-axis-label{fill:var(--color-slate);font-size:11px;font-family:var(--font-mono)}.chart-grid-line{stroke:var(--color-silver);stroke-dasharray:4 4;opacity:.5}.bmi-linear-card{margin-bottom:var(--space-lg);padding:24px 32px}.bmi-linear-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.bmi-linear-title{color:var(--color-obsidian);font-size:16px;font-weight:600}.bmi-linear-badge{color:#fff;border-radius:20px;padding:4px 12px;font-size:13px;font-weight:600}.bmi-linear-value{color:var(--color-obsidian);margin-bottom:16px;font-size:42px;font-weight:800;line-height:1}.bmi-linear-scale-container{width:100%;padding-bottom:20px;position:relative}.bmi-linear-track{background:var(--color-bone);border-radius:8px;height:16px;display:flex;position:relative;overflow:hidden}.bmi-linear-segment{border-right:2px solid #fff;height:100%}.bmi-linear-segment:last-child{border-right:none}.bmi-linear-marker{z-index:10;background:0 0;border:3px solid #fff;border-radius:12px;width:24px;height:32px;transition:left .5s;position:absolute;top:-8px;transform:translate(-50%);box-shadow:0 2px 4px #00000026}.bmi-linear-labels{width:100%;height:20px;margin-top:4px;position:relative}.bmi-linear-label{color:var(--color-slate);font-size:11px;position:absolute;transform:translate(-50%)}.goal-stats-row{gap:16px;margin-bottom:24px;display:flex}.goal-stat-box{background:var(--color-bone);border-radius:var(--radius-inputs);text-align:center;flex:1;padding:16px}.goal-stat-label{color:var(--color-slate);margin-bottom:8px;font-size:13px}.goal-stat-val{color:var(--color-obsidian);font-size:20px;font-weight:700}.weight-log-notification{color:var(--color-warning);border-radius:var(--radius-inputs);background:#f59e0b1a;align-items:center;gap:8px;margin-bottom:16px;padding:12px 16px;font-size:14px;font-weight:500;display:flex}.inline-log-weight-area{flex-direction:column;gap:12px;margin-top:24px;display:flex}.analytics-sidebar{gap:var(--space-lg);flex-direction:column;display:flex}.weight-form{flex-direction:column;gap:16px;display:flex}.weight-logs-list{flex-direction:column;gap:12px;max-height:350px;padding-right:4px;display:flex;overflow-y:auto}.weight-log-item{background:var(--color-bone);border-radius:var(--radius-inputs);border:1px solid var(--color-silver);justify-content:space-between;align-items:center;padding:12px;display:flex}.weight-log-date{color:var(--color-slate);font-size:13px}.weight-log-val{font-size:15px;font-weight:600}.weight-log-delete{color:var(--color-error);cursor:pointer;transition:opacity var(--transition-fast);background:0 0;border:none;padding:4px;font-size:14px}.weight-log-delete:hover{opacity:.7}@media (width<=900px){.analytics-grid{grid-template-columns:1fr}}@media (width<=600px){.analytics-header{flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:20px}.analytics-header h1{font-size:var(--text-heading-sm)}.chart-card,.bmi-linear-card{padding:20px}.chart-title-area{flex-direction:column;align-items:flex-start;gap:8px}.chart-legend{flex-wrap:wrap;gap:8px}.chart-svg-container{height:180px}.timeframe-tabs{justify-content:space-between;width:100%}.timeframe-tab{text-align:center;flex:1;padding:8px;font-size:13px}}.profile-container{max-width:1000px;margin:40px auto;padding:0 20px;animation:.4s ease-out fadeIn}.profile-header{border-bottom:1px solid var(--color-silver);margin-bottom:32px;padding-bottom:24px}.profile-title{font-family:var(--font-pp-editorial-new);font-size:var(--text-display);color:var(--color-obsidian);margin-bottom:8px}.profile-subtitle{color:var(--color-slate);font-size:16px}.profile-grid{grid-template-columns:1.2fr 2fr;align-items:start;gap:32px;display:grid}.profile-card{background:var(--color-paper);border:1px solid var(--color-silver);border-radius:var(--radius-cards);padding:var(--card-padding);box-shadow:var(--shadow-md);flex-direction:column;gap:24px;display:flex}.profile-card h3{font-family:var(--font-pp-editorial-new);font-size:var(--text-subheading);border-bottom:1px solid var(--color-bone);margin-bottom:4px;padding-bottom:12px}.targets-display{flex-direction:column;gap:16px;display:flex}.target-item{border-radius:var(--radius-md);background:var(--color-bone);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.target-item.calories{border-left:4px solid var(--color-calories);font-weight:600}.target-item.protein{border-left:4px solid var(--color-protein)}.target-item.carbs{border-left:4px solid var(--color-carbs)}.target-item.fat{border-left:4px solid var(--color-fat)}.target-val{font-family:var(--font-mono);font-size:16px}.custom-target-section{background:var(--color-bone);border-radius:var(--radius-md);flex-direction:column;gap:12px;padding:16px;display:flex}.custom-target-toggle{cursor:pointer;align-items:center;gap:10px;font-weight:500;display:flex}.custom-target-toggle input{accent-color:var(--color-obsidian);width:16px;height:16px}.profile-form{flex-direction:column;gap:24px;display:flex}.form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.save-status{border-radius:var(--radius-md);text-align:center;padding:12px;font-size:14px;font-weight:500}.save-status.success{color:var(--color-success);border:1px solid var(--color-success);background:#10b9811a}.save-status.error{color:var(--color-error);border:1px solid var(--color-error);background:#ef44441a}.custom-targets-grid{grid-template-columns:repeat(2,1fr);gap:12px;margin-top:16px;display:grid}@media (width<=850px){.profile-grid{grid-template-columns:1fr}}@media (width<=600px){.profile-container{padding:0 var(--space-md);margin:20px auto}.profile-title{font-size:var(--text-heading-sm)}.form-row,.custom-targets-grid{grid-template-columns:1fr}.profile-card{padding:var(--space-md)}}.challenges-page{max-width:1200px;margin:0 auto;padding:2rem;animation:.4s ease-out fadeIn}.challenges-page .page-header{margin-bottom:2rem}.challenges-page .page-header h1{font-family:var(--font-display);color:var(--color-text-primary);margin-bottom:.5rem;font-size:2.5rem}.challenges-page .page-header p{color:var(--color-text-secondary);font-size:1.1rem}.challenges-section{margin-bottom:3rem}.challenges-section h2{font-family:var(--font-display);color:var(--color-text-primary);border-bottom:1px solid var(--color-border);margin-bottom:1.5rem;padding-bottom:.5rem;font-size:1.8rem}.challenge-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;display:grid}.challenge-card{background-color:var(--color-paper);border:1px solid var(--color-silver);border-radius:var(--radius-cards);padding:var(--card-padding);transition:all var(--transition-base);box-shadow:var(--shadow-md);flex-direction:column;display:flex;position:relative}.challenge-card:hover{border-color:var(--color-graphite);box-shadow:var(--shadow-glow);transform:translateY(-4px)}.challenge-card.active{border-color:var(--color-obsidian);box-shadow:var(--shadow-glow)}.challenge-card h3{color:var(--color-text-primary);margin-bottom:.75rem;font-size:1.25rem}.challenge-card p{color:var(--color-text-secondary);flex-grow:1;margin-bottom:1.5rem;line-height:1.5}.progress-container{margin-bottom:1.5rem}.progress-bar{background-color:var(--color-background);border-radius:4px;height:8px;margin-bottom:.5rem;overflow:hidden}.progress-fill{background-color:var(--color-primary);border-radius:4px;height:100%;transition:width .3s}.progress-text{color:var(--color-text-secondary);text-align:right;font-size:.875rem;display:block}.challenge-footer{justify-content:space-between;align-items:center;margin-top:auto;display:flex}.points{color:var(--color-accent);background-color:color-mix(in srgb, var(--color-accent) 15%, transparent);border-radius:9999px;padding:.25rem .75rem;font-size:.875rem;font-weight:600}.status{text-transform:capitalize;color:var(--color-primary);font-size:.875rem;font-weight:500}.opt-in-btn{background-color:var(--color-primary);color:var(--color-background);border-radius:var(--radius-md);cursor:pointer;border:none;padding:.5rem 1rem;font-weight:500;transition:background-color .2s}.opt-in-btn:hover{background-color:color-mix(in srgb, var(--color-primary) 80%, black)}.empty-state{color:var(--color-text-secondary);text-align:center;background-color:var(--color-surface);border-radius:var(--radius-lg);border:1px dashed var(--color-border);padding:2rem;font-style:italic}.bmi-container{max-width:600px;margin:0 auto}.bmi-card{text-align:center}.bmi-title{margin-bottom:var(--space-xs)}.bmi-subtitle{color:var(--color-slate);margin-bottom:var(--space-xl)}.bmi-form{text-align:left;max-width:400px;margin:0 auto}.toggle-group{gap:var(--space-sm);margin-bottom:var(--space-lg);display:flex}.toggle-group .btn{flex:1}.form-row{gap:var(--space-md);display:flex}.form-group.half{flex:1}.bmi-result-section{margin-top:var(--space-2xl);padding-top:var(--space-xl);border-top:1px solid var(--color-silver)}.bmi-value{font-size:var(--text-display);margin-left:8px;font-weight:700;display:inline-block}.bmi-category{font-size:var(--text-subheading);margin-top:var(--space-xs);color:var(--color-slate)}.bmi-meter-container{margin-top:var(--space-xl);width:100%;max-width:300px;margin-left:auto;margin-right:auto;position:relative}.bmi-meter{width:100%;height:auto;overflow:visible}.needle{transition:transform 1s cubic-bezier(.175,.885,.32,1.275)}.meter-labels{margin-top:var(--space-sm);font-size:var(--text-caption);color:var(--color-slate);justify-content:space-between;font-weight:500;display:flex}.chat-widget-container{z-index:1000;flex-direction:column;align-items:flex-end;display:flex;position:fixed;bottom:24px;right:24px}.chat-fab{background:var(--color-paper);width:60px;height:60px;color:var(--color-ink);border:1px solid var(--color-border);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 4px 12px #0000001a}.chat-fab:hover{transform:translateY(-2px);box-shadow:0 6px 16px #00000026}.chat-window{background:var(--color-paper);border:2px solid var(--color-border);border-radius:16px;flex-direction:column;width:350px;height:500px;max-height:calc(100vh - 40px);animation:.3s ease-out slideUp;display:flex;overflow:hidden;box-shadow:0 12px 32px #00000040}.chat-header{background:var(--color-paper);color:var(--color-ink);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.chat-header h3{font-family:var(--font-heading);margin:0;font-size:1.1rem;font-weight:600}.close-btn{color:var(--color-ink);cursor:pointer;opacity:.8;background:0 0;border:none;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:1.5rem;font-weight:700;line-height:1;transition:transform .2s,opacity .2s;display:flex}.close-btn:hover{opacity:1;transform:scale(1.1)}.chat-body{background:var(--color-sand);flex-direction:column;flex:1;gap:12px;padding:16px;display:flex;overflow-y:auto}.chat-message{flex-direction:column;max-width:85%;display:flex}.chat-message.user{align-self:flex-end}.chat-message.model{align-self:flex-start}.message-content{word-wrap:break-word;border-radius:12px;padding:12px 16px;font-size:.95rem;line-height:1.4}.chat-message.user .message-content{background:var(--color-paper);color:var(--color-ink);border:1px solid var(--color-border);border-bottom-right-radius:2px}.chat-message.model .message-content{background:var(--color-paper);color:var(--color-ink);border:1px solid var(--color-border);border-bottom-left-radius:2px}.markdown-content p{margin:0 0 8px}.markdown-content p:last-child{margin-bottom:0}.markdown-content ul,.markdown-content ol{margin:0 0 8px;padding-left:20px}.markdown-content ul:last-child,.markdown-content ol:last-child{margin-bottom:0}.markdown-content li{margin-bottom:4px}.typing{align-items:center;gap:4px;padding:16px;display:flex}.dot{background:var(--color-slate);border-radius:50%;width:6px;height:6px;animation:1.4s ease-in-out infinite both typingBounce}.dot:first-child{animation-delay:-.32s}.dot:nth-child(2){animation-delay:-.16s}@keyframes typingBounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.chat-footer{background:var(--color-paper);border-top:1px solid var(--color-border);align-items:center;gap:12px;padding:12px 16px;display:flex}.chat-footer input{border:1px solid var(--color-border);font-family:var(--font-body);background:var(--color-sand);color:var(--color-ink);border-radius:20px;outline:none;flex:1;padding:10px 16px;font-size:.95rem}.chat-footer input:focus{border-color:var(--color-ink)}.chat-footer button{background:var(--color-ink);color:var(--color-paper);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;transition:opacity .2s;display:flex}.chat-footer button:disabled{opacity:.5;cursor:not-allowed}@media (width<=480px){.chat-widget-container{bottom:16px;right:16px}.chat-window{width:calc(100vw - 32px);height:80vh}}
