:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4f5f7;--card:#fff;--fg:#16181d;--muted:#6a7080;--line:#dde0e6;--accent:#1f9d63;--accent-fg:#fff;--danger:#c93636;--gauge:#4cc9a8;--macro:#4aa3ec;--mic:#72af00;--mic-active:#5f9400}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--fg);-webkit-text-size-adjust:100%;margin:0;font:16px/1.4 -apple-system,system-ui,Segoe UI,sans-serif}h1{margin:20px 0 10px;font-size:22px}h2{margin:0 0 8px;font-size:17px}h3{color:var(--muted);margin:16px 0 8px;font-size:14px;font-weight:600}.screen{padding:max(16px, env(safe-area-inset-top)) 16px calc(120px + env(safe-area-inset-bottom));max-width:560px;margin:0 auto}.settings-screen{padding-bottom:calc(32px + env(safe-area-inset-bottom))}.settings-block{margin-top:24px}.grid2.spaced{margin-top:12px}.muted{color:var(--muted);margin:0;font-size:14px}.error{color:var(--danger);margin:10px 0 0;font-size:14px}.fatal{text-align:center;padding:32px 16px}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px}.grid2{grid-template-columns:1fr 1fr;gap:10px 12px;display:grid}label{color:var(--muted);flex-direction:column;gap:4px;font-size:13px;display:flex}input,select{font:inherit;color:var(--fg);background:var(--bg);border:1px solid var(--line);border-radius:10px;width:100%;height:44px;padding:0 12px;font-size:16px}button{font:inherit;cursor:pointer;height:44px;color:var(--fg);background:var(--line);border:0;border-radius:10px;padding:0 16px}button:disabled{opacity:.5}button.primary{background:var(--accent);color:var(--accent-fg);font-weight:600}button.ghost{border:1px solid var(--line);background:0 0}button.danger{color:var(--danger);border:1px solid var(--danger);background:0 0}button.wide{width:100%;margin-top:14px}.row{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.item{text-align:left;background:var(--card);border:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:2px;width:100%;height:auto;min-height:56px;padding:10px 14px;display:flex}button.danger.solid{background:var(--danger);color:#fff;border-color:var(--danger);font-weight:600}textarea{font:inherit;color:var(--fg);background:var(--bg);border:1px solid var(--line);resize:vertical;border-radius:10px;width:100%;padding:10px 12px;font-size:16px}.progress{margin-bottom:12px}.progress:last-of-type{margin-bottom:0}.progress-head{justify-content:space-between;margin-bottom:4px;font-size:14px;display:flex}.over{color:var(--danger)}.bar{background:var(--line);border-radius:4px;height:8px;overflow:hidden}.fill{background:var(--accent);height:100%}.fill.over{background:var(--danger)}.hint{margin-top:12px}.log{margin-top:24px}.icon-btn{width:40px;height:40px;color:var(--fg);background:0 0;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-btn:disabled{opacity:.3}.date-header{justify-content:space-between;align-items:center;margin:4px 0 8px;display:flex}.date-title{background:0 0;flex-direction:column;align-items:center;gap:2px;height:auto;padding:4px 12px;display:flex}.date-title strong{font-size:18px}.date-title span{color:var(--muted);font-size:13px}.summary{padding:8px 0 18px;position:relative}.gauge-row{grid-template-columns:1fr auto 1fr;align-items:end;display:grid}.stat{flex-direction:column;align-items:center;gap:2px;padding-bottom:14px;display:flex}.stat strong{font-size:22px}.stat span,.gauge-center span{color:var(--muted);font-size:13px}.gauge{width:190px;position:relative}.gauge svg{width:100%;display:block}.gauge-track,.gauge-fill{fill:none;stroke-width:12px;stroke-linecap:round}.gauge-track{stroke:var(--line)}.gauge-fill{stroke:var(--gauge);transition:stroke-dasharray .6s}.gauge-fill.over{stroke:var(--danger)}.gauge-center{flex-direction:column;align-items:center;display:flex;position:absolute;bottom:10px;left:0;right:0}.gauge-center strong{font-size:32px;line-height:1.1}.macro-row{grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px;display:grid}.macro{flex-direction:column;align-items:center;gap:6px;display:flex}.macro .bar{width:100%;height:6px}.macro .fill{background:var(--macro);transition:width .6s}.macro .fill.over{background:var(--danger)}.macro-label{color:var(--muted);font-size:13px}.macro-value{font-size:14px;font-weight:600}.settings{width:44px;height:44px;color:var(--accent);background:0 0;justify-content:center;justify-self:end;align-items:center;padding:0;display:inline-flex}.meal-card{background:var(--card);border:1px solid var(--line);border-radius:14px;margin-top:12px;overflow:hidden}.meal-head{text-align:left;background:0 0;border-radius:0;align-items:center;gap:10px;width:100%;height:56px;padding:0 14px 0 16px;display:flex}.meal-name{flex:1;font-weight:600}.meal-kcal{color:var(--muted);font-size:14px}.chevron{color:var(--muted);transition:transform .28s;display:inline-flex}.meal-card.open .chevron{transform:rotate(180deg)}.meal-body{grid-template-rows:0fr;transition:grid-template-rows .28s;display:grid}.meal-card.open .meal-body{grid-template-rows:1fr}.meal-inner{overflow:hidden}.meal-list{margin:0;padding:0 8px 8px;list-style:none}.meal-entry{border-top:1px solid var(--line);text-align:left;background:0 0;border-radius:0;justify-content:space-between;align-items:center;gap:12px;width:100%;height:auto;min-height:46px;padding:8px;display:flex}.meal-empty{padding:0 16px 14px}.dock{left:0;right:0;bottom:calc(env(safe-area-inset-bottom) + 16px);pointer-events:none;z-index:5;flex-direction:column;align-items:center;gap:12px;padding:0 16px;display:flex;position:fixed}.dock>*{pointer-events:auto}.dock-bar{grid-template-columns:1fr auto 1fr;align-items:center;width:100%;max-width:528px;display:grid}.dock-note{text-align:center}.mic{background:var(--mic);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:74px;height:74px;padding:0;transition:transform .25s,background-color .25s,box-shadow .25s;display:inline-flex;box-shadow:0 6px 18px #0000002e}.mic:active{transform:scale(.94)}.mic.listening{background:var(--mic-active);animation:1.8s ease-in-out infinite breathe}.mic:disabled{opacity:1}@keyframes breathe{0%,to{transform:scale(1);box-shadow:0 0 #72af0073,0 6px 18px #0000002e}50%{transform:scale(1.08);box-shadow:0 0 0 18px #72af0000,0 6px 18px #0000002e}}@media (prefers-reduced-motion:reduce){.mic.listening{animation:none}}.live{background:var(--card);border:1px solid var(--line);border-radius:16px;width:100%;max-width:528px;padding:14px 44px 14px 16px;animation:.22s rise;position:relative;box-shadow:0 8px 24px #0000001f}.live .row{margin-top:10px}.live-text{min-height:25px;margin:0;font-size:18px}.live-close{width:34px;height:34px;color:var(--muted);background:0 0;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:6px;right:6px}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.interim{color:var(--muted)}.cal-nav{justify-content:space-between;width:88px;margin-top:-44px;margin-left:auto;display:flex}.cal-grid{grid-template-columns:repeat(7,1fr);justify-items:center;gap:6px 2px;display:grid}.cal-weekday{color:var(--muted);padding-bottom:4px;font-size:12px}.cal-day{background:0 0;border-radius:50%;width:42px;height:42px;padding:0;position:relative}.cal-day:disabled{opacity:.3}.ring{width:100%;height:100%;position:absolute;inset:0;transform:rotate(-90deg)}.ring-track,.ring-fill{fill:none;stroke-width:3px}.ring-track{stroke:var(--line)}.ring-fill{stroke:var(--gauge);stroke-linecap:round}.ring-fill.over{stroke:var(--danger)}.cal-num{font-size:14px;position:relative}.cal-day.today .cal-num{font-weight:700}.cal-day.selected .cal-num{background:var(--accent);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-weight:600;display:inline-flex}.preview{background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:12px}.preview p{color:var(--muted);margin:4px 0 0;font-size:14px}.preview.error{border-color:var(--danger)}.preview.error strong{color:var(--danger)}.overlay{z-index:10;background:#00000073;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--card);width:100%;max-width:560px;max-height:92vh;padding:18px 16px calc(18px + env(safe-area-inset-bottom));border-radius:18px 18px 0 0;flex-direction:column;gap:10px;display:flex;overflow-y:auto}
