:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-sans:-apple-system, BlinkMacSystemFont, "SF Pro Text", system-ui, "Helvetica Neue", sans-serif;--bg:oklch(96% .006 240);--surface:oklch(99% .003 240);--border:oklch(90% .006 240);--border-strong:oklch(84% .008 240);--text:oklch(20% .01 240);--text-secondary:oklch(46% .01 240);--text-tertiary:oklch(62% .01 240);--text-on-accent:oklch(99% 0 0);--accent:oklch(58% .16 235);--accent-hover:oklch(52% .16 235);--accent-soft:oklch(94% .03 235);--success:oklch(55% .13 150);--success-bg:oklch(95% .045 150);--warning:oklch(42% .11 70);--warning-bg:oklch(96% .05 80);--error:oklch(52% .18 25);--error-bg:oklch(95% .05 25);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:32px;--space-8:48px;--radius-s:10px;--radius-m:14px;--radius-l:20px;--radius-full:999px;--text-xs:12px;--text-sm:13px;--text-base:15px;--text-md:16px;--text-lg:19px;--text-xl:24px;--text-display:52px;--tap-min:44px;--shadow-card:0 1px 2px oklch(20% .01 240/.05)}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums;margin:0}button,input{font-family:inherit}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}.app{min-height:100dvh;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);flex-direction:column;display:flex}.screen{padding:calc(var(--space-5) + env(safe-area-inset-top)) var(--space-4) calc(var(--space-6) + 64px + env(safe-area-inset-bottom));gap:var(--space-4);flex-direction:column;flex:1;display:flex;overflow-y:auto}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-m);padding:var(--space-5);box-shadow:var(--shadow-card)}.card-title{font-size:var(--text-lg);margin:0 0 var(--space-4);font-weight:600}.label{font-size:var(--text-sm);color:var(--text-secondary)}.btn{min-height:var(--tap-min);padding:0 var(--space-5);border-radius:var(--radius-s);font-size:var(--text-base);cursor:pointer;border:none;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.btn-primary{background:var(--accent);color:var(--text-on-accent)}.btn-primary:hover{background:var(--accent-hover)}.btn-primary:disabled{background:var(--border);color:var(--text-tertiary);cursor:not-allowed}.btn-primary.is-loading{color:#0000;position:relative}.btn-primary.is-loading:after{content:"";border:2px solid var(--text-on-accent);border-top-color:#0000;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite spin;position:absolute}.btn-danger{background:var(--error-bg);color:var(--error);border:1px solid oklch(52% .18 25/.25)}.btn-block{width:100%}@keyframes spin{to{transform:rotate(360deg)}}.weight-input{border:none;border-bottom:2px solid var(--border-strong);background:var(--accent-soft);border-radius:var(--radius-s) var(--radius-s) 0 0;width:100%;padding:var(--space-2) var(--space-3);font-size:var(--text-display);letter-spacing:-.01em;color:var(--text);font-weight:700}.weight-input:focus{border-bottom-color:var(--accent);outline:none}.weight-input::placeholder{color:var(--text-tertiary);font-weight:400}.stat-row{padding:var(--space-2) 0;border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.stat-row:last-child{border-bottom:none}.stat-label{font-size:var(--text-base);color:var(--text-secondary)}.stat-value{font-size:var(--text-base);color:var(--text);text-align:right;font-weight:600}.stat-value.is-dash{color:var(--text-tertiary);font-weight:400}.callout{border-radius:var(--radius-m);padding:var(--space-4) var(--space-5);font-size:var(--text-sm);line-height:1.5}.callout-warning{background:var(--warning-bg);color:var(--warning)}.callout-error{background:var(--error-bg);color:var(--error)}.callout-neutral{background:var(--surface);border:1px solid var(--border);color:var(--text-secondary)}.skeleton{background:linear-gradient(90deg, var(--border) 25%, var(--border-strong) 37%, var(--border) 63%);border-radius:var(--radius-s);color:#0000;background-size:400% 100%;animation:1.4s infinite shimmer}@keyframes shimmer{0%{background-position:100%}to{background-position:0}}@media (prefers-reduced-motion:reduce){.skeleton{opacity:.6;animation:none}.btn-primary.is-loading:after{animation:none}}.tabbar{z-index:10;gap:var(--space-1);background:var(--surface);border-top:1px solid var(--border-strong);padding:var(--space-2) calc(var(--space-2) + env(safe-area-inset-right)) calc(var(--space-2) + env(safe-area-inset-bottom)) calc(var(--space-2) + env(safe-area-inset-left));display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar-item{min-height:var(--tap-min);border-radius:var(--radius-s);font-size:var(--text-xs);color:var(--text-secondary);background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;font-weight:600;display:flex}.tabbar-item.is-active{color:var(--accent);background:var(--accent-soft)}.period-switch{border-bottom:1px solid var(--border);display:flex}.period-switch-item{min-height:var(--tap-min);font-size:var(--text-sm);color:var(--text-secondary);background:0 0;border:none;border-bottom:2px solid #0000;flex:1;justify-content:center;align-items:center;font-weight:600;display:flex}.period-switch-item.is-active{color:var(--text);border-bottom-color:var(--accent)}.chart-card{padding:var(--space-4)}.chart-empty{text-align:center;color:var(--text-tertiary);font-size:var(--text-sm);padding:var(--space-8) 0}.chart-point path{fill:var(--accent);stroke:var(--accent)}.chart-line-smoothed path{fill:none;stroke:var(--accent);stroke-width:2px}.chart-line-goal path{fill:none;stroke:var(--text-tertiary);stroke-width:1.5px;stroke-dasharray:4 4}.chart-target-line line{stroke:var(--success);stroke-width:1px;stroke-dasharray:2 3}.chart-axis-label,.chart-axis-label text{fill:var(--text-tertiary);font-size:11px}.table{border-collapse:collapse;width:100%}.table th{text-align:left;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.03em;color:var(--text-secondary);padding:0 0 var(--space-2);border-bottom:1px solid var(--border);font-weight:600}.table td{padding:var(--space-3) 0;font-size:var(--text-base);border-bottom:1px solid var(--border);color:var(--text)}.table tr:last-child td{border-bottom:none}.table td.is-dash{color:var(--text-tertiary)}.table td.is-loss-positive{color:var(--warning)}.row-actions{text-align:right}.row-delete-btn{min-height:36px;padding:0 var(--space-3);border-radius:var(--radius-s);border:1px solid var(--border);background:var(--surface);color:var(--error);font-size:var(--text-sm);font-weight:600}.field-group{gap:var(--space-1);flex-direction:column;display:flex}.field-label{font-size:var(--text-sm);color:var(--text-secondary)}.field-inline{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.text-input{min-height:var(--tap-min);border:1px solid var(--border);border-radius:var(--radius-s);padding:0 var(--space-4);font-size:var(--text-base);background:var(--surface);color:var(--text)}.text-input:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.text-input.has-error{border-color:var(--error)}.field-error-text{font-size:var(--text-xs);color:var(--error)}.field-hint,.danger-zone-text{font-size:var(--text-sm);color:var(--text-secondary)}.freshness-fresh{color:var(--text-secondary)}.freshness-stale{color:var(--warning)}.freshness-error{color:var(--error)}
