:root{--bg-grad: radial-gradient(130% 85% at 85% -8%, rgba(230,255,43,.13), transparent 48%), linear-gradient(180deg,#0C1413,#080B0A);--bg: #080B0A;--glass: rgba(20,28,27,.55);--surface2: rgba(255,255,255,.06);--line: rgba(249,247,242,.1);--ink: #F9F7F2;--ink2: #F9F7F2;--muted: #898A8D;--muted2: #B7B8BB;--accent: #E6FF2B;--accent2: #C4E600;--accent-ink: #0B4650;--accent-soft: rgba(230,255,43,.14);--grad: linear-gradient(135deg,#EEFF5C,#CFF000);--teal: #0B4650;--green: #E6FF2B;--green-l: #EEFF5C;--red: #B7B8BB;--red-bg: rgba(255,255,255,.06);--blue: #E6FF2B;--amber: #E6FF2B;--chip: rgba(255,255,255,.06);--r: 22px;--r-sm: 15px;--eyebrow-ls: .2em;--card-shadow: 0 26px 50px -28px #000, inset 0 1px 0 rgba(255,255,255,.09);--sheen-shadow: inset 0 1px 0 rgba(255,255,255,.07);--nav-shadow: 0 18px 36px -10px rgba(0,0,0,.7), inset 0 1px 0 rgba(255,255,255,.08);--shadow: var(--sheen-shadow);--thumb: rgba(0,0,0,.28);--font-display: "Archivo"}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-grad);background-attachment:fixed;color:var(--ink);font-family:Noto Sans TC,-apple-system,PingFang TC,system-ui,sans-serif;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}.app{max-width:480px;margin:0 auto;min-height:100dvh;padding:14px 18px 110px}.muted{color:var(--muted)}.over{color:var(--accent)!important}.name,.title,.num,.big,.v,.kc b,.stat .num,.mac .mtop,.greet,h1,h2,h3,b,strong{font-family:var(--font-display),"Noto Sans TC",sans-serif}.num,.big,.v,.kc b,.stat .num{font-variant-numeric:tabular-nums}.h-row{display:flex;justify-content:space-between;align-items:center}.greet{font-size:11px;color:var(--accent);font-weight:800;letter-spacing:var(--eyebrow-ls);text-transform:uppercase}.name{font-size:30px;font-weight:900;color:var(--ink);letter-spacing:-.5px;margin-top:3px}.title{font-size:26px;font-weight:900;color:var(--ink);letter-spacing:-.4px}.avatar{width:46px;height:46px;border-radius:50%;background:var(--grad);box-shadow:0 8px 24px -6px var(--accent),inset 0 1px #fff6;border:none}.iconbtn{width:40px;height:40px;border-radius:13px;background:var(--glass);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--sheen-shadow);display:flex;align-items:center;justify-content:center;border:1px solid var(--line);color:var(--ink);font-size:20px}.card{background:var(--glass);-webkit-backdrop-filter:blur(22px) saturate(1.4);backdrop-filter:blur(22px) saturate(1.4);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--card-shadow);padding:18px;margin-bottom:14px;position:relative;overflow:hidden}.card .ct{font-size:11px;color:var(--muted);font-weight:800;letter-spacing:var(--eyebrow-ls);text-transform:uppercase;margin-bottom:12px}.search{background:var(--glass);-webkit-backdrop-filter:blur(20px) saturate(1.3);backdrop-filter:blur(20px) saturate(1.3);border:1px solid var(--line);border-radius:14px;box-shadow:var(--sheen-shadow);padding:14px 15px;display:flex;align-items:center;gap:10px;margin:14px 0}.search input{border:none;background:transparent;outline:none;font:inherit;font-size:14.5px;width:100%;color:var(--ink)}.search input::placeholder{color:var(--muted)}.search svg{color:var(--accent)}.cal{padding:22px 22px 20px}.calTop{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);font-weight:600;margin-top:9px}.calTop b{color:var(--ink);font-weight:800}.ringwrap{display:flex;justify-content:center;margin:6px 0 14px}.macros{display:flex;gap:14px;margin-top:4px}.mac{flex:1}.mac .mtop{display:flex;flex-direction:column;gap:0;align-items:flex-start;margin-bottom:6px}.mac .lab{font-size:11px;color:var(--muted2);font-weight:600}.mac .val{font-size:20px;color:var(--ink);font-weight:800;font-family:var(--font-display);letter-spacing:-.3px}.track{height:6px;border-radius:6px;background:var(--surface2);overflow:hidden}.track i{display:block;height:100%;border-radius:6px;background:var(--grad)}.two{display:flex;gap:12px;margin-bottom:14px}.mini{flex:1;background:var(--glass);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid var(--line);border-radius:var(--r-sm);box-shadow:var(--sheen-shadow);padding:14px 15px;text-align:left;color:var(--ink)}.mini .mic{width:30px;height:30px;border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:8px;background:var(--surface2)!important}.mini .mic svg{stroke:var(--accent)}.mini .lab{font-size:11px;color:var(--muted);font-weight:600}.mini .v{font-size:21px;font-weight:800;color:var(--ink);letter-spacing:-.2px;margin-top:2px}.mini .v small{font-size:11px;color:var(--muted);font-weight:600}.sec{display:flex;justify-content:space-between;align-items:baseline;margin:20px 2px 12px}.sec h3{font-size:20px;font-weight:900;color:var(--ink);letter-spacing:-.3px}.sec a,.sec .link{font-size:10px;color:var(--accent);font-weight:700;letter-spacing:.12em;text-transform:uppercase;background:none;border:none}.meal{display:flex;align-items:center;gap:13px;background:var(--glass);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--line);border-radius:var(--r-sm);box-shadow:var(--sheen-shadow);padding:11px;margin-bottom:10px}.thumb{width:52px;height:52px;border-radius:14px;object-fit:cover;flex:none;background:var(--thumb)}.micon{width:52px;height:52px;border-radius:14px;background:var(--surface2);display:flex;align-items:center;justify-content:center;color:var(--accent);flex:none}.meal .mt{flex:1;min-width:0}.meal .mt b{font-size:15px;font-weight:700;color:var(--ink);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.meal .mt span{font-size:11.5px;color:var(--muted)}.meal .kc{text-align:right;flex:none}.meal .kc b{font-size:17px;font-weight:800;color:var(--ink)}.meal .kc span{font-size:10px;color:var(--muted);display:block}.addbtn{width:36px;height:36px;border-radius:50%;border:none;background:var(--grad);color:var(--accent-ink);display:flex;align-items:center;justify-content:center;flex:none;font-size:18px;font-weight:700;box-shadow:0 6px 14px -4px var(--accent)}.delbtn{width:30px;height:30px;border-radius:50%;background:var(--surface2);border:1px solid var(--line);color:var(--muted);flex:none;font-size:15px}.result{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-bottom:1px solid var(--line)}.result .nm{font-size:14.5px;font-weight:600;color:var(--ink)}.result .meta{font-size:11.5px;color:var(--muted)}.chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}.chip{font-size:12.5px;padding:8px 14px;border-radius:999px;background:var(--accent-soft);color:var(--ink);border:1px solid var(--accent);font-weight:600}.chip.gray{background:var(--glass);color:var(--muted2);border:1px solid var(--line)}.seg{display:flex;gap:5px;background:var(--glass);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--line);border-radius:13px;padding:4px}.seg button{flex:1;font:inherit;font-size:13px;font-weight:600;padding:9px 11px;border-radius:9px;color:var(--muted);background:none;border:none}.seg button.on{background:var(--grad);color:var(--accent-ink);font-weight:800;box-shadow:0 6px 14px -6px var(--accent)}.toggle{display:flex;gap:4px;background:var(--glass);border:1px solid var(--line);border-radius:11px;padding:3px}.toggle span{font-size:12px;padding:6px 12px;border-radius:9px;color:var(--muted);font-weight:600}.toggle span.on{background:var(--grad);color:var(--accent-ink);font-weight:800}.switch{width:46px;height:28px;border-radius:14px;background:var(--surface2);border:1px solid var(--line);position:relative;flex:none;cursor:pointer;transition:background .2s}.switch i{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:var(--muted);transition:transform .2s,background .2s}.switch.on{background:var(--grad);border-color:transparent;box-shadow:0 4px 12px -3px var(--accent)}.switch.on i{transform:translate(18px);background:var(--accent-ink)}.chart{display:flex;align-items:flex-end;justify-content:space-between;height:150px;margin:8px 0;position:relative;padding-top:6px}.limitline{position:absolute;left:0;right:0;border-top:1.5px dashed var(--muted2)}.limitline span{position:absolute;right:0;top:-14px;font-size:9px;color:var(--muted2)}.col{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px}.col .b{width:16px;border-radius:8px;background:var(--grad)}.col .b.over{background:var(--muted2)}.col .d{font-size:10px;color:var(--muted)}.statgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.stat{background:var(--glass);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sheen-shadow);padding:16px}.stat .lab{font-size:11px;color:var(--muted);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.stat .num{font-size:26px;font-weight:900;margin-top:4px;letter-spacing:-.4px;color:var(--ink)}.stat .num small{font-size:12px;font-weight:600;color:var(--muted)}.hero{position:relative;background:var(--glass);-webkit-backdrop-filter:blur(22px) saturate(1.4);backdrop-filter:blur(22px) saturate(1.4);border:1px solid var(--line);border-radius:var(--r);padding:22px;color:var(--ink);margin-bottom:14px;box-shadow:var(--card-shadow);overflow:hidden}.hero .top{display:flex;justify-content:space-between;align-items:center;font-size:11px;font-weight:800;letter-spacing:var(--eyebrow-ls);text-transform:uppercase;color:var(--muted)}.hero .eaten{font-size:12px;color:var(--muted);margin-top:12px}.hero .big{font-size:72px;font-weight:900;line-height:.9;letter-spacing:-2.5px;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.hero .big span{font-size:18px;font-weight:800;-webkit-text-fill-color:var(--muted);color:var(--muted);letter-spacing:0}.hero .prog{margin-top:16px;height:10px;background:var(--surface2);border-radius:10px;overflow:hidden}.hero .prog>i{display:block;height:100%;background:var(--grad);border-radius:10px;box-shadow:0 0 12px var(--accent-soft)}.hero .pct{font-size:11.5px;color:var(--muted);margin-top:9px}.row{display:flex;justify-content:space-between;align-items:center}.field{background:var(--glass);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid var(--line);border-radius:14px;box-shadow:var(--sheen-shadow);padding:14px;margin-bottom:12px}.field .lab{font-size:12px;color:var(--muted);margin-bottom:8px;font-weight:600}.field .row{display:flex;gap:8px}.field input,.field select{flex:1;background:var(--surface2);border:1px solid var(--line);border-radius:12px;padding:12px;font:inherit;font-size:15px;outline:none;min-width:0;color:var(--ink)}.field input::placeholder{color:var(--muted)}.btn{background:var(--grad);color:var(--accent-ink);border:none;border-radius:15px;padding:0 16px;font:inherit;font-size:14.5px;font-weight:800;box-shadow:0 16px 30px -8px var(--accent)}.btn.block{width:100%;padding:16px;margin-top:12px}.btn.ghost{background:var(--glass);color:var(--ink);border:1px solid var(--line);box-shadow:var(--sheen-shadow)}.listrow{display:flex;justify-content:space-between;align-items:center;padding:13px 2px;border-bottom:1px solid var(--line);font-size:14.5px;color:var(--ink)}.week{display:flex;justify-content:space-between;margin:12px 0 6px}.day{text-align:center;font-size:12px;color:var(--muted);flex:1}.day b{display:block;font-size:14px;color:var(--ink);font-weight:700;width:32px;height:32px;line-height:32px;border-radius:50%;margin:6px auto 0}.day.on b{background:var(--grad);color:var(--accent-ink)}.tl-time{font-size:11px;color:var(--muted);margin:14px 0 4px;font-weight:600}.report{background:var(--glass);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--line);border-radius:var(--r-sm);box-shadow:var(--sheen-shadow);padding:16px;margin-bottom:14px}.report .rline{display:flex;align-items:center;gap:9px;font-size:13px;padding:4px 0;color:var(--muted2)}.advtoggle{width:100%;display:flex;justify-content:space-between;align-items:center;background:var(--glass);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid var(--line);border-radius:var(--r-sm);box-shadow:var(--sheen-shadow);padding:14px 16px;margin:4px 0 14px;font:inherit;font-size:13px;font-weight:700;color:var(--muted2)}.nav{position:fixed;bottom:16px;left:50%;transform:translate(-50%);width:calc(100% - 32px);max-width:448px;height:62px;background:var(--glass);-webkit-backdrop-filter:blur(26px) saturate(1.4);backdrop-filter:blur(26px) saturate(1.4);border:1px solid var(--line);border-radius:24px;display:flex;align-items:center;justify-content:space-around;z-index:20;box-shadow:var(--nav-shadow)}.nav a{color:var(--muted);display:flex;align-items:center;justify-content:center;flex:1}.nav a.on{color:var(--accent)}.nav .mid{width:54px;height:54px;border-radius:18px;background:var(--grad);color:var(--accent-ink);display:flex;align-items:center;justify-content:center;margin-top:-22px;flex:none;border:none;box-shadow:0 14px 26px -6px var(--accent),inset 0 1px #fff6}.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#04070699;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:50;display:flex;align-items:flex-end;justify-content:center}.sheet{background:#0f1614;border:1px solid var(--line);border-bottom:none;width:100%;max-width:480px;border-radius:28px 28px 0 0;padding:22px 18px 28px;max-height:90vh;overflow-y:auto;-webkit-overflow-scrolling:touch;box-shadow:0 -30px 60px -20px #000}.sheet h2{font-size:20px;font-weight:900;letter-spacing:-.3px;color:var(--ink)}.menuitem{display:block;width:100%;text-align:left;background:none;border:none;border-bottom:1px solid var(--line);padding:13px 16px;font:inherit;font-size:14px;color:var(--ink)}.menuitem:last-child{border-bottom:none}.stepbtn{width:38px;height:38px;border-radius:50%;border:1.5px solid var(--accent);background:transparent;color:var(--accent);font-size:18px;display:flex;align-items:center;justify-content:center;flex:none}.cartbar{position:fixed;left:50%;transform:translate(-50%);bottom:88px;width:calc(100% - 36px);max-width:444px;background:var(--grad);color:var(--accent-ink);border:none;border-radius:16px;padding:15px 18px;display:flex;justify-content:space-between;align-items:center;font:inherit;font-size:15px;font-weight:800;z-index:40;box-shadow:0 16px 30px -8px var(--accent),inset 0 1px #fff6}.linkbtn{background:none;border:none;color:var(--accent);font:inherit;font-size:14px;font-weight:700;padding:10px 2px}.pfhead{display:flex;align-items:center;gap:14px}.avatar-lg{width:72px;height:72px;border-radius:50%;background:var(--grad) center/cover no-repeat;flex:none;position:relative;border:none;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 26px -8px var(--accent)}.avatar-lg .cam{position:absolute;right:-2px;bottom:-2px;width:26px;height:26px;border-radius:50%;background:var(--accent);color:var(--accent-ink);display:flex;align-items:center;justify-content:center;border:2px solid var(--bg)}svg{display:block}.no-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.no-scrollbar::-webkit-scrollbar{display:none}@keyframes spin{to{transform:rotate(360deg)}}.spinner{width:34px;height:34px;border-radius:50%;border:3px solid var(--surface2);border-top-color:var(--accent);animation:spin .7s linear infinite}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:64px 20px;color:var(--muted)}@media (prefers-reduced-motion: reduce){.spinner{animation-duration:2s}}button{cursor:pointer;transition:transform .12s ease,filter .15s ease}button:active{transform:scale(.97)}input,select,textarea{color-scheme:dark}
