:root{--accent: #b7d94c;--accent-ink: #1b2005;--good: #6cc86c;--warn: #e8a13a;--bad: #e8564f;--radius: 20px;--radius-sm: 14px}[data-accent=lime]{--accent: #b7d94c;--accent-ink: #1b2005}[data-accent=blue]{--accent: #4a9eff;--accent-ink: #04203f}[data-accent=violet]{--accent: #a78bfa;--accent-ink: #1e1240}[data-accent=coral]{--accent: #fb7c56;--accent-ink: #3a1206}[data-accent=teal]{--accent: #2dd4bf;--accent-ink: #04302a}[data-theme=dark]{--bg: #0f1012;--card: #17181b;--card-soft: #1e2024;--text: #f4f4f2;--muted: #8b8e96;--line: rgba(255, 255, 255, .08);--track: rgba(255, 255, 255, .1)}[data-theme=light]{--bg: #f3f2ed;--card: #ffffff;--card-soft: #f7f6f2;--text: #17181b;--muted: #7b7d85;--line: rgba(0, 0, 0, .08);--track: rgba(0, 0, 0, .08)}[data-theme=dark] [data-accent]{color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,system-ui,sans-serif;font-size:16px;line-height:1.45;padding-bottom:calc(78px + env(safe-area-inset-bottom))}.screen{padding:10px 14px 24px;max-width:640px;margin:0 auto}.card{background:var(--card);border-radius:var(--radius);padding:16px;margin-bottom:12px}.card.soft{background:var(--card-soft)}.row{display:flex;align-items:center;gap:10px}.between{display:flex;align-items:center;justify-content:space-between;gap:10px}.muted{color:var(--muted)}.small{font-size:13px}.tiny{font-size:12px}.grow{flex:1;min-width:0}.center{text-align:center}.strike{text-decoration:line-through;color:var(--muted)}.section-label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:18px 2px 8px}h1{font-size:26px;font-weight:700;margin:6px 0 14px;letter-spacing:-.02em}h2{font-size:16px;font-weight:600;margin:0 0 10px}.screen-head{display:flex;align-items:baseline;justify-content:space-between}.screen-head .muted{font-size:13px}.rings{display:flex;align-items:center;justify-content:space-between;gap:12px}.ring{position:relative;flex-shrink:0}.ring svg{display:block;transform:rotate(-90deg)}.ring .track{stroke:var(--track)}.ring .value{stroke:var(--accent);transition:stroke-dasharray .4s}.ring .value.good{stroke:var(--good)}.ring .value.warn{stroke:var(--warn)}.ring-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-align:center}.ring-main{font-size:34px;font-weight:700;letter-spacing:-.02em;line-height:1}.ring-sub{font-size:12px;color:var(--muted)}.ring-small-value{font-size:15px;font-weight:600;line-height:1}.macro-cell{display:flex;flex-direction:column;align-items:center;gap:6px;flex:1}.macro-cell .label{font-size:11px;color:var(--muted)}.tiles{display:grid;grid-template-columns:1fr 1fr;gap:10px}.tile{background:var(--card);border-radius:var(--radius-sm);padding:14px}.tile .label{font-size:12px;color:var(--muted);margin-bottom:6px}.tile .value{font-size:22px;font-weight:700;letter-spacing:-.02em}.tile .value span{font-size:13px;font-weight:500;color:var(--muted)}.tile .bar{margin-top:10px}.bar{height:6px;border-radius:3px;background:var(--track);overflow:hidden}.bar>div{height:100%;border-radius:3px;background:var(--accent);transition:width .3s}.bar>div.good{background:var(--good)}.bar>div.warn{background:var(--warn)}.bar>div.bad{background:var(--bad)}.check-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.check-row:last-child{border-bottom:none}.check-box{width:22px;height:22px;border-radius:7px;flex-shrink:0;border:1.5px solid var(--line);background:transparent;display:flex;align-items:center;justify-content:center;font-size:13px;color:var(--accent);padding:0}.check-box.done{background:var(--accent);border-color:transparent;color:var(--accent-ink)}button{font:inherit;color:var(--text);background:transparent;border:1px solid var(--line);border-radius:12px;padding:11px 16px;cursor:pointer;transition:transform .1s}button:active{transform:scale(.98)}button.primary{background:var(--accent);color:var(--accent-ink);border-color:transparent;font-weight:600}button.ghost{border:none;padding:6px 8px;color:var(--muted)}button.link{border:none;padding:4px 2px;color:var(--accent);font-weight:500;background:none}button.wide{width:100%}button:disabled{opacity:.4}input,select,textarea{font:inherit;color:var(--text);background:var(--card-soft);border:1px solid transparent;border-radius:12px;padding:11px 13px;width:100%;min-width:0}input:focus,select:focus{outline:none;border-color:var(--accent)}input::placeholder{color:var(--muted)}.list-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 0;border-bottom:1px solid var(--line)}.list-item:last-child{border-bottom:none}.pill{display:inline-block;border-radius:9px;padding:4px 9px;font-size:12px;font-weight:500}.pill.accent{background:color-mix(in srgb,var(--accent) 22%,transparent);color:var(--accent)}.pill.good{background:color-mix(in srgb,var(--good) 20%,transparent);color:var(--good)}.pill.warn{background:color-mix(in srgb,var(--warn) 20%,transparent);color:var(--warn)}.pill.bad{background:color-mix(in srgb,var(--bad) 20%,transparent);color:var(--bad)}.pill.flat{background:var(--track);color:var(--muted)}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{border-radius:20px;padding:7px 13px;font-size:13px;border:1px solid var(--line);background:transparent;color:var(--muted)}.chip.active{background:var(--accent);border-color:transparent;color:var(--accent-ink);font-weight:500}.chip.soft{background:var(--card-soft);border-color:transparent;color:var(--text)}.segments{display:flex;gap:4px;background:var(--card-soft);border-radius:12px;padding:4px}.segments button{flex:1;border:none;background:transparent;color:var(--muted);padding:8px;font-size:14px;border-radius:9px}.segments button.active{background:var(--card);color:var(--text);font-weight:500}[data-theme=light] .segments button.active{box-shadow:0 1px 3px #00000014}.advice-deck{margin-bottom:12px}.advice-track{display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;align-items:flex-start;scrollbar-width:none;-webkit-overflow-scrolling:touch;transition:height .2s}.advice-track::-webkit-scrollbar{display:none}.advice-slide{flex:0 0 100%;scroll-snap-align:start}.advice{background:var(--card);border-radius:var(--radius-sm);border-left:3px solid var(--accent);padding:13px 15px;margin-bottom:0}.advice.warn{border-left-color:var(--warn)}.advice.good{border-left-color:var(--good)}.advice-text{margin:0;font-size:14px;line-height:1.45}.advice-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.advice-actions button{padding:7px 12px;font-size:13px;border-radius:10px;background:var(--card-soft);border-color:transparent}.advice-dots{display:flex;justify-content:center;gap:6px;margin-top:8px}.advice-dots i{width:6px;height:6px;border-radius:50%;background:var(--muted);opacity:.3}.advice-dots i.active{background:var(--accent);opacity:1}.set-row{display:grid;grid-template-columns:22px 1fr 1fr auto;align-items:center;gap:8px;margin-bottom:8px}.set-row.done input{background:color-mix(in srgb,var(--good) 15%,transparent)}.set-row.warmup input{background:var(--track);color:var(--muted)}.set-num{color:var(--muted);font-size:13px;text-align:center}.stepper{display:flex;align-items:center;gap:3px;flex-shrink:0}.stepper button{border-radius:9px;padding:7px 11px;font-size:16px;line-height:1}.stepper span{min-width:26px;text-align:center;font-size:14px;font-variant-numeric:tabular-nums}.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.calendar-weekday{text-align:center;font-size:11px;color:var(--muted);padding-bottom:4px}.calendar-day{position:relative;aspect-ratio:1;padding:0;border:1.5px solid transparent;border-radius:50%;background:transparent;color:var(--text);font-size:14px;display:flex;align-items:center;justify-content:center}.calendar-day.ok{border-color:var(--good)}.calendar-day.under{border-color:var(--accent)}.calendar-day.over{border-color:var(--warn)}.calendar-day.selected{background:var(--accent);color:var(--accent-ink);border-color:transparent;font-weight:600}.calendar-day.future{opacity:.3}.calendar-dot{position:absolute;bottom:3px;left:50%;transform:translate(-50%);width:4px;height:4px;border-radius:50%;background:currentColor;opacity:.6}.calendar-dot.static{position:static;transform:none;display:inline-block;margin-right:5px;opacity:1}.calendar-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px;font-size:11px;color:var(--muted)}.calendar-legend .swatch{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px}.calendar-legend .swatch.ok{background:var(--good)}.calendar-legend .swatch.under{background:var(--accent)}.calendar-legend .swatch.over{background:var(--warn)}.chart{position:relative;display:flex;align-items:flex-end;gap:5px;height:110px;margin-top:12px}.chart-target{position:absolute;left:0;right:0;height:0;border-top:1px dashed var(--muted);opacity:.5}.chart-col{flex:1;height:100%;display:flex;align-items:flex-end}.chart-bar{width:100%;border-radius:4px 4px 0 0;transition:height .25s}.chart-bar.ok{background:var(--good)}.chart-bar.over{background:var(--warn)}.chart-bar.under{background:var(--accent);opacity:.6}.chart-bar.empty{background:var(--track)}.chart-axis{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin-top:8px}.chat-screen{display:flex;flex-direction:column;min-height:calc(100vh - 96px)}.chat-log{flex:1;display:flex;flex-direction:column;gap:8px;padding:8px 0 12px}.bubble{max-width:88%;padding:11px 14px;border-radius:16px;font-size:14px;line-height:1.45;white-space:pre-wrap;word-wrap:break-word}.bubble.user{align-self:flex-end;background:var(--accent);color:var(--accent-ink);border-bottom-right-radius:6px}.bubble.model{align-self:flex-start;background:var(--card);border-bottom-left-radius:6px}.chat-input{position:sticky;bottom:calc(78px + env(safe-area-inset-bottom));display:flex;gap:8px;padding:8px 0;background:var(--bg)}.chat-input input{flex:1}.chat-input button{min-width:48px;font-size:18px}.tabs{position:fixed;left:0;right:0;bottom:0;z-index:10;display:grid;grid-template-columns:repeat(5,1fr);background:var(--card);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.tabs button{border:none;border-radius:0;background:transparent;padding:10px 2px 12px;font-size:11px;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:4px}.tabs button.active{color:var(--accent);font-weight:500}.tabs .icon{font-size:17px;line-height:1}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:20;display:flex;align-items:flex-end}.sheet{background:var(--bg);width:100%;max-height:88vh;overflow-y:auto;border-radius:22px 22px 0 0;padding:18px 14px calc(20px + env(safe-area-inset-bottom))}.field{margin-bottom:12px}.field label{display:block;font-size:13px;color:var(--muted);margin-bottom:6px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.plan-item{padding:12px 0;border-bottom:1px solid var(--line)}.plan-item:last-child{border-bottom:none}.timer{font-variant-numeric:tabular-nums;font-size:24px;font-weight:600}.macro-bars{display:flex;flex-direction:column;gap:10px}.macro-row .bar{height:6px}.macro-row .fill{height:100%;border-radius:3px;background:var(--accent)}.macro-row .fill.good{background:var(--good)}.macro-row .fill.under,.macro-row .fill.low{background:var(--accent);opacity:.55}.macro-row .fill.over{background:var(--warn)}.delta{margin-left:8px;font-weight:600}.delta.good{color:var(--good)}.delta.under{color:var(--muted)}.delta.low{color:var(--warn)}.delta.over{color:var(--bad)}
