:root{--bg: #eef2ea;--surface: #f9fbf7;--surface-2: #e4ece0;--primary: #7fa87f;--primary-strong: #5d7a5d;--text: #3f523f;--text-muted: #7d947d;--accent: #c2b280;--radius-card: 28px;--radius-control: 16px;--shadow-soft: 0 6px 24px rgba(106, 138, 106, .18)}*{box-sizing:border-box;margin:0;padding:0}body{background:radial-gradient(1100px 520px at 50% -8%,#f4f8ef 0%,var(--bg) 62%) fixed var(--bg);color:var(--text);font-family:Huninn,-apple-system,PingFang TC,Noto Sans TC,sans-serif;min-height:100dvh}#app{max-width:480px;margin:0 auto;min-height:100dvh}h1{font-size:1.4rem;color:var(--primary-strong)}h2{font-size:1.1rem;color:var(--primary-strong)}.muted{color:var(--text-muted);font-size:.9rem}.card{background:var(--surface);border-radius:var(--radius-card);box-shadow:var(--shadow-soft);padding:20px}.btn{display:inline-block;background:var(--primary);color:#fff;border:none;border-radius:var(--radius-control);padding:12px 20px;font-size:1rem;font-weight:600;cursor:pointer}.btn:active{opacity:.85}.btn-secondary{background:var(--surface);color:var(--primary-strong);border:1.5px solid var(--surface-2)}.input{width:100%;background:var(--surface);border:1.5px solid var(--surface-2);border-radius:var(--radius-control);padding:12px 14px;font-size:1rem;color:var(--text)}.input:focus{outline:2px solid var(--primary);border-color:transparent}.error{color:#a06a4f;font-size:.9rem}.tabbar{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:480px;display:flex;background:var(--surface);border-top:1px solid var(--surface-2);padding-bottom:env(safe-area-inset-bottom)}.tabbar a{flex:1;text-align:center;padding:10px 0 8px;text-decoration:none;color:var(--text-muted);font-size:.7rem;line-height:1.3}.tabbar a .icon{display:block;font-size:1.25rem}.tabbar a.active{color:var(--primary-strong);font-weight:700}main#view{padding:20px 16px 84px}.progress{height:10px;background:var(--surface-2);border-radius:6px;overflow:hidden}.progress>i{display:block;height:100%;background:var(--primary);border-radius:6px;transition:width .3s}.seg{display:flex;gap:8px}.seg button{flex:1;padding:10px 0;border-radius:var(--radius-control);border:1.5px solid var(--surface-2);background:var(--surface);color:var(--text-muted);font-size:.95rem;cursor:pointer}.seg button.on{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:700}.toast{position:fixed;left:50%;bottom:96px;transform:translate(-50%);background:var(--primary-strong);color:#fff;padding:10px 18px;border-radius:999px;box-shadow:var(--shadow-soft);font-size:.9rem;z-index:50;animation:toast-in .2s ease-out}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.list-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--surface-2)}.list-row:last-child{border-bottom:none}.cal{width:100%;border-collapse:collapse;table-layout:fixed}.cal th{color:var(--text-muted);font-weight:500;font-size:.75rem;padding:6px 0}.cal td{text-align:center;padding:2px 0}.cal td button{width:40px;height:44px;border:none;background:none;border-radius:12px;color:var(--text);font-size:.9rem;cursor:pointer;position:relative}.cal td button.out{color:var(--surface-2)}.cal td button.sel{background:var(--surface-2);font-weight:700}.cal td button.today{outline:2px solid var(--primary)}.cal .dots{position:absolute;bottom:4px;left:0;right:0;display:flex;justify-content:center;gap:3px}.cal .dot-weights,.cal .dot-cardio{width:5px;height:5px;border-radius:50%;display:inline-block}.cal .dot-weights{background:var(--primary)}.cal .dot-cardio{background:var(--accent)}input[type=date].input{-webkit-appearance:none;appearance:none;min-width:0;width:100%;min-height:46px;background:var(--surface)}@keyframes rise-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}main#view>*{animation:rise-in .4s cubic-bezier(.22,1,.36,1) both}main#view>*:nth-child(2){animation-delay:.05s}main#view>*:nth-child(3){animation-delay:.1s}main#view>*:nth-child(4){animation-delay:.15s}main#view>*:nth-child(5){animation-delay:.2s}main#view>*:nth-child(6){animation-delay:.25s}.btn{transition:transform .12s ease,opacity .15s ease}.btn:active{transform:scale(.97)}.tabbar a{transition:color .15s ease}.tabbar a.active svg{transform:translateY(-1px)}h1{letter-spacing:.02em}@media(prefers-reduced-motion:reduce){main#view>*{animation:none}.btn,.tabbar a,.progress>i{transition:none}}.meal-card{display:flex;gap:12px;align-items:center}.meal-thumb{width:64px;height:64px;border-radius:14px;object-fit:cover;background:var(--surface-2);flex-shrink:0}.meal-nums{font-size:.75rem;color:var(--text-muted)}.slot-tag{font-size:.7rem;color:var(--primary-strong);background:var(--surface-2);border-radius:8px;padding:2px 8px}.body-table{width:100%;border-collapse:collapse;font-size:.85rem}.body-table th{color:var(--text-muted);font-weight:500;font-size:.72rem;text-align:right;padding:4px 6px;border-bottom:1px solid var(--surface-2);white-space:nowrap}.body-table th i{font-style:normal;font-size:.62rem;margin-left:1px}.body-table td{text-align:right;padding:8px 6px;border-bottom:1px solid var(--surface-2);white-space:nowrap}.body-table th:first-child,.body-table td:first-child{text-align:left;color:var(--text-muted);font-size:.78rem}.body-table tbody tr:last-child td{border-bottom:none}
