.k-mode-switch,.kakei-root .k-mode-switch.k-mode-switch{display:inline-flex;gap:2px;padding:3px;border:1px solid var(--line);border-radius:10px;background:var(--surface, transparent);flex-shrink:0}.k-mode-switch.k-mode-switch .k-mode-option{min-width:40px;min-height:30px;padding:4px 7px;border:0;border-radius:7px;background:none;color:var(--muted);font-size:12px;font-weight:600;letter-spacing:.04em;line-height:1.2;white-space:nowrap}.k-mode-switch.k-mode-switch .k-mode-option[aria-pressed=true]{background:var(--accent-soft);color:var(--accent-text)}.k-mode-switch.k-mode-switch .k-mode-option:hover:not(:disabled):not([aria-pressed=true]){background:none;color:var(--accent-text)}.k-mode-select.k-mode-select{width:auto;min-width:0;max-width:130px;field-sizing:content;min-height:32px;padding:4px 6px 4px 9px;border:1px solid var(--line);border-radius:10px;background-color:var(--surface);color:var(--accent-text);font-size:16px;font-weight:600;letter-spacing:.02em;flex-shrink:0}.k-mode-slot-side{margin:-30px 6px 30px}.k-mode-slot-top{display:none}@media(max-width:760px){.k-mode-slot-top{display:inline-flex}}@media(max-width:370px){.k-mode-switch.k-mode-switch .k-mode-option{font-size:11px}}.k-mode-slot-side .k-mode-switch{display:grid;grid-template-columns:1fr 1fr}@media(min-width:761px){.kakei-root .k-sidebar-mode .k-mode-switch{display:grid;grid-template-columns:1fr 1fr}}.wants-root .topbar .date-line{white-space:nowrap}:root{--ls-scheme: dark;--ls-bg: #050b21;--ls-page: #050b21;--ls-top: #03091f;--ls-rail: #061027;--ls-top-line: #111c34;--ls-chrome-line: #1d2942;--ls-chrome-text: var(--ls-text);--ls-chrome-muted: #aab6c8;--ls-chrome-soft: var(--ls-soft);--ls-chrome-field: #0a1530;--ls-nav-current: var(--ls-current);--ls-panel: #08142b;--ls-raised: #202b42;--ls-field: #0a1530;--ls-menu: #0f1a33;--ls-line: #2b3850;--ls-line-soft: #1b2740;--ls-line-strong: #3c4a64;--ls-text: #e7edf6;--ls-muted: #96a3b8;--ls-soft: #c4cddb;--ls-primary: var(--lives-accent, #576170);--ls-on-primary: var(--lives-on-accent, #fff);--ls-primary-hover: color-mix(in srgb, var(--ls-primary) 90%, #fff);--ls-current: #173254;--ls-error: #ff9fa9;--ls-danger: #ee9da9;--ls-ok: #7fd1a0;--ls-warn: #e1bd7a;--ls-warn-soft: #3c3221;--ls-track: #344053;--ls-shadow: 0 12px 32px #0008;--ls-backdrop: #0007;--ls-scrim: #050b21b8;--ls-task: #354357;--ls-task-line: #68758a;--ls-task-edge: #8c9cb5;--ls-running: #665932;--ls-running-line: #9b8740;--ls-running-edge: #e3bc35;--ls-running-text: #eed785;--ls-done: #1b5148;--ls-done-line: #39825e;--ls-done-edge: #70cc6b;--ls-done-text: #8dd9b4;--ls-today: #19263c;--ls-today-head: #1b304e;--ls-banner: var(--ls-today);--ls-blur: none}:root[data-appearance=light]{--ls-scheme: light;--ls-bg: #f7f7fb;--ls-page: #f7f7fb;--ls-top: #fff;--ls-rail: #fff;--ls-top-line: #ccd5e2;--ls-chrome-line: #ccd5e2;--ls-chrome-muted: #5d6b80;--ls-chrome-field: #f7f8fb;--ls-panel: #fff;--ls-raised: #f0f3f8;--ls-field: #fff;--ls-menu: #fff;--ls-line: #ccd5e2;--ls-line-soft: #e3e8ef;--ls-line-strong: #9eabbd;--ls-text: #233047;--ls-muted: #5d6b80;--ls-soft: #3a475c;--ls-current: #e6ebf3;--ls-error: #b42338;--ls-danger: #b42338;--ls-ok: #246347;--ls-warn: #7a5410;--ls-warn-soft: #f6ecd2;--ls-track: #dce3ed;--ls-shadow: 0 12px 32px #1e2a3b2e;--ls-backdrop: #1e2a3b59;--ls-scrim: #1e2a3b66;--ls-task: #dce3ed;--ls-task-line: #b7c2d1;--ls-task-edge: #7d8ca3;--ls-running: #f1e3b4;--ls-running-line: #d6bf6c;--ls-running-edge: #b88c12;--ls-running-text: #755619;--ls-done: #c9e8d8;--ls-done-line: #8cc4a5;--ls-done-edge: #3f9a5f;--ls-done-text: #246347;--ls-today: #edf2fa;--ls-today-head: #dee9f8}:root[data-appearance=glass]{--ls-scheme: light;--ls-bg: transparent;--ls-top: #12213bcc;--ls-rail: #12213bcc;--ls-top-line: #a5b7cf40;--ls-chrome-line: #a5b7cf40;--ls-chrome-text: #e7edf6;--ls-chrome-muted: #c0ccdd;--ls-chrome-soft: #d5deea;--ls-chrome-field: #ffffff14;--ls-nav-current: #adc7df36;--ls-panel: #f4f7f9e0;--ls-raised: #ffffffb8;--ls-field: #ffffffd0;--ls-menu: #f4f7f9f5;--ls-line: #71839966;--ls-line-soft: #7183993a;--ls-line-strong: #71839999;--ls-text: #1f2c42;--ls-muted: #4d5c71;--ls-soft: #34425a;--ls-current: #c9d8eab8;--ls-error: #a51f33;--ls-danger: #a51f33;--ls-ok: #1f5a3f;--ls-warn: #6e4b0c;--ls-warn-soft: #f3e6c4d0;--ls-track: #71839940;--ls-shadow: 0 12px 32px #1e2a3b33;--ls-backdrop: #1e2a3b59;--ls-scrim: #1e2a3b66;--ls-task: #d3e0e6e6;--ls-task-line: #8fa3b5;--ls-task-edge: #64788f;--ls-running: #dec981;--ls-running-line: #b89b3c;--ls-running-edge: #8a6608;--ls-running-text: #6b4e12;--ls-done: #9ec7a7;--ls-done-line: #6e9e7a;--ls-done-edge: #2f7a49;--ls-done-text: #1f5a3f;--ls-today: #ffffff45;--ls-today-head: #ffffff66;--ls-banner: var(--ls-panel);--ls-blur: blur(18px)}:root[data-appearance=glass-dark]{--ls-bg: transparent;--ls-top: #12213bcc;--ls-rail: #12213bcc;--ls-top-line: #c5d2e530;--ls-chrome-line: #c5d2e530;--ls-chrome-muted: #c0ccdd;--ls-chrome-field: #ffffff14;--ls-nav-current: #9bb9d229;--ls-panel: #14243bb8;--ls-raised: #a1b1c12e;--ls-field: #0a1530a0;--ls-menu: #0f1a33f2;--ls-line: #c5d2e530;--ls-line-soft: #c5d2e51c;--ls-line-strong: #c5d2e560;--ls-text: #edf2f9;--ls-muted: #bdcadd;--ls-soft: #d5deea;--ls-current: #9bb9d229;--ls-track: #ffffff26;--ls-task: #354357cc;--ls-running: #665932cc;--ls-done: #1b5148cc;--ls-today: #a1b8d22a;--ls-today-head: #a1b8d23a;--ls-banner: var(--ls-panel);--ls-blur: blur(18px)}:root[data-appearance=glass-dark][data-background=navy]{--ls-panel: #0b1730b8;--ls-top: #03091fcc;--ls-rail: #03091fcc}:root[data-appearance=glass-dark][data-background=white]{--ls-panel: #14243bee;--ls-raised: #a1b1c124}:root[data-theme=light]{--lt-soft: var(--ls-soft);--lt-muted: var(--ls-muted);--lt-line-strong: var(--ls-line-strong);--lt-danger: var(--ls-danger);--lt-danger-soft: #fbe5e8;--lt-danger-line: #ecb4bd;--lt-warn: var(--ls-warn);--lt-warn-soft: var(--ls-warn-soft);--lt-warn-line: #e2c98a;--lt-info: #1f5fbf;--lt-backdrop: var(--ls-backdrop);--lt-icon-filter: none;--lt-grid: #e3e8ef;--lt-switch: #b7c2d1;--lt-task-line: var(--ls-task-line);--lt-done-line: var(--ls-done-line);--lt-select: #b88c12;--lt-pause: #1e2a3b12;--lt-pause-line: #5d6b8088;--lt-seg: var(--ls-raised);--lt-ks-bg-l: 88%;--lt-ks-fg-l: 24%}:root[data-appearance=glass]{--lt-danger-soft: #fbe5e8d0;--lt-grid: #7183992e;--lt-switch: #8fa3b5}:root:root{background:var(--ls-page);color-scheme:var(--ls-scheme)}:root[data-appearance^=glass][data-background=green]{--ls-page: #608c78}:root[data-appearance^=glass][data-background=blue]{--ls-page: #456f97}:root[data-appearance^=glass][data-background=sand]{--ls-page: #aa817c}:root[data-appearance^=glass][data-background=navy]{--ls-page: #132e59}:root[data-appearance^=glass][data-background=slate]{--ls-page: #384653}:root[data-appearance^=glass][data-background=purple]{--ls-page: #614578}:root[data-appearance^=glass][data-background=white]{--ls-page: #d4dee5}:root[data-appearance^=glass] body{isolation:isolate;min-height:100dvh;background:none}:root[data-appearance^=glass] body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:url(/assets/wallpaper-BwkzTI6j.webp) center / cover;filter:var(--ls-wall-filter, none)}:root[data-appearance^=glass][data-background=navy] body:before{background-image:url(/assets/night-CkJHLxew.webp);filter:none}:root[data-appearance^=glass][data-background=white] body:before{background-image:url(/assets/marble-BtgYLzb3.webp);filter:none}[data-background=green],[data-wall=green]{--ls-wall-filter: hue-rotate(290deg) saturate(.7)}[data-background=sand],[data-wall=sand]{--ls-wall-filter: hue-rotate(155deg) saturate(.5) brightness(1.1)}[data-background=slate],[data-wall=slate]{--ls-wall-filter: grayscale(.85) brightness(.7)}[data-background=purple],[data-wall=purple]{--ls-wall-filter: hue-rotate(45deg)}[data-background=blue],[data-wall=blue],[data-background=navy],[data-wall=navy],[data-background=white],[data-wall=white]{--ls-wall-filter: none}.ls-root{--room: #d5dde8;--room-fg: var(--room);--room-fg-hi: color-mix(in srgb, var(--room) 60%, #fff);--room-soft: color-mix(in srgb, var(--room) 16%, var(--ls-panel));--room-hover: color-mix(in srgb, var(--room) 80%, #fff);min-height:100dvh;background:var(--ls-bg);color:var(--ls-text);font:13px/1.5 -apple-system,BlinkMacSystemFont,Hiragino Kaku Gothic ProN,Noto Sans JP,sans-serif;color-scheme:var(--ls-scheme)}:root[data-theme=light] .ls-root{--room-fg: color-mix(in srgb, var(--room) 30%, #141d2c);--room-fg-hi: var(--room-fg);--room-soft: color-mix(in srgb, var(--room) 26%, #fff);--room-hover: color-mix(in srgb, var(--room) 85%, #1b2638)}.ls-root *,.ls-root *:before,.ls-root *:after{box-sizing:border-box}.ls-rail{position:fixed;inset:0 auto 0 0;width:72px;background:var(--ls-rail);border-right:1px solid var(--ls-chrome-line);backdrop-filter:var(--ls-blur);-webkit-backdrop-filter:var(--ls-blur);display:flex;flex-direction:column;align-items:center;z-index:15}.ls-brand{height:56px;width:100%;display:flex;align-items:center;justify-content:center;color:var(--ls-chrome-text)}.ls-brand svg{width:26px;height:26px;stroke-width:1.6}.ls-rail a{width:100%;height:58px;display:flex;flex-direction:column;gap:3px;align-items:center;justify-content:center;color:var(--ls-chrome-text);font-size:10px;line-height:1.2;text-decoration:none;opacity:.65}.ls-rail a:hover{opacity:.9}.ls-rail a[aria-current=page]{opacity:1;background:var(--ls-nav-current);border-left:3px solid var(--room)}.ls-rail svg,.ls-topbar svg,.ls-pbar svg,.ls-shell-icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}.ls-topbar{margin-left:72px;height:56px;background:var(--ls-top);color:var(--ls-chrome-text);border-bottom:1px solid var(--ls-top-line);backdrop-filter:var(--ls-blur);-webkit-backdrop-filter:var(--ls-blur);display:flex;align-items:center;gap:18px;padding:0 22px}.ls-logo{font-size:16px;font-weight:700;padding-right:22px;border-right:1px solid var(--ls-chrome-line);line-height:28px}.ls-topbar .ls-spacer{flex:1 1 0;min-width:0}.ls-topbar>*{flex-shrink:0}.ls-topbar .k-mode-switch.k-mode-switch{border:0;background:none;padding:0;gap:4px;height:56px;align-items:stretch;border-radius:0;flex-shrink:1;min-width:0;overflow-x:auto;scrollbar-width:none}.ls-topbar .k-mode-switch.k-mode-switch::-webkit-scrollbar{display:none}.ls-topbar .k-mode-switch.k-mode-switch .k-mode-option{flex-shrink:0}.ls-topbar .k-mode-switch.k-mode-switch .k-mode-option{display:inline-flex;align-items:center;gap:7px;padding:0 12px;border-radius:0;min-height:0;background:none;color:var(--ls-chrome-muted);font-size:13px;font-weight:500;letter-spacing:.02em;border-bottom:2px solid transparent}.ls-topbar .k-mode-switch.k-mode-switch .k-mode-option:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--dot, var(--lr-tasks, #d5dde8));flex:none}.ls-topbar .k-mode-switch.k-mode-switch .k-mode-option[aria-pressed=true]{background:none;color:var(--ls-chrome-text);font-weight:700;border-bottom-color:var(--room)}.ls-topbar .k-mode-switch.k-mode-switch .k-mode-option:hover:not([aria-pressed=true]){background:none;color:var(--ls-chrome-text)}.ls-topbar .k-mode-switch.k-mode-switch .k-mode-option:focus-visible{outline:2px solid var(--room);outline-offset:-2px}:root[data-theme=light] .ls-root .k-mode-option:before,:root[data-theme=light] .ls-root .ss-dot{box-shadow:0 0 0 1px #1e2a3b40}.ls-root [data-mode=tasks]{--dot: var(--lr-tasks, #d5dde8)}.ls-root [data-mode=meal]{--dot: var(--lr-meal, #88d0f2)}.ls-root [data-mode=fitness]{--dot: var(--lr-fitness, #8fd9a8)}.ls-root [data-mode=kakei]{--dot: var(--lr-kakei, #f0cf6b)}.ls-root [data-mode=vision]{--dot: var(--lr-vision, #f19ab0)}.ls-root [data-mode=wants]{--dot: var(--lr-wants, #c4b0ec)}.ls-search{display:inline-flex;align-items:center;gap:8px;height:32px;padding:0 8px 0 12px;border:1px solid var(--ls-line);border-radius:8px;background:var(--ls-chrome-field);color:var(--ls-chrome-text);font:inherit;font-size:12px;cursor:pointer;white-space:nowrap}.ls-search svg{width:16px;height:16px}.ls-search kbd{font:inherit;font-size:10px;padding:1px 5px;border:1px solid var(--ls-line);border-radius:4px;color:var(--ls-chrome-muted)}.ls-extras{display:inline-flex;align-items:center;gap:18px}.ls-account{position:relative;padding-left:18px;border-left:1px solid var(--ls-chrome-line)}.ls-account>button{display:inline-flex;align-items:center;gap:8px;background:none;border:0;color:var(--ls-chrome-text);font:inherit;font-size:12px;cursor:pointer;min-height:32px}.ls-account>button svg{width:24px;height:24px;stroke-width:1.5}.ls-account-menu{position:absolute;right:0;top:calc(100% + 10px);min-width:220px;padding:12px;background:var(--ls-menu);color:var(--ls-text);border:1px solid var(--ls-line);border-radius:10px;box-shadow:var(--ls-shadow);z-index:30;backdrop-filter:var(--ls-blur);display:grid;gap:10px}.ls-account-menu p{margin:0;color:var(--ls-muted);font-size:12px;word-break:break-all}.ls-account-extras{display:grid;gap:4px}.ls-account-menu>button{width:100%;min-height:36px;background:var(--ls-raised);color:var(--ls-text);border:1px solid var(--ls-line);border-radius:6px;font:inherit;cursor:pointer}.ls-search:focus-visible,.ls-account button:focus-visible,.ls-rail a:focus-visible,.ls-pbar a:focus-visible,.ls-pbar button:focus-visible{outline:2px solid var(--room);outline-offset:2px}.ls-content{display:block;margin-left:72px;padding:12px 20px 14px;min-width:0}.ls-pbar{display:none}@media(max-width:1100px){.ls-search span,.ls-search kbd,.ls-account>button span{display:none}.ls-topbar{gap:12px;padding:0 14px}.ls-logo{padding-right:14px}.ls-extras{gap:12px}.ls-account{padding-left:12px}}@media(max-width:700px){.ls-rail{display:none}.ls-topbar{margin-left:0;height:auto;flex-wrap:wrap;gap:4px;padding:0 6px 0 12px;position:relative}.ls-topbar>*{min-height:56px}.ls-logo{border-right:0;padding-right:0;font-size:15px;display:flex;align-items:center}.ls-search{border:0;background:none;width:44px;height:44px;min-height:44px;margin:6px 0;padding:0;justify-content:center}.ls-search svg{width:20px;height:20px}.ls-account{padding-left:0;border-left:0;display:flex;align-items:center}.ls-account>button{width:44px;height:44px;justify-content:center;padding:0}.ls-account-menu{position:fixed;right:8px;top:52px;left:auto;max-width:calc(100vw - 16px)}.ls-extras{gap:8px;flex-wrap:wrap}.ls-topbar .k-mode-switch.k-mode-switch{order:9;flex-basis:calc(100% + 18px);max-width:100%;margin:0 -6px 0 -12px;min-height:44px;height:44px;padding:0 6px;overflow-x:auto;flex-wrap:nowrap;gap:0;scrollbar-width:none}.ls-topbar .k-mode-switch.k-mode-switch .k-mode-option{padding:0 10px;color:var(--ls-chrome-muted);flex-shrink:0;white-space:nowrap;font-size:13px}.ls-topbar .k-mode-switch.k-mode-switch::-webkit-scrollbar{display:none}.ls-root .ls-content{margin-left:0;padding:8px 8px calc(72px + env(safe-area-inset-bottom,0px))}.ls-pbar{display:flex;position:fixed;inset:auto 0 0;height:calc(64px + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);background:var(--ls-top);border-top:1px solid var(--ls-top-line);z-index:25;backdrop-filter:var(--ls-blur);-webkit-backdrop-filter:var(--ls-blur)}.ls-pbar>a,.ls-more>button{flex:1;min-width:44px;min-height:44px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--ls-chrome-soft);text-decoration:none;font:inherit;font-size:12px;line-height:1.2;background:none;border:0;cursor:pointer;padding:4px 2px}.ls-pbar>a>span,.ls-more>button>span{display:block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.02em}.ls-pbar>a[aria-current=page],.ls-more>button[aria-current=page]{background:var(--ls-nav-current);color:var(--ls-chrome-text);box-shadow:inset 0 2px 0 var(--room)}.ls-more{flex:1;display:flex;position:relative}.ls-more-menu{position:fixed;right:8px;bottom:calc(72px + env(safe-area-inset-bottom,0px));min-width:180px;padding:6px;display:grid;gap:2px;background:var(--ls-menu);color:var(--ls-text);border:1px solid var(--ls-line);border-radius:10px;box-shadow:var(--ls-shadow);backdrop-filter:var(--ls-blur)}.ls-more-menu[hidden]{display:none}.ls-more-menu a{display:flex;align-items:center;gap:10px;min-height:44px;padding:0 12px;border-radius:6px;color:var(--ls-text);text-decoration:none;font-size:13px}.ls-more-menu a[aria-current=page]{background:var(--ls-current);box-shadow:inset 2px 0 0 var(--room)}}.ls-panel{background:var(--ls-panel);border:1px solid var(--ls-line);border-radius:12px;padding:12px 14px;min-width:0}.ls-panel>h2,.ls-h2{font-size:16px;font-weight:700;margin:0 0 10px;display:flex;align-items:center;gap:8px;line-height:1.4}.ls-panel>h2 small,.ls-h2 small{font-size:11px;font-weight:500;color:var(--ls-muted)}.ls-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:8px 12px;border:1px solid var(--ls-line);border-radius:12px;background:var(--ls-panel);min-height:50px;flex-shrink:0}.ls-toolbar-end{display:flex;align-items:center;gap:12px;margin-left:auto;flex-wrap:wrap;justify-content:flex-end}.ls-tool-label{display:flex;align-items:center;gap:9px;color:var(--ls-muted);font-size:11px;border-left:1px solid var(--ls-line);padding-left:12px}.ls-muted{color:var(--ls-muted)}.ls-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--ls-raised);border:1px solid var(--ls-line);border-radius:6px;padding:5px 11px;min-height:32px;color:var(--ls-text);font:inherit;font-size:12px;cursor:pointer;white-space:nowrap;text-decoration:none}.ls-btn:hover:not(:disabled){border-color:var(--ls-line-strong)}.ls-btn:disabled{opacity:.4;cursor:default}.ls-btn.primary{background:var(--ls-primary);border-color:var(--ls-primary);color:var(--ls-on-primary)}.ls-btn.ghost{background:none;border-color:transparent}.ls-btn.sm{font-size:11px;min-height:26px;padding:3px 9px}.ls-btn svg,.ls-sync svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}.ls-btn svg{width:15px;height:15px}.ls-btn:focus-visible,.ls-seg button:focus-visible{outline:2px solid var(--room);outline-offset:2px}.ls-seg{display:inline-flex;border:1px solid var(--ls-line);border-radius:6px;overflow:hidden}.ls-seg button{border:0;border-right:1px solid var(--ls-line);background:none;color:var(--ls-text);font:inherit;font-size:11px;min-width:35px;padding:5px 12px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap}.ls-seg button:last-child{border-right:0}.ls-seg button[aria-pressed=true],.ls-seg button[aria-selected=true]{background:var(--ls-primary);color:var(--ls-on-primary)}.ls-stat{background:var(--ls-raised);border:1px solid var(--ls-line);border-radius:8px;padding:12px;min-width:0}.ls-stat-label{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--ls-muted)}.ls-stat-value{font-size:26px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.2;margin-top:8px}.ls-stat-value small{font-size:11px;font-weight:500;color:var(--ls-muted);margin-left:4px}.ls-stat-bar{height:4px;border-radius:3px;background:var(--ls-track);margin:10px 0 0}.ls-stat-bar i{display:block;height:4px;border-radius:3px;background:var(--room);max-width:100%}.ls-sync{display:inline-flex;align-items:center;gap:6px;font:inherit;font-size:10px;color:var(--ls-muted);padding:0 0 0 12px;border:0;border-left:1px solid var(--ls-line);background:none;min-height:25px;white-space:nowrap}button.ls-sync{cursor:pointer}button.ls-sync:hover{color:var(--ls-text)}.ls-sync svg{width:13px;height:13px}.ls-sync.is-error{color:var(--ls-error)}.ls-sync:focus-visible{outline:2px solid var(--room);outline-offset:2px}@media(max-width:700px){.ls-btn{min-height:44px;min-width:44px;font-size:13px;padding:6px 12px}.ls-btn.sm{min-height:44px;font-size:12px}.ls-seg button{min-height:42px;min-width:52px;font-size:13px}.ls-toolbar{padding:6px 8px;gap:8px}.ls-panel>h2,.ls-h2{font-size:15px}.ls-stat{padding:9px 10px}.ls-stat-label,.ls-stat-value small{font-size:12px}.ls-stat-value{font-size:22px;margin-top:4px}.ls-sync{font-size:12px;min-height:44px}}.ss-page{display:grid;gap:14px;min-width:0;padding:6px 6px 20px}.ss-heading{border:1px solid var(--ls-line);border-radius:10px;background:var(--ls-panel);display:flex;align-items:center;gap:18px;padding:13px 16px;flex-wrap:wrap}.ss-heading h1{font-size:18px;margin:0}.ss-heading .ls-muted{font-size:11px}.ss-card{background:var(--ls-panel);border:1px solid var(--ls-line);border-radius:10px;padding:0 18px;min-width:0}.ss-card section{padding:16px 0;border-bottom:1px solid var(--ls-line);min-width:0}.ss-card section:last-child{border-bottom:0}.ss-card h2{font-size:14px;margin:0 0 12px;display:flex;align-items:center;gap:8px}.ss-site{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:24px}.ss-site section{border-bottom:0}.ss-row{display:grid;grid-template-columns:80px minmax(0,1fr);align-items:center;gap:12px;font-size:12px}.ss-row>span:first-child{color:var(--ls-muted)}.ss-inline{display:flex;align-items:center;gap:10px;min-width:0}.ss-wrap{flex-wrap:wrap;gap:8px}.ss-field{display:block;flex:1;min-width:0;min-height:31px;padding:6px 9px;border:1px solid var(--ls-line);border-radius:6px;background:var(--ls-raised);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ss-note{margin:0;font-size:12px}.ss-dot{width:7px;height:7px;border-radius:50%;display:inline-block;flex:none}.ss-tabs{display:flex;width:100%;overflow-x:auto;scrollbar-width:none}.ss-tabs button{flex:1 0 auto}.ss-tab-panel{padding:16px 0 18px;min-width:0}@media(max-width:1100px){.ss-site{grid-template-columns:minmax(0,1fr)}.ss-site section{border-bottom:1px solid var(--ls-line)}.ss-site section:last-child{border-bottom:0}}@media(max-width:700px){.ss-page{padding:0 0 12px;gap:9px}.ss-card{padding:0 12px}.ss-row{grid-template-columns:minmax(0,1fr);gap:6px}.ss-field{min-height:44px;display:flex;align-items:center;font-size:13px}.ss-heading .ls-muted{font-size:12px}}.ss-card h2 small{font-size:10px;font-weight:500}.ss-srow{display:grid;grid-template-columns:120px minmax(0,1fr);align-items:center;gap:12px;margin:10px 0;font-size:11px}.ss-srow>span:first-child{color:var(--ls-muted)}.ss-looks{display:grid;grid-template-columns:repeat(4,minmax(0,104px));gap:7px}.ss-look{font:inherit;font-size:10px;padding:5px;text-align:left;background:none;border:1px solid var(--ls-line);border-radius:6px;color:var(--ls-text);cursor:pointer}.ss-look b{height:34px;border:6px solid #53667d;border-radius:5px;display:block;margin-bottom:4px;background:#122136;box-shadow:inset 0 0 8px #ffffff20}.ss-look[data-look=light] b{background:#fff;border-color:#edf0f5}.ss-look[data-look=glass] b{background:#adc9ad;border-color:#91b28a}.ss-look[data-look=glass-dark] b{background:#1e3a37;border-color:#91b28a}.ss-look[data-look=dark] b{background:#0b1222;border-color:#1c2638}.ss-look[aria-pressed=true]{outline:2px solid var(--ls-text);outline-offset:1px}.ss-swatches{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.ss-swatch{width:23px;height:23px;min-height:23px;padding:0;border:1px solid #ffffff55;border-radius:50%;cursor:pointer;box-shadow:inset 0 0 0 1px #0000001a}.ss-wall{position:relative;overflow:hidden;isolation:isolate;width:30px;height:22px;padding:0;border:1px solid #ffffff55;border-radius:4px;cursor:pointer;box-shadow:inset 0 1px 4px #fff7,inset 0 -2px 4px #0003}.ss-wall:before{content:"";position:absolute;inset:0;z-index:-1;background:url(/assets/wallpaper-BwkzTI6j.webp) center / cover;filter:var(--ls-wall-filter, none);opacity:.75}.ss-wall[data-wall=navy]:before{background-image:url(/assets/night-CkJHLxew.webp)}.ss-wall[data-wall=white]:before{background-image:url(/assets/marble-BtgYLzb3.webp)}.ss-wall[data-wall=green]{background:#719a81}.ss-wall[data-wall=blue]{background:#6382a6}.ss-wall[data-wall=sand]{background:#bc9b91}.ss-wall[data-wall=navy]{background:#0d1d4b}.ss-wall[data-wall=slate]{background:#3e4d59}.ss-wall[data-wall=purple]{background:#654891}.ss-wall[data-wall=white]{background:#e4e9ef}.ss-swatch[aria-pressed=true],.ss-wall[aria-pressed=true]{outline:2px solid var(--ls-text);outline-offset:2px}.ss-look:focus-visible,.ss-swatch:focus-visible,.ss-wall:focus-visible,.ss-picker:focus-visible{outline:2px solid var(--room);outline-offset:2px}.ss-picker{appearance:none;-webkit-appearance:none;flex:none;box-sizing:border-box;width:26px;height:26px;min-height:0;min-width:0;padding:0;border:1px dashed var(--ls-line-strong);border-radius:50%;background:none;cursor:pointer}.ss-picker::-webkit-color-swatch-wrapper{padding:2px}.ss-picker::-webkit-color-swatch{border:0;border-radius:50%}.ss-picker::-moz-color-swatch{border:0;border-radius:50%}.ss-swatch-name{font-size:11px;min-width:3em}.ss-hint{margin:6px 0 0;font-size:10px}.ss-room-color{margin:0 0 14px}.ss-room-color .ls-btn{margin-left:4px}@media(max-width:700px){.ss-srow{grid-template-columns:minmax(0,1fr);gap:6px;font-size:12px}.ss-looks{grid-template-columns:repeat(2,minmax(0,1fr))}.ss-look{font-size:12px;min-height:44px}.ss-swatches{gap:8px}.ss-swatch{width:44px;height:44px}.ss-wall{width:52px;height:44px}.ss-picker{width:44px;height:44px}.ss-hint,.ss-card h2 small{font-size:12px}}.lives-login{color-scheme:light;min-height:100svh;display:flex;flex-direction:column;background:#f8f9fd;color:#111c38;font-family:system-ui,-apple-system,BlinkMacSystemFont,Hiragino Kaku Gothic ProN,Yu Gothic,sans-serif;-webkit-font-smoothing:antialiased}.lives-login *,.lives-login *:before,.lives-login *:after{box-sizing:border-box}.lives-login .login-header{display:flex;align-items:center;gap:16px;padding:38px 3.7vw}.lives-login .wordmark{font-size:32px;font-weight:750;letter-spacing:-1.2px;line-height:1.2}.lives-login .login-main{flex:1;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.15fr);align-items:center;gap:48px;padding:50px 5.2vw 110px;min-height:600px}.lives-login .login-content h1{margin:0;font-size:clamp(28px,3.6vw,52px);font-weight:700;letter-spacing:-.035em;line-height:1.5;white-space:nowrap}.lives-login .login-tagline{font-size:clamp(17px,1.85vw,27px);line-height:1.7;margin:10px 0 0;letter-spacing:.01em}.lives-login .login-action{margin-top:50px;max-width:540px}.lives-login .google-button{position:relative;display:flex;align-items:center;justify-content:center;width:100%;max-width:400px;min-height:44px;padding:0 12px;border:1px solid #dadce0;border-radius:4px;background:#fff;color:#3c4043;font:500 14px/1 Roboto,system-ui,-apple-system,sans-serif;letter-spacing:.25px;cursor:pointer}.lives-login .google-button svg{position:absolute;left:12px}.lives-login .google-button:hover:not(:disabled){background:#f8faff;border-color:#d2e3fc}.lives-login .google-button:disabled{opacity:.65;cursor:default}.lives-login .login-help{font-size:15px;line-height:1.8;color:#748099;margin:28px 0 0}.lives-login .login-error{font-size:13px;line-height:1.65;color:#a73543;margin:12px 0 0;overflow-wrap:anywhere}.lives-login button:focus-visible{outline:3px solid #6595f3;outline-offset:4px}.lives-login .login-visual{margin:0;min-width:0}.lives-login .login-visual img{display:block;width:100%;height:auto;object-fit:contain}.lives-login .login-footer{display:flex;align-items:center;gap:24px;margin:0 3.7vw;padding:24px 0 38px;border-top:1px solid #d8deea}.lives-login .login-footer .wordmark{font-size:23px}.lives-login .login-footer p{font-size:13px;color:#7c879e;margin:0;line-height:1.7}@media(min-width:1600px){.lives-login .login-main{max-width:1700px;width:100%;margin:0 auto}}@media(max-width:1000px){.lives-login .login-main{gap:24px;padding-left:5vw;padding-right:5vw}.lives-login .login-content h1{font-size:clamp(23px,3.2vw,32px)}.lives-login .login-tagline{font-size:17px}.lives-login .login-help{font-size:12px}}@media(max-width:900px){.lives-login .login-header{padding:28px 24px}.lives-login .wordmark{font-size:27px}.lives-login .login-main{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:32px;min-height:0;padding:35px 24px 44px}.lives-login .login-content h1{font-size:clamp(23px,6.3vw,34px);white-space:normal;letter-spacing:-.045em}.lives-login .login-tagline{font-size:16px}.lives-login .login-action{margin-top:30px;max-width:400px}.lives-login .login-help{font-size:12px;margin-top:20px}.lives-login .login-visual{max-width:520px;align-self:center;width:100%}.lives-login .login-footer{margin:0 24px;padding:20px 0 26px;gap:16px}.lives-login .login-footer .wordmark{font-size:21px}.lives-login .login-footer p{font-size:11px}}:root{font-family:-apple-system,BlinkMacSystemFont,Noto Sans JP,Hiragino Kaku Gothic ProN,Yu Gothic,sans-serif;color:#243c4d;background:#f3f9fd;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--bg: #f3f9fd;--surface: #fff;--surface-2: #f1f8fc;--text: #243c4d;--muted: #5b7488;--line: #dce9f2;--line-strong: #adc9dc;--accent: #267398;--accent-soft: #e4f3fc;--accent-text: #24698e;--amber: #9b712c;--amber-soft: #fbf3e4;--danger: #b3544c;--shadow: 0 12px 40px #184c7014;--primary-bg: #b9e3f8;--primary-text: #184d6a;--primary-hover: #9ed6f2;--primary-border: #9acee8;--radius: 18px;font-size:14px}:root[data-theme=dark]{color-scheme:dark;--bg: #0e1720;--surface: #172531;--surface-2: #1d2f3e;--text: #e1eef7;--muted: #a4bacb;--line: #2b4254;--line-strong: #64859e;--accent: #88d0f2;--accent-soft: #1c3b50;--accent-text: #b8e8fd;--amber: #e1bd7a;--amber-soft: #3c3221;--danger: #e49d94;--shadow: 0 12px 40px #0005;--primary-bg: #92d3f1;--primary-text: #14364b;--primary-hover: #b2e5fc;--primary-border: #a0dcf7;color:var(--text);background:var(--bg)}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0;color:inherit;background:none}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:3px}a{color:var(--accent);text-underline-offset:3px}p{line-height:1.8}h1,h2,h3,p{margin-top:0}h2{font-size:16px;letter-spacing:.025em;margin-bottom:0;font-weight:650}h3{font-size:14px;font-weight:650;line-height:1.6;margin-bottom:8px}small{font-size:11px;line-height:1.6}svg{flex-shrink:0}input,select,textarea{width:100%;min-height:43px;color:var(--text);background:var(--surface);border:1px solid var(--line-strong);border-radius:8px;padding:9px 11px;min-width:0}input[type=checkbox]{width:17px;min-height:17px;height:17px;accent-color:var(--accent);flex-shrink:0}input[type=file]{font-size:12px}input[type=date]{font-size:13px}select{padding-right:24px}fieldset{border:1px solid var(--line);border-radius:12px;padding:18px;margin:20px 0}legend{padding:0 8px;font-weight:650}hr{border:0;border-top:1px solid var(--line);margin:26px 0}details summary{cursor:pointer;color:var(--accent);padding:16px 0;font-size:13px}details[open]>summary{margin-bottom:8px}button{transition:background .16s,color .16s,border-color .16s}button:hover:not(:disabled){background:var(--surface-2)}.primary,.subtle,.eat-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:39px;border-radius:9px;white-space:nowrap;padding:10px 15px;font-size:12px;font-weight:600}.primary{color:var(--primary-text);background:var(--primary-bg);border:1px solid var(--primary-border)}.primary:hover:not(:disabled){background:var(--primary-hover)}.subtle{background:var(--surface);border:1px solid var(--line)}.subtle:hover:not(:disabled){border-color:var(--line-strong)}.icon-button{padding:7px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;min-width:32px;min-height:32px}.text-link{display:inline-flex;align-items:center;gap:6px;color:var(--accent);font-size:12px;padding:0;text-decoration:none}.muted{color:var(--muted);font-size:12px}.danger{color:var(--danger)}.positive{color:var(--accent)}.spacious{padding:22px 0}.padded{padding:22px}.app-shell{display:flex;min-height:100vh}.app-shell.fitness-root{--bg: #f3faf5;--surface-2: #f1f9f3;--line: #dbece0;--line-strong: #a8cfb4;--accent: #27744a;--accent-soft: #e3f4e8;--accent-text: #236b43;--primary-bg: #bde8c9;--primary-text: #1b5133;--primary-hover: #a3dcb4;--primary-border: #9ad3ab;background:var(--bg)}:root[data-theme=dark] .app-shell.fitness-root{--bg: #0e1a16;--surface: #152620;--surface-2: #1c302a;--line: #29443a;--line-strong: #5f8a76;--accent: #8fd9a8;--accent-soft: #1d3d2c;--accent-text: #bdf0cc;--primary-bg: #93d9aa;--primary-text: #143a24;--primary-hover: #b3ebc4;--primary-border: #a2e3b6}:root:has(.app-shell.fitness-root){background:#f3faf5}:root[data-theme=dark]:has(.app-shell.fitness-root){background:#0e1a16}.sidebar{width:224px;position:fixed;inset:0 auto 0 0;background:var(--surface);border-right:1px solid var(--line);padding:35px 19px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;gap:10px;align-items:center;margin:0 6px 47px;color:var(--text);text-decoration:none;font-size:15px;font-weight:700;letter-spacing:.02em}.brand>span:last-child{min-width:0}.brand-mark{flex-shrink:0;width:38px;height:41px;background:var(--primary-bg);color:var(--primary-text);display:grid;place-items:center;border-radius:12px 12px 16px 6px}.sidebar nav{display:grid;gap:7px}.sidebar nav button{height:47px;display:flex;align-items:center;gap:14px;border-radius:9px;padding:0 16px;font-size:13px;color:var(--muted);text-align:left}.sidebar nav button.active{background:var(--accent-soft);color:var(--accent);font-weight:650}.active-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);margin-left:auto}.nav-divider{height:1px;background:var(--line);margin:26px 14px 22px}.main-shell{margin-left:224px;width:calc(100% - 224px);min-width:0}.topbar{height:77px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 42px;background:var(--bg)}.date-line{font-size:12px;color:var(--muted);font-weight:500}.top-actions{display:flex;align-items:center;gap:19px}.help-button{display:inline-flex;align-items:center;gap:5px;min-height:32px;padding:6px 8px;border-radius:8px;color:var(--accent-text);font-size:11px;font-weight:600}.storage-status{display:flex;align-items:center;gap:6px;font-size:10px;color:var(--muted)}main:where(:not(.ls-root main)){max-width:1590px;margin:auto;padding:35px 42px 50px}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}h1{font-size:28px;font-weight:650;letter-spacing:.055em;line-height:1.5;margin:0 0 6px}.section-line{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.section-line h2{display:flex;align-items:center;gap:15px}.segmented{display:inline-flex;background:var(--line);border-radius:9px;padding:4px;gap:3px;flex-shrink:0}.segmented button{font-size:11px;padding:9px 17px;border-radius:6px;color:var(--muted);white-space:nowrap}.segmented button.selected{background:var(--surface);color:var(--text);box-shadow:0 1px 4px #0000000f;font-weight:600}.segmented.full{display:flex;margin-bottom:20px}.segmented.full button{flex:1}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:17px}.metric-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:20px 21px}.metric-label{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:550;white-space:nowrap}.metric-label>.muted{margin-left:auto;font-size:9px;font-weight:400}.metric-number{font-size:33px;letter-spacing:-.03em;font-weight:600;line-height:1.35;margin:18px 0 16px;font-variant-numeric:tabular-nums}.metric-number small{font-size:11px;color:var(--muted);font-weight:400;margin-left:7px;letter-spacing:0}.progress{height:4px;border-radius:9px;background:var(--line);overflow:hidden}.progress>span{display:block;height:100%;background:var(--accent);border-radius:9px}.metric-p .progress>span{background:#ab9bd3}.metric-f .progress>span{background:#cfbf72}.metric-c .progress>span{background:#79bfdf}.metric-foot{font-size:10px;line-height:1.5;color:var(--muted);margin-top:10px;overflow-wrap:anywhere}@media(max-width:760px){.metric-foot span{display:block}}.inline-tip{display:flex;align-items:center;gap:10px;font-size:11px;color:var(--muted);padding:13px 0 22px}.inline-tip svg{color:var(--accent)}.inline-tip button{display:flex;align-items:center;gap:3px;color:var(--accent);font-size:11px;margin-left:auto;white-space:nowrap}.dashboard-columns{display:grid;grid-template-columns:minmax(0,1fr) 298px;gap:23px;margin-top:8px}.panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);min-width:0;overflow:hidden;margin-bottom:22px}.panel-heading{display:flex;align-items:center;justify-content:space-between;padding:23px 25px 19px;gap:10px}.panel-heading p{font-size:10px;color:var(--muted);margin:7px 0 0}.panel-heading>svg{color:var(--muted)}.meal-panel .panel-heading{border-bottom:1px solid var(--line);padding-bottom:21px}.meal-slot{padding:21px 25px;border-bottom:1px solid var(--line)}.meal-slot:last-child{border-bottom:0}.slot-label{display:flex;align-items:center;gap:9px;margin-bottom:10px}.slot-label h3{margin:0;font-size:12px}.slot-dot{width:7px;height:7px;border-radius:50%;background:#d5b76d}.slot-1{background:#8bc2de}.slot-2{background:#b7a6ce}.slot-3{background:#8aaac5}.slot-label .icon-button{margin-left:auto;color:var(--muted)}.unplanned{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:43px;font-size:11px;color:var(--muted);padding-left:16px}.unplanned button{font-size:10px;color:var(--accent);padding:7px 10px;background:var(--surface-2);border-radius:6px}.meal-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0}.meal-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.meal-title strong{font-size:13px;font-weight:550}.meal-main{min-width:0}.meal-meta{display:flex;gap:9px;flex-wrap:wrap;font-size:10px;color:var(--muted);margin-top:7px}.meal-actions{display:flex;gap:6px;align-items:center;flex-shrink:0}.eat-button{background:var(--accent-soft);color:var(--accent);font-size:10px;padding:7px 10px;min-height:33px}.badge{display:inline-flex;gap:4px;align-items:center;font-size:9px;line-height:1.6;border-radius:5px;background:var(--surface-2);color:var(--muted);padding:3px 7px;font-weight:500;white-space:nowrap}.badge.green{background:var(--accent-soft);color:var(--accent-text)}.badge.amber{background:var(--amber-soft);color:var(--amber)}.badge.planned{background:var(--surface-2);color:var(--accent-text);box-shadow:inset 0 0 0 1px var(--line-strong)}.meal-record-actions{display:flex;gap:7px;flex-wrap:wrap}.meal-record-button{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:10px 11px;min-height:48px;max-width:100%;background:var(--surface);border:1px solid var(--line);border-radius:9px;text-align:left;color:var(--text)}.meal-record-button>span{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:600}.meal-record-button>small{font-size:10px;color:var(--muted);line-height:1.5;white-space:normal}.meal-record-button.record-primary{background:var(--primary-bg);border-color:var(--primary-border);color:var(--primary-text)}.meal-record-button.record-primary>small{color:var(--primary-text)}.meal-record-button.record-primary:hover:not(:disabled){background:var(--primary-hover)}.meal-impact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0}.meal-impact>div{display:grid;grid-template-columns:20px 1fr;gap:6px;padding:14px;background:var(--surface-2);border:1px solid var(--line);border-radius:10px}.meal-impact svg{color:var(--accent)}.meal-impact span{font-size:11px;color:var(--muted)}.meal-impact strong{grid-column:1/-1;font-size:12px;line-height:1.6}.meal-edit-status{display:flex;align-items:center;gap:9px;margin:12px 0 18px;font-size:12px;color:var(--muted)}@media(max-width:700px){.meal-record-actions{flex:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));min-width:0}.meal-row:not(.compact) .meal-main{flex-basis:100%}.meal-row:not(.compact) .meal-actions{width:100%;min-width:0}.meal-record-button{padding:9px}.meal-record-button>span{font-size:11px;flex-wrap:wrap}.meal-record-button>small{font-size:10px}.meal-impact{gap:8px}.meal-impact>div{padding:10px}}@media(max-width:380px){.meal-record-actions{grid-template-columns:minmax(0,1fr)}}.green-panel{background:var(--accent-soft);border-color:transparent;padding-bottom:23px}.green-panel .panel-heading{padding-bottom:23px}.green-panel h2{font-size:13px}.green-panel .muted{padding:0 24px;margin:19px 0 16px}.green-panel .text-link{margin-left:24px;font-size:10px}.week-dots{display:flex;justify-content:space-between;padding:0 23px}.week-dots>div{display:grid;place-items:center;gap:12px;font-size:9px;color:var(--muted)}.day-circle{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:10px;background:color-mix(in srgb,var(--surface) 55%,transparent)}.current .day-circle{border:1px solid var(--accent);color:var(--accent)}.day-circle.done{background:var(--accent);color:var(--surface)}.dashboard-aside>.panel:not(.green-panel){padding:0 24px 23px}.dashboard-aside>.panel:not(.green-panel) .panel-heading{padding:23px 0 8px}.dashboard-aside>.panel h2{font-size:13px}.expiry-mini{padding:10px 0;border-bottom:1px solid var(--line);font-size:11px}.expiry-mini small{display:block;font-size:9px;color:var(--amber)}.dashboard-aside>.panel .text-link{margin-top:15px}.mobile-nav{display:none}.toolbar{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:22px}.register-buttons{display:flex;flex-wrap:wrap;gap:8px}.toolbar-actions{display:flex;gap:8px}.tabs{display:flex;align-items:center;gap:25px}.tabs>button{font-size:13px;min-height:45px;display:flex;align-items:center;gap:8px;border-bottom:2px solid transparent;padding:8px 0;color:var(--muted);white-space:nowrap}.tabs>button.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:650}.tabs>button>span:not(.badge){font-size:10px;min-width:20px;height:20px;background:var(--line);border-radius:50%;display:grid;place-items:center;color:var(--muted)}.search-box{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:0 13px;max-width:450px;margin-bottom:20px;color:var(--muted);min-width:0}.search-box input{background:none;border:0;min-height:43px;padding-left:3px;font-size:12px}.toolbar .search-box{margin:0;flex:1}.library-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.food-tile{text-align:left;background:var(--surface);border:1px solid var(--line);padding:21px;border-radius:13px;display:flex;align-items:center;gap:17px;min-width:0}.food-tile>div:not(.tile-icon){min-width:0;flex:1}.food-tile h3{margin:0 0 5px;overflow-wrap:anywhere}.food-tile p,.food-tile small{color:var(--muted);font-size:10px;margin:0}.tile-icon{position:relative;width:43px;height:43px;border-radius:13px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);flex-shrink:0}.cloud-sync-note{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;padding:12px 15px;margin-bottom:20px;border:1px solid var(--line);border-radius:10px;color:var(--muted);background:var(--surface);font-size:11px}.cloud-sync-note .text-link{margin:0;font-size:11px}.tile-icon.frozen{color:var(--accent);background:var(--accent-soft)}.food-icon{display:inline-block;flex-shrink:0;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;font-size:1.2em;font-style:normal;font-weight:400;line-height:1.2;margin-inline-end:.35em;vertical-align:-.08em}.tile-icon .food-icon{margin:0;font-size:27px}.food-frozen-mark{position:absolute;right:-4px;bottom:-3px;padding:2px;box-sizing:content-box;border:2px solid var(--surface);border-radius:50%;background:var(--accent-soft)}.empty{padding:24px 20px;margin:0;text-align:center;font-size:13px;color:var(--muted);grid-column:1/-1;min-width:0}.recipe-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.recipe-card{background:var(--surface);border-radius:14px;overflow:hidden;border:1px solid var(--line)}.recipe-image{width:100%;height:150px;display:grid;place-items:center;background:var(--accent-soft);color:var(--line-strong);padding:0}.recipe-image img{width:100%;height:100%;object-fit:cover}.recipe-content{padding:20px}.recipe-name{font-size:14px;font-weight:650;padding:0;display:flex;align-items:center;justify-content:space-between;width:100%;text-align:left;gap:10px}.recipe-content>p{font-size:10px;color:var(--muted);margin:8px 0 15px}.recipe-numbers{display:flex;flex-wrap:wrap;gap:10px;font-size:10px;color:var(--muted);align-items:baseline}.recipe-numbers strong{font-size:19px;color:var(--text)}.recipe-numbers small{font-size:9px;margin-left:3px;font-weight:400}.recipe-content .text-link{margin-top:16px;font-size:10px}.week-control{display:flex;align-items:center;gap:10px}.week-control strong{font-size:16px}.week-control strong small{margin-left:10px;font-size:11px;color:var(--muted);font-weight:400}.section-tabs{margin-bottom:19px;border-bottom:1px solid var(--line)}.week-menu{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--line);border-radius:15px;background:var(--surface);overflow:hidden}.day-column{border-right:1px solid var(--line);min-width:0}.day-column:last-child{border:0}.day-heading{display:flex;gap:7px;align-items:center;justify-content:center;height:60px;border-bottom:1px solid var(--line)}.day-heading>span{color:var(--muted);font-size:11px}.day-heading strong{font-size:20px;font-weight:500}.day-heading small{background:var(--accent);color:var(--bg);font-size:8px;padding:2px 4px;border-radius:4px}.is-today .day-heading{background:var(--accent-soft)}.day-energy{font-size:13px;text-align:center;padding:14px 5px;border-bottom:1px solid var(--line)}.day-energy small{font-size:9px;color:var(--muted)}.week-slot{padding:13px 10px;min-height:146px;border-bottom:1px solid var(--line)}.week-slot:last-child{border:0}.week-slot-name{font-size:10px;color:var(--muted);display:flex;align-items:center;justify-content:space-between}.empty-slot{font-size:9px;color:var(--line-strong);width:100%;margin-top:14px;border:1px dashed var(--line);border-radius:6px;padding:10px 3px}.meal-row.compact{background:var(--surface-2);border-radius:6px;padding:10px 6px;margin-top:8px;display:block;position:relative}.compact .meal-title strong{font-size:10px;padding-right:12px;overflow-wrap:anywhere}.compact .meal-title .badge{font-size:9px;padding:2px 4px}.compact .meal-meta{font-size:8px;gap:3px}.compact .meal-actions{position:absolute;right:0;top:3px}.compact .meal-actions .icon-button{padding:2px;min-width:18px}.template-preview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-top:20px}.template-preview>div{border:1px solid var(--line);border-radius:10px;padding:12px}.nutrition-toolbar{display:flex;gap:14px;align-items:center;flex-wrap:wrap;padding:22px 24px;border-bottom:1px solid var(--line)}.nutrition-toolbar>.muted{margin-left:auto;font-size:10px}.nutrition-table-wrap{overflow-x:auto}.nutrition-table{border-collapse:collapse;width:100%;font-size:10px;min-width:940px;text-align:right}.nutrition-table th,.nutrition-table td{padding:14px 10px;border-bottom:1px solid var(--line);white-space:nowrap}.nutrition-table thead th{font-size:10px;font-weight:500;background:var(--surface-2);color:var(--muted)}.nutrition-table th:first-child{text-align:left;min-width:118px;padding-left:23px}.nutrition-table tbody th{font-weight:500}.nutrition-table td strong{font-weight:500;font-size:12px}.nutrition-table small{display:block;font-weight:400;color:var(--muted);font-size:8px;margin-top:5px}.nutrient-name{padding:0;font-size:11px;text-align:left}.nutrient-name small{font-size:9px}.nutrition-table .cell-good{background:color-mix(in srgb,var(--accent-soft) 40%,transparent)}.nutrition-table .cell-low{background:color-mix(in srgb,var(--amber-soft) 50%,transparent)}.nutrition-table .cell-missing{color:var(--muted)}.reference-cell{text-align:left;min-width:160px;font-size:9px}.table-progress{height:3px;background:var(--line);width:110px;margin:8px 0 4px}.table-progress span{height:100%;display:block;background:var(--accent)}.pfc-ratio{display:flex;gap:18px;padding:25px;flex-wrap:wrap}.pfc-ratio h3{width:100%;margin-bottom:0}.ratio-item{flex:1;min-width:140px;padding:15px;border:1px solid var(--line);border-radius:10px;display:grid;grid-template-columns:1fr 1fr;gap:8px}.ratio-item strong{grid-column:1/-1;font-size:11px}.ratio-item span{font-size:15px}.ratio-item b{font-size:15px;text-align:right;color:var(--accent);font-weight:500}.ratio-item small{grid-column:1/-1;color:var(--muted);font-size:10px}.pfc-ratio>p{width:100%;margin:0;font-size:10px}.nutrition-notes{padding:20px 25px;background:var(--surface-2);border-top:1px solid var(--line)}.nutrition-notes p{font-size:9px;line-height:1.9;color:var(--muted);margin-bottom:7px}.nutrition-notes p:last-child{margin:0}.legend{width:7px;height:7px;display:inline-block;margin:0 4px 0 12px;border-radius:2px}.legend:first-child{margin-left:0}.legend.green{background:#81bddc}.legend.amber{background:#d3bb87}.legend.gray{background:#bdcdd9}.mobile-day-pick{display:none}.date-range{display:flex;align-items:center;gap:10px}.date-range .field{margin:0}.date-range>span{margin-top:18px;color:var(--muted)}.date-range .subtle{margin-top:20px}.shopping-summary{display:flex;gap:26px;align-items:center;background:var(--accent-soft);border-radius:15px;padding:25px;margin-bottom:24px}.shopping-summary>div{display:flex;align-items:center;gap:17px;color:var(--accent)}.shopping-summary>div>span{font-size:10px;color:var(--muted)}.shopping-summary strong{font-size:27px;display:block;color:var(--text);margin-top:7px}.shopping-summary strong small{font-size:11px;margin-left:7px;font-weight:400}.shopping-summary p{margin:0;padding-left:26px;border-left:1px solid var(--line-strong);font-size:11px}.shopping-summary p span{color:var(--muted);font-size:10px}.shopping-summary>.subtle{margin-left:auto}.shopping-group .panel-heading{padding-bottom:16px;border-bottom:1px solid var(--line)}.shopping-row{display:flex;gap:17px;padding:21px 25px;align-items:center;border-bottom:1px solid var(--line)}.shopping-row:last-child{border:0}.purchase-check{border:1px solid var(--line-strong);width:25px;height:25px;border-radius:7px;color:transparent;display:grid;place-items:center;flex-shrink:0}.purchase-check:hover{color:var(--accent)}.shopping-name{flex:1;min-width:0}.shopping-name h3{margin:0 0 7px;font-size:13px}.shopping-name p{margin:0;color:var(--muted);font-size:10px}.shopping-buy{text-align:right;min-width:75px}.shopping-buy strong{font-size:20px;font-weight:550}.shopping-buy small{font-size:11px;margin-left:3px}.shopping-buy span{display:block;font-size:9px;color:var(--muted);margin-top:4px}.sufficient .shopping-buy strong{font-size:12px;color:var(--accent)}.stock-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:24px}.stock-stats>div{border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:20px}.stock-stats strong{display:block;font-size:25px;font-weight:500}.stock-stats span{display:block;font-size:10px;color:var(--muted);margin-top:6px}.stock-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.stock-grid>.panel{grid-column:1/-1}.stock-summary{margin:0 0 16px;font-size:12px;color:var(--muted)}.stock-group{display:grid;min-width:0}.stock-group.open{grid-column:1/-1}.stock-group.open>.stock-card{border-bottom-left-radius:0;border-bottom-right-radius:0}.stock-group.open .stock-chevron{transform:rotate(90deg)}.stock-lots{border:1px solid var(--line);border-top:0;border-radius:0 0 14px 14px;background:var(--surface)}.stock-lot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px;padding:12px 22px;border-top:1px solid var(--line)}.stock-lot-main{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0}.stock-lot-main strong{display:inline-flex;align-items:center;gap:5px;font-size:14px}.stock-lot-main small{font-size:11px;color:var(--muted)}.stock-lot-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto}.lot-quick{display:inline-flex;gap:6px}.lot-quick button{min-height:30px;padding:4px 10px;font-size:11px}.expiry-mini .lot-quick{margin-top:6px}.stock-card{background:var(--surface);padding:22px;border:1px solid var(--line);border-radius:14px;text-align:left;min-width:0}.stock-card-heading{display:flex;gap:12px;align-items:center}.stock-card-heading h3{margin:0 0 3px;font-size:12px}.stock-card-heading small{color:var(--muted);font-size:9px}.stock-card-heading>div:not(.tile-icon){flex:1;min-width:0}.stock-amount{font-size:29px;font-weight:550;margin:23px 0 12px}.stock-amount small{font-size:11px;color:var(--muted);margin-left:6px;font-weight:400}.stock-card>p{font-size:10px;color:var(--muted);margin-bottom:10px}.stock-original{display:block;color:var(--muted);font-size:9px;margin-top:10px}.stock-add{margin-top:20px;max-width:400px}.list-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 24px;border-bottom:1px solid var(--line);font-size:12px}.list-row:last-child{border:0}.list-row p{font-size:10px;color:var(--muted);margin:5px 0 0}.shortage-row{flex-wrap:wrap}.row-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-left:auto}.dashboard-aside>.panel .shortage-tip .text-link{display:flex;margin-top:4px}.body-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.body-summary .panel{padding:22px}.body-summary span{font-size:11px;color:var(--muted)}.body-summary strong{display:block;font-size:33px;font-weight:500;margin:15px 0 8px}.body-summary small{font-size:12px;font-weight:400;color:var(--muted);margin-left:7px}.body-summary p{font-size:10px;margin:0;color:var(--muted)}.body-chart-panel{padding:23px}.body-chart-panel .toolbar .field{margin:0}.body-chart{width:100%;margin-top:20px;min-height:170px}.chart-legend{display:flex;gap:23px;justify-content:center;color:var(--muted);font-size:10px;margin:13px 0}.chart-legend>span{display:flex;gap:7px;align-items:center}.chart-legend i{display:inline-block;width:20px;height:2px;background:var(--line-strong)}.chart-legend i.mean{background:var(--accent);height:3px}.body-record{display:flex;align-items:center;gap:25px;width:100%;padding:18px 24px;border-top:1px solid var(--line);font-size:11px;text-align:left}.body-record strong{font-size:12px}.body-record span{color:var(--muted)}.body-record svg{margin-left:auto}.comparison-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:0 25px 25px}.comparison-grid>div>span{font-size:10px;color:var(--muted)}.comparison-grid strong{display:block;font-size:22px;margin-top:15px;font-weight:500}.comparison-grid small{font-size:10px;color:var(--muted);margin-left:4px}.history-filters{padding:23px;border-bottom:1px solid var(--line);display:flex;gap:20px;align-items:end;flex-wrap:wrap}.history-filters .field{margin:0}.history-filters .search-box{margin:0;flex:1;min-width:180px}.history-meal{padding:20px 25px;border-bottom:1px solid var(--line)}.history-date{font-size:10px;color:var(--muted)}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px}.settings-grid .panel-heading{border-bottom:1px solid var(--line)}.current-target{display:flex;align-items:center;gap:13px;flex-wrap:wrap}.current-target>strong{font-size:30px;font-weight:550}.current-target small{font-size:11px;margin-left:5px;color:var(--muted);font-weight:400}.notice{padding:17px 20px;background:var(--accent-soft);border-radius:10px;display:flex;gap:12px;margin:15px 0;font-size:12px;line-height:1.8}.notice p{margin:0;font-size:11px}.notice.error{background:var(--amber-soft);color:var(--amber)}.notice.error button{border:1px solid currentColor;padding:5px 9px;margin-top:9px;border-radius:6px;font-size:11px}.notice.error strong{font-size:12px}.restore-preview{display:block}.restore-preview button{margin-top:15px}.warning-text{color:var(--amber);font-size:10px;line-height:1.8}.loading,.login{display:flex;min-height:100vh;align-items:center;justify-content:center;flex-direction:column;gap:15px;background:var(--bg);color:var(--accent)}.loading.kakei-loading{background:#fffbea;color:#8a6a12}:root[data-theme=dark] .loading.kakei-loading{background:#1d1a12;color:#f0cf6b}.login h1{margin-top:10px}.login p{font-size:13px}.spin{animation:spin 1.5s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.modal-backdrop{position:fixed;inset:0;background:#102b4070;backdrop-filter:blur(4px);z-index:100;display:flex;align-items:center;justify-content:center;padding:30px;overflow-y:auto}.modal{width:100%;max-width:530px;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:26px 28px;max-height:calc(100dvh - 60px);overflow-y:auto;box-shadow:var(--shadow);min-width:0;outline:0}.modal.wide{max-width:760px}.modal-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:24px}.modal-heading h2{font-size:18px}.modal>p{font-size:12px}.modal>h3{font-size:15px}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:18px;min-width:0;font-size:12px;line-height:1.6}.field>span{font-size:11px;font-weight:550}.field>small{font-weight:400;color:var(--muted);font-size:10px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 17px}.form-grid .field{margin-bottom:17px}.form-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;border-top:1px solid var(--line);padding-top:20px;margin-top:24px}.check-line{display:flex;align-items:center;gap:10px;font-size:12px;margin:15px 0;line-height:1.8;cursor:pointer}.check-line small{display:block;font-size:10px;color:var(--muted)}.catalog-results{border:1px solid var(--line);border-radius:10px;max-height:240px;overflow-y:auto;margin-bottom:22px}.catalog-results button{padding:13px 15px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:4px 10px;width:100%;text-align:left;font-size:11px;line-height:1.6}.catalog-food-icon .food-icon{font-size:24px;margin:0}.catalog-food-icon{width:34px;flex-shrink:0;text-align:center}.catalog-food-text{flex:1;min-width:0;overflow-wrap:anywhere}.catalog-food-text small{display:block}.catalog-results button>svg{flex-shrink:0}.catalog-results button.chosen{background:var(--accent-soft);color:var(--accent)}.catalog-results small{color:var(--muted);font-size:9px}.catalog-results p{padding:15px;font-size:11px}.ingredient-builder{display:grid;grid-template-columns:2fr 1fr auto;gap:9px;align-items:end}.ingredient-builder .field{margin:0}.ingredient-builder button{margin-bottom:1px}.material-row{display:flex;align-items:center;gap:10px;justify-content:space-between;margin-top:15px;padding-top:15px;border-top:1px solid var(--line);font-size:12px}.material-row>span{flex:1;min-width:0;overflow-wrap:anywhere}.material-row small{display:block;font-size:10px;color:var(--muted);font-weight:400}.material-row strong>small{display:inline}.recipe-preview{display:flex;align-items:center;gap:15px;padding:15px;background:var(--surface-2);border-radius:9px;margin:20px 0;font-size:11px;color:var(--muted);flex-wrap:wrap}.recipe-preview strong{font-size:17px;color:var(--text)}.recipe-preview.amount-nutrition{gap:4px 12px;padding:12px 15px;margin:12px 0 18px;overflow-wrap:anywhere}.form-grid+.recipe-preview.amount-nutrition{margin-top:0}.ingredient-builder>.recipe-preview.amount-nutrition{grid-column:1 / -1;margin:0}.amount-nutrition-label{flex-basis:100%;font-weight:600}.amount-nutrition small{font-size:10px}.photo-preview{margin:15px 0;display:flex;align-items:center;gap:18px}.photo-preview img{width:160px;height:120px;border-radius:12px;object-fit:cover}.secondary-actions{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0 0;padding-top:20px;border-top:1px solid var(--line)}.secondary-actions button:not(.icon-button){display:flex;align-items:center;gap:6px;font-size:11px;padding:7px 0;color:var(--accent)}.secondary-actions .danger{color:var(--danger)!important}.nutrition-list{border:1px solid var(--line);border-radius:10px;overflow:hidden}.nutrition-list>div{display:grid;grid-template-columns:1fr 1fr;padding:12px 15px;border-bottom:1px solid var(--line);gap:4px;font-size:11px}.nutrition-list>div>strong{text-align:right;font-weight:500}.nutrition-list>div>small{grid-column:1/-1;font-size:9px;color:var(--muted);overflow-wrap:anywhere}.nutrient-details>p{font-size:10px;margin-top:15px}.nutrition-input{max-height:340px;overflow:auto;background:var(--surface-2);padding:15px;border-radius:10px;border:1px solid var(--line)}.nutrition-input .field>span{font-size:10px}.summary-line{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding:14px 0;font-size:12px}.target-preview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:20px 0}.target-preview>div{background:var(--accent-soft);border-radius:9px;padding:13px}.target-preview strong{display:block;font-size:10px}.target-preview span{font-size:19px;display:block;margin-top:12px}.target-preview small{font-size:9px;color:var(--muted);display:block;margin-top:6px}.toast{position:fixed;bottom:27px;left:calc(50% + 112px);transform:translate(-50%);z-index:200;background:var(--text);color:var(--surface);box-shadow:var(--shadow);max-width:calc(100vw - 40px);padding:14px 17px;border-radius:10px;font-size:12px;display:flex;align-items:center;gap:10px;line-height:1.7}.toast button{display:grid;place-items:center;color:inherit;margin-left:8px}.toast button:hover{background:transparent!important}.lot-picker{border:1px solid var(--line);border-radius:10px;padding:0 15px;max-height:200px;overflow-y:auto}@media(min-width:1600px){main{padding-top:45px}.dashboard-columns{grid-template-columns:minmax(0,1fr) 330px}.metric-card{padding:24px}.metric-number{font-size:39px}.meal-slot{padding:23px 28px}}@media(max-width:1200px){.sidebar{width:195px;padding-left:14px;padding-right:14px}.brand{font-size:13px;margin-left:3px;gap:8px}.brand-mark{width:34px}.main-shell{margin-left:195px;width:calc(100% - 195px)}main{padding:30px 27px}.topbar{padding:0 27px}.dashboard-columns{grid-template-columns:minmax(0,1fr) 260px;gap:18px}.metric-card{padding:17px 16px}.metric-label{font-size:10px;gap:5px}.metric-number{font-size:29px}.metric-foot{font-size:9px}.panel-heading{padding:20px}.day-heading{gap:4px}.week-slot{padding:10px 7px}.week-menu{overflow-x:auto;grid-template-columns:repeat(7,minmax(110px,1fr))}.week-control strong{font-size:13px}.week-control strong small{display:none}.toolbar-actions .subtle{padding:8px 11px;font-size:10px}.stock-grid,.recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.toast{left:calc(50% + 97px)}.shopping-summary{gap:18px}.shopping-summary p{padding-left:18px}.shopping-summary p span{display:none}.date-range{gap:7px}.date-range input{font-size:11px}.shopping-toolbar{flex-wrap:wrap}.date-range .subtle{font-size:10px}}@media(max-width:1000px){.dashboard-columns{grid-template-columns:minmax(0,1fr)}.dashboard-aside{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.dashboard-aside>.panel{margin:0}.metric-grid{gap:10px}.metric-label>.muted{display:none}.settings-grid{grid-template-columns:1fr}.stock-stats{gap:10px}.stock-stats>div{padding:17px}.toolbar{flex-wrap:wrap}.body-summary{gap:12px}.body-summary .panel{padding:17px}.body-summary strong{font-size:27px}.library-grid{grid-template-columns:1fr}.body-record{gap:16px;flex-wrap:wrap}.body-record>strong{width:100%}.history-filters{gap:14px}.top-actions{gap:12px}.storage-status{font-size:9px}.food-tile{padding:17px}}@media(max-width:760px){:root{font-size:14px}.app-shell{flex-direction:column}.sidebar{position:static;width:100%;padding:14px 20px 10px;border-right:0;border-bottom:1px solid var(--line);z-index:auto}.sidebar>:not(.brand){display:none}.brand{margin:0;font-size:16px;gap:10px}.brand-mark{width:30px;height:33px;border-radius:8px 8px 12px}.brand-mark svg{width:18px}.main-shell{margin:0;width:100%}.topbar{height:62px;padding:0 20px}.top-actions{gap:10px}.top-actions .icon-button{width:31px}.date-line{font-size:10px}.storage-status{font-size:8px;gap:4px}.storage-status svg{width:12px}.desktop{display:none!important}main{padding:25px 20px 105px}.page-heading{margin-bottom:21px}h1{font-size:25px}.section-line h2{font-size:14px;gap:9px}.segmented button{padding:9px 12px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.metric-card{padding:17px}.metric-label{font-size:10px;gap:7px}.metric-number{font-size:29px;margin:14px 0}.metric-foot{font-size:9px}.inline-tip{font-size:10px;line-height:1.8;flex-wrap:wrap;gap:8px;padding:10px 0 18px}.inline-tip>span{flex:1;min-width:200px}.inline-tip button{font-size:10px;min-height:30px}.dashboard-columns{margin-top:0;gap:20px}.panel{border-radius:14px;margin-bottom:18px}.panel-heading{padding:21px 20px 17px}.panel-heading h2{font-size:14px}.panel-heading .subtle{font-size:9px;padding:6px 9px;min-height:32px}.meal-panel .panel-heading{padding:21px 20px}.meal-slot{padding:17px 20px}.unplanned{padding-left:14px;font-size:10px;min-height:41px}.unplanned button{font-size:9px}.meal-row{flex-wrap:wrap;gap:8px}.meal-actions{margin-left:auto}.meal-title strong{font-size:12px}.meal-meta{font-size:9px;gap:7px}.eat-button{font-size:9px}.dashboard-aside{gap:13px}.green-panel .panel-heading{padding:20px 17px}.green-panel h2{font-size:11px}.green-panel .panel-heading svg{width:16px}.week-dots{padding:0 12px}.week-dots>div{font-size:8px;gap:9px}.day-circle{width:20px;height:20px;font-size:8px}.green-panel .muted{padding:0 17px;font-size:9px}.green-panel .text-link{margin-left:17px;font-size:8px;gap:3px}.green-panel .text-link svg{width:12px}.dashboard-aside>.panel:not(.green-panel){padding:0 16px 20px}.dashboard-aside>.panel:not(.green-panel) .panel-heading{padding:20px 0 8px}.dashboard-aside>.panel h2{font-size:11px}.dashboard-aside>.panel .muted{font-size:9px}.dashboard-aside>.panel svg{width:15px}.dashboard-aside>.panel .text-link{font-size:9px}.expiry-mini{font-size:9px}.expiry-mini small{font-size:8px}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;padding:7px 7px calc(8px + env(safe-area-inset-bottom));justify-content:space-around;background:var(--surface);border-top:1px solid var(--line);z-index:40;box-shadow:0 -5px 20px #00000003}.mobile-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-width:45px;min-height:46px;color:var(--muted);padding:4px 5px;border-radius:7px}.mobile-nav button span{font-size:8px}.mobile-nav button.active{color:var(--accent);background:var(--accent-soft)}.toolbar{gap:12px;margin-bottom:19px}.tabs{gap:20px}.tabs>button{font-size:12px}.toolbar>.primary{font-size:10px;min-height:35px;padding:8px 11px}.library-grid,.food-tile{gap:12px}.food-tile h3{font-size:12px}.food-tile p,.food-tile small{font-size:9px}.recipe-grid{gap:13px}.recipe-image{height:110px}.recipe-content{padding:14px}.recipe-name{font-size:11px}.recipe-content>p{font-size:9px}.recipe-numbers{gap:7px;font-size:8px}.recipe-numbers strong{font-size:16px}.recipe-content .text-link{font-size:9px}.empty{padding:20px 16px}.toolbar-actions{width:100%;justify-content:flex-end}.toolbar-actions .subtle{font-size:10px}.week-control{gap:6px}.week-control strong{font-size:15px}.week-control strong small{display:inline;font-size:10px}.week-control>.text-link{font-size:11px;margin-left:5px}.week-menu{grid-template-columns:repeat(7,minmax(135px,1fr));border-radius:11px}.day-heading strong{font-size:19px}.week-slot{min-height:140px;padding:10px}.week-slot-name{font-size:10px}.compact .meal-title strong{font-size:11px}.compact .meal-meta{font-size:9px}.nutrition-toolbar{padding:16px;gap:10px}.nutrition-toolbar>.muted{width:100%;font-size:9px}.nutrition-toolbar .segmented button{padding:4px 10px;font-size:9px}.mobile-day-pick{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));padding:13px 10px;border-bottom:1px solid var(--line);gap:3px}.mobile-day-pick button{border-radius:7px;padding:8px 1px;display:grid;gap:5px;text-align:center;color:var(--muted)}.mobile-day-pick span{font-size:9px}.mobile-day-pick strong{font-size:14px;font-weight:500}.mobile-day-pick small{font-size:7px;white-space:nowrap}.mobile-day-pick button.active{background:var(--accent-soft);color:var(--accent)}.nutrition-table{min-width:0;font-size:9px}.nutrition-table .daily-cell{display:none}.nutrition-table .daily-cell.selected-day{display:table-cell}.nutrition-table td:nth-last-child(2),.nutrition-table th:nth-last-child(2){display:none}.nutrition-table th,.nutrition-table td{padding:12px 8px;white-space:normal}.nutrition-table th:first-child{min-width:0;padding-left:13px;width:26%}.nutrition-table .reference-cell{min-width:0;width:29%;font-size:8px}.nutrition-table td strong{font-size:11px}.nutrient-name{font-size:10px}.nutrition-table small{font-size:7px}.table-progress{width:100%;max-width:90px}.pfc-ratio{padding:20px 15px;gap:9px}.ratio-item{padding:12px;min-width:90px;gap:7px}.ratio-item strong{font-size:9px}.ratio-item span,.ratio-item b{font-size:13px}.ratio-item small{font-size:8px}.nutrition-notes{padding:15px}.nutrition-notes p{font-size:8px}.date-range{width:100%;flex-wrap:wrap;gap:8px}.date-range .field{flex:1}.date-range>.subtle{margin-top:0;font-size:9px;min-height:30px}.date-range input{font-size:11px;min-height:39px;padding:7px}.date-range .field>span{font-size:10px}.shopping-summary{padding:20px;flex-wrap:wrap;gap:17px}.shopping-summary>div>svg{width:22px}.shopping-summary p{font-size:10px;border:0;padding:0}.shopping-summary>.subtle{font-size:10px}.shopping-row{padding:18px 17px;gap:12px}.purchase-check{width:23px;height:23px}.shopping-name h3{font-size:11px}.shopping-name p{font-size:8px;line-height:1.9}.shopping-name .warning-text{font-size:8px}.shopping-buy strong{font-size:17px}.shopping-buy{min-width:65px}.shopping-buy small{font-size:9px}.shopping-buy span{font-size:8px}.stock-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stock-stats>div{padding:17px}.stock-stats strong{font-size:24px}.stock-stats span{font-size:9px}.stock-grid{gap:12px}.stock-card{padding:16px}.stock-card-heading{gap:7px;flex-wrap:wrap;position:relative}.stock-card-heading>div:not(.tile-icon){width:100%;flex:auto}.stock-card-heading>svg{position:absolute;top:8px;right:0}.stock-card-heading .tile-icon{width:32px;height:32px;border-radius:9px}.stock-card-heading .tile-icon .food-icon{font-size:23px}.stock-card-heading .tile-icon .food-frozen-mark{width:12px;height:12px}.stock-card-heading .tile-icon svg:not(.food-frozen-mark){width:18px}.stock-card-heading h3{font-size:10px;margin-top:7px}.stock-card-heading small{font-size:8px}.stock-amount{font-size:24px;margin:17px 0 10px}.stock-amount small{font-size:9px}.stock-card>p{font-size:8px}.stock-card .badge{font-size:8px;white-space:normal}.stock-original{font-size:7px}.list-row{padding:17px;font-size:11px}.list-row p{font-size:9px}.body-summary{gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.body-summary .panel{padding:16px 12px}.body-summary span{font-size:9px}.body-summary strong{font-size:23px;margin:13px 0 8px}.body-summary strong small{font-size:9px;margin-left:3px}.body-summary p{font-size:8px}.body-chart-panel{padding:17px}.body-chart-panel .toolbar{align-items:flex-end;gap:15px}.body-chart-panel .segmented button{padding:5px 10px;font-size:9px}.body-chart-panel .field>span{font-size:9px}.body-chart-panel select{min-height:33px;font-size:10px}.body-chart-panel .field{max-width:120px}.chart-legend{gap:10px;font-size:8px;flex-wrap:wrap}.body-record{padding:16px 20px;gap:9px 14px;font-size:9px}.body-record strong{font-size:11px}.comparison-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding:0 20px 20px}.comparison-grid strong{font-size:23px;margin-top:9px}.history-filters{padding:17px}.history-filters>.field{width:100%}.history-filters .search-box{max-width:none}.history-meal{padding:17px}.settings-grid{display:block}.padded{padding:20px}.settings-grid .padded>p{font-size:11px}.current-target>strong{font-size:28px}.notice{padding:15px;font-size:11px;gap:9px}.notice p{font-size:10px}.notice>svg{width:17px}.modal-backdrop{padding:12px;align-items:center}.modal{padding:21px 20px;max-height:calc(100dvh - 24px);border-radius:14px}.modal-heading{margin-bottom:20px}.modal-heading h2{font-size:16px}.modal .form-grid{gap:0 12px}.field>span{font-size:10px}.field>small{font-size:9px}.form-actions{gap:8px;padding-top:17px}.form-actions .primary,.form-actions .subtle{font-size:11px}.ingredient-builder{grid-template-columns:1fr 1fr}.ingredient-builder>.field:first-child{grid-column:1/-1}.ingredient-builder>button{grid-column:1/-1;margin-top:5px}.material-row{font-size:11px}.template-preview{grid-template-columns:1fr}.target-preview{gap:7px}.target-preview>div{padding:11px}.target-preview strong{font-size:8px}.target-preview span{font-size:17px}.target-preview small{font-size:8px}.photo-preview img{width:130px;height:100px}.toast{bottom:85px;left:50%;padding:12px 14px;max-width:calc(100vw - 30px);width:max-content;font-size:10px}.body-chart{min-height:120px}.history-date{font-size:9px}.nutrition-list>div{padding:11px 12px;font-size:10px}.nutrition-list>div>small{font-size:8px}.modal .notice p{font-size:10px}}@media(max-width:370px){.material-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 10px}.material-row>span,.material-row>strong{grid-column:1}.material-row>.icon-button{grid-column:2;grid-row:1 / 3}main{padding:22px 14px 100px}.topbar{padding:0 14px}.metric-card{padding:15px 13px}.metric-foot{font-size:8px}.metric-label{font-size:9px;gap:5px}.metric-number{font-size:27px}.dashboard-aside{grid-template-columns:1fr}.green-panel .week-dots{padding:0 20px}.green-panel .day-circle{width:27px;height:27px;font-size:10px}.green-panel .text-link{font-size:10px}.green-panel .muted{font-size:11px}.dashboard-aside>.panel h2{font-size:13px}.dashboard-aside>.panel .muted{font-size:11px}.storage-status span{max-width:78px;line-height:1.5}.top-actions{gap:6px}.tabs{gap:13px}.tabs>button{font-size:11px}.recipe-grid{grid-template-columns:1fr}.recipe-image{height:145px}.recipe-name{font-size:13px}.stock-card{padding:13px}.stock-amount{font-size:21px}.body-summary strong{font-size:20px}.body-summary strong small{font-size:8px}.body-summary .panel{padding:14px 10px}.target-preview{grid-template-columns:1fr}.target-preview>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.target-preview span,.target-preview small{margin:0}.date-range input{font-size:10px;padding:6px}.week-control strong{font-size:13px}.nutrition-toolbar .segmented button{padding:4px 8px}.ratio-item{min-width:74px;padding:9px}.ratio-item strong{font-size:8px}.ratio-item span,.ratio-item b{font-size:11px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}.product-row{width:100%;text-align:left}.field small,.storage-guide p{overflow-wrap:anywhere}.quantity-section{padding:20px 0;border-bottom:1px solid var(--line);min-width:0}.quantity-section>h3{display:flex;align-items:center;gap:10px;margin:0 0 18px;font-size:15px}.quantity-section>.field,.quantity-section>.quantity-field{margin-top:16px}.quantity-summary{background:var(--accent-soft);border:1px solid var(--line);border-radius:12px;padding:16px;margin:16px 0 0;overflow-wrap:anywhere}.quantity-summary>span{display:block;color:var(--muted);font-size:12px;margin-top:5px}.quantity-summary>strong{display:block;font-size:23px;margin-top:8px}.quantity-summary>p{font-size:12px;color:var(--muted);line-height:1.7;margin:8px 0 0}.quantity-options{margin-top:4px}.quantity-options[open]{padding-bottom:14px}.quantity-options>summary{cursor:pointer;font-size:13px;font-weight:600}.quantity-options[open]>.field,.quantity-options[open]>.check-line{margin-top:18px}.quantity-field{min-width:0}.quantity-shortcuts{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}.quantity-shortcuts>button{padding:6px 10px;font-size:12px;border:1px solid var(--line);background:var(--surface);border-radius:7px;min-height:34px}@media(max-width:600px){.quantity-section{padding:18px 0}.quantity-summary{padding:13px}.quantity-section>h3{font-size:14px}.ingredient-builder{grid-template-columns:1fr 1fr}.ingredient-builder>.field:first-child{grid-column:1 / -1}.ingredient-builder>button{align-self:end;min-height:42px}}.selected-food{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 0}.selected-food>strong{flex:1;min-width:120px;font-size:13px;overflow-wrap:anywhere}.consumption-quantities{margin:16px 0;padding:14px;border:1px solid var(--line);border-radius:10px}.consumption-quantities>strong{font-size:12px;color:var(--muted)}.consumption-quantities>div{display:flex;justify-content:space-between;gap:14px;margin-top:10px}.consumption-quantities>div>span{min-width:0;overflow-wrap:anywhere}.consumption-quantities b{white-space:nowrap}@media(max-width:600px){.ingredient-builder>.quantity-field{grid-column:1 / -1}}.nutrition-weight-settings{margin:1rem 0 0}.nutrition-weight-settings>p{line-height:1.7}.weight-source{padding:.75rem;border-radius:10px;background:var(--surface-soft, rgba(120, 190, 220, .08))}.weight-source small{display:block;overflow-wrap:anywhere;line-height:1.7}.weight-source-links{display:flex;flex-wrap:wrap;gap:.6rem 1rem;margin-top:.75rem}.weight-source-links a{display:inline-flex;align-items:center;gap:.3rem}.nutrition-status{margin:.65rem 0;font-size:.85rem;line-height:1.6;overflow-wrap:anywhere}.uncomputed-tag{display:inline-block;margin-left:6px;padding:0 6px;border-radius:999px;font-size:10px;font-weight:600;line-height:1.6;white-space:nowrap;vertical-align:middle;color:var(--amber);background:var(--amber-soft)}.metric-note{display:flex;flex-wrap:wrap;gap:2px 10px;margin:-6px 0 14px;font-size:10px;line-height:1.7;color:var(--muted)}.metric-note .warning-text{font-size:inherit}@media(max-width:760px){.page-heading{margin-bottom:14px}.page-heading h1{font-size:22px;margin:0}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-bottom:10px}.metric-card{padding:10px 8px;border-radius:12px}.metric-label{font-size:10px}.metric-label>.muted{display:none}.metric-number{font-size:19px;margin:4px 0 6px;letter-spacing:-.02em;white-space:nowrap}.metric-number small{font-size:9px;margin-left:2px}.metric-foot{margin-top:5px;font-size:9px}.metric-card.no-goal .metric-foot{display:none}.metric-note{margin:0 0 10px;font-size:9px}}@media(max-width:370px){.metric-card{padding:9px 6px}.metric-number{font-size:16px}}.mobile-only{display:none!important}@media(max-width:760px){.mobile-only{display:inline-flex!important}.week-menu{display:block;overflow:visible}.day-column{display:grid;grid-template-columns:minmax(0,1fr) auto;border-right:0;border-bottom:1px solid var(--line);scroll-margin-top:12px}.day-column:last-child{border-bottom:0}.day-heading{justify-content:flex-start;height:auto;gap:8px;padding:12px 14px}.day-heading strong{font-size:17px}.day-energy{display:flex;align-items:center;gap:4px;padding:12px 14px;border-bottom:1px solid var(--line)}.is-today .day-energy{background:var(--accent-soft)}.week-slot{grid-column:1 / -1;min-height:0;padding:10px 14px}.empty-slot{margin-top:6px}.day-column.is-past:not(.open) .week-slot{display:none}.day-column.is-past:not(.open) .day-heading,.day-column.is-past:not(.open) .day-energy{border-bottom:0}.day-toggle{margin-left:auto;font-size:10px;color:var(--accent);padding:2px 4px}.week-slot.is-empty{display:none}.empty-slots{grid-column:1 / -1;flex-wrap:wrap;gap:6px;padding:10px 14px 12px}.empty-slots button{min-height:30px;padding:5px 10px;border:1px dashed var(--line-strong);border-radius:8px;color:var(--accent-text);font-size:11px}.day-column.is-past:not(.open) .empty-slots{display:none!important}}.shopping-enough>summary{display:flex;align-items:center;gap:8px;padding:16px 24px;font-weight:600}.shopping-enough[open]>summary{border-bottom:1px solid var(--line);margin-bottom:0}@media(max-width:760px){.shopping-enough>summary{padding:14px 18px}}@media(max-width:760px){.registry-tabs{margin-bottom:18px}}.pending-panel{margin-bottom:20px;border-color:var(--amber)}.pending-panel .panel-heading p{font-size:11px;color:var(--muted);line-height:1.7;margin:4px 0 0}.pending-meal{padding:12px 24px 0}.pending-meal:last-child{padding-bottom:12px}.today-main{display:grid;gap:20px;align-content:start;min-width:0}.today-main .pending-panel{margin-bottom:0}.meal-row.slim{padding:2px 0 10px}.meal-row.slim .meal-meta{margin-top:4px}.meal-when{color:var(--amber);font-weight:600}.meal-row.slim .meal-record-button{flex-direction:row;align-items:center;min-height:32px;padding:5px 10px}.pending-more{margin:2px 24px 14px}@media(max-width:760px){.pending-meal{padding:10px 16px 0}}.copy-days .muted{font-size:11px;line-height:1.7;margin:4px 0 10px}.copy-day-list{display:flex;flex-wrap:wrap;gap:8px 14px}.copy-day-list label{display:inline-flex;align-items:center;gap:6px;font-size:13px}.copy-day-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-top:12px}@media(max-width:760px){.date-range .field{flex:1 1 120px}.date-range>.subtle{flex:1 1 40%}}.fit-entrances{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 16px}.fit-entrances>.fit-entrance:only-of-type{grid-column:1 / -1}.fit-entrance{display:flex;align-items:center;gap:10px;min-width:0;padding:12px 14px;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:12px;color:var(--accent-text)}.fit-entrance:hover:not(:disabled){border-color:var(--line-strong)}.fit-entrance>span{display:grid;min-width:0}.fit-entrance small{font-size:10px;color:var(--muted)}.fit-entrance strong{font-size:13px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.habit-panel .panel-heading{padding:18px 22px 10px}.habit-count{margin-left:8px;font-size:12px;font-weight:500;color:var(--muted)}.habit-list{display:grid;gap:2px;list-style:none;margin:0;padding:0 12px 12px}.habit-list li{display:flex;align-items:center;gap:4px}.habit-check{flex:1;display:flex;align-items:center;gap:10px;min-width:0;min-height:44px;padding:8px 10px;border-radius:12px;text-align:left;color:var(--muted)}.habit-check:hover:not(:disabled){background:var(--surface-2)}.habit-check>svg{flex-shrink:0}.habit-list li.done .habit-check>svg{color:var(--accent)}.habit-name{flex:1;min-width:0;font-size:14px;color:var(--text);overflow-wrap:anywhere}.habit-check small{font-size:12px;color:var(--muted)}.habit-none{margin:0;padding:0 22px 18px}.habit-empty{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 12px;margin:0 0 16px;padding:10px 14px;border:1px dashed var(--line-strong);border-radius:12px;font-size:12px;color:var(--muted)}.habit-manage{display:grid;gap:6px;list-style:none;margin:0 0 16px;padding:0}.habit-manage li{display:flex;align-items:center;gap:2px;padding:2px 4px 2px 2px;border:1px solid var(--line);border-radius:12px}.habit-manage-open{flex:1;display:flex;flex-wrap:wrap;align-items:center;gap:2px 8px;min-width:0;min-height:44px;padding:8px 10px;border-radius:10px;text-align:left}.habit-manage-open strong{font-size:14px;overflow-wrap:anywhere}.habit-manage-open small{font-size:11px;color:var(--muted)}.habit-every{margin-bottom:10px}.habit-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.habit-days button{min-height:40px;border:1px solid var(--line);border-radius:10px;background:var(--surface);font-size:13px}.habit-days button.selected{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-text);font-weight:600}.habit-history>.field{max-width:360px}.habit-history-head{display:flex;justify-content:flex-end;margin-bottom:12px}.habit-paused{margin:-4px 0 14px}.body-summary.habit-summary{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:16px}.body-summary.habit-summary .panel{margin-bottom:0}.habit-summary .habit-rate{font-size:20px;overflow-wrap:anywhere}.habit-calendar-panel{padding:16px 18px 20px}.habit-month{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.habit-month h3{margin:0;font-size:15px;font-weight:600}.habit-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.habit-weekday{padding-bottom:4px;font-size:11px;text-align:center;color:var(--muted)}.habit-cell{display:grid;justify-items:center;align-content:center;gap:1px;min-width:0;min-height:46px;border:1px solid transparent;border-radius:10px;background:var(--surface-2);font-size:12px;color:var(--text)}.habit-cell.done{background:var(--accent-soft);color:var(--accent-text);font-weight:600}.habit-cell.missed svg{color:var(--muted)}.habit-cell.open{border-color:var(--accent);background:var(--surface)}.habit-cell.rest,.habit-cell.rest-done,.habit-cell.outside{background:none;color:var(--muted)}.habit-cell.rest-done svg{color:var(--accent);opacity:.6}.habit-cell.outside{opacity:.45}@media(max-width:760px){.body-summary.habit-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.habit-summary .habit-rate{font-size:16px}.habit-calendar-panel{padding:12px 8px 14px}.habit-calendar{gap:3px}}.fit-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}.fit-row-4{grid-template-columns:repeat(4,minmax(0,1fr))}.fit-span{font-size:12px;color:var(--accent-text);margin:0 0 12px}.fit-choices{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.fit-choices>button{display:grid;gap:2px;padding:8px 2px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.fit-choices>button.selected{border-color:var(--accent);background:var(--accent-soft)}.fit-choices strong{font-size:15px}.fit-choices small{font-size:9px;color:var(--muted);white-space:nowrap}@media(max-width:760px){.fit-entrances{gap:8px;margin-bottom:12px}.fit-entrance{padding:10px 11px;gap:8px}.fit-entrance strong{font-size:12px;white-space:normal}.fit-row-4{grid-template-columns:repeat(2,minmax(0,1fr))}}.fit-section{border-top:1px solid var(--line);padding:14px 0 6px;margin-top:6px}.fit-section>h3{font-size:14px;margin:0 0 10px}.fit-exercise{border:1px solid var(--line);border-radius:12px;padding:12px;margin-bottom:10px}.fit-exercise-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.fit-exercise-head>input{flex:1;min-width:0}.fit-previous{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 10px;font-size:11px;color:var(--muted);margin:6px 0 8px}.fit-plan>button{margin-bottom:10px}.fit-plan-item .fit-exercise-head{flex-wrap:wrap}.fit-plan-choice{display:flex;gap:6px}.fit-plan-exercise{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 10px;font-size:12px;margin:8px 0}.fit-plan-pick{display:flex;flex-wrap:wrap;gap:6px}.fit-set{display:grid;grid-template-columns:22px repeat(3,minmax(0,1fr)) 30px;align-items:center;gap:6px;margin-bottom:6px}.fit-set>span{font-size:11px;color:var(--muted);text-align:center}.fit-set>input{min-width:0;width:100%}.fit-set-head>span{font-size:10px;text-align:left}.fit-list-row{display:flex;width:100%;justify-content:space-between;gap:10px;padding:12px 4px;border-bottom:1px solid var(--line);text-align:left}.fit-list-row span{color:var(--muted);font-size:12px}.fit-pick-group{margin:12px 0}.fit-pick-group>h4{font-size:11px;color:var(--muted);margin:0 0 6px}.fit-pick-row{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line)}.fit-pick-row>input{flex:1;min-width:0}.fit-pick{flex:1;text-align:left;padding:11px 2px;font-size:14px}.text-link.danger{color:var(--danger)}@media(max-width:760px){.fit-set{grid-template-columns:18px repeat(3,minmax(0,1fr)) 26px;gap:4px}.fit-set>input{padding-left:6px;padding-right:4px}}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.fit-calendar-panel{padding:16px 20px;margin-bottom:16px}.fit-month{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:10px}.fit-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.fit-weekday{text-align:center;font-size:10px;color:var(--muted)}.fit-day{display:grid;justify-items:center;align-content:start;gap:2px;min-height:52px;padding:4px 0;border:1px solid transparent;border-radius:8px;font-size:12px}.fit-day.is-today{border-color:var(--accent)}.fit-marks{display:flex;flex-wrap:wrap;justify-content:center;gap:2px}.fit-mark{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:5px;font-size:10px;font-weight:700}.fit-mark.strength{color:var(--primary-text);background:var(--primary-bg)}.fit-mark.cardio{color:var(--amber);background:var(--amber-soft);border:1px solid var(--amber)}.fit-legend{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted);margin:10px 0 0}.fit-legend .fit-mark+.fit-mark,.fit-legend .fit-mark:not(:first-child){margin-left:8px}.fit-list-row>span{display:inline-flex;align-items:center;gap:8px}@media(max-width:760px){.fit-calendar-panel{padding:12px}.fit-day{min-height:44px}.fit-mark{width:16px;height:16px;font-size:9px}}.panel>.fit-list-row{padding:14px 20px}.panel>.fit-list-row:last-child{border-bottom:0}@media(max-width:760px){.panel>.fit-list-row{padding:12px 14px;flex-wrap:wrap}}.fit-period{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;font-size:11px;color:var(--muted)}.fit-charts{padding:16px 20px;margin-bottom:16px}.fit-chart{margin:0 0 18px}.fit-chart+.fit-chart{padding-top:18px;border-top:1px solid var(--line)}.fit-chart .body-chart{width:100%;height:auto}.fit-chart-legend{display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px;font-size:11px;color:var(--muted)}.fit-chart-legend strong{color:var(--text);font-size:12px}.fit-chart-legend span{display:inline-flex;align-items:center;gap:5px}.fit-chart-legend svg{width:24px;height:10px}.sl-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:4px 16px;margin-bottom:6px}.sl-head strong{font-size:14px}.sl-head p{margin:2px 0 0;font-size:12px;color:var(--muted)}.sl-now{font-size:12px;color:var(--muted)}.sl-now b{font-size:15px;font-weight:700;color:var(--text)}.sl-swatch{display:inline-block;width:10px;height:10px;border-radius:2px}.fit-list-row small{font-size:11px;color:var(--muted)}@media(max-width:760px){.fit-charts{padding:12px}}.cost-card{padding:16px 20px}.cost-toggle{display:flex;align-items:center;gap:4px 14px;flex-wrap:wrap;width:100%;padding:0;border:0;background:none;color:inherit;text-align:left}.cost-toggle-title{font-size:13px;font-weight:600}.cost-toggle-summary{flex:1;min-width:0;font-size:14px}.cost-card.over .cost-toggle-summary{color:var(--amber);font-weight:600}.cost-body{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.cost-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px 24px;margin-bottom:12px}@media(max-width:760px){.cost-columns{grid-template-columns:1fr}}.cost-main{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px}.cost-main span{font-size:13px;color:var(--muted)}.cost-main strong{font-size:30px;font-weight:600;line-height:1.2;color:var(--accent-text)}.cost-split,.cost-left,.cost-over{margin:4px 0 0;font-size:12px;color:var(--muted)}.cost-bar{height:8px;margin-top:12px;border-radius:99px;background:var(--line);overflow:hidden}.cost-bar span{display:block;height:100%;border-radius:inherit;background:var(--accent)}.cost-card.over{border-color:var(--amber);background:var(--amber-soft)}.cost-card.over .month-cost .cost-main strong,.cost-card.over .cost-over{color:var(--amber)}.cost-card.over .cost-bar span{background:var(--amber)}.cost-over{font-weight:600}.cost-unpriced{margin-top:10px;font-size:12px;color:var(--muted)}.cost-unpriced summary{cursor:pointer;color:var(--accent-text)}.cost-unpriced p{margin:6px 0 0;overflow-wrap:anywhere}.cost-budget{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px}.day-cost{display:block;margin-top:3px;font-size:11px;color:var(--muted)}@media(max-width:760px){.cost-card{padding:14px}.cost-main strong{font-size:26px}.day-cost{margin:0 0 0 auto}}.shopping-cost small{display:block;margin-top:4px;font-size:10px}.history-row{flex-wrap:wrap;justify-content:flex-start}.history-row>div:first-child{flex:1;min-width:0}.history-row>button{padding:6px 10px;font-size:11px}.notice.sources{flex-direction:column;gap:6px}.notice.sources ul{margin:0;padding-left:18px;color:var(--muted);font-size:11px}.purchase-check[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--surface)}.shopping-row.in-basket .shopping-name,.shopping-row.in-basket .shopping-buy{opacity:.55}.basket-bar{position:sticky;bottom:16px;display:flex;justify-content:center;margin:8px 0 22px;z-index:30}.basket-bar .primary{box-shadow:var(--shadow)}.basket-line{padding:12px 0;border-bottom:1px solid var(--line)}.basket-line h3{margin:0 0 8px;font-size:14px}.basket-line h3 small{margin-left:8px;font-size:11px;font-weight:400;color:var(--muted)}.basket-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.basket-fields .field{min-width:0}.basket-fields input{width:100%;min-width:0}.quick-picks{margin-bottom:16px}.quick-picks h3{margin:0 0 8px;font-size:13px}.quick-pick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.quick-pick-grid button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;padding:10px 12px;border:1px solid var(--line-strong);border-radius:12px;background:var(--surface);color:var(--text);text-align:left}.quick-pick-grid strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.quick-pick-grid small{font-size:11px;color:var(--muted)}.bulk-meals .check-line{margin:8px 0}.bulk-meals .check-line span{display:flex;flex-direction:column}.bulk-meals small{font-size:11px;color:var(--muted)}.bulk-stock{margin-top:12px;padding:12px 14px;border-radius:12px;background:var(--surface-2);font-size:12px}.bulk-stock h3{margin:0 0 6px;font-size:13px}.bulk-stock p{margin:0}@media(max-width:760px){.basket-bar{bottom:calc(80px + env(safe-area-inset-bottom))}.basket-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.basket-fields .field:last-child{grid-column:1 / -1}}.first-steps{padding:18px 20px}.first-steps h2{margin:0 0 10px;font-size:16px}.first-steps ol{margin:0;padding-left:20px;display:grid;gap:10px}.first-steps li>*{vertical-align:middle}.first-steps li span{margin-right:10px;font-size:13px}.stock-choice{display:inline-flex;gap:16px}.stock-choice button{padding:4px 6px}.first-steps li.done span{color:var(--muted)}.first-steps li small{display:inline-flex;align-items:center;gap:3px;font-size:12px;color:var(--muted)}.register-link{font-size:13px}.register-here{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.register-here p{margin:0}.guide-section{margin:22px 0 8px;font-size:12px;color:var(--muted)}.guide-list{display:grid;gap:6px}.guide-list+.guide-list{margin-top:12px}.guide-row{display:flex;align-items:center;gap:12px;width:100%;padding:11px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text);text-align:left}.guide-row:hover{border-color:var(--line-strong)}.guide-row>svg{margin-left:auto;flex-shrink:0;color:var(--muted)}.guide-row-text{display:flex;flex-direction:column;gap:2px;min-width:0}.guide-row-text strong{font-size:13px}.guide-row-text small{font-size:11px;color:var(--muted)}.guide-start{background:var(--accent-soft);border-color:var(--primary-border)}.guide-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:34px;height:34px;border-radius:10px;background:var(--accent-soft);color:var(--accent)}.guide-start .guide-icon{background:var(--surface)}.guide-back{margin-bottom:14px}.guide-title:focus{outline:none}.guide-slide{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}.guide-hero{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:20px;background:var(--accent-soft);color:var(--accent)}.guide-slide h3{margin:6px 0 0;font-size:17px}.guide-slide p{margin:0;font-size:13px;line-height:1.8}.guide-flow{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px;color:var(--muted)}.guide-flow-step{display:inline-flex;flex-direction:column;align-items:center;gap:4px}.guide-flow-step small{font-size:10px;color:var(--muted)}.guide-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.guide-chip{display:inline-flex;align-items:center;padding:7px 14px;border:1px solid var(--primary-border);border-radius:10px;background:var(--primary-bg);color:var(--primary-text);font-size:12px;font-weight:600}.guide-slide .guide-place{font-size:12px;color:var(--muted)}.guide-progress{display:flex;align-items:center;justify-content:center;gap:10px;margin:20px 0 4px;font-size:11px;color:var(--muted)}.guide-dots{display:inline-flex;gap:5px}.guide-dots i{width:7px;height:7px;border-radius:50%;background:var(--line-strong)}.guide-dots i.current{background:var(--accent)}.guide-head{display:flex;align-items:center;gap:10px}.guide-head h3{margin:0;font-size:16px}.guide-note{margin:8px 0 0}.guide-items{display:grid;gap:10px;margin:14px 0 0;padding-left:18px;font-size:13px;line-height:1.8}.guide-items strong{display:block}.guide-faq{display:grid;gap:14px;margin:14px 0 0}.guide-faq dt{font-size:13px;font-weight:650}.guide-faq dd{margin:4px 0 0;font-size:13px;line-height:1.8}@media(max-width:420px){.storage-status>span{display:none}}@media(max-width:760px){.help-button span{display:none}}@media(max-width:700px){.meal-row.slim .meal-actions{width:auto;margin-left:auto}.meal-row.slim .meal-record-actions{display:flex;flex:none}}@media(max-width:760px){.pending-more{margin:2px 16px 12px}}.modal-backdrop.above{z-index:101}.confirm-message{white-space:pre-line}.moved-notice{align-items:center;justify-content:space-between;margin:0 0 16px}.moved-notice p{font-size:12px}.moved-notice .text-link{margin-left:8px;font-size:12px;text-decoration:underline}.moved-notice>button{color:var(--muted);min-width:32px;min-height:32px}@media(max-width:400px){.topbar{flex-wrap:wrap;row-gap:4px;height:auto;min-height:62px;padding:0 12px}.top-actions{gap:4px;margin-left:auto}.top-actions .help-button,.top-actions .icon-button{position:relative}.top-actions .help-button:after,.top-actions .icon-button:after{content:"";position:absolute;inset:-4px}}:root .ls-root.lanes-room{--bg: var(--ls-bg);--surface: var(--ls-panel);--surface-2: var(--ls-raised);--text: var(--ls-text);--muted: var(--ls-muted);--line: var(--ls-line);--line-strong: var(--ls-line-strong);--accent: var(--room-fg);--accent-soft: var(--room-soft);--accent-text: var(--room-fg-hi);--amber: var(--ls-warn);--amber-soft: var(--ls-warn-soft);--danger: var(--ls-error);--shadow: var(--ls-shadow);--primary-bg: var(--ls-primary);--primary-text: var(--ls-on-primary);--primary-hover: var(--ls-primary-hover);--primary-border: var(--ls-primary);--radius: 12px;font-size:13px}:root .ls-root.lanes-room.fitness-root{--fc-warn: var(--ls-warn);--fc-today-bg: color-mix(in srgb, var(--room) 9%, var(--ls-panel));--fc-today-muted: var(--lt-muted, #a4bacb)}:root:has(.ls-root){background:var(--ls-page)}.lanes-room .room-content{display:flex;flex-direction:column;gap:12px}.lanes-room .room-content>*,.lanes-room .f-page>*{margin-top:0;margin-bottom:0}.lanes-room .f-page{display:flex;flex-direction:column;gap:12px}.lanes-room .room-content>:is(.panel,.toolbar,.tabs,.search-box,.notice,section,details,div),.lanes-room .room-content>.f-page>:is(.panel,section,details,div,ul){margin-bottom:0}.lanes-room .loading{min-height:40vh}.lanes-room .segmented{background:var(--lt-seg, var(--line))}:root[data-appearance^=glass] .lanes-room :is(.fit-period,.habit-history){background:var(--ls-panel);border:1px solid var(--ls-line);border-radius:12px;padding:8px 12px}.lanes-room .rt-toolbar{margin:0}.lanes-room .rt-date{display:flex;align-items:center;gap:10px;white-space:nowrap;min-width:0}.lanes-room .rt-date-title,.lanes-room .rt-title{font-size:19px;font-weight:700;letter-spacing:-.3px;line-height:1.3;margin:0}.lanes-room .rt-title{font-size:16px;letter-spacing:0;padding-right:4px}.lanes-room .rt-date-title:focus{outline:none}.lanes-room .rt-date-title:focus-visible{outline:2px solid var(--room);outline-offset:3px;border-radius:4px}.lanes-room .ls-btn.rt-step{padding:3px;min-width:26px}.lanes-room .ls-btn.rt-now{background:none}.lanes-room .ls-btn.rt-now:disabled{opacity:.5}.lanes-room .rt-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-left:auto}.lanes-room .rt-toolbar .ls-toolbar-end{margin-left:0}.lanes-room .rt-toolbar:not(:has(.rt-actions)) .ls-toolbar-end{margin-left:auto}.lanes-room .ls-btn.rt-undo{padding:3px 9px}.lanes-room .rt-count{font-size:10px;color:inherit;opacity:.75}.lanes-room .rt-toolbar .search-box{margin:0;flex:1 1 220px;max-width:340px;border-radius:6px;background:var(--ls-raised);padding:0 10px}.lanes-room .rt-toolbar .search-box input{min-height:32px}.lanes-room .rt-toolbar .date-range{display:flex;align-items:flex-end;flex-wrap:wrap;gap:8px;margin:0}.lanes-room .rt-toolbar .date-range .field{margin:0}.lanes-room .rt-toolbar .date-range input{min-height:32px;padding:4px 8px}.lanes-room .room-notices{display:grid;gap:8px}.lanes-room .room-notices .notice,.lanes-room .room-notices .cloud-sync-note{margin:0}.lanes-room .panel{border-radius:12px;background:var(--ls-panel);border-color:var(--ls-line)}.lanes-room .primary,.lanes-room .subtle{min-height:32px;border-radius:6px;padding:5px 11px;font-weight:500}.lanes-room .subtle{background:var(--ls-raised)}.lanes-room button.ls-btn:hover:not(:disabled){background:var(--ls-raised)}.lanes-room button.ls-btn.primary:hover:not(:disabled){background:var(--primary-hover)}.lanes-room button.ls-btn.ghost:hover:not(:disabled){background:none}.lanes-room .ls-seg button:hover:not(:disabled):not([aria-pressed=true]){background:var(--ls-raised)}.lanes-room .text-link{color:var(--ls-muted);font-size:11px;text-decoration:underline;text-underline-offset:3px}.lanes-room .text-link:hover:not(:disabled){color:var(--ls-text);background:none}.lanes-room .tabs>button.active{color:var(--ls-text);border-bottom-color:var(--room)}.lanes-room .modal{border-radius:12px}.lanes-room input,.lanes-room select,.lanes-room textarea{background:var(--ls-raised);border-color:var(--ls-line);border-radius:6px}.lanes-room .ls-h2{margin:0}.lanes-room .search-box{background:var(--ls-raised)}.lanes-room .search-box input{background:none;border:0}.lanes-room .today-page{display:flex;flex-direction:column;gap:12px;min-width:0}.lanes-room .today-page>.first-steps{margin:0}.lanes-room .today-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:16px;align-items:start}.lanes-room .today-main,.lanes-room .today-aside{display:flex;flex-direction:column;gap:12px;min-width:0}.lanes-room .today-page .ls-panel{padding:14px;margin:0;overflow:visible}.lanes-room .today-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.lanes-room .meal-panel .today-head{margin-bottom:6px}.lanes-room .pfc-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.lanes-room .pfc-stat{background:var(--ls-raised);border:1px solid var(--ls-line);border-radius:8px;padding-bottom:12px;min-width:0}.lanes-room .pfc-stat .ls-stat{border:0;background:none;padding-bottom:6px}.lanes-room .pfc-stat .ls-stat-value{overflow-wrap:anywhere}.lanes-room .pfc-mark{width:18px;height:18px;border-radius:4px;background:var(--accent-soft);color:var(--accent-text);font-size:10px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;flex:none}.lanes-room .pfc-rest{display:block;padding:0 12px;font-size:10px;color:var(--ls-muted)}.lanes-room .pfc-note{margin:10px 0 0;font-size:10px;line-height:1.5;color:var(--ls-muted)}.lanes-room .today-page .meal-slot{display:grid;grid-template-columns:56px minmax(0,1fr) 32px;align-items:center;gap:12px;padding:6px 0;border-top:1px solid var(--ls-line-soft);border-bottom:0}.lanes-room .today-page .slot-label{margin:0;font-size:11px;color:var(--ls-muted);display:block}.lanes-room .today-page .slot-content{min-width:0}.lanes-room .today-page .slot-none{font-size:11px}.lanes-room .today-page .slot-add{padding:3px;min-width:32px;color:var(--ls-muted)}.lanes-room .today-page .meal-row{padding:4px 0}.lanes-room .today-page .meal-row+.meal-row{border-top:1px dashed var(--ls-line-soft)}.lanes-room .meal-record-button{min-height:30px;padding:4px 10px;border-radius:6px;background:var(--ls-raised);border-color:var(--ls-line);font-size:12px}.lanes-room .meal-record-button.record-primary{background:var(--ls-primary);border-color:var(--ls-primary);color:var(--ls-on-primary)}.lanes-room .pending-panel{border-color:var(--ls-line)}.lanes-room .pending-panel .today-head{margin-bottom:6px}.lanes-room .pending-meal{border-top:1px solid var(--ls-line-soft)}.lanes-room .today-aside .ls-h2{margin-bottom:8px}.lanes-room .today-week .week-dots{display:flex;justify-content:space-between;padding:0;margin-top:4px}.lanes-room .today-week .week-dots>div{gap:4px;font-size:10px;color:var(--ls-muted)}.lanes-room .today-week .day-circle{width:30px;height:30px;border-radius:50%;border:1px solid var(--ls-line);background:none;color:var(--ls-text);font-size:10px;font-variant-numeric:tabular-nums;padding:0}.lanes-room .today-week .day-circle.done{background:var(--accent-soft);border-color:var(--room);color:var(--accent-text)}.lanes-room .today-week .current .day-circle{border-color:var(--room)}.lanes-room .today-week .day-circle.shown{outline:2px solid var(--room);outline-offset:2px}.lanes-room .today-week-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:12px;font-size:11px}.lanes-room .today-aside .expiry-mini{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 0;border-top:1px solid var(--ls-line-soft);border-bottom:0;font-size:11px}.lanes-room .today-aside .expiry-mini>span{display:flex;align-items:center;gap:6px;min-width:0;overflow-wrap:anywhere}.lanes-room .today-aside .expiry-mini small{display:inline;color:var(--ls-warn);font-size:11px;margin-left:2px}.lanes-room .today-none{margin:0;font-size:11px}.lanes-room .today-aside .shortage-tip{margin:8px 0 0;font-size:11px}.lanes-room .habit-panel{padding:14px;margin:0}.lanes-room .habit-panel .panel-heading{padding:0 0 6px}.lanes-room .habit-list{padding:0;gap:0}.lanes-room .habit-list li{border-top:1px solid var(--ls-line-soft)}.lanes-room .habit-check{min-height:36px;padding:4px 0;border-radius:0;font-size:11px}.lanes-room .habit-check:hover:not(:disabled){background:none}.lanes-room .habit-name{font-size:12px}.lanes-room .habit-check small{font-size:11px}.lanes-room .habit-count{margin-left:0;font-size:11px}.lanes-room .habit-none{padding:0;font-size:11px}.lanes-room .habit-panel.habit-empty{display:grid;justify-items:start;gap:6px;border-style:solid;border-color:var(--ls-line);font-size:11px}.lanes-room .last-night{padding:14px}.lanes-room .last-night-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px}.lanes-room .last-night-time{font-size:26px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.2}.lanes-room .last-night-time small{font-size:11px;font-weight:500;color:var(--ls-muted);margin:0 6px 0 2px}.lanes-room .last-night-span,.lanes-room .last-night-none{font-size:10px;margin:4px 0 0}.lanes-room .today-aside>.last-night{flex:1}@media(max-width:1000px){.lanes-room .today-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:700px){.lanes-room .room-content{gap:9px}.lanes-room .rt-toolbar{padding:6px 8px;gap:6px}.lanes-room .rt-date{flex:1 1 100%;gap:4px}.lanes-room .rt-date-title{flex:1;text-align:center;font-size:16px;white-space:normal}.lanes-room .ls-btn.rt-step,.lanes-room .ls-btn.rt-undo{min-width:44px;padding:6px}.lanes-room .rt-title{font-size:16px}.lanes-room .rt-actions{margin-left:0;gap:6px}.lanes-room .rt-toolbar .ls-toolbar-end{margin-left:auto;gap:6px}.lanes-room .rt-toolbar .ls-tool-label{border-left:0;padding-left:0;font-size:12px}.lanes-room .rt-toolbar .ls-sync{border-left:0;padding-left:4px;min-width:44px}.lanes-room .rt-count{font-size:12px}.lanes-room .rt-toolbar .search-box{flex:1 1 100%;max-width:none}.lanes-room .rt-toolbar .search-box input,.lanes-room .rt-toolbar .date-range input{min-height:44px;font-size:13px}.lanes-room .today-page .ls-panel{padding:10px 12px}.lanes-room .pfc-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.lanes-room .pfc-stat{padding-bottom:8px}.lanes-room .pfc-stat .ls-stat{padding-bottom:4px}.lanes-room .pfc-rest,.lanes-room .pfc-note,.lanes-room .pfc-mark{font-size:12px}.lanes-room .pfc-rest{padding:0 10px}.lanes-room .today-page .meal-slot{grid-template-columns:minmax(0,1fr) 44px;grid-template-areas:"label add" "content content";gap:0 8px}.lanes-room .today-page .slot-label{grid-area:label;font-size:12px}.lanes-room .today-page .slot-content{grid-area:content}.lanes-room .today-page .slot-add{grid-area:add;min-width:44px}.lanes-room .today-week .day-circle{width:44px;height:44px;font-size:12px}.lanes-room .today-week .week-dots>div,.lanes-room .today-week-foot,.lanes-room .today-aside .expiry-mini,.lanes-room .today-aside .expiry-mini small,.lanes-room .today-none,.lanes-room .today-aside .shortage-tip,.lanes-room .habit-check,.lanes-room .habit-check small,.lanes-room .habit-count,.lanes-room .habit-none,.lanes-room .habit-panel.habit-empty,.lanes-room .last-night-span,.lanes-room .last-night-none,.lanes-room .last-night-time small,.lanes-room .text-link,.lanes-room .slot-none{font-size:12px}.lanes-room .habit-check{min-height:44px}.lanes-room .last-night-time{font-size:22px}.lanes-room .room-content :is(button,select,input:not([type=checkbox]):not([type=radio]):not([type=range]),summary){min-height:44px}.lanes-room .room-content :is(.icon-button,.ls-btn){min-width:44px}.lanes-room .room-content .text-link{min-height:44px;min-width:44px;justify-content:center}}@media(max-width:700px){.ls-root.lanes-room .amount-nutrition small,.ls-root.lanes-room .badge,.ls-root.lanes-room .basket-line h3 small,.ls-root.lanes-room .body-chart-panel .field>span,.ls-root.lanes-room .body-chart-panel .segmented button,.ls-root.lanes-room .body-chart-panel select,.ls-root.lanes-room .body-record,.ls-root.lanes-room .body-record strong,.ls-root.lanes-room .body-summary p,.ls-root.lanes-room .body-summary span,.ls-root.lanes-room .body-summary strong small,.ls-root.lanes-room .bulk-meals small,.ls-root.lanes-room .catalog-results button,.ls-root.lanes-room .catalog-results p,.ls-root.lanes-room .catalog-results small,.ls-root.lanes-room .chart-legend,.ls-root.lanes-room .check-line small,.ls-root.lanes-room .cloud-sync-note,.ls-root.lanes-room .cloud-sync-note .text-link,.ls-root.lanes-room .compact .meal-meta,.ls-root.lanes-room .compact .meal-title .badge,.ls-root.lanes-room .compact .meal-title strong,.ls-root.lanes-room .comparison-grid>div>span,.ls-root.lanes-room .comparison-grid small,.ls-root.lanes-room .copy-days .muted,.ls-root.lanes-room .current-target small,.ls-root.lanes-room .dashboard-aside>.panel .muted,.ls-root.lanes-room .dashboard-aside>.panel .text-link,.ls-root.lanes-room .dashboard-aside>.panel h2,.ls-root.lanes-room .date-line,.ls-root.lanes-room .date-range .field>span,.ls-root.lanes-room .date-range .subtle,.ls-root.lanes-room .date-range>.subtle,.ls-root.lanes-room .date-range input,.ls-root.lanes-room .day-circle,.ls-root.lanes-room .day-cost,.ls-root.lanes-room .day-energy small,.ls-root.lanes-room .day-heading>span,.ls-root.lanes-room .day-heading small,.ls-root.lanes-room .day-toggle,.ls-root.lanes-room .eat-button,.ls-root.lanes-room .empty-slot,.ls-root.lanes-room .empty-slots button,.ls-root.lanes-room .expiry-mini,.ls-root.lanes-room .expiry-mini small,.ls-root.lanes-room .f-chip,.ls-root.lanes-room .f-day-head small,.ls-root.lanes-room .f-plan-done,.ls-root.lanes-room .f-recent thead small,.ls-root.lanes-room .field>small,.ls-root.lanes-room .field>span,.ls-root.lanes-room .fit-chart-legend,.ls-root.lanes-room .fit-choices small,.ls-root.lanes-room .fit-entrance small,.ls-root.lanes-room .fit-legend,.ls-root.lanes-room .fit-list-row small,.ls-root.lanes-room .fit-mark,.ls-root.lanes-room .fit-period,.ls-root.lanes-room .fit-pick-group>h4,.ls-root.lanes-room .fit-previous,.ls-root.lanes-room .fit-set>span,.ls-root.lanes-room .fit-set-head>span,.ls-root.lanes-room .fit-weekday,.ls-root.lanes-room .food-tile p,.ls-root.lanes-room .food-tile small,.ls-root.lanes-room .form-actions .primary,.ls-root.lanes-room .form-actions .subtle,.ls-root.lanes-room .green-panel .day-circle,.ls-root.lanes-room .green-panel .muted,.ls-root.lanes-room .green-panel .text-link,.ls-root.lanes-room .green-panel h2,.ls-root.lanes-room .guide-flow-step small,.ls-root.lanes-room .guide-progress,.ls-root.lanes-room .guide-row-text small,.ls-root.lanes-room .habit-check,.ls-root.lanes-room .habit-check small,.ls-root.lanes-room .habit-count,.ls-root.lanes-room .habit-manage-open small,.ls-root.lanes-room .habit-none,.ls-root.lanes-room .habit-panel.habit-empty,.ls-root.lanes-room .habit-weekday,.ls-root.lanes-room .help-button,.ls-root.lanes-room .history-date,.ls-root.lanes-room .history-row>button,.ls-root.lanes-room .inline-tip,.ls-root.lanes-room .inline-tip button,.ls-root.lanes-room .last-night-none,.ls-root.lanes-room .last-night-span,.ls-root.lanes-room .last-night-time small,.ls-root.lanes-room .list-row,.ls-root.lanes-room .list-row p,.ls-root.lanes-room .lot-quick button,.ls-root.lanes-room .material-row,.ls-root.lanes-room .material-row small,.ls-root.lanes-room .meal-impact span,.ls-root.lanes-room .meal-meta,.ls-root.lanes-room .meal-record-button>small,.ls-root.lanes-room .meal-record-button>span,.ls-root.lanes-room .metric-foot,.ls-root.lanes-room .metric-label,.ls-root.lanes-room .metric-label>.muted,.ls-root.lanes-room .metric-note,.ls-root.lanes-room .metric-number small,.ls-root.lanes-room .mobile-day-pick small,.ls-root.lanes-room .mobile-day-pick span,.ls-root.lanes-room .mobile-nav button span,.ls-root.lanes-room .modal .notice p,.ls-root.lanes-room .notice,.ls-root.lanes-room .notice p,.ls-root.lanes-room .notice.error button,.ls-root.lanes-room .notice.sources ul,.ls-root.lanes-room .nutrient-details>p,.ls-root.lanes-room .nutrient-name,.ls-root.lanes-room .nutrient-name small,.ls-root.lanes-room .nutrition-input .field>span,.ls-root.lanes-room .nutrition-list>div,.ls-root.lanes-room .nutrition-list>div>small,.ls-root.lanes-room .nutrition-notes p,.ls-root.lanes-room .nutrition-status,.ls-root.lanes-room .nutrition-table,.ls-root.lanes-room .nutrition-table .reference-cell,.ls-root.lanes-room .nutrition-table small,.ls-root.lanes-room .nutrition-table td strong,.ls-root.lanes-room .nutrition-table thead th,.ls-root.lanes-room .nutrition-toolbar .segmented button,.ls-root.lanes-room .nutrition-toolbar>.muted,.ls-root.lanes-room .panel-heading .subtle,.ls-root.lanes-room .panel-heading p,.ls-root.lanes-room .pending-panel .panel-heading p,.ls-root.lanes-room .pfc-mark,.ls-root.lanes-room .pfc-note,.ls-root.lanes-room .pfc-ratio>p,.ls-root.lanes-room .pfc-rest,.ls-root.lanes-room .quick-pick-grid small,.ls-root.lanes-room .ratio-item b,.ls-root.lanes-room .ratio-item small,.ls-root.lanes-room .ratio-item span,.ls-root.lanes-room .ratio-item strong,.ls-root.lanes-room .recipe-content .text-link,.ls-root.lanes-room .recipe-content>p,.ls-root.lanes-room .recipe-name,.ls-root.lanes-room .recipe-numbers,.ls-root.lanes-room .recipe-numbers small,.ls-root.lanes-room .recipe-preview,.ls-root.lanes-room .reference-cell,.ls-root.lanes-room .rt-count,.ls-root.lanes-room .secondary-actions button:not(.icon-button),.ls-root.lanes-room .segmented button,.ls-root.lanes-room .settings-grid .padded>p,.ls-root.lanes-room .shopping-buy small,.ls-root.lanes-room .shopping-buy span,.ls-root.lanes-room .shopping-cost small,.ls-root.lanes-room .shopping-name .warning-text,.ls-root.lanes-room .shopping-name h3,.ls-root.lanes-room .shopping-name p,.ls-root.lanes-room .shopping-summary>.subtle,.ls-root.lanes-room .shopping-summary>div>span,.ls-root.lanes-room .shopping-summary p,.ls-root.lanes-room .shopping-summary p span,.ls-root.lanes-room .shopping-summary strong small,.ls-root.lanes-room .stock-amount small,.ls-root.lanes-room .stock-card .badge,.ls-root.lanes-room .stock-card>p,.ls-root.lanes-room .stock-card-heading h3,.ls-root.lanes-room .stock-card-heading small,.ls-root.lanes-room .stock-lot-main small,.ls-root.lanes-room .stock-original,.ls-root.lanes-room .stock-stats span,.ls-root.lanes-room .storage-status,.ls-root.lanes-room .tabs>button,.ls-root.lanes-room .tabs>button>span:not(.badge),.ls-root.lanes-room .target-preview small,.ls-root.lanes-room .target-preview strong,.ls-root.lanes-room .text-link,.ls-root.lanes-room .toast,.ls-root.lanes-room .today-aside .expiry-mini,.ls-root.lanes-room .today-aside .expiry-mini small,.ls-root.lanes-room .today-aside .shortage-tip,.ls-root.lanes-room .today-none,.ls-root.lanes-room .today-page .slot-label,.ls-root.lanes-room .today-page .slot-none,.ls-root.lanes-room .today-week .day-circle,.ls-root.lanes-room .today-week .week-dots>div,.ls-root.lanes-room .today-week-foot,.ls-root.lanes-room .toolbar>.primary,.ls-root.lanes-room .toolbar-actions .subtle,.ls-root.lanes-room .uncomputed-tag,.ls-root.lanes-room .unplanned,.ls-root.lanes-room .unplanned button,.ls-root.lanes-room .warning-text,.ls-root.lanes-room .week-control>.text-link,.ls-root.lanes-room .week-control strong small,.ls-root.lanes-room .week-dots>div,.ls-root.lanes-room .week-slot-name,.ls-root.lanes-room small{font-size:12px}}
