@font-face{font-family:Material Symbols Rounded;font-style:normal;font-weight:100 200;font-display:block;src:url(./material-symbols-rounded-Ds2UJPOy.woff2) format("woff2")}.msym{font-family:Material Symbols Rounded;font-weight:200;font-size:24px;line-height:1;display:inline-block;flex:none;letter-spacing:normal;white-space:nowrap;direction:ltr;font-variation-settings:"opsz" 24,"GRAD" 0,"FILL" var(--fill, 0);transition:font-variation-settings var(--t-2) var(--ease);-webkit-user-select:none;user-select:none}:root{color-scheme:dark;--bg: #0d0d0d;--surface: #151514;--surface-2: #242423;--surface-3: #2e2e2c;--surface-4: #383835;--hairline: rgba(255, 255, 255, .1);--hairline-soft: rgba(255, 255, 255, .06);--scrim: rgba(0, 0, 0, .6);--blur-bg: rgba(13, 13, 13, .82);--ink: #ffffff;--ink-2: #c3c2b7;--ink-3: #95938d;--c-kcal: #92e82a;--c-activity: #fa114f;--c-protein: #64d2ff;--c-fat: #ffd60a;--c-carbs: #bf5af2;--c-fast: var(--c-good);--c-water: #4aa8ff;--c-good: #30d158;--c-warn: #ff9f0a;--c-danger: #ff453a;--grid: #2c2c2a;--axis: #383835;--font-sans: -apple-system, BlinkMacSystemFont, "SF Pro Text", system-ui, "Segoe UI", sans-serif;--fs-12: 12px;--lh-16: 16px;--fs-16: 16px;--lh-20: 20px;--fs-20: 20px;--lh-24: 24px;--fs-24: 24px;--lh-28: 28px;--fs-32: 32px;--lh-36: 36px;--fs-48: 48px;--lh-48: 48px;--w-regular: 400;--w-semibold: 600;--w-bold: 700;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sp-10: 40px;--sp-12: 48px;--r-8: 8px;--r-12: 12px;--r-16: 16px;--r-20: 20px;--r-full: 999px;--ease: cubic-bezier(.22, 1, .36, 1);--ease-sheet: cubic-bezier(.32, .72, 0, 1);--t-1: .15s;--t-2: .3s;--t-3: .5s;--tile-min: 140px;--tile-min-wide: 280px;--h-pick: 240px;--h-list: 264px;--h-composer-min: 76px;--h-composer-max: 176px;--ch-min: 260px;--gap-mark: 2px;--dot-size: 6px;--w-control: 176px;--w-drawer: 448px;--shadow-pop: 0 12px 32px rgba(0, 0, 0, .5);--shadow-drawer: -24px 0 48px rgba(0, 0, 0, .4);--app-max: 480px;--control-h: 48px}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font-family:var(--font-sans);font-size:var(--fs-16);line-height:var(--lh-20);font-weight:var(--w-regular);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none}html,.screen,.sheet-body,.ai-msgs,.ai-onboard,.ai-pick,.pick-list,.ai-input{scrollbar-width:thin;scrollbar-color:var(--surface-2) transparent}*::-webkit-scrollbar{width:var(--sp-2);height:var(--sp-2)}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background-color:var(--surface-2);border-radius:var(--r-full)}*::-webkit-scrollbar-thumb:hover{background-color:var(--surface-3)}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer;touch-action:manipulation}input,select{font:inherit;color:inherit}.t-page-title{font-size:var(--fs-24);line-height:var(--lh-28);font-weight:var(--w-bold);letter-spacing:-.4px}.t-title{font-size:var(--fs-20);line-height:var(--lh-24);font-weight:var(--w-bold);letter-spacing:-.2px}.t-section{font-size:var(--fs-12);line-height:var(--lh-16);font-weight:var(--w-semibold);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.t-body{font-size:var(--fs-16);line-height:var(--lh-20);font-weight:var(--w-regular)}.t-caption{font-size:var(--fs-12);line-height:var(--lh-16);color:var(--ink-3)}.t-value{font-size:var(--fs-16);line-height:var(--lh-20);font-weight:var(--w-semibold)}.t-value-lg{font-size:var(--fs-24);line-height:var(--lh-28);font-weight:var(--w-semibold);letter-spacing:-.3px}.t-hero{font-size:var(--fs-32);line-height:var(--lh-36);font-weight:var(--w-semibold);letter-spacing:-.5px}.num{font-variant-numeric:tabular-nums}.val-unit{font-size:var(--fs-12);line-height:var(--lh-16);font-weight:var(--w-regular);color:var(--ink-3)}.muted{color:var(--ink-3)}.ink-2{color:var(--ink-2)}.app{max-width:var(--app-max);margin:0 auto;height:var(--app-h, 100dvh);display:flex;flex-direction:column;background:var(--bg);position:relative;overflow:hidden}@media(min-width:520px){.app{border-left:1px solid var(--hairline-soft);border-right:1px solid var(--hairline-soft)}}.screens{flex:1;min-height:0;position:relative}.screen{position:absolute;top:0;right:0;bottom:0;left:0;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch;opacity:0;transform:translateY(8px);visibility:hidden;pointer-events:none;transition:opacity var(--t-2) var(--ease),transform var(--t-2) var(--ease),visibility 0s var(--t-2)}.screen.active{opacity:1;transform:none;visibility:visible;pointer-events:auto;transition:opacity var(--t-2) var(--ease),transform var(--t-2) var(--ease),visibility 0s}.screen-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:var(--sp-2);padding:calc(var(--sp-4) + env(safe-area-inset-top)) calc(var(--sp-4) + env(safe-area-inset-right)) var(--sp-3) calc(var(--sp-4) + env(safe-area-inset-left));background:var(--blur-bg);-webkit-backdrop-filter:blur(20px) saturate(1.8);backdrop-filter:blur(20px) saturate(1.8)}.screen-header .grow{flex:1;min-width:0}.screen-header.stack{flex-direction:column;align-items:stretch;gap:var(--sp-3)}.screen-header .head-row{display:flex;align-items:center;gap:var(--sp-2)}.screen-sub{font-size:var(--fs-12);line-height:var(--lh-16);color:var(--ink-3)}.screen-content{padding:var(--sp-3) calc(var(--sp-4) + env(safe-area-inset-right)) var(--sp-8) calc(var(--sp-4) + env(safe-area-inset-left));display:flex;flex-direction:column;gap:var(--sp-3)}@media(min-width:600px)and (max-width:759px){.app{max-width:none}.screen-content{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:var(--sp-4);padding:var(--sp-4) var(--sp-6) var(--sp-8)}.span-2,.span-2-md{grid-column:span 2}.span-full{grid-column:1 / -1}}.tabbar{display:flex;border-top:1px solid var(--hairline-soft);background:var(--blur-bg);-webkit-backdrop-filter:blur(20px) saturate(1.8);backdrop-filter:blur(20px) saturate(1.8);padding:var(--sp-2) env(safe-area-inset-right) calc(var(--sp-2) + env(safe-area-inset-bottom)) env(safe-area-inset-left);z-index:20}@media(max-width:759px){.tab span:not(.msym):not(.tab-avatar){max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tab.tab-overflow{display:none}}.tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:var(--sp-1);color:var(--ink-3);font-size:var(--fs-12);line-height:var(--lh-16);font-weight:500;transition:color var(--t-2) var(--ease),transform var(--t-1) var(--ease)}.tab:active{transform:scale(.94)}.tab.active{color:var(--c-kcal)}.card{background:var(--surface);border:1px solid var(--hairline-soft);border-radius:var(--r-16);padding:var(--sp-4)}.card-head{display:flex;align-items:center;gap:var(--sp-3);min-height:var(--sp-8)}.card-head .grow{flex:1;min-width:0}.divider{border:0;border-top:1px solid var(--hairline-soft);margin:var(--sp-4) calc(-1 * var(--sp-4))}.card-head+.list{border-top:1px solid var(--hairline-soft);margin-top:var(--sp-2)}.list-row{display:flex;align-items:center;gap:var(--sp-3);width:100%;min-height:var(--control-h);padding:var(--sp-2) 0;border-bottom:1px solid var(--hairline-soft);text-align:left;transition:transform var(--t-1) var(--ease),opacity var(--t-1)}.list-row:last-child{border-bottom:none}button.list-row:active{transform:scale(.98);opacity:.8}.row-main{flex:1;min-width:0}.list-section{font-size:var(--fs-12);line-height:var(--lh-16);font-weight:var(--w-semibold);text-transform:uppercase;letter-spacing:.6px;color:var(--ink-3);margin:var(--sp-4) 0 var(--sp-1)}.row-title{font-size:var(--fs-12);line-height:var(--lh-16);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-sub{font-size:var(--fs-12);line-height:var(--lh-16);color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-end{text-align:right;flex:none}.empty{display:flex;flex-direction:column;align-items:center;gap:var(--sp-2);padding:var(--sp-8) var(--sp-4);color:var(--ink-3);text-align:center}.empty .msym{font-weight:100;font-size:var(--sp-12);font-variation-settings:"opsz" 48,"GRAD" 0,"FILL" 0}.btn{display:flex;align-items:center;justify-content:center;gap:var(--sp-2);height:var(--control-h);padding:0 var(--sp-5);border-radius:var(--r-12);background:var(--c-kcal);color:var(--bg);font-weight:var(--w-semibold);transition:transform var(--t-1) var(--ease),opacity var(--t-1),filter var(--t-1)}.btn:active{transform:scale(.97);filter:brightness(1.15)}.btn:disabled{opacity:.35;pointer-events:none}.btn.block{width:100%}.btn.secondary{background:var(--surface-3);color:var(--ink)}.btn.ghost{background:none;color:var(--c-kcal)}.btn.danger{background:none;color:var(--c-danger)}.btn.small{height:var(--sp-8);padding:0 var(--sp-3);font-size:var(--fs-12);border-radius:var(--r-8)}.icon-btn{width:var(--sp-10);height:var(--sp-10);border-radius:var(--r-full);display:grid;place-items:center;color:var(--ink-2);transition:transform var(--t-1) var(--ease),background var(--t-1)}.icon-btn:active{transform:scale(.9);background:var(--surface-2)}.icon-btn.raised{background:var(--surface-2)}.chip{display:inline-flex;align-items:center;gap:var(--sp-1);height:var(--sp-8);padding:0 var(--sp-3);border-radius:var(--r-full);background:var(--surface-2);color:var(--ink-2);font-size:var(--fs-12);line-height:var(--lh-16);font-weight:500;white-space:nowrap;transition:transform var(--t-1) var(--ease),background var(--t-1),color var(--t-1)}.chip:active{transform:scale(.94)}.chip.on{background:color-mix(in srgb,var(--c-kcal) 24%,var(--surface-2));color:var(--ink)}.chips{display:flex;gap:var(--sp-2);flex-wrap:wrap}.seg{display:flex;gap:var(--sp-1);background:var(--surface-2);border-radius:var(--r-12);padding:var(--sp-1)}.seg-btn{flex:1;height:var(--sp-8);border-radius:var(--r-8);color:var(--ink-3);font-size:var(--fs-12);line-height:var(--lh-16);font-weight:var(--w-semibold);transition:background var(--t-2) var(--ease),color var(--t-2)}.seg-btn.on{background:var(--surface-4);color:var(--ink)}.input{height:var(--control-h);width:100%;background:var(--surface-2);border:1px solid var(--hairline-soft);border-radius:var(--r-12);padding:0 var(--sp-4);color:var(--ink);outline:none;transition:border-color var(--t-2);-webkit-appearance:none;-moz-appearance:none;appearance:none}.input:focus{border-color:color-mix(in srgb,var(--c-kcal) 60%,transparent)}.input::placeholder{color:var(--ink-3)}.input-wrap{position:relative;display:flex;align-items:center}.input-wrap .unit{position:absolute;right:var(--sp-4);font-size:var(--fs-12);color:var(--ink-3);pointer-events:none}.input-wrap .unit-btn{pointer-events:auto;color:var(--c-kcal);padding:var(--sp-1);right:var(--sp-3)}.input-wrap.slim:has(.unit-btn) .input.has-unit{padding-right:calc(var(--sp-12) + var(--sp-2))}.input-wrap .input.has-unit{padding-right:var(--sp-12)}.input.slim{width:120px;height:var(--sp-10);text-align:right;background:var(--surface-2)}.input-wrap.slim .unit{right:var(--sp-3)}.input-wrap.slim .input.has-unit{padding-right:var(--sp-10)}.w-control{width:var(--w-control)}.search{display:flex;align-items:center;gap:var(--sp-2);background:var(--surface-2);border-radius:var(--r-12);height:var(--sp-10);padding:0 var(--sp-3);color:var(--ink-3)}.search input{flex:1;min-width:0;background:none;border:none;outline:none;color:var(--ink);height:100%}.search input::placeholder{color:var(--ink-3)}.search:focus-within{outline:2px solid color-mix(in srgb,var(--c-kcal) 60%,transparent);outline-offset:-1px}.field-label{font-size:var(--fs-12);line-height:var(--lh-16);color:var(--ink-2);margin-bottom:var(--sp-1);display:block}.time-sel{display:inline-flex;align-items:center;gap:var(--sp-1)}.time-sel .input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:56px;height:var(--sp-10);padding:0;text-align:center;text-align-last:center;cursor:pointer}.time-sel .colon{color:var(--ink-3);font-weight:var(--w-semibold)}.time-sel.wide{display:flex;width:100%}.time-sel.wide .input{flex:1;width:auto;height:var(--control-h)}.slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:var(--sp-5);background:transparent;cursor:pointer;margin:0}.slider::-webkit-slider-runnable-track{height:var(--sp-1);border-radius:var(--r-full);background:var(--slider-track, var(--surface-3))}.slider::-webkit-slider-thumb{-webkit-appearance:none;width:var(--sp-5);height:var(--sp-5);margin-top:-8px;border-radius:var(--r-full);background:var(--ink);box-shadow:0 1px 4px #00000080;transition:transform var(--t-1) var(--ease)}.slider:active::-webkit-slider-thumb{transform:scale(1.15)}.slider::-moz-range-track{height:var(--sp-1);border-radius:var(--r-full);background:var(--slider-track, var(--surface-3))}.slider::-moz-range-thumb{width:var(--sp-5);height:var(--sp-5);border:none;border-radius:var(--r-full);background:var(--ink)}.save-bar{position:sticky;bottom:0;z-index:15;display:flex;gap:var(--sp-3);padding:var(--sp-4) 0 var(--sp-3);background:linear-gradient(to top,var(--bg) 70%,transparent);animation:rise-in var(--t-2) var(--ease) both}.save-bar .btn.block{flex:1}.btn.saved{background:var(--c-good);color:var(--bg)}.btn.saved:disabled{opacity:1}.field-row{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);min-height:var(--control-h);padding:var(--sp-1) 0;border-bottom:1px solid var(--hairline-soft)}.field-row:last-child{border-bottom:none}.field-row>.label{flex:1;min-width:0}.field-row .label .row-sub{white-space:normal}.meter{height:var(--sp-1);border-radius:var(--r-full);background:color-mix(in srgb,var(--meter-color, var(--c-kcal)) 22%,var(--surface));overflow:hidden}.meter-fill{height:100%;border-radius:inherit;background:var(--meter-color, var(--c-kcal));transition:width var(--t-3) var(--ease),background var(--t-2)}.ring{position:relative;flex:none}.ring-center{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;text-align:center}.mdot{width:var(--sp-2);height:var(--sp-2);border-radius:var(--r-full);display:inline-block;flex:none}.tiles{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3)}.tile-label{font-size:var(--fs-12);line-height:var(--lh-16);color:var(--ink-3)}.tile-value{font-size:var(--fs-24);line-height:var(--lh-28);font-weight:var(--w-semibold);letter-spacing:-.3px;margin-top:var(--sp-1)}.tile-value .unit{font-size:var(--fs-12);font-weight:var(--w-regular);color:var(--ink-3);letter-spacing:0}.tile-delta{font-size:var(--fs-12);line-height:var(--lh-16);color:var(--ink-3);margin-top:var(--sp-1)}.chart-plot{position:relative}.chart-bars{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-end;gap:2px;border-bottom:1px solid var(--axis)}.cbar{flex:1;min-width:0;height:100%;position:relative;display:flex;align-items:flex-end;border-radius:var(--r-8) var(--r-8) 0 0}.cbar:focus-visible{outline:2px solid var(--c-kcal);outline-offset:2px}.cbar-fill{width:100%;max-width:var(--sp-6);margin:0 auto;min-height:2px;border-radius:var(--sp-1) var(--sp-1) 0 0;background:var(--c-kcal);transform-origin:bottom;animation:bar-in var(--t-3) var(--ease) both;transition:height var(--t-3) var(--ease),filter var(--t-1)}.cbar:hover .cbar-fill,.cbar.sel .cbar-fill{filter:brightness(1.25)}.cbar-tip{position:absolute;bottom:calc(100% + var(--sp-1));left:50%;transform:translate(-50%);background:var(--surface-3);border:1px solid var(--hairline);border-radius:var(--r-8);padding:var(--sp-1) var(--sp-2);font-size:var(--fs-12);line-height:var(--lh-16);color:var(--ink-2);white-space:nowrap;pointer-events:none;z-index:5;animation:fade-in var(--t-1) var(--ease) both}.cbar-tip strong{color:var(--ink);font-weight:var(--w-semibold)}.cbar-tip.tl{left:0;transform:none}.cbar-tip.tr{left:auto;right:0;transform:none}.goal-line{position:absolute;left:0;right:0;border-top:1px solid var(--ink-3);z-index:2;pointer-events:none}.goal-tag{position:absolute;right:0;bottom:2px;font-size:var(--fs-12);line-height:var(--lh-16);color:var(--ink-3);background:color-mix(in srgb,var(--surface) 82%,transparent);border-radius:var(--sp-1);padding:0 var(--sp-1)}.chart-xlabels{display:flex;gap:2px;margin-top:var(--sp-2)}.chart-xlabels span{flex:1;min-width:0;text-align:center;font-size:var(--fs-12);line-height:var(--lh-16);color:var(--ink-3);white-space:nowrap;font-variant-numeric:tabular-nums}body:has(.sheet[data-open]) .screen,body:has(.ai-rail.open) .screen{overflow:hidden}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--scrim);z-index:40;opacity:0;transition:opacity var(--t-2) var(--ease)}.sheet-backdrop[data-open]{opacity:1}.sheet{position:fixed;left:0;right:0;bottom:0;margin:0 auto;max-width:var(--app-max);max-height:88dvh;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--hairline);border-bottom:none;border-radius:var(--r-20) var(--r-20) 0 0;padding:var(--sp-2) var(--sp-4) calc(var(--sp-6) + env(safe-area-inset-bottom));z-index:41;transform:translateY(103%);transition:transform .44s var(--ease-sheet)}.sheet[data-open]{transform:translateY(0)}.sheet-grabber{width:36px;height:var(--sp-1);border-radius:var(--r-full);background:var(--surface-4);margin:0 auto var(--sp-2);flex:none}.sheet-head{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-1) 0 var(--sp-3);flex:none}.sheet-head .grow{flex:1;min-width:0}.sheet-body{overflow-y:auto;min-height:0;overscroll-behavior:contain;touch-action:pan-y;padding:var(--sp-1) 2px;margin:0 -2px}.form{display:flex;flex-direction:column;gap:var(--sp-4)}.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3)}.brand,.rail-user-wrap{display:none}.tab-avatar{width:var(--sp-6);height:var(--sp-6);border-radius:var(--r-full);background:color-mix(in srgb,var(--c-kcal) 22%,var(--surface-2));color:var(--c-kcal);display:grid;place-items:center;font-size:var(--fs-12);font-weight:var(--w-semibold)}@media(min-width:760px){.app{max-width:none;flex-direction:row}.tabbar{order:-1;flex-direction:column;align-items:stretch;gap:var(--sp-1);width:clamp(280px,25vw,460px);flex:none;border-top:none;border-right:1px solid var(--hairline-soft);padding:var(--sp-5) var(--sp-3);background:var(--bg);-webkit-backdrop-filter:none;backdrop-filter:none}.brand{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3) var(--sp-5);font-size:var(--fs-20);line-height:var(--lh-24);font-weight:var(--w-bold);letter-spacing:-.2px}.brand-edit{margin-left:auto;color:var(--ink-3)}.tab{flex:none;flex-direction:row;justify-content:flex-start;gap:var(--sp-3);height:var(--control-h);padding:0 var(--sp-3);border-radius:var(--r-12);font-size:var(--fs-16);line-height:var(--lh-20)}.tab.active{background:var(--surface-2);color:var(--ink)}.tab.active .msym{color:var(--c-kcal)}.tab-profile,.tab-more{display:none}.rail-user-wrap{display:block;position:relative;margin-top:auto;padding-top:var(--sp-2);border-top:1px solid var(--hairline-soft)}.rail-user{display:flex;align-items:center;gap:var(--sp-3);width:100%;padding:var(--sp-2) var(--sp-3);border-radius:var(--r-12);text-align:left;transition:background var(--t-1)}.rail-user.active{background:var(--surface)}@media(hover:hover){.rail-user:hover{background:var(--surface)}}.rail-menu{position:absolute;bottom:calc(100% + var(--sp-2));left:0;right:0;background:var(--surface-2);border:1px solid var(--hairline);border-radius:var(--r-12);padding:var(--sp-1);z-index:25;box-shadow:var(--shadow-pop);animation:rise-in var(--t-1) var(--ease) both}.rail-menu-item{display:flex;align-items:center;gap:var(--sp-3);width:100%;padding:var(--sp-2) var(--sp-3);border-radius:var(--r-8);font-size:var(--fs-16);line-height:var(--lh-20);color:var(--ink);text-align:left}@media(hover:hover){.rail-menu-item:hover{background:var(--surface-3)}}.rail-menu-item.danger{color:var(--c-danger)}.rail-user .avatar{width:var(--sp-10);height:var(--sp-10);border-radius:var(--r-full);background:color-mix(in srgb,var(--c-kcal) 22%,var(--surface-2));color:var(--c-kcal);display:grid;place-items:center;font-weight:var(--w-semibold);flex:none}.rail-user .grow{flex:1;min-width:0}.ru-name{font-size:var(--fs-16);line-height:var(--lh-20);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ru-sub{font-size:var(--fs-12);line-height:var(--lh-16);color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.screen-header{padding:var(--sp-5) var(--sp-8) var(--sp-3)}.screen-content{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:var(--sp-4);padding:var(--sp-4) var(--sp-8) var(--sp-8);width:100%}.span-2,.span-2-md{grid-column:span 2}.span-full{grid-column:1 / -1}.sheet{left:50%;right:auto;top:50%;bottom:auto;width:480px;max-height:82dvh;border-bottom:1px solid var(--hairline);border-radius:var(--r-20);padding-bottom:var(--sp-6);transform:translate(-50%,-46%) scale(.97);opacity:0;transition:transform var(--t-2) var(--ease),opacity var(--t-2) var(--ease)}.sheet[data-open]{transform:translate(-50%,-50%) scale(1);opacity:1}.sheet-grabber{display:none}}@media(min-width:1180px){.screen-content.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.cols-3 .span-2-md{grid-column:span 1}}@media(hover:hover){.tab:hover{color:var(--ink-2)}.tab.active:hover{color:var(--ink)}.icon-btn:hover{background:var(--surface-2)}.chip:hover{background:var(--surface-3);color:var(--ink)}.seg-btn:hover:not(.on){color:var(--ink-2)}button.list-row:hover{background:#ffffff05}.btn:hover{filter:brightness(1.1)}.add-inline:hover{color:var(--ink-2)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes rise-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes bar-in{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes bar-wide{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.rise{animation:rise-in var(--t-2) var(--ease) both}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.hero{display:flex;flex-direction:column;align-items:center;gap:var(--sp-5)}.hero-side{width:100%;min-width:0;display:grid;grid-template-columns:repeat(2,1fr);gap:var(--sp-2)}.hstat-box{background:var(--surface-2);border:1px solid var(--hairline-soft);border-radius:var(--r-12);padding:var(--sp-3) var(--sp-4);display:grid;grid-template-columns:1fr auto;align-items:center;gap:var(--sp-1) var(--sp-2);min-width:0}.hstat-box .top,.hstat-box .val{grid-column:1}.hstat-box .top{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-12);line-height:var(--lh-16);color:var(--ink-3)}.hstat-box .val{font-size:var(--fs-20);line-height:var(--lh-24);font-weight:var(--w-semibold);letter-spacing:-.2px}.hero-cap{font-size:var(--fs-12);line-height:var(--lh-16);color:var(--ink-3);margin-top:var(--sp-1)}.hero-cap.over{color:var(--c-warn);font-weight:var(--w-semibold)}.macro-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-4)}.macro-cell{display:flex;flex-direction:column;gap:var(--sp-2);min-width:0}.macro-cell .top{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-12);line-height:var(--lh-16);color:var(--ink-3)}.macro-cell .amount{font-size:var(--fs-16);line-height:var(--lh-20);font-weight:var(--w-semibold)}.macro-cell .amount .of{font-size:var(--fs-12);font-weight:var(--w-regular);color:var(--ink-3)}.msec-title{flex:1;min-width:0;font-size:var(--fs-16);line-height:var(--lh-20);font-weight:var(--w-semibold)}.msec-total{font-size:var(--fs-16);line-height:var(--lh-20);font-weight:var(--w-semibold);font-variant-numeric:tabular-nums}.msec-total .unit{font-size:var(--fs-12);font-weight:var(--w-regular);color:var(--ink-3)}.msec-sub{font-size:var(--fs-12);line-height:var(--lh-16);color:var(--ink-3);margin-top:var(--sp-1)}.msec-win{font-size:var(--fs-12);line-height:var(--lh-16);font-weight:var(--w-regular);color:var(--ink-3);white-space:nowrap}.add-inline{display:flex;align-items:center;gap:var(--sp-2);width:100%;min-height:var(--sp-10);color:var(--ink-3);font-size:var(--fs-12);line-height:var(--lh-16);transition:color var(--t-1),transform var(--t-1) var(--ease)}.add-inline:active{transform:scale(.98);color:var(--ink-2)}.preview{display:flex;align-items:baseline;gap:var(--sp-5)}.preview .kcal{font-size:var(--fs-32);line-height:var(--lh-36);font-weight:var(--w-semibold);letter-spacing:-.5px}.preview .kcal .unit{font-size:var(--fs-12);font-weight:var(--w-regular);color:var(--ink-3);letter-spacing:0}.preview .pfc{display:flex;gap:var(--sp-4);flex:1;justify-content:flex-end}.preview .pfc div{display:flex;align-items:center;gap:var(--sp-1);font-size:var(--fs-12);line-height:var(--lh-16);color:var(--ink-2)}.preview .pfc strong{color:var(--ink);font-weight:var(--w-semibold)}.period-nav{display:flex;align-items:center;gap:var(--sp-2)}.period-nav .range{flex:1;text-align:center;font-size:var(--fs-16);line-height:var(--lh-20);font-weight:var(--w-semibold)}.day-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-3);margin-top:var(--sp-3)}.day-detail-grid .cell .k{font-size:var(--fs-12);line-height:var(--lh-16);color:var(--ink-3)}.day-detail-grid .cell .v{font-size:var(--fs-16);line-height:var(--lh-20);font-weight:var(--w-semibold)}.delta-good{color:var(--c-good)}.delta-bad{color:var(--c-danger)}.login{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;overflow:hidden;background-color:var(--bg)}.login-slide{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;opacity:0;transform:scale(1);transition:opacity 1.4s var(--ease),transform 9s linear;will-change:opacity,transform}.login-slide.on{opacity:1;transform:scale(1.08)}.login-card{position:relative;z-index:1;width:min(420px,calc(100vw - 2 * var(--sp-4)));display:flex;flex-direction:column;gap:var(--sp-6);padding:var(--sp-8);background:color-mix(in srgb,var(--bg) 68%,transparent);-webkit-backdrop-filter:blur(20px) saturate(1.8);backdrop-filter:blur(20px) saturate(1.8);border:1px solid var(--hairline-soft);border-radius:var(--r-20);box-shadow:var(--shadow-pop)}.login-brand{display:flex;align-items:center;gap:var(--sp-3)}.login-eye{position:absolute;right:var(--sp-1);top:50%;transform:translateY(-50%)}.login-error{font-size:var(--fs-12);line-height:var(--lh-16);color:var(--c-danger)}.nut-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3)}@media(max-width:599px){.nut-grid.wat-grid{grid-template-columns:1fr}}.nut-card{display:flex;flex-direction:column;gap:var(--sp-2)}.nut-head{display:flex;align-items:center;gap:var(--sp-2)}.nut-amount{font-size:var(--fs-24);line-height:var(--lh-28);font-weight:var(--w-semibold);letter-spacing:-.3px}.nut-of{font-size:var(--fs-12);font-weight:var(--w-regular);color:var(--ink-3);letter-spacing:0}.nut-meter{height:var(--sp-2);border-radius:var(--r-full);background:var(--surface-2);overflow:hidden}.nut-meter-fill{height:100%;border-radius:var(--r-full);transition:width var(--t-3) var(--ease),background var(--t-2)}.nut-status{display:flex;align-items:center;gap:var(--sp-1)}.nut-cov,.nut-hint{margin-top:auto}.ai-quota{padding:var(--sp-1) var(--sp-4) 0;text-align:right}.add-wrap{position:relative}.add-menu{position:absolute;top:calc(100% + var(--sp-2));right:0;min-width:232px;background:var(--surface-2);border:1px solid var(--hairline);border-radius:var(--r-12);padding:var(--sp-1);box-shadow:var(--shadow-pop);z-index:30;display:flex;flex-direction:column}.add-menu-item{display:flex;align-items:center;gap:var(--sp-3);width:100%;padding:var(--sp-2) var(--sp-3);border-radius:var(--r-8);text-align:left;font-size:var(--fs-16);line-height:var(--lh-20);color:var(--ink)}.add-menu-item:active{background:var(--surface-3)}@media(hover:hover){.add-menu-item:hover{background:var(--surface-3)}}.add-menu-sub{display:block;font-size:var(--fs-12);line-height:var(--lh-16);color:var(--ink-3)}.th-title{display:flex;align-items:center;gap:var(--sp-3);min-width:0}.th-nav,.th-actions{display:flex;align-items:center;gap:var(--sp-2)}.screen-header .ai-toggle,.today-head .th-actions{order:9}@media(max-width:599px){.today-head{display:grid;grid-template-columns:1fr auto;grid-template-areas:"main actions" "nav  nav";row-gap:var(--sp-3)}.th-main{grid-area:main}.th-actions{grid-area:actions;align-self:start}.th-nav{grid-area:nav}}@media(max-width:1599px){.icon-btn.ai-toggle{width:auto;display:flex;align-items:center;gap:var(--sp-1);padding:0 var(--sp-3);background:color-mix(in srgb,var(--c-kcal) 14%,var(--surface-2));color:var(--c-kcal)}.icon-btn.ai-toggle:after{content:"AI";font-size:var(--fs-12);line-height:var(--lh-16);font-weight:var(--w-semibold);letter-spacing:.2px}}.hstat-state{grid-column:2;grid-row:1 / span 2;display:flex;align-items:center;justify-content:flex-end;gap:var(--sp-1);white-space:nowrap;font-size:var(--fs-12);line-height:var(--lh-16);color:var(--ink-3)}.hstat-state.good{color:var(--c-good)}.goal-card{display:flex;flex-direction:column;gap:var(--sp-3)}.goal-body{display:flex;align-items:center;gap:var(--sp-6)}.goal-body.compact{flex-direction:column;gap:var(--sp-4)}@media(max-width:599px){.goal-body{flex-direction:column;gap:var(--sp-4)}}.goal-stats{flex:1;align-self:stretch}.goal-body.compact .goal-stats{width:100%}.goal-big{font-size:var(--fs-32);line-height:var(--lh-36);font-weight:var(--w-bold);letter-spacing:-.5px}.goal-unit{font-size:var(--fs-12);line-height:var(--lh-16);color:var(--ink-3)}.goal-eta{font-size:var(--fs-16)}.goal-note{display:flex;flex-direction:column;gap:var(--sp-1)}.goal-scale{display:inline-flex;align-items:center;gap:var(--sp-1)}.wat-today{display:flex;flex-direction:column;gap:var(--sp-3)}.wat-chips{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-2)}.wat-chip{display:flex;align-items:center;justify-content:center;gap:var(--sp-1);padding:var(--sp-3) var(--sp-2);border-radius:var(--r-12);background:var(--surface-2);color:var(--ink-2);font-size:var(--fs-12);line-height:var(--lh-16);transition:background var(--t-2)}.wat-chip:active{background:var(--surface-3)}@media(hover:hover){.wat-chip:hover{background:var(--surface-3)}}.wat-chip-ml{font-size:var(--fs-16);font-weight:var(--w-semibold);color:var(--ink)}.wat-custom{display:flex;align-items:flex-end;gap:var(--sp-3);padding-top:var(--sp-4)}.wat-custom .btn{flex:none;width:auto;padding-inline:var(--sp-6)}.wat-list{margin-top:var(--sp-4)}.wat-cap{text-align:right}.wat-src .row-title{font-size:var(--fs-12);line-height:var(--lh-16)}.wt-date{color-scheme:dark;width:var(--w-control)}.wt-reminder{display:flex;align-items:center;gap:var(--sp-2);padding-top:var(--sp-3)}.wt-chart{position:relative}.wt-empty{padding:var(--sp-4) 0}.wt-grid{stroke:var(--hairline-soft);stroke-width:1}.wt-goal{stroke:color-mix(in srgb,var(--c-kcal) 55%,transparent);stroke-width:1}.wt-goal-label,.wt-ylabel{font-size:var(--fs-12);fill:var(--ink-3)}.wt-goal-label{fill:color-mix(in srgb,var(--c-kcal) 80%,var(--ink-3))}.wt-line{fill:none;stroke:var(--c-kcal);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.wt-dot{fill:var(--surface);stroke:var(--c-kcal);stroke-width:2}.wt-hit{fill:transparent}.wt-xlabels{display:flex;justify-content:space-between;font-size:var(--fs-12);line-height:var(--lh-16);color:var(--ink-3)}.wt-tip{position:absolute;transform:translate(-50%,-100%);background:var(--surface-3);border:1px solid var(--hairline);border-radius:var(--r-8);padding:var(--sp-1) var(--sp-2);font-size:var(--fs-12);line-height:var(--lh-16);white-space:nowrap;pointer-events:none;box-shadow:var(--shadow-pop)}.ch-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--ch-min),1fr));gap:var(--sp-4);margin-top:var(--sp-2)}.ch-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--hairline-soft);border-radius:var(--r-16);overflow:hidden;text-align:left;transition:border-color var(--t-1),transform var(--t-1) var(--ease)}.ch-card:active{transform:scale(.99)}@media(hover:hover){.ch-card:hover{border-color:var(--hairline)}}.ch-card.active{border-color:color-mix(in srgb,var(--c-kcal) 45%,transparent)}.ch-art{aspect-ratio:16 / 10;flex:none;min-height:0;overflow:hidden}.ch-art svg,.ch-art img{display:block;width:100%;height:100%;object-fit:cover}.ch-body{flex:1;display:flex;flex-direction:column;gap:var(--sp-2);padding:var(--sp-4)}.ch-head{display:flex;align-items:flex-start;gap:var(--sp-2)}.ch-status{flex:none;font-size:var(--fs-12);line-height:var(--lh-16);font-weight:var(--w-semibold);font-variant-numeric:tabular-nums;padding:var(--sp-1) var(--sp-2);border-radius:var(--r-full);background:var(--surface-3);color:var(--ink-2)}.ch-status.on{background:color-mix(in srgb,var(--c-kcal) 20%,var(--surface));color:var(--c-kcal)}.ch-status.done{background:color-mix(in srgb,var(--c-good) 20%,var(--surface));color:var(--c-good)}.ch-meter{height:var(--sp-2);margin-top:auto;border-radius:var(--r-full);background:color-mix(in srgb,var(--c-kcal) 16%,var(--surface-2));overflow:hidden}.ch-meter.big{height:var(--sp-3);margin-top:0}.chd-hero{aspect-ratio:16 / 7;border-radius:var(--r-16);border:1px solid var(--hairline-soft);overflow:hidden}.chd-hero img,.chd-hero svg{display:block;width:100%;height:100%;object-fit:cover}.chd-p{margin:0 0 var(--sp-3);font-size:var(--fs-16);line-height:var(--lh-24);color:var(--ink-2)}.chd-facts{display:flex;align-items:center;gap:var(--sp-2);padding-top:var(--sp-2);border-top:1px solid var(--hairline-soft)}.ch-meter-fill{height:100%;border-radius:var(--r-full);background:var(--c-kcal);transition:width var(--t-3) var(--ease)}.ch-progress-row{display:flex;justify-content:space-between;gap:var(--sp-2)}.ch-progress-row strong{color:var(--ink)}.ch-actions{display:flex;gap:var(--sp-2);margin-top:auto;padding-top:var(--sp-1)}.fastc-side{display:flex;flex-direction:column;align-items:flex-end;gap:var(--sp-1);text-align:right}.fastc-plot{position:relative;margin-top:var(--sp-6);container-type:inline-size;container-name:fastplot}.fastc-ticks{position:relative;height:var(--sp-6);border-bottom:1px solid var(--hairline-soft)}.fastc-ticks .tick{position:absolute;top:100%;width:1px;height:3px;background:var(--hairline-soft)}.fastc-ticks .tick.major{height:5px;background:var(--surface-4)}.fastc-ticks .tick-label{position:absolute;top:0;transform:translate(-50%);font-size:var(--fs-12);line-height:var(--lh-16);color:var(--ink-3);font-variant-numeric:tabular-nums}@container fastplot (max-width: 479px){.fastc-ticks .tick-label.minor{display:none}}.fastc-bars{position:relative;height:var(--sp-6);margin-top:var(--sp-3)}.fastc-bar{position:absolute;top:0;height:100%;display:flex;align-items:center;justify-content:center;padding:0 var(--sp-1);background:var(--c-fast);border-radius:var(--r-8);overflow:hidden;container-type:inline-size;transform-origin:left center;animation:bar-wide var(--t-3) var(--ease) both}.fastc-bar.ongoing{background:color-mix(in srgb,var(--c-fast) 10%,var(--surface));border:1px solid color-mix(in srgb,var(--c-fast) 45%,transparent)}.fastc-label{display:inline-flex;align-items:center;gap:var(--sp-1);font-size:var(--fs-12);line-height:var(--lh-16);font-weight:var(--w-semibold);color:var(--bg);white-space:nowrap}.fastc-bar.ongoing .fastc-label{color:var(--c-fast)}.fastc-label.short{display:none}@container (max-width: 71px){.fastc-label.full{display:none}.fastc-label.short{display:inline-flex}}@container (max-width: 39px){.fastc-label.short{display:none}}.fastc-nowline{position:absolute;top:calc(-1 * var(--sp-3));bottom:0;width:1px;background:var(--ink-2)}.fastc-empty{padding-top:var(--sp-2)}.pick-list{display:flex;flex-direction:column;max-height:var(--h-list);overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y}.pick-row{display:flex;align-items:center;gap:var(--sp-1)}.pick-row+.pick-row{border-top:1px solid var(--hairline-soft)}.pick-main{flex:1;min-width:0;text-align:left;padding:var(--sp-2) 0}.pick-main .row-title,.pick-main .row-sub{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pick-main:active{opacity:.7}.pick-star{flex:none}.pick-hint{padding:var(--sp-2) 0}.ing-row{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) 0}.ing-row+.ing-row{border-top:1px solid var(--hairline-soft)}.ing-add{display:flex;flex-direction:column;gap:var(--sp-2);margin-top:var(--sp-2)}.ing-none{padding:var(--sp-2) 0}.tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--tile-min),1fr));gap:var(--sp-4);margin-top:var(--sp-8)}.tile-grid.wide{grid-template-columns:repeat(auto-fill,minmax(var(--tile-min-wide),1fr))}.sq-tile.wide{aspect-ratio:auto;gap:var(--sp-5)}.sq-tile{aspect-ratio:1;background:var(--surface-2);border:1px solid var(--hairline-soft);border-radius:var(--r-16);padding:var(--sp-3);display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;text-align:left;min-width:0;transition:transform var(--t-1) var(--ease),background var(--t-1)}.sq-tile:active{transform:scale(.96)}.sq-tile.add{background:transparent;border:1px dashed var(--hairline);color:var(--ink-3);align-items:center;justify-content:center;gap:var(--sp-2)}.sq-body{width:100%;min-width:0}.at-name{font-size:var(--fs-12);line-height:var(--lh-16);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.at-kcal{font-size:var(--fs-20);line-height:var(--lh-24);font-weight:var(--w-semibold);letter-spacing:-.2px;margin-top:var(--sp-1)}.at-sub{font-size:var(--fs-12);line-height:var(--lh-16);color:var(--ink-3);margin-top:var(--sp-1)}@media(hover:hover){.sq-tile:hover{background:var(--surface-3)}.sq-tile.add:hover{background:var(--surface);color:var(--ink-2)}}.mini-split{display:flex;gap:var(--gap-mark);height:var(--sp-1);border-radius:var(--r-full);overflow:hidden;margin-top:var(--sp-1)}.mini-split span{min-width:var(--gap-mark)}.macro-slider{padding:var(--sp-2) 0;border-bottom:1px solid var(--hairline-soft)}.macro-slider:last-of-type{border-bottom:none}.ms-head{display:flex;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-1)}.ms-head .name{flex:1;min-width:0;font-size:var(--fs-16);line-height:var(--lh-20)}.ms-head .val{font-size:var(--fs-16);line-height:var(--lh-20);font-weight:var(--w-semibold)}.ms-head .val .sub{font-size:var(--fs-12);font-weight:var(--w-regular);color:var(--ink-3)}.time-range{display:flex;align-items:center;gap:var(--sp-2);color:var(--ink-3)}.macro-goal-note{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-12);line-height:var(--lh-16);color:var(--ink-3);padding-top:var(--sp-3)}.macro-goal-note.off{color:var(--c-warn)}.about{text-align:center;color:var(--ink-3);font-size:var(--fs-12);line-height:var(--lh-16);padding:var(--sp-2) 0 var(--sp-4)}.cal-wrap{position:relative}.cal-wrap input[type=date]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;width:100%;height:100%;cursor:pointer}.cal-wrap:focus-within{outline:2px solid color-mix(in srgb,var(--c-kcal) 60%,transparent);outline-offset:-1px}.ai-rail{display:flex;flex-direction:column;background:var(--bg);border-left:1px solid var(--hairline-soft)}.ai-head{display:flex;align-items:center;gap:var(--sp-2);padding:calc(var(--sp-5) + env(safe-area-inset-top)) var(--sp-4) var(--sp-3);flex:none}.ai-head .grow{flex:1;min-width:0}.ai-onboard{padding:var(--sp-4);overflow-y:auto}.ai-msgs{flex:1;min-height:0;overflow-y:auto;touch-action:pan-y;padding:var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-4);overscroll-behavior:contain}.ai-bub{border-radius:var(--r-16);font-size:var(--fs-16);line-height:var(--lh-20);animation:rise-in var(--t-2) var(--ease) both}.ai-bub.assistant{align-self:stretch;padding:0 var(--sp-1);font-size:var(--fs-16);line-height:var(--lh-24);color:var(--ink-2)}.ai-bub.assistant strong{font-weight:var(--w-semibold);color:var(--ink)}.ai-bub.assistant+.ai-bub.assistant{border-top:1px solid var(--hairline-soft);padding-top:var(--sp-4)}.ai-bub.user{background:color-mix(in srgb,var(--c-kcal) 22%,var(--surface-2));align-self:flex-end;max-width:85%;padding:var(--sp-3) var(--sp-4)}.ai-li{position:relative;padding-left:var(--sp-4)}.ai-li:before{content:"–";position:absolute;left:0;color:var(--ink-3)}.ai-sp{height:var(--sp-2)}.ai-caret{display:inline-block;color:var(--c-kcal);animation:ai-blink 1s steps(2,start) infinite}@keyframes ai-blink{50%{opacity:0}}.ai-dots{display:inline-flex;gap:var(--sp-1);padding:var(--sp-1) 0}.ai-dots span{width:var(--dot-size);height:var(--dot-size);border-radius:var(--r-full);background:var(--ink-3);animation:ai-dot 1.2s var(--ease) infinite}.ai-dots span:nth-child(2){animation-delay:.15s}.ai-dots span:nth-child(3){animation-delay:.3s}@keyframes ai-dot{0%,60%,to{transform:none;opacity:.4}30%{transform:translateY(-4px);opacity:1}}.ai-error{font-size:var(--fs-12);line-height:var(--lh-16);color:var(--c-danger);padding:0 var(--sp-1)}.ai-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-4) 0;flex:none}.ai-actions-label{font-size:var(--fs-12);line-height:var(--lh-16);color:var(--ink-3)}.ai-pick{flex:none;margin:var(--sp-2) var(--sp-4) 0;max-height:var(--h-pick);overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;background:var(--surface);border:1px solid var(--hairline-soft);border-radius:var(--r-12);padding:var(--sp-1) var(--sp-3)}.ai-input{height:auto;min-height:var(--h-composer-min);max-height:var(--h-composer-max);padding:var(--sp-2) var(--sp-4);font-family:inherit;font-size:var(--fs-16);line-height:var(--lh-20);resize:none;overflow-y:auto}.ai-composer{display:flex;align-items:flex-end;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4) calc(var(--sp-4) + env(safe-area-inset-bottom));border-top:1px solid var(--hairline-soft);flex:none}.ai-composer .input{flex:1;min-width:0}.ai-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--scrim);z-index:29;animation:fade-in var(--t-2) var(--ease) both}@media(max-width:1599px){.ai-rail{position:fixed;top:0;right:0;bottom:0;width:min(var(--w-drawer),100vw);z-index:30;transform:translate(103%);visibility:hidden;transition:transform var(--t-2) var(--ease),visibility 0s var(--t-2);box-shadow:var(--shadow-drawer)}.ai-rail.open{transform:none;visibility:visible;transition:transform var(--t-2) var(--ease)}}@media(min-width:1600px){.ai-rail{position:static;width:clamp(280px,25vw,460px);flex:none}.ai-backdrop,.ai-toggle,.ai-close{display:none}}.card-week{align-self:stretch;display:flex;flex-direction:column}.chart-fill{flex:1;display:flex;flex-direction:column;min-height:0}.chart-fill .chart-plot{flex:1}@media(max-width:599px){.card-week{align-self:auto}.chart-fill,.chart-fill .chart-plot{flex:none}}@media(min-width:760px){.hero{flex-direction:row;gap:var(--sp-8)}.hero-side{flex:1;width:auto;gap:var(--sp-3)}}.ov-compact .hero{flex-direction:column}.lay-row{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) 0;cursor:grab}.lay-row+.lay-row{border-top:1px solid var(--hairline-soft)}.lay-row.pinned{cursor:default}.lay-row.pinned .row-title{color:var(--ink-3)}.tabs-div{padding:var(--sp-3) 0 var(--sp-1);border-bottom:1px solid var(--hairline-soft);text-transform:uppercase;letter-spacing:.6px}.lay-row.off .row-title{color:var(--ink-3)}.lay-row .row-title{flex:1;min-width:0}.lay-width{flex:none}
