@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;600;800&display=swap";:root{--bg-color:#0f1115;--text-color:#e2e8f0;--text-muted:#94a3b8;--glass-bg:#ffffff08;--glass-border:#ffffff14;--glass-highlight:#ffffff26;--accent-color:#3b82f6;--accent-glow:#3b82f666}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-color);overscroll-behavior:none;background-image:radial-gradient(circle at 15%,#3b82f614,#0000 25%),radial-gradient(circle at 85% 30%,#8b5cf614,#0000 25%);min-height:100vh;font-family:Inter,system-ui,sans-serif;overflow-x:hidden}.glass-panel{background:var(--glass-bg);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-border);border-radius:16px;box-shadow:0 4px 30px #00000080}.glass-button{background:var(--glass-bg);-webkit-backdrop-filter:blur(8px);border:1px solid var(--glass-border);color:var(--text-color);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:600;transition:all .2s ease-in-out;display:flex}.glass-button:hover,.glass-button.active{background:var(--glass-highlight);border-color:var(--accent-color);box-shadow:0 0 15px var(--accent-glow)}.glass-button:active{transform:scale(.95)}.granitic-overlay{pointer-events:none;z-index:9999;opacity:.03;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");width:100%;height:100%;position:fixed;top:0;left:0}.app-container{flex-direction:column;max-width:480px;min-height:100vh;margin:0 auto;padding-bottom:80px;display:flex;position:relative}h1,h2,h3{letter-spacing:-.02em;font-weight:800}.text-gradient{background:linear-gradient(90deg,#e2e8f0,#94a3b8);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.muted{color:var(--text-muted);font-size:.85rem}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--glass-border);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--glass-highlight)}.app-header{z-index:50;border-bottom:1px solid var(--glass-border);padding:24px 20px 16px;position:sticky;top:0;background:var(--bg-color)!important;opacity:1!important;-webkit-backdrop-filter:none!important}.day-selector-container{border:1px solid var(--glass-border);background:#ffffff08;border-radius:100px;justify-content:space-between;padding:6px;display:flex}.day-bubble{text-align:center;color:var(--text-muted);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:100px;flex:1;padding:10px 0;font-size:.85rem;font-weight:700;transition:all .3s cubic-bezier(.4,0,.2,1)}.day-bubble.active{background:var(--accent-color);color:#fff;transform:scale(1.05);box-shadow:0 4px 15px #3b82f666}.bottom-nav{z-index:100;border:1px solid var(--glass-border);border-radius:16px;justify-content:space-around;width:calc(100% - 40px);max-width:440px;padding:12px 8px;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 -4px 30px #00000080;background:var(--bg-color)!important;opacity:1!important;-webkit-backdrop-filter:none!important}.nav-item{color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;font-size:.75rem;font-weight:600;transition:color .2s;display:flex}.nav-item.active{color:var(--accent-color)}.content-area{flex-direction:column;gap:20px;padding:0 20px 20px;display:flex}.meal-card{flex-direction:column;gap:12px;padding:16px;display:flex}.meal-header{border-bottom:1px solid var(--glass-border);justify-content:space-between;align-items:center;margin-bottom:4px;padding-bottom:10px;display:flex}.meal-header h3{color:var(--accent-color);font-size:1.1rem}.meal-time{color:var(--text-muted);background:#ffffff0d;border-radius:20px;align-items:center;gap:4px;padding:2px 8px;font-size:.8rem;display:flex}.current-meal-highlight{border-color:var(--accent-color);box-shadow:inset 4px 0 0 var(--accent-color), 0 8px 30px #3b82f626;transition:all .3s;transform:translateY(-2px)}.food-item{justify-content:space-between;align-items:center;padding:8px 0;display:flex}.substitution-container{background:#ffffff05;border-radius:12px;margin-top:-4px;padding:6px}.substitution-toggle{color:var(--accent-color);cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:6px;padding:4px 8px;font-size:.8rem;font-weight:600;transition:background .2s;display:flex}.substitution-toggle:hover{background:#3b82f61a}.meal-subsection{border-top:1px dashed var(--glass-border);margin-top:12px;padding-top:12px}.subsection-header{color:var(--text-main);letter-spacing:.02em;margin-bottom:4px;font-size:.85rem;font-weight:700}.substitution-list{border-top:1px dashed var(--glass-border);flex-direction:column;gap:8px;margin-top:4px;padding:12px 8px 8px;display:flex}.substitution-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px;font-size:.75rem}.substitution-item{justify-content:space-between;font-size:.85rem;display:flex}.sub-name{color:var(--text-color)}.sub-amount{color:var(--accent-color);font-weight:700}.food-name{font-size:.95rem;font-weight:600}.food-amount{text-align:right}.food-amount-main{color:#fff;font-weight:800}.upload-container{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:24px;min-height:80vh;padding:20px;display:flex}.upload-box{border:2px dashed var(--glass-border);cursor:pointer;border-radius:20px;flex-direction:column;align-items:center;gap:16px;width:100%;padding:40px 20px;transition:all .3s;display:flex}.upload-box:hover{border-color:var(--accent-color);background:#3b82f60d}.daily-stats{justify-content:space-between;margin-bottom:10px;padding:16px;display:flex}.stat-item{flex-direction:column;align-items:center;gap:4px;display:flex}.stat-value{font-size:1.2rem;font-weight:800}.stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem}
