:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page:#f9f9f7;--surface:#fcfcfb;--ink-1:#0b0b0b;--ink-2:#52514e;--ink-muted:#898781;--grid:#e1e0d9;--baseline:#c3c2b7;--border:#0b0b0b1a;--series-blue:#2a78d6;--series-orange:#eb6834;--status-good:#0ca30c;--status-warning:#fab219;--status-serious:#ec835a;--status-critical:#d03b3b;--good-text:#006300}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#0d0d0d;--surface:#1a1a19;--ink-1:#fff;--ink-2:#c3c2b7;--ink-muted:#898781;--grid:#2c2c2a;--baseline:#383835;--border:#ffffff1a;--series-blue:#3987e5;--series-orange:#d95926;--good-text:#0ca30c}}*{box-sizing:border-box}body{background:var(--page);color:var(--ink-1);margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:15px;line-height:1.45}#root{max-width:1080px;margin:0 auto;padding:20px 16px 48px}.header{justify-content:space-between;align-items:baseline;gap:12px;margin:4px 2px 18px;display:flex}.header h1{letter-spacing:-.01em;margin:0;font-size:22px}.header .sub{color:var(--ink-muted);font-size:13px}.linkish{color:var(--ink-muted);font:inherit;cursor:pointer;text-underline-offset:3px;background:0 0;border:none;padding:0;font-size:13px;text-decoration:underline}.linkish:hover{color:var(--ink-2)}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}@media (width<=680px){.grid{grid-template-columns:1fr}}.card{background:var(--surface);border:1px solid var(--border);border-radius:14px;min-width:0;padding:16px}.card.span2{grid-column:1/-1}.card h2{color:var(--ink-2);text-transform:uppercase;letter-spacing:.05em;margin:0 0 10px;font-size:13px;font-weight:600}.hero{letter-spacing:-.02em;font-size:38px;font-weight:650;line-height:1.1}.hero .unit{color:var(--ink-2);margin-left:2px;font-size:20px;font-weight:500}.hero-note{color:var(--ink-muted);margin-top:2px;font-size:13px}.stats-row{gap:8px;display:flex}.stat{border:1px solid var(--border);border-radius:10px;flex:1;min-width:0;padding:10px 12px}.stat .label{color:var(--ink-muted);font-size:12px}.stat .value{letter-spacing:-.01em;white-space:nowrap;font-size:22px;font-weight:650}.stat .value .unit{color:var(--ink-2);font-size:13px;font-weight:500}.valve-row{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.valve-state{font-size:24px;font-weight:650}.valve-flow{color:var(--ink-2);font-size:13px}button.toggle{font:inherit;border:1px solid var(--border);background:var(--series-blue);color:#fff;cursor:pointer;border-radius:10px;padding:10px 18px;font-weight:600}button.toggle.off{background:var(--surface);color:var(--ink-1)}button.toggle:disabled{opacity:.5;cursor:default}button.toggle:hover:not(:disabled){filter:brightness(1.05)}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--border);color:var(--ink-2);border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:13px;display:inline-flex}.chip .dot{border-radius:50%;flex:none;width:8px;height:8px}.chip .ico{font-size:12px;line-height:1}.chart-wrap{margin-top:8px;position:relative}.chart-wrap svg{width:100%;display:block}.tooltip{pointer-events:none;background:var(--surface);border:1px solid var(--border);white-space:nowrap;z-index:5;border-radius:8px;padding:5px 9px;font-size:12.5px;position:absolute;transform:translate(-50%,-100%);box-shadow:0 2px 10px #0000001f}.tooltip .t-val{font-weight:650}.tooltip .t-time{color:var(--ink-muted)}.rows{flex-direction:column;display:flex}.row{border-bottom:1px solid var(--grid);justify-content:space-between;align-items:center;gap:10px;padding:8px 0;display:flex}.row:last-child{border-bottom:none}.row .name{color:var(--ink-2)}.row .val{white-space:nowrap;font-weight:600}.switch{border:1px solid var(--border);background:var(--grid);cursor:pointer;border-radius:999px;flex:none;width:38px;height:22px;transition:background .15s;position:relative}.switch[data-on=true]{background:var(--series-blue)}.switch:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:left .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #00000040}.switch[data-on=true]:after{left:18px}.setup{background:var(--surface);border:1px solid var(--border);border-radius:14px;max-width:430px;margin:10vh auto 0;padding:24px}.setup h1{margin:0 0 4px;font-size:20px}.setup p{color:var(--ink-2);margin:0 0 16px;font-size:13.5px}.setup label{color:var(--ink-2);margin:12px 0 4px;font-size:13px;font-weight:600;display:block}.setup input,.setup textarea{width:100%;font:inherit;border:1px solid var(--baseline);background:var(--page);color:var(--ink-1);border-radius:8px;padding:9px 10px;font-size:13.5px}.setup textarea{resize:vertical;word-break:break-all;min-height:74px}.setup button.primary{width:100%;font:inherit;background:var(--series-blue);color:#fff;cursor:pointer;border:none;border-radius:10px;margin-top:16px;padding:10px;font-weight:600}.setup .error{color:var(--status-critical);margin-top:12px;font-size:13.5px}.loading{text-align:center;color:var(--ink-muted);margin:20vh auto}.home-tiles{flex-direction:column;gap:12px;max-width:560px;display:flex}.tile{background:var(--surface);border:1px solid var(--border);color:var(--ink-1);border-radius:14px;align-items:center;gap:14px;padding:18px;text-decoration:none;transition:border-color .15s,transform .1s;display:flex}.tile:hover{border-color:var(--series-blue)}.tile:active{transform:scale(.99)}.tile-emoji{flex:none;font-size:30px}.tile-body{flex-direction:column;gap:2px;min-width:0;display:flex}.tile-name{font-size:17px;font-weight:650}.tile-desc{color:var(--ink-2);font-size:13.5px}.tile-arrow{color:var(--ink-muted);margin-left:auto;font-size:20px}.header .back{color:var(--ink-muted);margin-right:4px;text-decoration:none}.header .back:hover{color:var(--ink-1)}.header-links{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.hint{color:var(--ink-muted);font-size:13.5px}.error-card{color:var(--status-critical)}.mtype-row{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.mtype{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--ink-1);cursor:pointer;border-radius:999px;padding:8px 12px;font-size:14px}.mtype.on{background:var(--series-blue);border-color:var(--series-blue);color:#fff}.meal-opts{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.date-label,.resto-label{color:var(--ink-2);align-items:center;gap:8px;font-size:14px;display:flex}.date-label input{font:inherit;border:1px solid var(--baseline);background:var(--page);color:var(--ink-1);border-radius:8px;padding:6px 8px}.tabs{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.tabs button{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--ink-2);cursor:pointer;border-radius:8px;padding:7px 12px;font-size:13.5px}.tabs button.on{background:var(--page);color:var(--ink-1);border-color:var(--baseline);font-weight:600}.search-row{gap:8px;margin-bottom:8px;display:flex}.search-row input{font:inherit;border:1px solid var(--baseline);background:var(--page);color:var(--ink-1);border-radius:10px;flex:1;min-width:0;padding:10px 12px}.scan-btn{border:1px solid var(--baseline);background:var(--page);cursor:pointer;border-radius:10px;padding:6px 14px;font-size:20px}.picker-links{gap:16px;margin-bottom:8px;font-size:13.5px;display:flex}.picker-links:empty{display:none}.food-form{max-height:min(80vh,640px);overflow-y:auto}.food-form>input{font:inherit;border:1px solid var(--baseline);background:var(--page);color:var(--ink-1);border-radius:10px;padding:10px 12px}.food-grid{grid-template-columns:1fr 1fr;gap:8px 12px;display:grid}.food-field{color:var(--ink-2);flex-direction:column;gap:3px;font-size:13px;display:flex}.food-field input{font:inherit;border:1px solid var(--baseline);background:var(--page);color:var(--ink-1);border-radius:8px;width:100%;padding:8px 10px}.food-unit{color:var(--ink-3)}.food-form details summary{cursor:pointer;color:var(--ink-2);margin:4px 0 8px;font-size:13.5px}.search-results{flex-direction:column;max-height:300px;display:flex;overflow-y:auto}.result{font:inherit;text-align:left;border:none;border-bottom:1px solid var(--grid);color:var(--ink-1);cursor:pointer;background:0 0;justify-content:space-between;align-items:baseline;gap:10px;padding:9px 4px;display:flex}.result:hover{background:var(--page)}.result-name{min-width:0}.result-kcal{color:var(--ink-muted);white-space:nowrap;flex:none;font-size:12.5px}.recipe-pick-name{margin-bottom:4px;font-weight:650}.weight-label{color:var(--ink-2);align-items:center;gap:10px;margin:12px 0;font-size:14px;display:flex}.weight-label input{width:100px;font:inherit;border:1px solid var(--baseline);background:var(--page);color:var(--ink-1);border-radius:8px;padding:8px}.row-actions{align-items:center;gap:14px;display:flex}.primary-sm{font:inherit;background:var(--series-blue);color:#fff;cursor:pointer;border:none;border-radius:10px;padding:9px 14px;font-weight:600}.item-row .item-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.item-grams{color:var(--ink-2);flex:none;align-items:center;gap:4px;font-size:13.5px;display:flex}.item-grams input{width:64px;font:inherit;border:1px solid var(--baseline);background:var(--page);color:var(--ink-1);text-align:right;border-radius:8px;padding:6px}.meal-total{color:var(--ink-2);margin:12px 0}.meal-total strong{color:var(--ink-1);font-size:18px}.recipe-name-input{width:100%;font:inherit;border:1px solid var(--baseline);background:var(--page);color:var(--ink-1);border-radius:8px;margin-top:8px;padding:9px 10px}.submit-meal{width:100%;font:inherit;background:var(--series-blue);color:#fff;cursor:pointer;border:none;border-radius:12px;margin-top:16px;padding:14px;font-size:16px;font-weight:650;position:sticky;bottom:16px;box-shadow:0 4px 14px #00000040}.submit-meal:disabled{opacity:.5}.fab{font:inherit;cursor:pointer;background:var(--series-blue);color:#fff;border:none;border-radius:999px;padding:13px 18px;font-weight:650;text-decoration:none;position:fixed;bottom:18px;right:18px;box-shadow:0 4px 14px #0000004d}.mbar{margin-bottom:10px}.mbar-head{justify-content:space-between;gap:8px;margin-bottom:3px;font-size:13.5px;display:flex}.mbar-label{color:var(--ink-2)}.mbar-val{color:var(--ink-2);white-space:nowrap}.mbar-flag.over{color:var(--status-critical);font-weight:600}.mbar-flag.ok{color:var(--good-text);font-weight:600}.mbar-track{background:var(--grid);border-radius:999px;height:8px;position:relative;overflow:hidden}.mbar-fill{background:var(--series-blue);border-radius:999px;height:100%;transition:width .3s}.mbar-fill.over{background:var(--status-critical)}.mbar-fill.ok{background:var(--status-good)}.meal-row .meal-items-preview,.cl-list .meal-items-preview{color:var(--ink-muted);text-overflow:ellipsis;white-space:nowrap;max-width:480px;font-size:12.5px;display:block;overflow:hidden}.meal-row .name,.cl-list .name{flex:1;min-width:0}.dir-hint{color:var(--ink-muted)}.target-edit{color:var(--ink-2);align-items:center;gap:6px;font-size:13.5px;display:flex}.target-edit input{width:80px;font:inherit;border:1px solid var(--baseline);background:var(--page);color:var(--ink-1);text-align:right;border-radius:8px;padding:6px}.scanner-overlay{z-index:50;background:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.scanner-box{background:var(--surface);border-radius:14px;flex-direction:column;align-items:center;gap:12px;width:min(440px,92vw);padding:16px;display:flex}.scanner-box video{aspect-ratio:4/3;object-fit:cover;background:#000;border-radius:10px;width:100%}.scanner-hint{color:var(--ink-2);text-align:center;font-size:14px}.scanner-manual{gap:8px;width:100%;display:flex}.scanner-manual input{font:inherit;border:1px solid var(--baseline);background:var(--page);color:var(--ink-1);border-radius:8px;flex:1;min-width:0;padding:9px 10px}.scanner-manual button{font:inherit;background:var(--series-blue);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:9px 14px;font-weight:600}.recipe-banner{background:var(--page);border:1px dashed var(--baseline);border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;padding:10px 12px;font-size:14px;display:flex}.recipe-banner .row-actions{margin-left:auto}.new-recipe-row{gap:8px;display:flex}.new-recipe-row input{font:inherit;border:1px solid var(--baseline);background:var(--page);color:var(--ink-1);border-radius:10px;flex:1;min-width:0;padding:10px 12px}.group-label{color:var(--ink-2);margin:12px 0 2px;font-size:13px;font-weight:650}.group-label:first-child{margin-top:0}.group-draft{color:var(--ink-muted);font-weight:400}.recipe-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.recipe-head h2{margin-bottom:4px}.score-chip{color:#fff;border-radius:8px;flex:none;justify-content:center;align-items:center;width:30px;height:30px;font-size:17px;font-weight:750;display:flex}.badges{flex-wrap:wrap;gap:6px;margin:8px 0 4px;display:flex}.badge{border:1px solid var(--border);color:var(--ink-2);border-radius:999px;padding:3px 9px;font-size:12.5px}.badge.warn{border-color:var(--status-serious)}.weight-dialog{align-items:stretch}.weight-dialog .dialog-name{font-size:16px;font-weight:650}.weight-dialog .dialog-kcal{color:var(--ink-2);font-size:13.5px}.weight-dialog .weight-label input{width:120px;font-size:18px;font-weight:650}.mode-tabs{margin:4px 0 0}.weight-dialog .weight-label{flex-wrap:wrap}.weight-dialog .weight-label input[type=number]{width:72px}.fraction-shortcuts{flex-wrap:wrap;gap:6px;display:flex}.fraction-shortcuts .mtype{padding:6px 12px;font-size:13px}a.primary-sm{text-decoration:none;display:inline-block}.recipe-name-field{color:var(--ink-2);align-items:center;gap:10px;font-size:14px;display:flex}.recipe-name-field input{flex:1;min-width:0;margin-top:0}.group-label{align-items:center;gap:6px;display:flex}.group-rename{opacity:.6;font-size:12px}.group-rename:hover{opacity:1}.group-block{border:1px dashed #0000;border-radius:10px;margin:0 -6px;padding:2px 6px;transition:border-color .12s,background .12s}.group-block.drop-target{border-color:var(--series-blue);background:color-mix(in srgb, var(--series-blue) 8%, transparent)}.drag-handle{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;color:var(--ink-muted);flex:none;margin-left:-4px;padding:2px 4px;font-size:15px}.drag-handle:active{cursor:grabbing}.item-row.dragging{opacity:.45}.drop-zone{text-align:center;border:1px dashed var(--baseline);color:var(--ink-muted);border-radius:10px;margin-top:10px;padding:14px;font-size:13.5px}.drop-zone.drop-target{border-color:var(--series-blue);color:var(--ink-1);background:color-mix(in srgb, var(--series-blue) 8%, transparent)}.drag-hint{margin-top:10px;font-size:12.5px}.card+.card,.card+.submit-meal,.card+.drop-zone{margin-top:12px}.grid>.card+.card{margin-top:0}.drag-ghost{z-index:60;pointer-events:none;background:var(--surface);border:1px solid var(--series-blue);color:var(--ink-1);text-overflow:ellipsis;white-space:nowrap;border-radius:10px;max-width:60vw;padding:7px 12px;font-size:13.5px;font-weight:600;position:fixed;overflow:hidden;transform:translate(-10px,-50%);box-shadow:0 6px 20px #00000059}.recap-score{vertical-align:6px;margin-left:10px}.recap-rows{margin-top:10px}.mbar-fill.day{background:var(--series-blue);opacity:.35;position:absolute;inset:0 auto 0 0}.mbar-fill.meal{background:var(--series-blue);position:absolute;inset:0 auto 0 0}.mbar-fill.day.over,.mbar-fill.meal.over{background:var(--status-critical)}.contrib-share{color:var(--ink-1)}.recap-left{color:var(--ink-2);flex-wrap:wrap;gap:4px 10px;margin-bottom:14px;font-size:14px;display:flex}.recap-left strong{color:var(--ink-1)}.split{margin-bottom:14px}.split-label{color:var(--ink-2);margin-bottom:4px;font-size:13px}.split-bar{background:var(--grid);border-radius:6px;height:12px;display:flex;overflow:hidden}.split-seg{border-right:2px solid var(--surface);height:100%}.split-seg:last-child{border-right:none}.split-seg.s1,.dot.s1{background:var(--series-blue)}.split-seg.s2,.dot.s2{background:var(--series-orange)}.split-seg.s3,.dot.s3{background:#1baf7a}.split-legend{color:var(--ink-2);flex-wrap:wrap;gap:4px 14px;margin-top:6px;font-size:12.5px;display:flex}.dot{border-radius:50%;width:8px;height:8px;margin-right:5px;display:inline-block}.delta{margin-left:6px;font-size:12.5px;font-weight:600}.delta.ok{color:var(--good-text)}.delta.warn{color:var(--status-serious)}.item-sub{color:var(--ink-muted);font-weight:400}.recap-actions{flex-direction:column;align-items:center;gap:10px;margin-top:16px;display:flex}a.recap-primary{text-align:center;text-decoration:none;display:block;position:static}.title-icon{vertical-align:-4px;color:var(--ink-2)}.title-icon.success{color:var(--status-good)}.inline-icon{vertical-align:-2px}.chip-icon{vertical-align:-3px;color:var(--ink-muted)}.mtype,.tabs button,.fab,.create-recipe,.recap-add,.badge,.group-label,.scan-btn,.drag-handle,.linkish svg{align-items:center;gap:6px;display:inline-flex}.linkish svg{vertical-align:-3px}.header h1{align-items:center;gap:8px;display:flex}.header .back{align-items:center;display:inline-flex}.create-recipe{width:100%;font:inherit;border:1px dashed var(--series-blue);color:var(--series-blue);cursor:pointer;background:0 0;border-radius:10px;justify-content:center;margin-top:8px;padding:10px;font-size:14px;font-weight:600}.create-recipe:hover{background:color-mix(in srgb, var(--series-blue) 10%, transparent)}.meal-link{color:inherit;text-decoration:none;display:block}.meal-link:hover strong{text-underline-offset:3px;text-decoration:underline}.dialog-warn{color:var(--status-serious);border:1px solid var(--status-serious);border-radius:8px;padding:7px 9px;font-size:12.5px;line-height:1.35}.mbar-toggle{width:100%;font:inherit;color:inherit;cursor:pointer;text-align:left;background:0 0;border:none;padding:0}.mbar-chevron{vertical-align:-2px;color:var(--ink-muted);margin-right:3px;transition:transform .15s}.mbar-chevron.open{transform:rotate(90deg)}.mbar.open{background:var(--page);border-radius:10px;margin:0 -10px 10px;padding:8px 10px}.mbar-detail{margin-top:8px}.detail-row .name{min-width:0}.detail-share{color:var(--ink-muted);margin-left:6px;font-weight:400}.detail-tip{border-top:1px solid var(--grid);margin-top:8px;padding-top:8px}.sim-result{border:1px solid var(--border);background:var(--surface);z-index:2;border-radius:12px;margin-bottom:14px;padding:14px;position:sticky;top:8px}.sim-headline{flex-wrap:wrap;align-items:baseline;gap:4px 12px;display:flex}.sim-delta{font-size:13.5px;font-weight:600}.sim-delta.up{color:var(--status-serious)}.sim-delta.down{color:var(--good-text)}.sim-vs{color:var(--ink-2);margin-top:6px;font-size:13.5px}.okish{color:var(--good-text)}.warnish{color:var(--status-serious)}.sim-items{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px 18px;display:grid}.sim-item-head{justify-content:space-between;gap:10px;font-size:13.5px;display:flex}.sim-item-name{color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sim-item-qty{white-space:nowrap;font-weight:600}.sim-item input[type=range]{width:100%;accent-color:var(--series-blue);margin-top:2px}.sim-table{margin-top:12px;font-size:13.5px}.sim-th,.sim-tr{grid-template-columns:1fr auto 74px 74px;align-items:baseline;gap:10px;padding:5px 0;display:grid}.sim-th{color:var(--ink-muted);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--grid);font-size:12px}.sim-tr{border-bottom:1px solid var(--grid)}.sim-tr:last-child{border-bottom:none}.sim-th span:not(:first-child),.sim-td-val,.sim-td-delta{text-align:right}.sim-td-label{color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sim-td-val{white-space:nowrap;font-weight:650}.sim-td-delta{color:var(--ink-muted);white-space:nowrap;font-weight:600}@media (width<=560px){.sim-th,.sim-tr{grid-template-columns:1fr auto 60px 60px;gap:6px}}.advice-card{border-color:color-mix(in srgb, var(--series-blue) 28%, var(--border))}.advice-icon{color:var(--series-blue)}.advice-loading{color:var(--ink-muted);align-items:center;gap:10px;padding:6px 0 2px;font-size:13.5px;display:flex}.advice-dots{gap:4px;display:inline-flex}.advice-dots i{background:var(--series-blue);border-radius:50%;width:5px;height:5px;animation:1.1s ease-in-out infinite advice-pulse}.advice-dots i:nth-child(2){animation-delay:.16s}.advice-dots i:nth-child(3){animation-delay:.32s}@keyframes advice-pulse{0%,80%,to{opacity:.25}40%{opacity:1}}@media (prefers-reduced-motion:reduce){.advice-dots i{opacity:.6;animation:none}}.advice-verdict{margin:2px 0 12px;font-size:16px;font-weight:600;line-height:1.4}.advice-points{flex-direction:column;gap:7px;display:flex}.advice-point{color:var(--ink-2);grid-template-columns:15px 1fr;align-items:start;gap:9px;font-size:14px;line-height:1.4;display:grid}.advice-point svg{flex:none;margin-top:2px}.advice-point.positif svg{color:var(--status-good)}.advice-point.attention svg{color:var(--status-warning)}.advice-sub{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-muted);margin:16px 0 4px;font-size:12px}.advice-suggestion{border-bottom:1px solid var(--grid);grid-template-columns:1fr auto;align-items:baseline;gap:4px 16px;padding:8px 0;display:grid}.advice-suggestion:last-child{border-bottom:none}.advice-action{font-size:14px;line-height:1.4}.advice-familiar{border:1px solid var(--border);color:var(--ink-muted);white-space:nowrap;vertical-align:1px;border-radius:999px;align-items:center;gap:3px;margin-left:7px;padding:1px 6px;font-size:11.5px;display:inline-flex}.advice-effect{color:var(--series-blue);text-align:right;font-size:13.5px;font-weight:600}.advice-foot{border-top:1px solid var(--grid);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:14px;padding-top:10px;display:flex}.advice-foot .linkish{align-items:center;gap:5px;display:inline-flex}.advice-error{color:var(--status-critical)}@media (width<=560px){.advice-suggestion{grid-template-columns:1fr}.advice-effect{text-align:left}}.daynav{align-items:center;gap:8px;margin:0 0 14px;display:flex}.daynav-arrow{border:1px solid var(--border);background:var(--surface);width:30px;height:30px;color:var(--ink-2);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:0;display:inline-flex}.daynav-arrow:hover{color:var(--ink-1);border-color:var(--baseline)}.daynav-label{text-transform:capitalize;text-align:center;min-width:9ch;font-weight:650}.daynav-today{margin-left:4px}.score-chip.chip-sm{vertical-align:text-bottom;border-radius:5px;width:19px;height:19px;margin-left:6px;font-size:12px;font-weight:700;display:inline-flex}.diet-field{border-top:1px solid var(--grid);margin:16px 0 4px;padding-top:14px}.diet-field label{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-muted);margin-bottom:6px;font-size:12px;display:block}.diet-field input{border:1px solid var(--border);background:var(--page);width:100%;color:var(--ink-1);font:inherit;border-radius:8px;padding:8px 10px}.diet-field .hint{margin-top:6px}.suggest-link{flex:none;align-items:center;gap:5px;display:inline-flex}.steps{color:var(--ink-2);margin:6px 0 0;padding-left:20px;font-size:14px;line-height:1.5}.steps li{margin-bottom:7px}.steps li:last-child{margin-bottom:0}.recipe-steps{margin:10px 0 4px}.recipe-steps summary{cursor:pointer;color:var(--ink-muted);font-size:13px}.recipe-steps summary:hover{color:var(--ink-2)}.advice-familiar.warnish{color:var(--status-warning);border-color:color-mix(in srgb, var(--status-warning) 40%, var(--border))}.item-sub.swap{color:var(--status-warning);display:block}.item-sub.alt{color:var(--ink-muted);display:block}.picker-dialog{align-items:stretch;gap:10px;width:min(560px,94vw);max-height:88vh;overflow-y:auto}.picker-dialog .dialog-name{text-align:center}.picker-dialog .tabs{justify-content:center;margin-bottom:0}.result-tag{border:1px solid var(--border);color:var(--ink-muted);white-space:nowrap;vertical-align:1px;border-radius:999px;align-items:center;gap:3px;margin-left:7px;padding:1px 6px;font-size:11px;display:inline-flex}.lib-row{gap:12px}.lib-row .name{flex:1;min-width:0}.lib-meta{white-space:nowrap;align-items:baseline;gap:8px;display:inline-flex}.lib-kcal{text-align:right;min-width:12ch}.lib-uses{text-align:right;min-width:14ch}.lib-tools{flex:none;gap:10px;width:42px;display:inline-flex}.lib-tools .linkish{align-items:center;display:inline-flex}.lib-edit{flex-wrap:wrap;align-items:center;gap:8px;width:100%;display:flex}.lib-edit input{min-width:0;font:inherit;border:1px solid var(--baseline);background:var(--page);color:var(--ink-1);border-radius:8px;flex:240px;padding:7px 9px;font-size:14px}.lib-edit .primary-sm{align-items:center;gap:5px;display:inline-flex}@media (width<=560px){.lib-row{grid-template-columns:1fr auto;grid-template-areas:"nom nom""chiffres actions";gap:4px 10px;display:grid}.lib-row .name{grid-area:nom}.lib-meta{grid-area:chiffres;justify-content:flex-start;gap:12px}.lib-kcal,.lib-portion,.lib-uses{text-align:left;min-width:0}.lib-tools{grid-area:actions;justify-self:end}.lib-edit{grid-area:nom/1/nom/-1}}.lib-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;display:flex}.lib-actions .primary-sm{align-items:center;gap:6px;display:inline-flex}.lib-added{color:var(--ink-muted);flex-wrap:wrap;align-items:center;gap:6px;font-size:12.5px;display:flex}.scanner-video{border-radius:10px;width:100%;position:relative;overflow:hidden}.scanner-video:after{content:"";background:var(--status-good);opacity:0;pointer-events:none;position:absolute;inset:0}.scanner-video.flash:after{animation:.35s ease-out scan-flash}@keyframes scan-flash{0%{opacity:.55}to{opacity:0}}@media (prefers-reduced-motion:reduce){.scanner-video.flash:after{opacity:.4;animation:none}}.scan-feedback{text-align:left;border-radius:8px;align-items:center;gap:7px;width:100%;padding:8px 10px;font-size:13.5px;line-height:1.35;display:flex}.scan-feedback svg{flex:none}.scan-feedback.ok{background:color-mix(in srgb, var(--status-good) 18%, transparent);color:var(--good-text)}.scan-feedback.error{background:color-mix(in srgb, var(--status-critical) 18%, transparent);color:var(--status-critical)}.lib-portion{text-align:right;min-width:6ch}.lib-portion-edit{color:var(--ink-muted);flex:none;align-items:center;gap:6px;font-size:13px;display:inline-flex}.lib-portion-edit input{text-align:right;flex:none;width:5.5em}.activity-note{border-top:1px solid var(--grid);color:var(--ink-2);margin-top:12px;padding-top:10px;font-size:13px}.activity-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.activity-head .linkish{align-items:center;gap:5px;display:inline-flex}.activity-list{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.activity-chip{border:1px solid var(--border);color:var(--ink-muted);border-radius:999px;padding:2px 9px;font-size:12px}.strava-row{color:var(--ink-2);align-items:center;gap:8px;margin-bottom:8px;font-size:13px;display:flex}.strava-row input[type=number]{flex:none;width:6em}.activity-sync{align-items:center;gap:10px;display:inline-flex}.recipe-editor{text-align:left;align-items:stretch;gap:14px;width:min(620px,94vw);max-height:90vh;overflow-y:auto}.editor-head{flex-wrap:wrap;gap:10px;display:flex}.editor-field{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-muted);flex-direction:column;gap:4px;font-size:12px;display:flex}.editor-field.grow{flex:220px;min-width:0}.editor-field .hint{text-transform:none;letter-spacing:0}.editor-field input,.editor-field textarea{font:inherit;text-transform:none;letter-spacing:0;color:var(--ink-1);background:var(--page);border:1px solid var(--border);border-radius:8px;padding:8px 10px;font-size:14px}.editor-field textarea{resize:vertical;line-height:1.45}.editor-field input[type=number]{width:6em}.editor-section{border-top:1px solid var(--grid);padding-top:12px}.editor-label{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-muted);margin-bottom:6px;font-size:12px}.lib-new{flex:none;align-items:center;gap:6px;display:inline-flex}.task-row{grid-template-columns:auto 1fr auto auto;grid-template-areas:"check name status actions";align-items:center;gap:12px;display:grid}.task-check{grid-area:check}.task-name{grid-area:name}.task-status{grid-area:status}.task-actions{grid-area:actions;align-items:center;gap:6px;display:flex}.task-check{border:1.5px solid var(--border);background:var(--surface);width:34px;height:34px;color:var(--ink-muted);cursor:pointer;border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.task-check:hover{border-color:var(--status-good);color:var(--status-good)}.task-name{min-width:0;color:var(--ink-1);flex-direction:column;flex:1;align-items:flex-start;gap:2px;display:flex}.task-meta{color:var(--ink-2);font-size:12.5px;display:block}.task-note{color:var(--ink-muted)}.task-status{border:1px solid var(--border);color:var(--ink-2);white-space:nowrap;border-radius:999px;flex:none;justify-self:start;padding:3px 9px;font-size:12.5px}.task-status.late{border-color:var(--status-serious);color:var(--status-serious)}.task-status.soon{border-color:var(--status-warning)}.counter-head{align-items:center;gap:12px;display:flex}.counter-tick{background:var(--series-blue);color:#fff;cursor:pointer;border:none;border-radius:50%;flex:none;order:2;justify-content:center;align-items:center;width:38px;height:38px;display:inline-flex}.counter-tick.minus{border:1px solid var(--baseline);width:32px;height:32px;color:var(--ink-2);background:0 0;order:1}.counter-tick.minus:disabled{opacity:.35;cursor:default}.counter-value{font-variant-numeric:tabular-nums;white-space:nowrap;order:0;font-size:24px;font-weight:650}.counter-unit{color:var(--ink-2);font-size:13px;font-weight:400}.counter-card{flex-direction:column;gap:8px;display:flex}.counter-card .row-actions{margin-top:auto;padding-top:6px}.gap-add{align-self:flex-start}.gap-form{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.gap-form input[type=text]{flex:1;min-width:140px}.task-editor{text-align:left;align-items:stretch;gap:12px}.task-name-input{font-size:16px;font-weight:600}.field{color:var(--ink-2);flex-direction:column;gap:4px;font-size:13px;display:flex}.field-inline{align-items:center;gap:8px;display:flex}.field-inline input[type=number]{width:88px}.error-text{color:var(--status-critical)}.task-editor input,.task-editor select,.gap-form input{font:inherit;border:1px solid var(--baseline);background:var(--page);color:var(--ink-1);border-radius:8px;min-width:0;padding:8px 10px;font-size:14px}.task-editor .task-name-input,.task-editor .field input:not([type=number]),.task-editor .field select{width:100%}@media (width<=560px){.task-row{grid-template-columns:auto 1fr auto;grid-template-areas:"check name actions"".status status";gap:6px 10px}.header{flex-wrap:wrap}.header>div:first-child{flex:100%}}.chat{flex-direction:column;gap:10px;min-height:220px;max-height:60vh;display:flex;overflow-y:auto}.chat-empty{flex-direction:column;gap:10px;display:flex}.chat-examples{flex-wrap:wrap;gap:8px;display:flex}.bubble{white-space:pre-wrap;border-radius:14px;max-width:85%;padding:10px 13px;line-height:1.5}.bubble.user{background:var(--series-blue);color:#fff;border-bottom-right-radius:4px;align-self:flex-end}.bubble.assistant{background:var(--page);border:1px solid var(--grid);border-bottom-left-radius:4px;align-self:flex-start}.bubble.pending{color:var(--ink-muted);letter-spacing:2px}.bubble-tools{color:var(--ink-muted);margin-top:6px;font-size:11.5px;display:block}.chat-bar{align-items:center;gap:10px;margin-top:14px;display:flex}.chat-bar input{min-width:0;font:inherit;border:1px solid var(--baseline);background:var(--surface);color:var(--ink-1);border-radius:999px;flex:1;padding:12px 14px;font-size:15px}.mic{border:1px solid var(--baseline);background:var(--surface);width:48px;height:48px;color:var(--ink-1);cursor:pointer;border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.mic.on{background:var(--series-blue);border-color:var(--series-blue);color:#fff;animation:1.4s ease-out infinite mic-pulse}@keyframes mic-pulse{0%{box-shadow:0 0 #2a78d680}to{box-shadow:0 0 0 14px #2a78d600}}@media (prefers-reduced-motion:reduce){.mic.on{animation:none}}.log-entry{flex-direction:column;gap:8px;display:flex}.log-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.log-answer{color:var(--ink-2);line-height:1.5}.log-changes{flex-wrap:wrap;gap:8px;display:flex}.log-changes .badge{border-color:var(--status-good);color:var(--good-text)}.log-meta{font-size:12px}.voice-list{text-align:left;flex-direction:column;gap:6px;max-height:50vh;display:flex;overflow-y:auto}.voice-list button{font:inherit;text-align:left;border:1px solid var(--border);background:var(--surface);color:var(--ink-1);cursor:pointer;border-radius:10px;padding:10px 12px;font-size:14px}.voice-list button.on{border-color:var(--series-blue);color:var(--series-blue);font-weight:600}.bubble-action{margin-top:10px;display:block}.dictee-entry{border-color:var(--series-blue);color:var(--series-blue);font-weight:600}.fix-picker{border-top:1px solid var(--grid);flex-direction:column;gap:10px;margin-top:12px;padding-top:12px;display:flex}.result-tag.perso{border-color:var(--status-good);color:var(--good-text)}.cl-input,.cl-qty,.cl-select{font:inherit;border:1px solid var(--baseline);background:var(--page);color:var(--ink-1);border-radius:8px;padding:7px 9px;font-size:13.5px}.cl-input{flex:1;min-width:0}.cl-qty{text-align:right;flex:none;width:60px}.cl-days{width:84px}.cl-select{max-width:150px;color:var(--ink-2);flex:none}.cl-x,.cl-count{color:var(--ink-muted)}.cl-count{white-space:nowrap;flex:none;font-size:12.5px}.cl-add-row{align-items:center;gap:8px;margin-top:10px;display:flex}.cl-group-head{align-items:center;gap:10px;display:flex}.cl-group-head strong{flex:1;min-width:0;font-size:15px}.cl-sub{border-left:2px solid var(--grid);margin:12px 0 0 6px;padding-left:14px}.cl-add-sub{margin-top:10px}.cl-cat{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-muted);align-items:center;gap:5px;margin:18px 0 8px;font-size:12px;display:flex}.cl-pick{border-bottom:1px solid var(--grid);cursor:pointer;align-items:center;gap:10px;padding:8px 4px;font-size:14px;display:flex}.cl-pick:last-child{border-bottom:none}.cl-pick input[type=checkbox]{width:17px;height:17px;accent-color:var(--series-blue);flex:none}.cl-pick>span:first-of-type{flex:1;min-width:0}.cl-sug-why{color:var(--ink-muted);font-size:12.5px}.cl-bar{align-items:center;gap:10px;margin-bottom:12px;display:flex}.cl-bar .mbar-track{flex:1}.cl-section-head{align-items:center;gap:10px;margin:16px 0 2px;display:flex}.cl-section-head .cl-title{flex:1;min-width:0;font-weight:650}.cl-box{border:1.5px solid var(--baseline);background:var(--page);color:#fff;cursor:pointer;border-radius:7px;flex:none;justify-content:center;align-items:center;width:22px;height:22px;padding:0;display:inline-flex}.cl-box[data-on=true]{background:var(--status-good);border-color:var(--status-good)}.cl-check-row{width:100%;font:inherit;text-align:left;border:none;border-bottom:1px solid var(--grid);color:var(--ink-1);cursor:pointer;background:0 0;align-items:center;gap:10px;padding:9px 4px;display:flex}.cl-check-row:last-child{border-bottom:none}.cl-check-row.done .cl-name{color:var(--ink-muted);text-decoration:line-through}.cl-name{flex:1;min-width:0}.cl-meta{color:var(--ink-muted);text-overflow:ellipsis;white-space:nowrap;flex:none;max-width:40%;font-size:12.5px;overflow:hidden}.cl-trip-row{gap:12px}.cl-mini{flex:none;align-items:center;gap:8px;width:130px;display:flex}.cl-mini .mbar-track{flex:1;display:block}.cl-mini .mbar-fill{display:block}.cl-sug-actions{align-items:center;gap:16px;margin-top:8px;display:flex}.news-edition-label{text-transform:none;min-width:0}.news-list{gap:10px;display:grid}.news-article{margin:0}.news-meta{color:var(--ink-muted);align-items:center;gap:10px;margin-bottom:4px;font-size:12px;display:flex}.news-source{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-2);font-weight:650}.news-lock{color:var(--series-orange);align-items:center;gap:3px;display:inline-flex}.news-title{color:var(--ink-1);font-size:16px;font-weight:650;line-height:1.3;text-decoration:none;display:block}.news-title:hover{text-decoration:underline}.news-summary{color:var(--ink-2);margin:6px 0 0}.news-building{margin-bottom:14px}.news-interests{border:1px solid var(--border);background:var(--page);width:100%;color:var(--ink-1);font:inherit;resize:vertical;border-radius:8px;margin-top:10px;padding:8px 10px}.news-save-row{align-items:center;gap:10px;margin-top:8px;display:flex}.news-source-row{gap:12px}.news-source-row .name{min-width:0}.news-feed-url{color:var(--ink-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;display:block;overflow:hidden}.news-check{color:var(--ink-2);cursor:pointer;flex:none;align-items:center;gap:5px;font-size:13px;display:inline-flex}.news-source-row .news-check{width:80px}.news-add{border-top:1px solid var(--grid);flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;padding-top:12px;display:flex}
