:root{color-scheme:dark;--page: #0d0d0d;--surface: #1a1a19;--ink: #ffffff;--ink-2: #c3c2b7;--muted: #898781;--grid: #2c2c2a;--hairline: rgba(255, 255, 255, .1);--series: #3987e5;--goal: #e66767;--good: #0ca30c}*{box-sizing:border-box}body{margin:0;background:var(--page);color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,sans-serif}main{max-width:1040px;margin:0 auto;padding:2rem 1.25rem 3rem}a{color:var(--series)}header{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:1rem}h1{margin:0;font-size:1.5rem;font-weight:650;letter-spacing:-.02em}.header-right{display:flex;align-items:center;gap:.75rem}.meta{color:var(--muted);font-size:.85rem}.standalone{color:var(--ink-2);margin-top:1.5rem}.banner{background:var(--surface);border:1px solid var(--goal);border-radius:8px;padding:.6rem .9rem;font-size:.9rem;color:var(--ink-2)}button,input{font:inherit;color:var(--ink);background:transparent;border:1px solid var(--hairline);border-radius:8px;padding:.45rem .9rem}button{cursor:pointer;transition:border-color .15s,background .15s,color .15s}button:hover:enabled{border-color:var(--muted)}button:disabled{opacity:.5;cursor:default}button.primary{background:var(--series);border-color:var(--series);font-weight:550}button.primary:hover:enabled{background:#4d94ea}.ghost-btn{border-color:transparent;color:var(--muted);padding:.45rem .5rem}.ghost-btn:hover:enabled{color:var(--ink);border-color:transparent}button:focus-visible,input:focus-visible{outline:2px solid var(--series);outline-offset:1px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.75rem;margin:1.5rem 0 1.25rem}.card{position:relative;background:var(--surface);border:1px solid var(--hairline);border-radius:10px;padding:.9rem 1rem}.card-title{margin:0;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.card-value{margin:.35rem 0 0;font-size:1.65rem;font-weight:650;letter-spacing:-.01em}.card-detail{margin:.3rem 0 0;font-size:.82rem;color:var(--ink-2)}.delta-good{color:var(--good)}.card-delete{position:absolute;top:.35rem;right:.4rem;border:none;padding:0 .3rem;color:var(--muted);font-size:1rem;background:none}.card-delete:hover:enabled{color:var(--goal);border-color:transparent}.card-edit{position:absolute;top:.55rem;right:.6rem;border:none;padding:0;color:var(--muted);font-size:.85rem;background:none}.card-edit:hover:enabled{color:var(--ink);border-color:transparent}.card-form{display:flex;gap:.4rem;margin-top:.5rem}.card-form input{width:5rem;padding:.35rem .5rem}.card-form button{padding:.35rem .7rem;font-size:.85rem}.card-add{border-style:dashed;display:flex;flex-direction:column;justify-content:center}.card-add form{display:flex;flex-direction:column;gap:.4rem}.card-add input{width:100%;padding:.35rem .5rem;font-size:.85rem}.card-add .row{display:flex;gap:.4rem}.card-add .row button{padding:.35rem .7rem;font-size:.85rem}.card-add-open{border:none;background:none;color:var(--muted);font-size:.9rem;padding:1rem 0}.card-add-open:hover:enabled{color:var(--ink);border-color:transparent}.window-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.presets{display:inline-flex;border:1px solid var(--hairline);border-radius:8px;overflow:hidden}.presets button{border:none;border-radius:0;padding:.4rem .85rem;font-size:.88rem;color:var(--ink-2)}.presets button.active{background:var(--surface);color:var(--ink);font-weight:600;box-shadow:inset 0 -2px 0 var(--series)}.window-picker{display:flex;align-items:center;gap:.45rem;font-size:.85rem;color:var(--muted)}.window-picker input{padding:.3rem .45rem;font-size:.85rem;color:var(--ink-2)}.window-picker .duration{width:3.6rem}.window-picker .stepper{display:inline-flex;flex-direction:column;margin-left:-.2rem}.window-picker .stepper button{padding:0 .3rem;height:.95rem;font-size:.55rem;line-height:1;color:var(--ink-2)}.window-picker .stepper button:first-child{border-radius:6px 6px 0 0;border-bottom-width:0}.window-picker .stepper button:last-child{border-radius:0 0 6px 6px}.chart-card{background:var(--surface);border:1px solid var(--hairline);border-radius:10px;padding:.75rem .5rem .25rem}.weight-chart{width:100%;height:380px}.weigh-ins{margin-top:1.5rem}.weigh-ins h2{font-size:.95rem;font-weight:600;color:var(--ink-2);margin:0 0 .5rem}.weigh-ins table{border-collapse:collapse;width:100%;max-width:460px;font-variant-numeric:tabular-nums}.weigh-ins th,.weigh-ins td{text-align:left;padding:.4rem .6rem;font-size:.9rem}.weigh-ins th{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:600}.weigh-ins tbody tr{border-top:1px solid var(--grid)}.weigh-ins td{color:var(--ink-2)}.weigh-ins td.w{color:var(--ink);font-weight:550}.weigh-ins td.delta-good{color:var(--good)}.tabs{display:flex;gap:.25rem;margin:1rem 0 .75rem;border-bottom:1px solid var(--hairline)}.tabs button{border:none;border-radius:0;background:none;color:var(--muted);padding:.5rem .9rem}.tabs button:hover:enabled{color:var(--ink);border-color:transparent}.tabs button.active{color:var(--ink);font-weight:600;box-shadow:inset 0 -2px 0 var(--series)}.settings-page section{margin:1.5rem 0}.settings-page h2{font-size:.95rem;font-weight:600;color:var(--ink-2);margin:0 0 .75rem}.field{display:grid;grid-template-columns:290px minmax(0,230px);gap:.3rem 1rem;align-items:center;margin-bottom:.7rem}.field label{font-size:.9rem}.field select,.field input{width:100%;padding:.35rem .5rem}.field input[type=checkbox]{width:1rem;height:1rem;justify-self:start}.field .help{grid-column:1 / -1;margin:0;font-size:.8rem;color:var(--muted)}@media(max-width:640px){.field{grid-template-columns:1fr}}.settings-actions{position:sticky;bottom:0;display:flex;align-items:center;gap:.75rem;margin:1.25rem 0 0;padding:.85rem 0;background:var(--page);border-top:1px solid var(--hairline)}.ok{color:var(--good);font-size:.85rem}.ko{color:var(--goal);font-size:.85rem}.preview-controls{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.preview-controls select{padding:.4rem .5rem}.preview-subject{font-weight:600;margin:0 0 .5rem}.preview-frame{width:100%;height:540px;border:1px solid var(--hairline);border-radius:8px;background:#fff}.field .unit{color:var(--muted);font-weight:400}.food-page .topbar{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin-bottom:1rem}.food-page .topbar input{padding:.35rem .5rem;color:var(--ink-2)}.food-page .topbar button{padding:.35rem .7rem}.food-page .topbar .hint{margin-left:auto;color:var(--muted);font-size:.8rem}.food-columns{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:1.25rem;align-items:start}.lanes{display:flex;gap:.6rem;align-items:stretch;min-height:420px}.day{flex:1 1 0;min-width:0;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--hairline);border-radius:12px;padding:.85rem .9rem;cursor:pointer;opacity:.32;transition:flex-grow .28s cubic-bezier(.2,.8,.2,1),opacity .28s,border-color .2s}.day[data-offset="1"]{opacity:.55}.day[data-offset="2"]{opacity:.42}.day:hover:not(.active){opacity:.85}.day.active{flex-grow:2.3;opacity:1;cursor:default;border-color:#3987e58c;box-shadow:0 0 0 1px #3987e540,0 18px 40px -24px #3987e580}.day-head{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;margin-bottom:.55rem}.day-head b{font-size:.95rem}.day-head span{color:var(--muted);font-size:.78rem;white-space:nowrap}.day.active .day-head b{color:var(--series)}.chips{display:flex;flex-wrap:wrap;gap:.3rem;margin-bottom:.7rem}.chips button{padding:.2rem .5rem;font-size:.72rem;color:var(--muted);border-radius:999px}.chips button.on{background:#3987e526;border-color:var(--series);color:var(--ink)}.day:not(.active) .chips button{pointer-events:none}.slot{margin-bottom:.7rem}.slot h2{margin:0 0 .25rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:600}.slot h2 button{border:none;background:none;padding:0;font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit}.slot h2 button.target{color:var(--series)}.slot h2 button:hover:enabled{color:var(--ink);border-color:transparent}.slot .empty{margin:0;color:var(--muted);font-size:.85rem}.slot ul{list-style:none;margin:0;padding:0}.slot li{display:flex;align-items:center;gap:.3rem;font-size:.9rem;padding:.1rem 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;animation:slide-in .3s ease-out}@keyframes slide-in{0%{transform:translate(-6px);opacity:0}to{transform:none;opacity:1}}.entry-remove{border:none;background:none;color:var(--muted);padding:0 .35rem;font-size:.95rem;opacity:0}.day.active li:hover .entry-remove,.picker-row:hover .entry-remove,.entry-remove:focus-visible{opacity:1}.entry-remove:hover:enabled{color:var(--goal);border-color:transparent}.picker{position:sticky;top:1rem;background:var(--surface);border:1px solid var(--hairline);border-radius:12px;padding:.75rem}.picker .target-line{margin:0 0 .5rem;font-size:.8rem;color:var(--muted)}.picker .target-line b{color:var(--ink);font-weight:600}.picker-slots{display:inline-flex;border:1px solid var(--hairline);border-radius:8px;overflow:hidden;margin-bottom:.6rem}.picker-slots button{border:none;border-radius:0;padding:.35rem .65rem;font-size:.82rem;color:var(--ink-2)}.picker-slots button.active{background:var(--series);color:#fff;font-weight:600}.picker-search{width:100%;padding:.4rem .55rem;margin-bottom:.5rem}.picker-list{list-style:none;margin:0;padding:0;max-height:340px;overflow-y:auto}.picker-row{display:flex;align-items:center;gap:.2rem}.picker-row>button:first-child{flex:1;text-align:left;border:none;background:none;padding:.4rem .5rem;border-radius:6px;color:var(--ink)}.picker-row>button:first-child:hover:enabled{background:#ffffff0f;border-color:transparent}.picker-row .create{color:#fff;background:var(--series);border:1px solid var(--series)}.picker-list .empty{color:var(--muted);font-size:.88rem;padding:.5rem}@media(max-width:760px){.food-columns{grid-template-columns:1fr}.lanes{overflow-x:auto}.day{min-width:150px}.picker{position:static}}
