:root{color:#182033;font-synthesis:none;text-rendering:optimizelegibility;--ink:#182033;--muted:#717887;--green:#50658f;--green-dark:#31476f;--glass:#ffffff14;--glass-strong:#fff3;--stroke:#ffffffa8;--shadow:0 22px 50px #2d354417, 0 4px 12px #2d35440a;--liquid-highlight:#ffffffe6;background:#eef1f5;font-family:Inter,SF Pro Display,PingFang SC,Microsoft YaHei,system-ui,sans-serif;line-height:1.45}*{box-sizing:border-box}html,body,#root{scrollbar-width:none;touch-action:manipulation;min-height:100%}html::-webkit-scrollbar{width:0;height:0;display:none}body::-webkit-scrollbar{width:0;height:0;display:none}#root::-webkit-scrollbar{width:0;height:0;display:none}body{-ms-overflow-style:none;min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent;cursor:pointer;border:0}button:disabled{cursor:not-allowed;opacity:.5}.phone-shell{min-height:100vh;padding:max(20px, env(safe-area-inset-top)) 16px calc(104px + env(safe-area-inset-bottom));background:repeating-linear-gradient(112deg,#0000 0 74px,#5e677809 75px,#0000 76px 150px),repeating-linear-gradient(22deg,#0000 0 105px,#ffffff6b 106px,#0000 107px 210px),radial-gradient(circle at 13% 10%,#ffffffeb,#0000 30%),radial-gradient(circle at 88% 34%,#ffffffc2,#0000 34%),radial-gradient(circle at 35% 92%,#ffffff9e,#0000 36%),linear-gradient(155deg,#f8f9fb 0%,#eef1f5 48%,#e7ebf0 100%);position:relative;overflow:hidden}.phone-shell:before,.phone-shell:after{content:"";filter:blur(1px);pointer-events:none;border-radius:46% 54% 58% 42%/48% 38% 62% 52%;position:fixed}.phone-shell:before{background:linear-gradient(145deg,#ffffffad,#fff3);width:260px;height:260px;top:38%;left:-110px;transform:rotate(18deg);box-shadow:inset 16px 20px 32px #ffffff8f,0 24px 60px #30384617}.phone-shell:after{background:linear-gradient(145deg,#ffffff57,#ffffff9e);width:230px;height:230px;top:12%;right:-100px;transform:rotate(-25deg);box-shadow:inset -15px -20px 34px #ffffff80,0 24px 60px #30384614}.ambient{filter:blur(3px);pointer-events:none;border-radius:999px;position:fixed}.ambient-one{background:#ffffff85;width:210px;height:210px;top:70px;right:-72px}.ambient-two{background:#ffffffa6;width:260px;height:260px;bottom:80px;left:-140px}.phone-app,.auth-card{z-index:1;width:100%;max-width:440px;margin:0 auto;position:relative}.phone-app{gap:14px;display:grid}.tab-content{transform-origin:top;gap:14px;animation:.26s cubic-bezier(.22,.8,.28,1) both tab-enter;display:grid}.tab-content-history{animation-name:tab-enter-history}.auth-screen{padding-bottom:max(20px, env(safe-area-inset-bottom));align-items:center;display:flex}.glass-card,.notice{-webkit-backdrop-filter:blur(18px)saturate(145%)brightness(1.025);background:linear-gradient(135deg, #fff3 0%, #ffffff06 44%, #ffffff12 100%), var(--glass);border:1px solid var(--stroke);box-shadow:var(--shadow), inset 1px 1px 0 var(--liquid-highlight), inset -1px -1px 0 #646c7a14, inset 0 -18px 38px #50586605;border-radius:27px;transition:border-color .22s,box-shadow .22s,transform .22s cubic-bezier(.22,.8,.28,1)}.glass-card:hover{border-color:#fffffff2;transform:translateY(-1px);box-shadow:0 26px 58px #2d35441a,0 7px 16px #2d35440b,inset 1px 1px #fff,inset -1px -1px #646c7a1a}.auth-card{gap:16px;padding:26px;display:grid}.auth-heading{gap:6px;margin-bottom:4px;display:grid}.auth-card h1,.mobile-header h1,.add-card h2,.section-title h2{margin:0}.auth-card h1{letter-spacing:-1.2px;font-size:30px}.auth-card p{color:var(--muted);margin:0}.eyebrow{color:var(--green);letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:800}.app-badge,.icon-button,.delete-button,.flame-badge,.meal-icon{justify-content:center;align-items:center;display:inline-flex}.app-badge{-webkit-backdrop-filter:blur(16px)saturate(170%);backdrop-filter:blur(16px)saturate(170%);color:var(--green-dark);background:linear-gradient(145deg,#ffffffad,#ffffff38);border:1px solid #ffffffa3;border-radius:18px;width:54px;height:54px;box-shadow:0 14px 30px #2d35441f,inset 1px 1px #ffffffe6,inset -5px -8px 16px #50586614}label{color:var(--muted);gap:7px;font-size:12px;font-weight:700;display:grid}input{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:var(--ink);background:#ffffff40;border:1px solid #ffffffc2;border-radius:15px;outline:none;width:100%;min-width:0;min-height:48px;padding:11px 14px;transition:border-color .16s,box-shadow .16s,background .16s;box-shadow:inset 1px 1px #ffffffb8,inset 0 -8px 18px #464e5c09}input:focus{background:#ffffffad;border-color:#fffffff5;box-shadow:0 0 0 4px #50658f1a,inset 1px 1px #fff}.primary-button,.secondary-button{border-radius:16px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:50px;padding:12px 16px;font-weight:800;transition:transform .16s,box-shadow .16s;display:inline-flex}.primary-button{-webkit-backdrop-filter:blur(24px)saturate(180%)brightness(1.05);color:var(--green-dark);text-shadow:0 1px #ffffffb8;background:linear-gradient(135deg,#ffffff7a,#ffffff24 55%,#ffffff14),#ffffff24;border:1px solid #fffffff0;box-shadow:0 14px 30px #2d35441c,inset 1px 1px #fff,inset -1px -1px #5a62701a}.primary-button:not(:disabled):hover{background:linear-gradient(135deg,#ffffff94,#fff3 55%,#ffffff1a),#fff3;box-shadow:0 17px 34px #2d354421,inset 1px 1px #fff,inset -1px -1px #5a62701c}.primary-button:not(:disabled):active,.secondary-button:not(:disabled):active,.icon-button:not(:disabled):active{transform:scale(.97)}.secondary-button{-webkit-backdrop-filter:blur(22px)saturate(175%);backdrop-filter:blur(22px)saturate(175%);color:var(--green-dark);background:#ffffff38;border:1px solid #ffffffb8;box-shadow:inset 1px 1px #ffffffe0,0 8px 18px #2d354412}.mobile-header{justify-content:space-between;align-items:center;padding:5px 3px 8px;display:flex}.mobile-header h1{letter-spacing:-1.2px;margin-top:7px;font-size:30px;line-height:1.1}.status-pill{color:var(--muted);align-items:center;gap:6px;font-size:11px;font-weight:700;display:flex}.status-pill i{background:var(--green);border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 4px #50658f1f}.header-actions{gap:8px;display:flex}.icon-button,.delete-button{-webkit-backdrop-filter:blur(24px)saturate(180%);backdrop-filter:blur(24px)saturate(180%);color:var(--green-dark);background:linear-gradient(145deg,#ffffff75,#ffffff24);border:1px solid #ffffffd1;border-radius:15px;width:43px;height:43px;box-shadow:0 8px 20px #2d354414,inset 1px 1px #ffffffeb,inset -1px -1px #5a627014}.remaining-card{gap:13px;padding:21px;display:grid;position:relative;overflow:hidden}.remaining-card:after{content:"";background:#ffffff3d;border-radius:50%;width:150px;height:150px;position:absolute;top:-80px;right:-75px}.remaining-top{z-index:1;justify-content:space-between;align-items:flex-start;display:flex;position:relative}.remaining-top span,.remaining-card em,.progress-meta{color:var(--muted);font-style:normal}.calorie-total{align-items:baseline;gap:8px;margin-top:2px;display:flex}.calorie-total strong{color:var(--green);letter-spacing:-4px;font-size:clamp(54px,17vw,70px);line-height:1}.remaining-card.over .calorie-total strong{color:#b35e2a}.calorie-total em{font-size:13px;font-weight:800}.flame-badge{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:var(--green);background:linear-gradient(145deg,#ffffff9e,#ffffff29);border:1px solid #ffffffdb;border-radius:17px;width:48px;height:48px;box-shadow:inset 1px 1px #fff,0 9px 20px #2d354414}.progress-track{background:#50586614;border:1px solid #ffffff8c;border-radius:999px;height:10px;overflow:hidden;box-shadow:inset 0 2px 4px #2d354412}.progress-track i{border-radius:inherit;background:linear-gradient(90deg,#8394b6,#50658f);height:100%;transition:width .3s;display:block;box-shadow:inset 0 1px #ffffffad,0 0 14px #50658f3d}.remaining-card.over .progress-track i{background:#b35e2a}.progress-meta{justify-content:space-between;font-size:10px;font-weight:700;display:flex}.target-row,.add-card,.meal-list,.calendar-card,.history-summary{gap:14px;padding:17px;display:grid}.target-row{grid-template-columns:1fr auto;align-items:end;padding:14px 17px}.target-row label{grid-template-columns:auto minmax(74px,1fr);align-items:center}.target-row input{text-align:right;min-height:42px}.target-unit{color:var(--muted);padding-bottom:13px;font-size:11px;font-weight:800}.add-card h2,.section-title h2{letter-spacing:-.4px;font-size:19px}.section-title{justify-content:space-between;align-items:center;display:flex}.section-title>div{gap:2px;display:grid}.section-title>span{color:var(--muted);font-size:11px;font-weight:700}.segmented{background:#5058660e;border:1px solid #ffffff80;border-radius:16px;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;padding:4px;display:grid;position:relative;box-shadow:inset 0 2px 6px #2d35440d}.segment-slider{-webkit-backdrop-filter:blur(18px)saturate(175%);backdrop-filter:blur(18px)saturate(175%);pointer-events:none;transform:translateX(calc(var(--segment-index) * (100% + 3px)));background:linear-gradient(145deg,#ffffff94,#fff3);border:1px solid #ffffffb8;border-radius:12px;width:calc(25% - 4.25px);transition:transform .36s cubic-bezier(.34,1.35,.64,1);position:absolute;top:4px;bottom:4px;left:4px;box-shadow:0 7px 16px #2d354414,inset 1px 1px #ffffffe6}.segmented button{appearance:none;color:var(--muted);z-index:1;background:0 0;border-radius:12px;outline:none;min-height:39px;padding:8px 3px;transition:color .22s,transform .22s;position:relative}.segmented button:active,.segmented button:focus{background:0 0}.segmented button:focus-visible{outline-offset:-3px;outline:2px solid #50658f47}.segmented button.active{color:var(--green-dark);font-weight:800;transform:scale(1.025)}.field-grid{grid-template-columns:minmax(0,1fr) 92px;gap:12px;display:grid}.input-mode-switch,.unit-switch{background:#5058660d;border:1px solid #ffffff7a;border-radius:14px;gap:3px;padding:3px;display:grid;position:relative}.input-mode-switch{grid-template-columns:repeat(2,minmax(0,1fr))}.unit-switch{grid-template-columns:repeat(2,minmax(0,1fr));align-self:end}.switch-slider{-webkit-backdrop-filter:blur(16px)saturate(175%);backdrop-filter:blur(16px)saturate(175%);pointer-events:none;transform:translateX(calc(var(--switch-index) * (100% + 3px)));background:#ffffff61;border:1px solid #ffffff94;border-radius:10px;width:calc(50% - 4.5px);transition:transform .34s cubic-bezier(.34,1.35,.64,1);position:absolute;top:3px;bottom:3px;left:3px;box-shadow:inset 1px 1px #ffffffd1,0 5px 13px #2d354412}.input-mode-switch button,.unit-switch button{color:var(--muted);z-index:1;background:0 0;border-radius:10px;min-height:36px;transition:color .22s,transform .22s;position:relative}.input-mode-switch button.active,.unit-switch button.active{color:var(--green-dark);font-weight:800;transform:scale(1.025)}.calorie-input-panel{animation:.32s cubic-bezier(.22,.8,.28,1) both calorie-panel-in}.calorie-input-panel.package{animation-name:calorie-panel-in-right}.package-calculator{gap:11px;display:grid}.package-fields{grid-template-columns:minmax(0,1fr) 110px;gap:10px;display:grid}.calculation-result{-webkit-backdrop-filter:blur(18px)saturate(175%);backdrop-filter:blur(18px)saturate(175%);background:#ffffff2e;border:1px solid #ffffff94;border-radius:15px;justify-content:space-between;align-items:center;min-height:54px;padding:9px 13px;display:flex}.calculation-result span{color:var(--muted);font-size:11px;font-weight:800}.calculation-result strong{color:var(--green-dark);letter-spacing:-.5px;font-size:23px}.calculation-result small{color:var(--muted);letter-spacing:0;font-size:10px}.add-button{margin-top:1px}.notice{color:#7a5a20;padding:12px 14px;font-size:13px}.empty-state{color:var(--muted);background:#ffffff3d;border:1px dashed #ffffffc2;border-radius:18px;align-items:center;gap:11px;min-height:72px;padding:14px;display:flex;box-shadow:inset 1px 1px #ffffff9e}.empty-state p{margin:0}.meal-row{border-top:1px solid #50586614;grid-template-columns:38px minmax(0,1fr) auto 38px;align-items:center;gap:10px;min-height:67px;padding-top:11px;display:grid}.meal-icon{color:var(--green);background:linear-gradient(145deg,#ffffff9e,#ffffff29);border:1px solid #ffffffbd;border-radius:13px;width:38px;height:38px;box-shadow:inset 1px 1px #fff}.meal-content{gap:2px;min-width:0;display:grid}.meal-content span{color:var(--muted);font-size:10px;font-weight:700}.meal-content strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.meal-row em{color:var(--green-dark);font-style:normal;font-weight:800}.meal-row small,.history-summary small{color:var(--muted);font-size:9px;font-weight:700}.delete-button{color:#a7554e;width:38px;height:38px}.calendar-header{justify-content:space-between;align-items:center;display:flex}.calendar-header strong{font-size:16px}.weekday-row,.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.weekday-row span{color:var(--muted);text-align:center;font-size:10px;font-weight:700}.calendar-grid button,.calendar-spacer{aspect-ratio:1/1.08;min-width:0}.calendar-grid button{color:var(--ink);background:#ffffff4d;border:1px solid #ffffff6b;border-radius:12px;align-content:center;justify-items:center;gap:2px;padding:3px 1px;display:grid;box-shadow:inset 1px 1px #ffffff8f}.calendar-grid button strong{font-size:12px;line-height:1}.calendar-grid button span{color:var(--muted);width:100%;min-height:7px;font-size:7px;line-height:1;overflow:hidden}.calendar-grid button.today{border-color:#50658f61}.calendar-grid button.selected{-webkit-backdrop-filter:blur(20px)saturate(185%);backdrop-filter:blur(20px)saturate(185%);color:var(--green-dark);background:linear-gradient(145deg,#ffffff80,#ffffff29);border-color:#50658f57;box-shadow:0 8px 18px #2d35441a,inset 1px 1px #ffffffe6}.calendar-grid button.selected span{color:var(--green)}.history-summary{gap:3px}.history-summary span,.history-summary em{color:var(--muted);font-style:normal}.history-summary strong{color:var(--green-dark);letter-spacing:-1px;font-size:32px;line-height:1.1}.bottom-nav{-webkit-backdrop-filter:blur(8px)saturate(125%)brightness(1.01);bottom:max(14px, env(safe-area-inset-bottom));z-index:5;background:linear-gradient(145deg,#ffffff1c,#ffffff05);border:1px solid #ffffff8a;border-radius:25px;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;width:calc(100% - 32px);max-width:410px;padding:6px;transition:opacity .24s,transform .32s cubic-bezier(.22,.8,.28,1),visibility .32s;display:grid;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 18px 42px #2d354414,inset 1px 1px #ffffff94,inset -1px -1px #5a62700f}.bottom-nav.hidden{opacity:0;pointer-events:none;visibility:hidden;transform:translate(-50%,calc(100% + 42px))scale(.96)}.bottom-nav button{color:var(--muted);background:0 0;border-radius:17px;justify-content:center;align-items:center;gap:7px;min-height:50px;transition:background .16s,color .16s;display:flex}.bottom-nav button.active{color:var(--green-dark);background:linear-gradient(145deg,#ffffff24,#ffffff06);border:1px solid #ffffff61;font-weight:800;animation:.22s cubic-bezier(.22,.8,.28,1) nav-select;box-shadow:inset 1px 1px #ffffff7a,0 4px 12px #2d354409}@keyframes tab-enter{0%{filter:blur(3px);opacity:0;transform:translate(-10px,8px)scale(.995)}to{filter:blur();opacity:1;transform:translate(0,0)scale(1)}}@keyframes tab-enter-history{0%{filter:blur(3px);opacity:0;transform:translate(10px,8px)scale(.995)}to{filter:blur();opacity:1;transform:translate(0,0)scale(1)}}@keyframes nav-select{0%{transform:scale(.96)}65%{transform:scale(1.025)}to{transform:scale(1)}}@keyframes calorie-panel-in{0%{filter:blur(2px);opacity:0;transform:translate(-8px)}to{filter:blur();opacity:1;transform:translate(0)}}@keyframes calorie-panel-in-right{0%{filter:blur(2px);opacity:0;transform:translate(8px)}to{filter:blur();opacity:1;transform:translate(0)}}@media (prefers-reduced-motion:reduce){.tab-content,.bottom-nav button.active,.calorie-input-panel{animation:none}.progress-track i,.bottom-nav,.bottom-nav button,.glass-card,.segment-slider,.switch-slider,.segmented button,.input-mode-switch button,.unit-switch button{transition:none}.glass-card:hover{transform:none}}@media (width>=760px){.phone-shell{padding-top:36px}}@media (width<=360px){.phone-shell{padding-left:10px;padding-right:10px}.field-grid,.package-fields{grid-template-columns:1fr}.meal-row{grid-template-columns:36px minmax(0,1fr) auto}.meal-row .delete-button{display:none}}
