:root{--bg:#0f1115;--bg-card:#181b22;--bg-raised:#20242e;--border:#2a2f3a;--text:#e6e8ee;--text-dim:#9aa1af;--accent:#4f8cff;--accent-press:#3a6fd6;--good:#34d399;--danger:#f87171;--warn:#fbbf24;--tabbar-h:56px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);margin:0;padding:0}#root{min-height:100svh}.app-shell{max-width:560px;min-height:100svh;margin:0 auto}.page{padding:16px 16px calc(var(--tabbar-h) + env(safe-area-inset-bottom) + 24px)}.page-title{margin:4px 0 16px;font-size:22px;font-weight:700}.section-title{color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;margin:20px 0 8px;font-size:14px;font-weight:600}.tabbar{z-index:50;border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom);background:#181b22f7;justify-content:space-around;max-width:560px;margin:0 auto;display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar a{min-height:var(--tabbar-h);color:var(--text-dim);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:11px;text-decoration:none;display:flex}.tabbar a.active{color:var(--accent)}.tabbar .tab-icon{font-size:20px;line-height:1}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;margin-bottom:12px;padding:14px}.card-title{color:var(--text-dim);margin:0 0 6px;font-size:13px;font-weight:600}.card-value{font-size:24px;font-weight:700}.card-sub{color:var(--text-dim);margin-top:4px;font-size:12px}.card-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.card-grid .card{margin-bottom:0}.placeholder{opacity:.65}.btn{border:1px solid var(--border);background:var(--bg-raised);min-height:44px;color:var(--text);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:6px;width:100%;padding:0 18px;font-size:15px;font-weight:600;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:active{background:var(--accent-press)}.btn-danger{color:var(--danger);border-color:var(--danger);background:0 0}.btn-ghost{background:0 0}.btn-row{gap:10px;display:flex}.btn-sm{width:auto;min-height:36px;padding:0 12px;font-size:13px}.btn-icon{border-radius:10px;width:44px;min-width:44px;min-height:44px;padding:0;font-size:18px}.field{margin-bottom:14px}.field label{color:var(--text-dim);margin-bottom:6px;font-size:13px;display:block}.input,select.input{border:1px solid var(--border);background:var(--bg-raised);width:100%;min-height:44px;color:var(--text);border-radius:10px;padding:8px 12px;font-size:16px}.input:focus{outline:2px solid var(--accent);outline-offset:-1px}.input-sm{text-align:center;min-height:40px;padding:4px 8px;font-size:15px}.list-item{background:var(--bg-card);border:1px solid var(--border);min-height:56px;color:var(--text);border-radius:12px;align-items:center;gap:12px;margin-bottom:8px;padding:12px;text-decoration:none;display:flex}.list-item-main{flex:1;min-width:0}.list-item-title{font-size:15px;font-weight:600}.list-item-sub{color:var(--text-dim);margin-top:2px;font-size:12.5px}.thumb{object-fit:cover;background:var(--bg-raised);border-radius:8px;flex-shrink:0;width:48px;height:48px}.chip-row{-webkit-overflow-scrolling:touch;gap:8px;padding:4px 0 10px;display:flex;overflow-x:auto}.chip{border:1px solid var(--border);background:var(--bg-card);color:var(--text-dim);cursor:pointer;border-radius:999px;flex-shrink:0;padding:7px 14px;font-size:13px}.chip.active{background:var(--accent);border-color:var(--accent);color:#fff}.status{text-align:center;color:var(--text-dim);padding:28px 16px;font-size:14px}.status-error{color:var(--danger)}.spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:26px;height:26px;margin:0 auto 10px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.set-row{grid-template-columns:22px 1fr 50px 60px 44px 40px;align-items:center;gap:7px;padding:6px 0;display:grid}.set-row .prev{color:var(--text-dim);font-size:12px}.set-row.done{opacity:.75}.set-check{border:1px solid var(--border);background:var(--bg-raised);min-width:40px;min-height:40px;color:var(--text-dim);cursor:pointer;border-radius:10px;font-size:16px}.set-check.done{background:var(--good);border-color:var(--good);color:#06281c}.active-workout{padding-bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom) + 84px)}.active-workout.resting{padding-bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom) + 140px)}.exercise-card{padding-top:4px;transition:border-color .15s,background .15s}.exercise-card.done{border-color:var(--good);background:#22c55e14}.exercise-head{width:100%;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:10px;min-height:44px;padding:8px 0;display:flex}.exercise-done-badge{background:var(--good);color:#06281c;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:13px;font-weight:800;display:inline-flex}.exercise-head .chevron{color:var(--text-dim);flex-shrink:0;font-size:13px}.prev-notes{color:var(--text-dim);background:var(--bg-raised);border-radius:8px;margin:8px 0 4px;padding:8px 10px;font-size:12.5px}.notes-field{text-align:left;resize:vertical;min-height:52px;margin-top:10px;font-size:14px}.rest-bar{bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom) + 64px);z-index:41;background:var(--bg-raised);border-top:1px solid var(--accent);align-items:center;gap:10px;max-width:560px;margin:0 auto;padding:10px 16px;display:flex;position:fixed;left:0;right:0}.rest-time{font-variant-numeric:tabular-nums;flex:1;font-size:22px;font-weight:700}.time-slot{border-bottom:1px solid var(--border);padding:8px 0}.time-slot-empty{opacity:.7}.time-slot-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.time-slot-label{color:var(--text-dim);min-width:56px;font-size:13px;font-weight:600}.report-points{flex-direction:column;gap:6px;margin:10px 0 0;padding:0;list-style:none;display:flex}.report-point{grid-template-columns:52px 1fr auto;align-items:center;gap:8px;font-size:12px;display:grid}.report-date{color:var(--text-dim)}.report-bar-track{background:var(--bg-raised);border-radius:6px;height:10px;overflow:hidden}.report-bar{background:var(--accent);border-radius:6px;height:100%;display:block}.report-vol{color:var(--text-dim);font-variant-numeric:tabular-nums}.end-workout-bar{bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom));z-index:45;border-top:1px solid var(--border);background:#181b22f7;max-width:560px;margin:0 auto;padding:10px 16px;position:fixed;left:0;right:0}.menu{position:relative}.menu-pop{z-index:30;background:var(--bg-raised);border:1px solid var(--border);border-radius:10px;min-width:140px;position:absolute;top:46px;right:0;overflow:hidden;box-shadow:0 8px 24px #00000080}.menu-pop button{width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;padding:12px 14px;font-size:14px;display:block}.menu-pop button:active{background:var(--bg-card)}.menu-pop .danger{color:var(--danger)}.row{align-items:center;gap:10px;display:flex}.row-between{justify-content:space-between;align-items:center;gap:10px;display:flex}.grow{flex:1;min-width:0}.muted{color:var(--text-dim)}.small{font-size:12.5px}.badge{background:var(--accent);color:#fff;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:700}.error-text{color:var(--danger);margin:8px 0;font-size:13.5px}.divider{border:none;border-top:1px solid var(--border);margin:14px 0}.auth-page{flex-direction:column;justify-content:center;max-width:420px;min-height:100svh;margin:0 auto;padding:24px;display:flex}.auth-title{margin-bottom:4px;font-size:26px;font-weight:800}.auth-sub{color:var(--text-dim);margin-bottom:24px}@media (width>=700px){.app-shell,.tabbar,.rest-bar{max-width:640px}}.nutrition-head{justify-content:space-between;align-items:center;display:flex}.date-nav{justify-content:center;align-items:center;gap:16px;margin-bottom:14px;display:flex}.date-label{text-align:center;min-width:130px;font-size:15px;font-weight:600}.cal-summary{justify-content:space-between;align-items:flex-end;display:flex}.cal-remaining{text-align:right}.progress{background:var(--bg-raised);border-radius:999px;width:100%;height:8px;overflow:hidden}.progress-bar{border-radius:999px;height:100%;transition:width .25s}.macro-row{margin-top:10px}.macro-head{color:var(--text-dim);justify-content:space-between;margin-bottom:4px;font-size:12px;display:flex}.macro-nums{font-variant-numeric:tabular-nums}.meal-head{justify-content:space-between;align-items:center;display:flex}.meal-head-right{align-items:center;gap:10px;display:flex}.diary-list{margin:10px 0 0;padding:0;list-style:none}.diary-item{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;padding:8px 0;display:flex}.diary-item:first-child{border-top:none}.diary-name{font-size:15px;font-weight:600}.field-label{color:var(--text-dim);margin-bottom:6px;font-size:12px;font-weight:600;display:block}.segmented{background:var(--bg-raised);border-radius:12px;gap:6px;margin-bottom:14px;padding:4px;display:flex}.segment{min-height:38px;color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:9px;flex:1;font-size:13px;font-weight:600}.segment-active{background:var(--accent);color:#fff}.food-list{margin:12px 0 0;padding:0;list-style:none}.food-item{text-align:left;border:1px solid var(--border);background:var(--bg-card);width:100%;color:var(--text);cursor:pointer;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;padding:12px;display:flex}.tag{text-transform:uppercase;border-radius:999px;flex-shrink:0;padding:3px 9px;font-size:11px;font-weight:600}.tag-usda{color:var(--good);background:#34d39929}.tag-custom{color:var(--accent);background:#4f8cff29}.tag-off{color:var(--warn);background:#fbbf2429}.tag-recipe{color:var(--danger);background:#f8717129}.macro-inputs{grid-template-columns:1fr 1fr 1fr;gap:8px;margin-top:10px;display:grid}.scan-video{object-fit:cover;background:#000;border-radius:12px;width:100%;max-height:260px}.planned-item{opacity:.92}.planned-item .diary-name:before{content:"◷ ";color:var(--warn)}
