:root{color-scheme:dark;--bg:#0c162b;--card:#1d2a40;--tile:#33445f;--line:#52647f;--text:#f1f5fb;--muted:#9eacc2;--blue:#3d82f6;--green:#1bc86a;--red:#fa5870}*{box-sizing:border-box}body{margin:0;background:var(--bg);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:var(--text)}.shell{width:min(100%,760px);margin:auto;padding:34px 18px 60px}h1{font-size:30px;margin:4px 0 8px;text-align:left}h2{font-size:23px;margin:0 0 20px}.muted,.empty{color:var(--muted);line-height:1.6}.eyebrow{color:#6f8dbd;letter-spacing:2px;font-size:12px;margin:0}.card{border:2px solid #4a5b76;border-radius:28px;background:var(--card);padding:28px 34px;margin-top:24px}.header-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}header{display:flex;justify-content:space-between;gap:16px;align-items:flex-end;margin:16px 0 10px}.secondary,.ghost,button{border:0;border-radius:13px;padding:11px 16px;background:var(--blue);color:white;font-size:15px;font-weight:700;cursor:pointer}.secondary{background:transparent;border:2px solid var(--line)}.ghost{background:transparent;color:var(--muted);padding:8px}.upload input{display:none}.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.stat{background:var(--tile);border-radius:20px;padding:19px;text-align:center}.stat span{display:block;color:var(--muted);font-size:14px}.stat strong{font-size:28px;margin:8px 0 4px;display:block}.stat strong.green,.green{color:var(--green)}.goal-progress{margin-top:20px;text-align:center;color:var(--muted)}.goal-details{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px}.goal-details div{background:var(--tile);padding:12px;border-radius:14px;text-align:center}.goal-details span{display:block;color:var(--muted);font-size:12px}.goal-details strong{display:block;margin-top:5px;font-size:15px}.goal-details p{grid-column:1/-1;color:var(--muted);font-size:12px;margin:0;text-align:center}.bar{height:10px;background:#50627d;border-radius:99px;margin-top:10px;overflow:hidden}.bar i{display:block;height:100%;background:var(--green);border-radius:99px}.row-form{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end;margin:16px 0}.targets{grid-template-columns:1fr 1fr auto}label{display:grid;gap:7px;color:var(--muted);font-size:14px}input{width:100%;background:var(--tile);border:2px solid #4e607c;border-radius:13px;padding:12px;color:var(--text);font-size:17px}.success{background:var(--green);color:#072414}.date-label{width:min(290px,100%)}.section-heading{display:flex;justify-content:space-between;align-items:center}.section-heading h2{margin-bottom:20px}.count{background:var(--tile);color:var(--muted);padding:4px 10px;border-radius:999px;font-size:13px}.weight-history{display:grid;gap:9px}.history-row{display:flex;justify-content:space-between;align-items:center;gap:14px;background:var(--tile);border-radius:16px;padding:13px 15px}.history-row>div{display:grid;gap:5px}.history-row>div:last-child{text-align:right;justify-items:end}.history-row span{font-size:13px;color:var(--muted)}.history-row b{font-size:18px}.history-row button{padding:5px 10px;border-radius:9px;font-size:12px}.down{color:var(--green)!important}.up{color:#ffb2bd!important}.meal-cards{display:grid;gap:12px;margin-top:18px}.meal{background:var(--tile);border-radius:18px;padding:16px}.meal h3{margin:0 0 13px;font-size:18px}.options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.option{background:transparent;border:2px solid #51627d;color:var(--muted);font-weight:500}.option.active{border-color:var(--green);color:var(--text);background:#20533e}.meal-progress{margin-top:16px;background:var(--tile);padding:16px;text-align:center;border-radius:17px}.chart{min-height:260px}.chart svg{width:100%;height:260px;overflow:visible}.gridline{stroke:#35445d;stroke-width:1}.axis{fill:var(--muted);font-size:11px}.line{fill:none;stroke:var(--green);stroke-width:3}.point{fill:var(--green);stroke:#d9ffec;stroke-width:1}.week-cards{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}.day{background:var(--tile);border-radius:13px;text-align:center;padding:9px 3px;color:var(--muted);font-size:11px;display:grid;gap:3px}.day strong{font-size:12px}.day small{font-size:10px}.day.ok{outline:3px solid var(--green);color:var(--text)}.day.bad{border-bottom:3px solid var(--red);color:#ffb2bd}.day.pending{opacity:.72}.notice{min-height:24px;color:#94e9ba;text-align:center}.notice.error,.error{color:#ff9aaa}.small{font-size:14px}.login-view{max-width:430px;margin:15vh auto;text-align:center;background:var(--card);border:2px solid #4a5b76;border-radius:28px;padding:42px 28px}.login-view h1{text-align:center}.leaf{font-size:44px}.login-form{text-align:left;margin-top:28px;display:grid;gap:14px}.login-form button{width:100%}footer{color:var(--muted);text-align:center;padding:26px 6px;font-size:14px}@media(max-width:570px){.shell{padding:22px 13px 45px}header{display:block}h1{font-size:25px}.header-actions{margin-top:18px}.card{padding:23px 18px;border-radius:24px}.row-form,.targets{grid-template-columns:1fr 1fr}.row-form button{grid-column:1/-1;justify-self:start}.stats{gap:10px}.stat{padding:15px 8px}.stat strong{font-size:23px}.goal-details{grid-template-columns:1fr}.week-cards{gap:4px}.day{font-size:9px;padding:8px 1px}.day strong{font-size:10px}.day small{font-size:9px}}
