:root,[data-theme=dark]{--obsidian-accent: #FF7A5C;--obsidian-accent-dark: #E5694D;--obsidian-accent-light: #FF9A82;--obsidian-accent-muted: rgba(255, 122, 92, .15);--obsidian-accent-glow: rgba(255, 122, 92, .4);--obsidian-bg-primary: #0D0D12;--obsidian-bg-secondary: #14141C;--obsidian-bg-tertiary: #1A1A24;--obsidian-bg-card: rgba(30, 32, 44, .6);--obsidian-surface-glass: rgba(30, 32, 44, .6);--obsidian-surface-glass-light: rgba(40, 42, 54, .5);--obsidian-surface-glass-dark: rgba(20, 22, 30, .8);--obsidian-border: rgba(255, 255, 255, .08);--obsidian-border-subtle: rgba(255, 255, 255, .06);--obsidian-border-accent: rgba(255, 122, 92, .3);--obsidian-text-primary: #FFFFFF;--obsidian-text-secondary: #A0A4B8;--obsidian-text-tertiary: #6B7280;--obsidian-calories: #FF7A5C;--obsidian-protein: #A78BFA;--obsidian-carbs: #FBBF24;--obsidian-fat: #60A5FA;--obsidian-shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--obsidian-shadow-card: 0 4px 20px rgba(0, 0, 0, .4);--obsidian-shadow-md: 0 8px 30px rgba(0, 0, 0, .5);--obsidian-shadow-lg: 0 16px 48px rgba(0, 0, 0, .6);--obsidian-shadow-glow: 0 0 40px rgba(255, 122, 92, .3);--obsidian-radius-sm: 12px;--obsidian-radius-md: 16px;--obsidian-radius-lg: 20px;--obsidian-radius-xl: 24px;--obsidian-radius-2xl: 28px;--obsidian-radius-pill: 9999px;--obsidian-transition-fast: .15s ease;--obsidian-transition-base: .2s ease;--obsidian-transition-slow: .3s ease;--sage-primary: #FF7A5C;--sage-primary-dark: #E5694D;--sage-primary-light: #FF9A82;--sage-primary-muted: rgba(255, 122, 92, .15);--sage-bg-primary: #0D0D12;--sage-bg-secondary: #14141C;--sage-bg-card: rgba(30, 32, 44, .6);--sage-text-primary: #FFFFFF;--sage-text-secondary: #A0A4B8;--sage-text-tertiary: #6B7280}[data-theme=light]{--obsidian-accent: #E5694D;--obsidian-accent-dark: #D45A40;--obsidian-accent-light: #FF7A5C;--obsidian-accent-muted: rgba(229, 105, 77, .12);--obsidian-accent-glow: rgba(229, 105, 77, .25);--obsidian-bg-primary: #F8F9FC;--obsidian-bg-secondary: #FFFFFF;--obsidian-bg-tertiary: #F1F3F8;--obsidian-bg-card: rgba(255, 255, 255, .9);--obsidian-surface-glass: rgba(255, 255, 255, .85);--obsidian-surface-glass-light: rgba(255, 255, 255, .95);--obsidian-surface-glass-dark: rgba(248, 249, 252, .95);--obsidian-border: rgba(0, 0, 0, .08);--obsidian-border-subtle: rgba(0, 0, 0, .05);--obsidian-border-accent: rgba(229, 105, 77, .3);--obsidian-text-primary: #1A1A24;--obsidian-text-secondary: #4A4E5C;--obsidian-text-tertiary: #8B8FA3;--obsidian-calories: #E5694D;--obsidian-protein: #8B5CF6;--obsidian-carbs: #D97706;--obsidian-fat: #3B82F6;--obsidian-shadow-sm: 0 1px 3px rgba(0, 0, 0, .08);--obsidian-shadow-card: 0 4px 16px rgba(0, 0, 0, .08);--obsidian-shadow-md: 0 8px 24px rgba(0, 0, 0, .1);--obsidian-shadow-lg: 0 16px 40px rgba(0, 0, 0, .12);--obsidian-shadow-glow: 0 0 30px rgba(229, 105, 77, .15);--sage-primary: #E5694D;--sage-primary-dark: #D45A40;--sage-primary-light: #FF7A5C;--sage-primary-muted: rgba(229, 105, 77, .12);--sage-bg-primary: #F8F9FC;--sage-bg-secondary: #FFFFFF;--sage-bg-card: rgba(255, 255, 255, .9);--sage-text-primary: #1A1A24;--sage-text-secondary: #4A4E5C;--sage-text-tertiary: #8B8FA3}@keyframes slideInFromRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOutToRight{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}@keyframes slideInFromBottom{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideOutToBottom{0%{transform:translateY(0);opacity:1}to{transform:translateY(100%);opacity:0}}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}@keyframes floatOrb{0%,to{transform:translate(0) scale(1)}25%{transform:translate(10%,-15%) scale(1.1)}50%{transform:translate(-5%,10%) scale(.95)}75%{transform:translate(-10%,-5%) scale(1.05)}}@keyframes pulseGlow{0%,to{opacity:.3}50%{opacity:.5}}.animate-slideInFromRight{animation:slideInFromRight .3s cubic-bezier(.25,.1,.25,1) forwards}.animate-slideOutToRight{animation:slideOutToRight .25s cubic-bezier(.25,.1,.25,1) forwards}.animate-slideInFromBottom{animation:slideInFromBottom .3s cubic-bezier(.25,.1,.25,1) forwards}.animate-slideOutToBottom{animation:slideOutToBottom .25s cubic-bezier(.25,.1,.25,1) forwards}.animate-fadeInOverlay{animation:fadeInOverlay .2s ease forwards}.animate-slideIn{animation:slideInFromRight .3s cubic-bezier(.25,.1,.25,1) forwards}.animate-slideOut{animation:slideOutToRight .25s cubic-bezier(.25,.1,.25,1) forwards}.animate-slideUp{animation:slideInFromBottom .3s cubic-bezier(.25,.1,.25,1) forwards}.animate-slideDown{animation:slideOutToBottom .25s cubic-bezier(.25,.1,.25,1) forwards}.obsidian-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:var(--obsidian-radius-pill);font-weight:700;font-size:.875rem;transition:all var(--obsidian-transition-base);cursor:pointer;border:none;outline:none}.obsidian-btn:active{transform:scale(.97)}.obsidian-btn-primary{background:linear-gradient(135deg,var(--obsidian-accent) 0%,var(--obsidian-accent-dark) 100%);color:#fff;box-shadow:var(--obsidian-shadow-card),0 0 20px #ff7a5c33}.obsidian-btn-primary:hover{box-shadow:var(--obsidian-shadow-md),0 0 30px #ff7a5c4d;filter:brightness(1.1)}.obsidian-btn-secondary{background:var(--obsidian-bg-tertiary);color:var(--obsidian-text-primary)}.obsidian-btn-secondary:hover{background:#282a36cc}.obsidian-btn-outline{background:transparent;color:var(--obsidian-accent);border:2px solid var(--obsidian-accent)}.obsidian-btn-outline:hover{background:var(--obsidian-accent-muted)}.obsidian-btn-glass{background:var(--obsidian-surface-glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--obsidian-border);color:var(--obsidian-text-primary)}.obsidian-btn-glass:hover{border-color:var(--obsidian-border-accent);background:var(--obsidian-surface-glass-light)}.obsidian-card{background:var(--obsidian-surface-glass);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-radius:var(--obsidian-radius-xl);box-shadow:var(--obsidian-shadow-card);border:1px solid var(--obsidian-border)}.obsidian-card-hover{transition:all var(--obsidian-transition-base)}.obsidian-card-hover:hover{box-shadow:var(--obsidian-shadow-md);transform:translateY(-2px);border-color:var(--obsidian-border-accent)}.obsidian-tag{display:inline-flex;align-items:center;padding:.375rem .75rem;border-radius:var(--obsidian-radius-pill);font-size:.75rem;font-weight:600}.obsidian-tag-primary{background:var(--obsidian-accent-muted);color:var(--obsidian-accent)}.obsidian-tag-secondary{background:#ffffff0d;color:var(--obsidian-text-secondary)}.obsidian-progress-bar{height:8px;background:var(--obsidian-bg-tertiary);border-radius:var(--obsidian-radius-pill);overflow:hidden}.obsidian-progress-fill{height:100%;background:linear-gradient(90deg,var(--obsidian-accent) 0%,var(--obsidian-accent-dark) 100%);border-radius:var(--obsidian-radius-pill);transition:width var(--obsidian-transition-slow)}.obsidian-fullscreen-view{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:var(--obsidian-bg-primary);display:flex;flex-direction:column}.obsidian-fullscreen-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;padding-top:calc(1rem + env(safe-area-inset-top));background:var(--obsidian-bg-secondary);border-bottom:1px solid var(--obsidian-border);position:sticky;top:0;z-index:10}.obsidian-fullscreen-body{flex:1;overflow-y:auto;padding:1.5rem 1.25rem;padding-bottom:calc(2rem + env(safe-area-inset-bottom))}.obsidian-fullscreen-footer{padding:1rem 1.25rem;padding-bottom:calc(1rem + env(safe-area-inset-bottom));background:var(--obsidian-bg-secondary);border-top:1px solid var(--obsidian-border)}.obsidian-input{border:2px solid var(--obsidian-border);border-radius:var(--obsidian-radius-md);padding:.875rem 1rem;font-size:1rem;transition:all var(--obsidian-transition-fast);background:var(--obsidian-surface-glass);color:var(--obsidian-text-primary)}.obsidian-input::placeholder{color:var(--obsidian-text-tertiary)}.obsidian-input:focus{outline:none;border-color:var(--obsidian-accent);box-shadow:0 0 0 3px var(--obsidian-accent-muted)}.obsidian-toggle{position:relative;width:3.25rem;height:2rem;border-radius:var(--obsidian-radius-pill);cursor:pointer;transition:background var(--obsidian-transition-fast)}.obsidian-toggle-off{background:var(--obsidian-bg-tertiary)}.obsidian-toggle-on{background:linear-gradient(135deg,var(--obsidian-accent) 0%,var(--obsidian-accent-dark) 100%)}.obsidian-toggle-knob{position:absolute;top:.25rem;width:1.5rem;height:1.5rem;background:#fff;border-radius:50%;box-shadow:0 2px 4px #0000004d;transition:transform var(--obsidian-transition-fast)}.obsidian-toggle-off .obsidian-toggle-knob{transform:translate(.25rem)}.obsidian-toggle-on .obsidian-toggle-knob{transform:translate(1.5rem)}.obsidian-mobile-nav{background:#0d0d12d9;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-top:1px solid var(--obsidian-border);box-shadow:0 -4px 20px #0006}.obsidian-nav-item{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;padding:.5rem;min-width:3.5rem;min-height:44px;transition:all var(--obsidian-transition-fast)}.obsidian-nav-item-active{color:var(--obsidian-accent)}.obsidian-nav-item-inactive{color:var(--obsidian-text-tertiary)}.obsidian-nav-indicator{position:absolute;bottom:-.25rem;width:1.25rem;height:.25rem;background:var(--obsidian-accent);border-radius:var(--obsidian-radius-pill);box-shadow:0 0 10px var(--obsidian-accent-glow)}.obsidian-macro-protein{background:#a78bfa33;color:#c4b5fd;border:1px solid rgba(167,139,250,.3)}.obsidian-macro-carbs{background:#fbbf2433;color:#fcd34d;border:1px solid rgba(251,191,36,.3)}.obsidian-macro-fat{background:#60a5fa33;color:#93c5fd;border:1px solid rgba(96,165,250,.3)}.obsidian-macro-calories{background:linear-gradient(135deg,var(--obsidian-accent) 0%,var(--obsidian-accent-dark) 100%);color:#fff}.ambient-orb{position:absolute;border-radius:50%;filter:blur(80px);pointer-events:none;animation:floatOrb 12s ease-in-out infinite,pulseGlow 4s ease-in-out infinite}.ambient-orb--coral{width:400px;height:400px;background:radial-gradient(circle,rgba(255,122,92,.2) 0%,transparent 70%);top:-100px;right:-100px}.ambient-orb--blue{width:350px;height:350px;background:radial-gradient(circle,rgba(96,165,250,.15) 0%,transparent 70%);bottom:-50px;left:-100px;animation-delay:-4s}.ambient-orb--violet{width:300px;height:300px;background:radial-gradient(circle,rgba(167,139,250,.12) 0%,transparent 70%);top:50%;left:30%;animation-delay:-8s}@keyframes checkmark{0%{transform:scale(0);opacity:0}50%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}.animate-checkmark{animation:checkmark .2s ease-out forwards}@media(prefers-reduced-motion:reduce){.ambient-orb{animation:none}.animate-slideIn,.animate-slideOut,.animate-slideUp,.animate-slideDown,.animate-fadeIn,.animate-checkmark{animation:none;opacity:1;transform:none}}.sage-btn{@apply obsidian-btn;}.sage-btn-primary{@apply obsidian-btn-primary;}.sage-btn-secondary{@apply obsidian-btn-secondary;}.sage-card{@apply obsidian-card;}.sage-tag{@apply obsidian-tag;}.sage-input{@apply obsidian-input;}.sage-mobile-nav{@apply obsidian-mobile-nav;}.sage-nav-item{@apply obsidian-nav-item;}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}[data-theme=light] .ambient-orb{opacity:.4;filter:blur(100px)}[data-theme=light] .ambient-orb--coral{background:radial-gradient(circle,rgba(229,105,77,.15) 0%,transparent 70%)}[data-theme=light] .ambient-orb--blue{background:radial-gradient(circle,rgba(59,130,246,.12) 0%,transparent 70%)}[data-theme=light] .ambient-orb--violet{background:radial-gradient(circle,rgba(139,92,246,.1) 0%,transparent 70%)}[data-theme=light] .obsidian-mobile-nav{background:#ffffffeb;border-top:1px solid rgba(0,0,0,.06);box-shadow:0 -4px 16px #0000000f}[data-theme=light] .obsidian-card{background:var(--obsidian-surface-glass);box-shadow:var(--obsidian-shadow-card);border:1px solid var(--obsidian-border)}[data-theme=light] .obsidian-btn-secondary{background:var(--obsidian-bg-tertiary);color:var(--obsidian-text-primary)}[data-theme=light] .obsidian-btn-secondary:hover{background:#0000000d}[data-theme=light] .obsidian-toggle-off{background:#e2e8f0}.fab-container{position:fixed;bottom:calc(5rem + env(safe-area-inset-bottom));right:1rem;z-index:40}@media(min-width:1024px){.fab-container{display:none}}.fab-button{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px var(--obsidian-accent-glow),0 2px 8px #0003;background:linear-gradient(135deg,var(--obsidian-accent) 0%,var(--obsidian-accent-dark) 100%);color:#fff;border:none;cursor:pointer;transition:all var(--obsidian-transition-base)}.fab-button:active{transform:scale(.95)}.fab-button:hover{box-shadow:0 6px 28px var(--obsidian-accent-glow),0 4px 12px #00000040}.scrollbar-hide::-webkit-scrollbar{display:none}
