*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-deep:#0e0605;--bg-primary:#1b0905;--bg-secondary:#161a23;--bg-dark:#1b1d21;--bg-card:#22252c;--bg-hover:#2a2d35;--bg-elevated:#343840;--text-primary:#fff;--text-secondary:#b4b4b4;--text-muted:#6b7280;--accent:#ff5a1f;--accent-hover:#ff7a2d;--orange-glow:#64270e;--orange-deep:#3a1408;--btn-orange:#ff5722;--btn-orange-light:#ff7a2d;--green:#10b981;--green-glow:#10b98133;--red:#ef4444;--orange:#f59e0b;--purple:#8b5cf6;--pink:#ec4899;--blue:#3b82f6;--border:#ffffff0f;--border-light:#ffffff1a;--radius:12px;--radius-lg:24px;--radius-full:9999px;--shadow:0 4px 32px #00000080;--shadow-lg:0 8px 64px #000000b3;--shadow-accent:0 4px 32px #ff5a1f26;--transition:.3s cubic-bezier(.4, 0, .2, 1);--font-sans:"Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--sidebar-width:260px;--header-height:64px}html{scroll-behavior:smooth}body{font-family:var(--font-sans);background:var(--bg-deep);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;line-height:1.6}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}::selection{background:var(--accent);color:#fff}#bg-3d{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}#bg-3d:before{content:"";background:radial-gradient(at 20%,#ff5a1f14 0%,#0000 50%),radial-gradient(at 80% 20%,#ff7a2d0d 0%,#0000 50%),radial-gradient(at 50% 80%,#64270e0f 0%,#0000 50%);animation:30s ease-in-out infinite alternate bgOrbit;position:absolute;inset:-50%}#bg-3d:after{content:"";background:radial-gradient(at 80%,#ff57220a 0%,#0000 50%),radial-gradient(at 30% 80%,#64270e08 0%,#0000 50%);animation:40s ease-in-out infinite alternate-reverse bgOrbit;position:absolute;inset:-50%}@keyframes bgOrbit{0%{transform:translate(0)rotate(0)scale(1)}33%{transform:translate(3%,-2%)rotate(120deg)scale(1.05)}66%{transform:translate(-2%,3%)rotate(240deg)scale(.95)}to{transform:translate(2%,-1%)rotate(360deg)scale(1.02)}}.particle-container{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.particle{background:var(--accent);opacity:0;border-radius:50%;width:2px;height:2px;animation:12s infinite particleFloat;position:absolute}.particle:first-child{opacity:.15;width:3px;height:3px;animation-duration:14s;animation-delay:0s;top:20%;left:10%}.particle:nth-child(2){opacity:.1;animation-duration:11s;animation-delay:2s;top:60%;left:25%}.particle:nth-child(3){opacity:.12;width:3px;height:3px;animation-duration:16s;animation-delay:4s;top:10%;left:45%}.particle:nth-child(4){opacity:.08;animation-duration:13s;animation-delay:1s;top:70%;left:65%}.particle:nth-child(5){opacity:.1;width:4px;height:4px;animation-duration:15s;animation-delay:3s;top:30%;left:80%}.particle:nth-child(6){opacity:.12;animation-duration:12s;animation-delay:5s;top:85%;left:50%}.particle:nth-child(7){opacity:.15;width:2px;height:2px;animation-duration:17s;animation-delay:6s;top:45%;left:15%}.particle:nth-child(8){opacity:.1;animation-duration:14s;animation-delay:1.5s;top:55%;left:90%}.particle:nth-child(9){opacity:.08;width:3px;height:3px;animation-duration:12s;animation-delay:4.5s;top:90%;left:35%}.particle:nth-child(10){opacity:.12;animation-duration:16s;animation-delay:3.5s;top:15%;left:70%}@keyframes particleFloat{0%{opacity:0;transform:translateY(0)scale(0)}20%{opacity:var(--opacity,.12)}80%{opacity:var(--opacity,.12)}to{opacity:0;transform:translateY(-100vh)scale(1)}}.content-layer{z-index:1;position:relative}.glass{-webkit-backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(135deg,#ffffff0a,#ffffff03)}.glass-accent{-webkit-backdrop-filter:blur(20px);border-radius:var(--radius);background:linear-gradient(135deg,#ff5a1f14,#ff7a2d05);border:1px solid #ff5a1f26}h1,h2,h3,h4{font-family:var(--font-sans);letter-spacing:-.02em;font-weight:700}.accent-text{background:linear-gradient(135deg, var(--accent), var(--accent-hover));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.btn{border-radius:var(--radius-full);font-family:var(--font-sans);cursor:pointer;transition:var(--transition);white-space:nowrap;letter-spacing:.01em;border:none;justify-content:center;align-items:center;gap:8px;padding:10px 22px;font-size:.9rem;font-weight:600;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(0)}.btn-primary{background:linear-gradient(90deg, var(--btn-orange), var(--btn-orange-light));color:#fff;box-shadow:0 0 30px #ff57224d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 0 50px #ff572280}.btn-secondary{color:var(--accent);background:linear-gradient(135deg,#ff5a1f26,#ff7a2d14);border:1px solid #ff5a1f4d}.btn-secondary:hover{border-color:var(--accent);background:linear-gradient(135deg,#ff5a1f40,#ff7a2d26)}.btn-ghost{color:var(--text-secondary);background:0 0}.btn-ghost:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-outline{color:var(--text-primary);border:1px solid var(--border-light);background:0 0}.btn-outline:hover{border-color:var(--accent);color:var(--accent)}.btn-danger{background:var(--red);color:#fff}.btn-lg{padding:14px 34px;font-size:1rem}.btn-sm{padding:6px 14px;font-size:.8rem}.btn-full{width:100%}.btn-icon{border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;padding:0;display:inline-flex}input,select,textarea{font-family:var(--font-sans);background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border);transition:var(--transition);border-radius:8px;outline:none;width:100%;padding:10px 14px;font-size:.9rem}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #ff5a1f33}select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%239ca3b5' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10z'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:32px}textarea{resize:vertical;min-height:60px}.app-layout{min-height:100vh;display:flex}.main-area{flex-direction:column;flex:1;min-height:100vh;display:flex}.page-title{letter-spacing:-.01em;flex:1;font-size:1.35rem;font-weight:700}.view-container{flex:1;padding:32px}.view{display:none}.view.active{animation:.35s fadeIn;display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.section-title{text-align:center;letter-spacing:-.01em;margin-bottom:48px;font-size:2.2rem;font-weight:800}.section-subtitle{text-align:center;color:var(--text-secondary);margin-top:-32px;margin-bottom:48px;font-size:1.05rem}.view-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.view-header h3{font-size:1.2rem;font-weight:600}.stat-card{transition:var(--transition);padding:24px}.stat-card:hover{border-color:#ff5a1f33;transform:translateY(-2px)}.stat-card .stat-label{color:var(--text-secondary);margin-bottom:4px;font-size:.85rem;font-weight:500}.stat-card .stat-value{letter-spacing:-.02em;font-size:2rem;font-weight:800}.stat-card .stat-sub{color:var(--text-muted);margin-top:4px;font-size:.8rem}.chart-card{padding:24px}.chart-card h3{color:var(--text-secondary);margin-bottom:16px;font-size:1rem;font-weight:600}.chart-card canvas{max-height:250px;width:100%!important;height:auto!important}.chart-card.wide{grid-column:1/-1}.form-group{margin-bottom:16px}.form-group label{color:var(--text-secondary);margin-bottom:6px;font-size:.85rem;font-weight:600;display:block}.form-row{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;display:grid}.form-error{color:var(--red);min-height:20px;margin-bottom:12px;font-size:.85rem}.empty-state{text-align:center;color:var(--text-muted);padding:60px}.accent-divider{background:linear-gradient(90deg, transparent, var(--accent), transparent);border:none;height:1px;margin:24px 0}@keyframes shimmer{0%{background-position:-200%}to{background-position:200%}}@keyframes pulseGlow{0%,to{box-shadow:0 0 20px #ff5a1f33}50%{box-shadow:0 0 40px #ff5a1f59}}@keyframes modalIn{0%{opacity:0;transform:scale(.95)translateY(-10px)}to{opacity:1;transform:scale(1)translateY(0)}}.streak-star{pointer-events:none;animation:.7s forwards starPop}@keyframes starPop{0%{opacity:1;transform:translate(-50%,-50%)translate(0)scale(.3)}to{transform:translate(-50%, -50%) translate(var(--dx,0), var(--dy,0)) scale(0);opacity:0}}@keyframes streakBob{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes streakPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.85;transform:scale(1.08)}}@keyframes streakRun{0%{transform:translate(0)}25%{transform:translate(3px)rotate(-2deg)}75%{transform:translate(-3px)rotate(2deg)}to{transform:translate(0)}}.streak-figure{animation:2s ease-in-out infinite streakBob}.streak-glowing{animation:1.5s ease-in-out infinite streakPulse}.toggle-label{cursor:pointer;align-items:center;gap:12px;display:flex}.toggle-switch{background:var(--bg-hover);width:44px;height:24px;transition:var(--transition);border-radius:12px;position:relative}.toggle-switch:after{content:"";background:var(--text-secondary);width:18px;height:18px;transition:var(--transition);border-radius:50%;position:absolute;top:3px;left:3px}input[type=checkbox]:checked+.toggle-switch{background:var(--accent)}input[type=checkbox]:checked+.toggle-switch:after{background:#fff;left:23px}input[type=checkbox]{display:none}.entry-overlay{z-index:9999;background:var(--bg-deep);flex-direction:column;justify-content:center;align-items:center;animation:.6s 1.8s forwards fadeOut;display:flex;position:fixed;inset:0}.entry-overlay h1{color:var(--accent);letter-spacing:2px;margin-bottom:24px;font-size:2rem;font-weight:800}.entry-progress-track{background:#ffffff1a;border-radius:2px;width:280px;height:4px;overflow:hidden}.entry-progress-fill{background:linear-gradient(90deg, var(--btn-orange), var(--btn-orange-light));border-radius:2px;width:0%;height:100%;animation:1.6s ease-in-out forwards progressFill}.entry-progress-label{color:var(--text-secondary);letter-spacing:1px;margin-top:12px;font-size:.8rem}@keyframes progressFill{0%{width:0%}30%{width:35%}60%{width:65%}85%{width:88%}to{width:100%}}@keyframes fadeOut{to{opacity:0;pointer-events:none}}.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-toggle{z-index:45;background:var(--bg-card);border:1px solid var(--border);cursor:pointer;width:24px;height:48px;color:var(--text-secondary);transition:var(--transition);border-left:none;border-radius:0 8px 8px 0;justify-content:center;align-items:center;font-size:.8rem;display:flex;position:fixed;top:50%;left:0;transform:translateY(-50%)}.sidebar-toggle:hover{background:var(--accent);color:#fff}.sidebar.open~.sidebar-toggle{left:var(--sidebar-width)}@media (width<=900px){.view-container{padding:20px}.section-title{font-size:1.6rem}}@media (width<=480px){.view-container{padding:16px}.stat-card .stat-value{font-size:1.5rem}}.nutri-progress-ring{width:80px;height:80px;transform:rotate(-90deg)}.nutri-progress-ring circle{fill:none;stroke-width:7px;transition:stroke-dashoffset .6s}.nutri-progress-ring .bg{stroke:var(--bg-secondary)}.nutri-ring-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.3px;font-size:.72rem;font-weight:600}.nutri-ring-value{font-size:1.2rem;font-weight:800}.nutri-ring-remaining{color:var(--text-muted);font-size:.7rem}.nutri-meal-section{border:1px solid var(--border);background:var(--bg-card);border-radius:10px;margin-bottom:12px;overflow:hidden}.nutri-meal-header{cursor:pointer;transition:var(--transition);-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.nutri-meal-header:hover{background:var(--bg-hover)}.nutri-meal-header h4{margin:0;font-size:.85rem;font-weight:600}.nutri-meal-body{border-top:1px solid var(--border);padding:8px 16px 14px}.nutri-food-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:6px 0;font-size:.82rem;display:flex}.nutri-food-row:last-child{border-bottom:none}.nutri-food-name{flex:1;font-weight:600}.nutri-food-macros{color:var(--text-muted);white-space:nowrap;margin:0 12px;font-size:.75rem}.nutri-food-del{color:var(--text-muted);cursor:pointer;transition:var(--transition);background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:.85rem}.nutri-food-del:hover{color:var(--danger);background:#ef44441a}.nutri-search-wrap{margin-bottom:8px;position:relative}.nutri-search-wrap input{width:100%}.nutri-search-results{z-index:20;background:var(--bg-card);border:1px solid var(--border);max-height:200px;box-shadow:var(--shadow-lg);border-radius:0 0 8px 8px;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.nutri-search-result{cursor:pointer;transition:var(--transition);justify-content:space-between;align-items:center;padding:6px 12px;font-size:.78rem;display:flex}.nutri-search-result:hover{background:var(--bg-hover)}.nutri-search-result .online-badge{color:#818cf8;text-transform:uppercase;letter-spacing:.3px;background:#6366f126;border-radius:6px;padding:1px 6px;font-size:.55rem;font-weight:600}.nutri-suggestion{color:var(--green);background:#10b9811a;border:1px solid #10b98133;border-radius:8px;align-items:center;gap:8px;margin-bottom:12px;padding:10px 14px;font-size:.8rem;display:flex}.nutri-suggestion.warning{color:var(--danger);background:#ef44441a;border-color:#ef444433}.nutri-water-btn{border:1px solid var(--border);color:var(--text-primary);cursor:pointer;font-size:.78rem;font-family:var(--font-sans);transition:var(--transition);background:0 0;border-radius:8px;padding:6px 14px}.nutri-water-btn:hover{color:#3b82f6;background:#3b82f61a;border-color:#3b82f6}.nutri-week-bar{border-radius:4px;min-width:2px;height:12px;transition:height .3s}.nutri-week-bar:hover{opacity:.8}.nutri-goal-panel{border:1px solid var(--border);border-radius:10px;margin-bottom:16px;overflow:hidden}.nutri-goal-header{cursor:pointer;transition:var(--transition);-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.nutri-goal-header:hover{background:var(--bg-hover)}.nutri-goal-body{border-top:1px solid var(--border);grid-template-columns:1fr 1fr;gap:10px;padding:14px 16px;display:grid}.nutri-ai-input{gap:8px;margin-bottom:16px;display:flex}.nutri-ai-input input{flex:1}
