html,body{width:100%;height:100%;overflow-x:hidden}#root{flex-direction:column;width:100%;min-height:100vh;margin:0;padding:0;display:flex}:root{--bg:#000;--surface:#0a0a0a;--fg:#fff;--dim:#888;--border:#1e1e1e;--accent:#ff375f;--secondary:#00d8ff;--danger:#ff3b30;--success:#34c759;--warning:#ff9500;--glow:#ff375f66;--gradient-primary:linear-gradient(135deg,#ff375f 0%,#00d8ff 100%);--dot-pattern:url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23ffffff' fill-opacity='0.05' fill-rule='evenodd'%3E%3Ccircle cx='3' cy='3' r='1'/%3E%3Ccircle cx='13' cy='13' r='1'/%3E%3C/g%3E%3C/svg%3E")}:root[data-theme=light]{--bg:#fff;--surface:#f9f9f9;--fg:#000;--dim:#666;--border:#e5e5e5;--accent:#ff375f;--secondary:#00d8ff;--glow:#ff375f33;--gradient-primary:linear-gradient(135deg,#ff375f 0%,#00d8ff 100%);--dot-pattern:url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23000000' fill-opacity='0.05' fill-rule='evenodd'%3E%3Ccircle cx='3' cy='3' r='1'/%3E%3Ccircle cx='13' cy='13' r='1'/%3E%3C/g%3E%3C/svg%3E")}*{box-sizing:border-box;margin:0;padding:0}body{letter-spacing:-.01em;background:var(--bg);background-image:var(--dot-pattern);color:var(--fg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-size:20px 20px;width:100%;margin:0;padding:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-weight:300;overflow-x:hidden}.app{flex-direction:column;width:100%;min-height:100vh;margin:0;padding:0;display:flex}.page{box-sizing:border-box;flex:1;width:100%;max-width:100%;margin:0;padding:20px 40px;animation:.5s ease-out fadeIn}.sub-page{box-sizing:border-box;width:100%;max-width:100%;padding:20px 40px;animation:.5s ease-out fadeIn}h1,h2,h3{color:var(--fg);letter-spacing:-.5px;font-weight:200;line-height:1.1}.text-large{color:var(--fg);letter-spacing:-1px;font-size:40px;font-weight:200}.text-dim{color:var(--dim);font-weight:300}.text-accent{color:var(--accent)}.text-gradient{background:var(--gradient-primary);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.btn{background:var(--gradient-primary);color:#fff;cursor:pointer;z-index:1;border:none;border-radius:9999px;padding:14px 28px;font-family:inherit;font-size:16px;font-weight:600;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);display:inline-block;position:relative;overflow:hidden;box-shadow:0 4px 20px #ff375f4d}.btn:before{content:"";background:var(--accent);border-radius:inherit;z-index:-1;opacity:0;transition:opacity .3s;position:absolute;inset:0}.btn:hover:before{opacity:1}.btn:hover{transform:translateY(-2px);box-shadow:0 6px 30px #ff375f80}.btn:active{transform:scale(.98)translateY(0);box-shadow:0 2px 10px #ff375f4d}.btn-block{text-align:center;width:100%}.btn-back{color:var(--fg);cursor:pointer;text-align:left;background:0 0;border:none;border-bottom:1px solid #0000;padding:8px 0;font-family:inherit;font-size:16px;font-weight:500;text-decoration:none;transition:all .2s}.btn-back:hover{opacity:.7;border-bottom-color:var(--fg)}.btn-icon{color:var(--dim);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:8px 16px;font-family:inherit;font-size:24px;font-weight:300;transition:all .2s}.btn-icon:hover{opacity:.7;background-color:var(--surface)}.btn-icon:disabled{opacity:.3;cursor:not-allowed}.back-header{margin-bottom:10px}.add-food-header{background:var(--bg);z-index:9;margin-bottom:20px;position:sticky;top:0}.page-title{color:var(--fg);text-transform:lowercase;letter-spacing:-1px;margin:10px 0 30px;font-size:56px;font-weight:200;line-height:1.2}.date-selector{border-bottom:2px solid var(--border);justify-content:center;align-items:center;gap:20px;padding:12px 0;display:flex}.date-selector h2{margin:0;font-size:22px;font-weight:300}.flex-row{justify-content:space-between;align-items:center;display:flex}.header{border-bottom:2px solid var(--border);background:var(--bg);z-index:9;padding:12px 0;position:sticky;top:0}.chart-wrapper{flex-shrink:0;justify-content:center;align-items:center;width:200px;min-width:200px;max-width:200px;height:200px;display:flex;position:relative}.chart-center{text-align:center;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.calories-summary{flex:none;min-width:140px;max-width:40vw}.macro-breakdown{justify-content:space-around;display:flex}.macro-breakdown>div{text-align:center}.list-item{background-color:var(--surface);cursor:pointer;opacity:0;box-sizing:border-box;border:1px solid var(--border);border-radius:16px;justify-content:space-between;align-items:center;width:100%;margin-bottom:12px;padding:20px;transition:all .3s cubic-bezier(.4,0,.2,1);animation:.4s cubic-bezier(.1,.9,.2,1) forwards slideIn;display:flex;position:relative;overflow:hidden;box-shadow:0 2px 8px #0000000d}.list-item:before{content:"";background:var(--gradient-primary);opacity:0;height:2px;transition:opacity .3s;position:absolute;top:0;left:0;right:0}.list-item:hover:before{opacity:1}.list-item:hover{background-color:var(--surface);border-color:var(--accent);transform:translateY(-4px);box-shadow:0 8px 24px #ff375f26}.list-item:active{transform:scale(.98)translateY(0)}.list-item .meta{color:var(--dim);font-size:14px;font-weight:300}@keyframes slideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.spinner{border:4px solid var(--dim);border-top-color:var(--accent);border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.search-input{background:var(--surface);border:1px solid var(--border);width:100%;color:var(--fg);box-sizing:border-box;border-radius:16px;outline:none;margin-bottom:20px;padding:16px 20px;font-family:inherit;font-size:18px;font-weight:300;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #00000005}.search-input:focus{border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 3px var(--glow),0 4px 16px #ff375f33}.search-input::placeholder{color:var(--dim);font-weight:300}#food-results{max-height:calc(100vh - 300px);padding-right:4px;overflow-y:auto}.workouts-metric{text-align:center;margin:40px 0}.pivot-bar{background-color:var(--surface);-webkit-backdrop-filter:blur(10px);z-index:10;border-top:1px solid var(--border);border-radius:20px 20px 0 0;display:flex;position:sticky;bottom:0;box-shadow:0 -4px 20px #00000026}.pivot-item{color:var(--dim);cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:6px;padding:20px 16px;font-family:inherit;font-size:16px;font-weight:400;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden}.pivot-item:hover{color:var(--fg);background-color:#ff375f0d}.pivot-item.active{color:var(--accent);font-weight:600}.pivot-item.active:after{content:"";background:var(--gradient-primary);width:24px;height:3px;box-shadow:0 0 8px var(--glow);border-radius:2px;position:absolute;bottom:8px}.pivot-bar.hidden{display:none}@media (max-width:768px){.page,.sub-page{width:100%;padding:15px 20px}.page-title{font-size:42px}.text-large{font-size:24px}.chart-wrapper{width:150px;min-width:150px;max-width:150px;height:150px}.calories-summary{min-width:150px}}@media (max-width:480px){.page,.sub-page{width:100%;padding:10px 15px}.page-title{font-size:32px}.chart-wrapper{width:120px;min-width:120px;height:120px}}
