:root{color-scheme:light;--paper: #faf7f0;--paper-2: #f3efe5;--paper-3: #ebe5d8;--surface: #fffdf8;--ink: #1e1c19;--ink-2: #57534a;--ink-3: #726c60;--line: #ded7c9;--line-strong: #c9c0ae;--line-input: #8f8778;--dot: #e2dacb;--accent: #b0442e;--accent-ink: #ffffff;--accent-soft: #f3e2dc;--work: #3e5c8a;--work-soft: #e3e9f3;--study: #4e6b4a;--study-soft: #e4ecdf;--life: #b06a3c;--life-text: #9a5528;--life-soft: #f5e7db;--danger: #a33a2b;--ok: #3f6b45;--warn: #9a6b1f;--warn-text: #8d6117;--font-ui: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang TC", "PingFang SC", "Noto Sans TC", "Noto Sans CJK TC", "Microsoft JhengHei", sans-serif;--font-display: "Iowan Old Style", "Songti TC", "Songti SC", "Noto Serif TC", "Noto Serif CJK TC", Georgia, serif;--font-mono: "SF Mono", ui-monospace, Menlo, Consolas, monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.375rem;--text-2xl: 1.75rem;--text-3xl: 2.25rem;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--radius-sm: 6px;--radius: 10px;--radius-lg: 16px;--radius-pill: 999px;--shadow-1: 0 1px 2px rgb(30 28 25 / 6%);--shadow-2: 0 8px 28px rgb(30 28 25 / 10%);--nav-height: 64px;--header-height: 56px;--content-max: 760px;--sidebar-width: 240px;--rail-width: 72px;--rail-right-width: 360px;--dur-fast: .12s;--dur: .18s;--ease: cubic-bezier(.2, .7, .2, 1);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-top: env(safe-area-inset-top, 0px)}[data-theme=dark]{color-scheme:dark;--paper: #151412;--paper-2: #1d1b18;--paper-3: #26231f;--surface: #1a1917;--ink: #ede7da;--ink-2: #b9b1a2;--ink-3: #8d8578;--line: #39342c;--line-strong: #4b453a;--line-input: #736d61;--dot: #2c2822;--accent: #d0705a;--accent-ink: #1a1210;--accent-soft: #3a241f;--work: #8aa6cf;--work-soft: #233044;--study: #93b28c;--study-soft: #243126;--life: #d49a6e;--life-text: #d49a6e;--life-soft: #38291f;--danger: #d98070;--ok: #8fbc94;--warn: #d1a55f;--warn-text: #d1a55f;--shadow-1: 0 1px 2px rgb(0 0 0 / 30%);--shadow-2: 0 8px 28px rgb(0 0 0 / 40%)}*,*:before,*:after{box-sizing:border-box}html{background:var(--paper);color:var(--ink);font-family:var(--font-ui);font-size:16px;line-height:1.6;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;min-height:100dvh;background:var(--paper);color:var(--ink);font-family:var(--font-ui);font-size:var(--text-base);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overscroll-behavior-y:none}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:none;border:0;padding:0}a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:3px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}::selection{background:var(--accent-soft);color:var(--ink)}hr{border:0;border-top:1px solid var(--line);margin:var(--space-4) 0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}[data-theme-color=blue]{--paper: #f3f7fc;--paper-2: #e9f1f9;--paper-3: #dde9f4;--surface: #fbfdff;--line: #d6e2ee;--line-strong: #b9cde0;--line-input: #7e95ab;--dot: #d9e5f0;--accent: #2f5f9e;--accent-ink: #ffffff;--accent-soft: #e0ecf8}[data-theme-color=pink]{--paper: #fdf6f8;--paper-2: #f9edf1;--paper-3: #f3e1e8;--surface: #fffafb;--line: #edd6df;--line-strong: #dab9c7;--line-input: #a88391;--dot: #f0dfe6;--accent: #ad3f6b;--accent-ink: #ffffff;--accent-soft: #f7e2eb}[data-theme-color=gold]{--paper: #fbf7ed;--paper-2: #f6efdd;--paper-3: #eee3ca;--surface: #fffdf7;--line: #e7dcc4;--line-strong: #d2c19f;--line-input: #9a8660;--dot: #ece2cd;--accent: #8a6418;--accent-ink: #ffffff;--accent-soft: #f4e9cf}[data-theme=dark][data-theme-color=blue]{--paper: #10161f;--paper-2: #17202b;--paper-3: #1e2a38;--surface: #141c26;--ink: #e5edf7;--ink-2: #b3c2d4;--ink-3: #8798ab;--line: #2d3c4d;--line-strong: #40546a;--line-input: #6d8299;--dot: #243446;--accent: #79a9e8;--accent-ink: #0d1520;--accent-soft: #1d3047}[data-theme=dark][data-theme-color=pink]{--paper: #1a1217;--paper-2: #241920;--paper-3: #30202a;--surface: #20161c;--ink: #f2e6ec;--ink-2: #c9b3bf;--ink-3: #9e8492;--line: #41303a;--line-strong: #5a4351;--line-input: #806273;--dot: #35242d;--accent: #e38bb0;--accent-ink: #1a0f14;--accent-soft: #3d2332}[data-theme=dark][data-theme-color=gold]{--paper: #1b1710;--paper-2: #262017;--paper-3: #332a1d;--surface: #211a12;--ink: #f2ead9;--ink-2: #cbbda3;--ink-3: #a29276;--line: #443a2a;--line-strong: #5d4f39;--line-input: #837256;--dot: #362d21;--accent: #dbae5d;--accent-ink: #1a1308;--accent-soft: #3b2f1d}[data-theme-color=green]{--paper: #f4faf5;--paper-2: #eaf5ec;--paper-3: #dcebdd;--surface: #fbfefb;--line: #d5e6d7;--line-strong: #b8d0ba;--line-input: #78987c;--dot: #dcebdf;--accent: #2f6f4e;--accent-ink: #ffffff;--accent-soft: #ddf0e3}[data-theme=dark][data-theme-color=green]{--paper: #101a14;--paper-2: #17241b;--paper-3: #1f3024;--surface: #142018;--ink: #e4f0e7;--ink-2: #b4c9b9;--ink-3: #879f8d;--line: #2d4133;--line-strong: #405b48;--line-input: #6d8a72;--dot: #233528;--accent: #7cc497;--accent-ink: #0b160f;--accent-soft: #1d3526}html,body{min-height:100%}body{background-image:radial-gradient(var(--dot) .6px,transparent .6px);background-size:18px 18px;background-attachment:fixed}#root{min-height:100dvh}.splash{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3)}.splash-title{font-family:var(--font-display);font-size:var(--text-2xl);margin:0;letter-spacing:.06em}.app-shell{display:grid;grid-template-columns:minmax(0,1fr);min-height:100dvh}.app-body{display:flex;flex-direction:column;min-width:0}.content{width:100%;max-width:var(--content-max);margin:0 auto;padding:var(--space-5) var(--space-4) calc(var(--nav-height) + var(--space-6) + var(--safe-bottom));outline:none}@media(min-width:640px){.app-shell{grid-template-columns:var(--rail-width) minmax(0,1fr)}.content{padding:var(--space-6) var(--space-5) var(--space-7)}}@media(min-width:1024px){.app-shell{grid-template-columns:var(--sidebar-width) minmax(0,1fr)}.content{padding:var(--space-6) var(--space-6) var(--space-7)}}@media(min-width:1280px){.app-shell{grid-template-columns:var(--sidebar-width) minmax(0,1fr) var(--rail-right-width)}}@media(min-width:1280px){.app-shell.is-assistant{grid-template-columns:var(--sidebar-width) minmax(0,1fr)}}@media(min-width:1280px){.app-shell.is-month{grid-template-columns:var(--sidebar-width) minmax(0,1fr)}}.skip-link{position:absolute;left:-9999px;top:0;z-index:200;padding:10px 16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.skip-link:focus-visible{left:var(--space-4);top:var(--space-4)}.sidebar{position:sticky;top:0;align-self:start;height:100dvh;display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-4) var(--space-3) calc(var(--space-4) + var(--safe-bottom));background:var(--paper-2);border-right:1px solid var(--line);overflow-y:auto;z-index:20}.brand{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-2);text-decoration:none;color:var(--ink);min-height:48px}.brand-mark{display:block;width:34px;height:34px;flex:none;color:var(--ink)}.brand-text{display:flex;flex-direction:column;min-width:0}.brand-name{font-family:var(--font-display);font-size:var(--text-lg);letter-spacing:.08em;white-space:nowrap}.brand-sub{font-size:var(--text-xs);color:var(--ink-2);white-space:nowrap}.side-nav{display:flex;flex-direction:column;gap:2px;flex:1}.side-nav-link{display:flex;align-items:center;gap:var(--space-3);padding:9px var(--space-3);min-height:46px;border-radius:var(--radius);color:var(--ink-2);text-decoration:none;font-size:var(--text-sm);border:1px solid transparent;background:none;text-align:left;width:100%}.side-nav-link:hover{background:var(--paper-3);color:var(--ink)}.side-nav-link.is-active{background:var(--surface);border-color:var(--line);color:var(--ink);box-shadow:var(--shadow-1)}.sidebar-foot{display:flex;flex-direction:column;gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--line)}.side-foot-button{cursor:pointer}.sidebar-compact .brand-text,.sidebar-compact .side-nav-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.sidebar-compact .brand{justify-content:center;padding:var(--space-2) 0}.sidebar-compact .side-nav-link{justify-content:center;padding:10px 0}.sidebar-compact .sync-badge span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.sidebar-compact .sidebar-foot{align-items:center}.right-rail{position:sticky;top:0;align-self:start;height:100dvh;overflow-y:auto;padding:var(--space-6) var(--space-4) var(--space-6) 0;display:flex;flex-direction:column;gap:var(--space-4)}.rail-card,.mini-month{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-1)}.rail-title{font-size:var(--text-sm);margin:0 0 var(--space-2);color:var(--ink-2);font-weight:600}.rail-stat{font-size:var(--text-lg);margin:0 0 var(--space-1)}.top-bar{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);min-height:var(--header-height);padding:calc(var(--safe-top) + 6px) var(--space-3) 6px;background:color-mix(in srgb,var(--paper) 88%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.top-bar-title{font-family:var(--font-display);font-size:var(--text-lg);letter-spacing:.03em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-bar-actions{display:flex;align-items:center;gap:var(--space-1);flex:none}.offline-banner{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-size:var(--text-sm);color:var(--warn-text);background:var(--accent-soft);border-bottom:1px solid var(--line)}.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:60;display:grid;grid-template-columns:repeat(5,1fr);padding-bottom:var(--safe-bottom);background:color-mix(in srgb,var(--paper) 94%,transparent);backdrop-filter:blur(12px);border-top:1px solid var(--line)}.bottom-nav-link{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:var(--nav-height);padding:6px 2px;font-size:var(--text-xs);color:var(--ink-2);text-decoration:none;background:none;border:0}.bottom-nav-link.is-active{color:var(--accent)}.bottom-nav-icon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:26px;border-radius:var(--radius-pill)}.bottom-nav-link.is-ai{color:var(--accent)}.bottom-nav-link.is-ai .bottom-nav-icon{width:38px;background:var(--accent-soft);color:var(--accent)}.bottom-nav-link.is-ai.is-active .bottom-nav-icon{background:var(--accent);color:var(--accent-ink)}.fab{position:fixed;right:var(--space-4);bottom:calc(var(--nav-height) + var(--safe-bottom) + var(--space-4));z-index:61;width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--accent);color:var(--accent-ink);border:0;box-shadow:var(--shadow-2)}.install-banner{position:fixed;left:50%;transform:translate(-50%);bottom:calc(var(--nav-height) + var(--safe-bottom) + var(--space-3));z-index:70;width:min(560px,calc(100vw - 24px));display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-2);font-size:var(--text-sm)}.install-banner-text{flex:1;min-width:0}@media(min-width:640px){.install-banner{left:auto;right:var(--space-5);transform:none;bottom:var(--space-5)}}.page{display:flex;flex-direction:column;gap:var(--space-5)}.page-head{display:flex;flex-direction:column;gap:var(--space-2)}.page-head-row{flex-direction:row;align-items:flex-end;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.page-title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:500;margin:0;letter-spacing:.02em}.page-subtitle{margin:0;color:var(--ink-2);font-size:var(--text-sm);max-width:60ch}.page-toolbar,.month-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.section-title-small{font-size:var(--text-sm);font-weight:600;letter-spacing:.04em;color:var(--ink-2);margin:0;display:inline-flex;align-items:center;gap:var(--space-2)}.section-head-inline{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-2)}.count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:var(--radius-pill);background:var(--paper-3);color:var(--ink-2);font-size:var(--text-xs);font-family:var(--font-mono)}.muted{color:var(--ink-2)}.small{font-size:var(--text-sm)}kbd{font-family:var(--font-mono);font-size:.78em;padding:1px 5px;border:1px solid var(--line-strong);border-bottom-width:2px;border-radius:4px;background:var(--paper-2);color:var(--ink-2);white-space:nowrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:44px;padding:8px 14px;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);color:var(--ink);font-size:var(--text-sm);text-decoration:none;white-space:nowrap}.btn:hover{border-color:var(--line-strong);background:var(--paper-2)}.btn-primary{background:var(--accent);color:var(--accent-ink);border-color:transparent}.btn-primary:hover{background:var(--accent);filter:brightness(1.06)}.btn-ghost{background:transparent}.btn-small{min-height:44px;padding:4px 10px;font-size:var(--text-xs)}.btn-block{width:100%}.btn:disabled{opacity:.55;cursor:not-allowed}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius);color:var(--ink-2);background:none;border:1px solid transparent;flex:none}.icon-btn:hover{background:var(--paper-2);color:var(--ink)}.link-btn{background:none;border:0;padding:4px 2px;color:var(--accent);font-size:var(--text-sm);text-decoration:underline;text-underline-offset:3px;min-height:44px;min-width:44px;justify-content:center;display:inline-flex;align-items:center;gap:4px}.link-btn:hover{color:var(--ink)}.chip-btn{min-height:44px;padding:4px 12px;border-radius:var(--radius-pill);border:1px solid var(--line-input);background:var(--surface);font-size:var(--text-xs);color:var(--ink-2)}.chip-btn:hover{border-color:var(--accent);color:var(--accent)}.chip-btn.is-active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.quick-chips{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:var(--space-2) 0}.chip{display:inline-flex;align-items:center;gap:4px;padding:1px 8px;border-radius:var(--radius-pill);background:var(--paper-3);color:var(--ink-2);font-size:var(--text-xs);line-height:1.5;white-space:nowrap}.chip-work{background:var(--work-soft);color:var(--work)}.chip-study{background:var(--study-soft);color:var(--study)}.chip-life{background:var(--life-soft);color:var(--life-text)}.chip-collection{background:var(--accent-soft);color:var(--ink-2)}.segmented{display:inline-flex;flex-wrap:wrap;gap:2px;padding:2px;border-radius:var(--radius);background:var(--paper-2);border:1px solid var(--line)}.segmented-btn{min-height:44px;padding:4px 10px;border-radius:calc(var(--radius) - 2px);font-size:var(--text-xs);color:var(--ink-2);background:none;border:0;white-space:nowrap}.segmented-btn:hover{color:var(--ink)}.segmented-btn.is-active{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-1)}.field{display:flex;flex-direction:column;gap:4px;margin-bottom:var(--space-3);min-width:0}.field-label{font-size:var(--text-xs);color:var(--ink-2);font-weight:600;letter-spacing:.02em}.field-hint{font-size:var(--text-xs);color:var(--ink-2)}.field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.input,.textarea{width:100%;min-height:44px;padding:8px 10px;border:1px solid var(--line-input);border-radius:var(--radius);background:var(--surface);color:var(--ink);font-size:var(--text-base)}.textarea{resize:vertical;line-height:1.5}.select-plain{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);padding:2px 4px;font-size:var(--text-xs);color:var(--ink-2);min-height:44px;height:44px}select.input{height:44px}.checkbox-row{display:flex;align-items:center;gap:var(--space-3);min-height:44px;font-size:var(--text-sm);cursor:pointer}.checkbox-row input{width:20px;height:20px;accent-color:var(--accent);flex:none}.form-error{color:var(--danger);font-size:var(--text-sm);margin:0 0 var(--space-2)}.form-success{color:var(--ok);font-size:var(--text-sm)}.overlay{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:var(--space-4)}.overlay-backdrop{position:absolute;inset:0;background:#14120f6b;backdrop-filter:blur(2px)}.overlay-drawer-left{justify-content:flex-start;align-items:stretch;padding:0}.modal-drawer-left{width:min(360px,92vw);height:100dvh;max-height:none;border-radius:0;border-left:0;box-shadow:var(--shadow-2)}@media(min-width:900px){.modal-drawer-left{width:340px}}.modal{position:relative;z-index:1;width:min(560px,100%);max-height:min(var(--modal-vv-height, 82dvh),820px);margin-bottom:var(--modal-keyboard, 0px);display:flex;flex-direction:column;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-2);outline:none}.modal-sm{width:min(420px,100%)}.modal-lg{width:min(720px,100%)}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-4) var(--space-4) var(--space-2);border-bottom:1px solid var(--line)}.modal-title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:500;margin:0;overflow-wrap:anywhere}.modal-body{flex:1 1 auto;min-height:0;padding:var(--space-4);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.modal-foot{padding:var(--space-3) var(--space-4) var(--space-4);border-top:1px solid var(--line)}.dialog-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap}.dialog-text{margin:0 0 var(--space-3);color:var(--ink-2);font-size:var(--text-sm);line-height:1.7}@media(max-width:639px){.overlay{align-items:flex-end;padding:0}.modal{width:100%;max-height:min(var(--modal-vv-height, 88dvh),88dvh);margin-bottom:var(--modal-keyboard, 0px);border-radius:var(--radius-lg) var(--radius-lg) 0 0;border-bottom:0;padding-bottom:var(--safe-bottom)}}.toast-region{position:fixed;left:50%;transform:translate(-50%);bottom:calc(var(--nav-height) + var(--safe-bottom) + var(--space-3));z-index:120;display:flex;flex-direction:column;gap:var(--space-2);width:min(560px,calc(100vw - 24px));pointer-events:none}@media(min-width:640px){.toast-region{bottom:var(--space-5)}}.toast{pointer-events:auto;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius);background:var(--ink);color:var(--paper);box-shadow:var(--shadow-2);font-size:var(--text-sm);border:1px solid transparent}[data-theme=dark] .toast{background:var(--paper-3);color:var(--ink);border-color:var(--line-strong)}.toast-danger{background:var(--danger);color:#fff}.toast-success{background:var(--ok);color:#fff}.toast-message{flex:1;min-width:0;overflow-wrap:anywhere}.toast-action{background:none;border:1px solid currentColor;border-radius:var(--radius-sm);color:inherit;padding:4px 10px;min-height:44px;font-size:var(--text-sm);font-weight:600;flex:none}.toast-close{color:inherit;width:44px;height:44px;flex:none}.day-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.day-nav{display:flex;align-items:center;gap:var(--space-2);min-width:0}.day-title-block{min-width:0;text-align:center;flex:1}.day-title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:500;letter-spacing:.02em;margin:0;line-height:1.2}.day-load-warning{color:var(--danger);font-weight:600}.day-subtitle{margin:2px 0 0;color:var(--ink-2);font-size:var(--text-sm)}.day-actions{display:flex;align-items:center;gap:var(--space-2)}.day-footnote{margin-top:var(--space-2)}.day-page{gap:var(--space-4)}.mood-picker{display:flex;flex-direction:column;gap:var(--space-2);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);box-shadow:var(--shadow-1)}.mood-picker-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2);flex-wrap:wrap}.mood-picker-title{font-size:var(--text-sm);font-weight:600;color:var(--ink)}.mood-picker-index{font-size:var(--text-xs);color:var(--ink-2)}.mood-checkins{display:flex;flex-wrap:wrap;align-items:center;gap:2px}.mood-checkin{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--paper-2);overflow:hidden}.mood-checkin.is-selected{border-color:var(--accent);background:var(--accent-soft)}.mood-checkin-select{display:inline-flex;align-items:center;gap:3px;min-height:44px;padding:2px 8px;font-size:var(--text-xs);color:var(--ink-2);border:0;background:transparent}.mood-checkin-select time{font-family:var(--font-mono);font-size:var(--text-xs)}.mood-checkin-note-dot{width:4px;height:4px;border-radius:50%;background:var(--accent)}.mood-checkin-remove{width:44px;height:44px;border-left:1px solid var(--line);color:var(--ink-3)}.mood-checkin-remove:hover{color:var(--danger)}.mood-options{display:flex;flex-wrap:wrap;gap:var(--space-2)}.mood-option{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:58px;min-height:58px;padding:4px 8px;border-radius:var(--radius-lg);border:1px solid var(--line);background:var(--paper);color:var(--ink-2);font-size:var(--text-sm);transition:transform .12s ease,border-color .12s ease,background .12s ease}.mood-option:hover{border-color:var(--accent)}.mood-option.is-active{background:var(--accent-soft);border-color:var(--accent);box-shadow:var(--shadow-1);transform:translateY(-1px)}.mood-emoji{font-size:1.55rem;line-height:1}.mood-label{font-size:var(--text-xs);line-height:1.2;white-space:nowrap}.mood-note-row{display:flex;flex-direction:column;gap:var(--space-2)}.mood-note-row>.link-btn{align-self:flex-start;justify-content:flex-start}.habits-strip{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);box-shadow:var(--shadow-1)}.habit-chips{display:flex;flex-wrap:wrap;gap:var(--space-2)}.habit-chip{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:4px 12px;border-radius:var(--radius-pill);border:1px solid var(--line-input);background:var(--paper);color:var(--ink-2);font-size:var(--text-sm)}.habit-chip.is-done{background:var(--study-soft);border-color:var(--study);color:var(--study)}.habit-dot{width:8px;height:8px;border-radius:50%;border:1px solid var(--line-strong);flex:none}.carry-over{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--accent-soft);padding:var(--space-3) var(--space-4)}.carry-over-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-2)}.carry-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.carry-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) 0;border-top:1px solid color-mix(in srgb,var(--line) 70%,transparent);flex-wrap:wrap}.carry-item-main{display:flex;align-items:baseline;gap:var(--space-2);min-width:0;flex:1}.carry-date{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--ink-2);flex:none}.carry-content{overflow-wrap:anywhere;font-size:var(--text-sm)}.carry-item-actions{display:flex;gap:2px;flex:none}.quick-add-section{position:relative}.quick-add{display:flex;flex-direction:column;gap:var(--space-2);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-3);box-shadow:var(--shadow-1)}.quick-add-compact{padding:var(--space-2);box-shadow:none;border-color:var(--line);background:var(--paper);border-radius:var(--radius)}.quick-add-types{display:flex;align-items:center;gap:2px;flex-wrap:wrap}.type-btn{min-height:44px;padding:2px 8px;border-radius:var(--radius-pill);font-size:var(--text-xs);color:var(--ink-2);border:1px solid transparent;background:none}.type-btn.is-active{background:var(--paper-2);border-color:var(--line);color:var(--ink)}.space-select{margin-left:auto}.quick-add-time .input{width:104px;min-height:36px;padding:2px 6px;font-size:var(--text-xs)}.quick-add-date .input{width:136px;min-height:36px;padding:2px 6px;font-size:var(--text-xs)}.quick-add-row{display:flex;gap:var(--space-2);align-items:center}.quick-add-input{flex:1;min-width:0;min-height:44px;max-height:min(40dvh,320px);padding:8px 12px;border:1px solid var(--line-input);border-radius:var(--radius);background:var(--paper);font-size:var(--text-base);line-height:1.45;resize:none;overflow-y:hidden}.quick-add-input::placeholder{color:var(--ink-3)}.quick-add-submit{width:44px;height:44px;background:var(--accent);color:var(--accent-ink);border-radius:var(--radius)}.quick-add-submit:hover{background:var(--accent);filter:brightness(1.08);color:var(--accent-ink)}.quick-add-preview{display:flex;align-items:center;gap:var(--space-1);flex-wrap:wrap;margin-top:var(--space-1)}.quick-add-hint{margin:0;font-size:var(--text-xs);color:var(--ink-3);overflow-wrap:anywhere}.quick-add-ai-status{margin:var(--space-1) 0 0;font-size:var(--text-xs);color:var(--accent)}.quick-add-spinner{width:16px;height:16px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:quick-add-spin .8s linear infinite}.ai-quick-toggle{display:inline-flex;align-items:center;gap:4px;margin-left:0}@keyframes quick-add-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.quick-add-spinner{animation:none}}.entry-groups{display:flex;flex-direction:column;gap:var(--space-5)}.entry-column{display:flex;flex-direction:column;gap:var(--space-5);min-width:0}.entry-splitter{display:none}@media(min-width:900px){.entry-groups.is-spread{display:grid;grid-template-columns:minmax(0,var(--entry-split, 58%)) 14px minmax(0,1fr);gap:0;align-items:stretch}.entry-groups.is-spread .entry-column{padding:0 var(--space-4)}.entry-groups.is-spread .entry-column:first-child{padding-left:0}.entry-groups.is-spread .entry-column-side{border-left:0;padding-left:var(--space-4);padding-right:0}.entry-splitter{display:block;position:relative;align-self:stretch;width:14px;cursor:col-resize;touch-action:none;outline:none}.entry-splitter:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:1px;background:var(--line);transform:translate(-50%)}.entry-splitter:hover:before,.entry-splitter:focus-visible:before,.entry-splitter.is-dragging:before{width:2px;background:var(--accent)}.entry-splitter:focus-visible{background:color-mix(in srgb,var(--accent) 10%,transparent)}}} .entry-group{display:flex;flex-direction:column;gap:var(--space-1)}.entry-group-head{display:flex;align-items:center;gap:var(--space-2);padding-bottom:var(--space-1);border-bottom:1px solid var(--line)}.entry-group-title{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:600;letter-spacing:.05em;color:var(--ink-2);margin:0}.entry-group-symbol{font-family:var(--font-display);color:var(--accent);font-size:var(--text-base)}.entry-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.entry-list-compact .entry{padding:6px 0}.entry{display:flex;align-items:flex-start;gap:var(--space-2);padding:9px 0;border-bottom:1px solid color-mix(in srgb,var(--line) 65%,transparent);min-width:0}.entry:last-child{border-bottom:0}.entry-symbol{font-family:var(--font-display);font-size:20px;line-height:1.2;width:44px;height:44px;flex:none;display:flex;align-items:center;justify-content:center;color:var(--ink-2);border-radius:var(--radius-sm)}button.entry-symbol:hover{background:var(--paper-2);color:var(--accent)}.entry-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.entry-content{text-align:left;font-size:var(--text-base);line-height:1.55;color:var(--ink);overflow-wrap:anywhere;white-space:pre-wrap;padding:2px 0;min-height:44px;background:none;border:0}.entry-inline-edit{display:flex;flex-direction:column;gap:var(--space-2);width:100%;padding:var(--space-1) 0}.entry-inline-textarea{width:100%;min-height:96px;font-size:var(--text-base);line-height:1.55}.entry-inline-actions{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.entry-inline-hint{margin:0}.entry-content-note{display:block;width:100%;cursor:pointer}.entry-content-note:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius)}.entry-content-note .assistant-md{font-size:inherit;line-height:inherit;color:inherit}.entry-content-note .assistant-md p{margin:0 0 var(--space-1)}.entry-content-note .assistant-md p:last-child{margin-bottom:0}.entry-content-note .assistant-md ul,.entry-content-note .assistant-md ol{margin:0 0 var(--space-1);padding-left:1.4em}.entry-content:hover{color:var(--accent)}.entry-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-height:18px}.entry-time{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--accent);font-weight:600}.entry-date,.entry-remind{font-size:var(--text-xs);color:var(--ink-2);font-family:var(--font-mono);display:inline-flex;align-items:center;gap:3px}.entry-date-link{min-height:24px;padding-block:2px}.signifier{font-weight:700;margin-right:2px}.signifier-priority{color:var(--accent)}.signifier-inspiration{color:var(--work)}.entry.is-done .entry-content{color:var(--ink-3);text-decoration:line-through;text-decoration-thickness:1px}.entry.status-cancelled .entry-content{color:var(--ink-3);text-decoration:line-through}.entry.status-migrated .entry-content{color:var(--ink-3)}.entry.status-scheduled .entry-content{color:var(--ink-2)}.entry-menu-btn{width:44px;height:44px;flex:none}.action-menu{position:relative;flex:none}.context-menu{position:fixed;z-index:120;min-width:190px;max-width:min(280px,calc(100vw - 16px));padding:var(--space-1);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-2);display:flex;flex-direction:column;gap:1px}.context-menu .menu-item{min-height:38px;text-align:left}.context-menu .menu-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.menu{position:absolute;right:0;top:calc(100% + 4px);z-index:80;min-width:190px;max-width:min(280px,80vw);max-height:min(70dvh,420px);overflow-y:auto;padding:4px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-2);display:flex;flex-direction:column}.menu-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:44px;padding:6px 10px;border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--ink);text-align:left;background:none;border:0}.menu-item:hover{background:var(--paper-2)}.menu-item-danger{color:var(--danger)}.menu-hint{font-size:var(--text-xs);color:var(--ink-3)}.empty-state{padding:var(--space-6) var(--space-4);text-align:center;border:1px dashed var(--line-strong);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--surface) 60%,transparent)}.empty-title{font-family:var(--font-display);font-size:var(--text-lg);margin:0 0 var(--space-1)}.empty-hint{margin:0 0 var(--space-3);color:var(--ink-2);font-size:var(--text-sm)}.month-calendar{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-3);box-shadow:var(--shadow-1)}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px}.calendar-weekday{text-align:center;font-size:var(--text-xs);color:var(--ink-2);padding:var(--space-1) 0}.calendar-cell{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:52px;aspect-ratio:1 / 1;border-radius:var(--radius-sm);border:1px solid transparent;text-decoration:none;color:var(--ink);font-size:var(--text-sm);background:var(--paper)}.calendar-cell:hover{background:var(--paper-2);border-color:var(--line)}.calendar-cell.is-empty{background:none;min-height:0;aspect-ratio:1 / 1}.calendar-cell.is-today{border-color:var(--accent);font-weight:700;color:var(--accent)}.calendar-day-number{font-family:var(--font-mono);font-size:var(--text-sm);line-height:1}.calendar-markers{display:flex;align-items:center;gap:3px;min-height:10px}.calendar-mood-dot{width:7px;height:7px;border-radius:50%;flex:none}.calendar-count{font-size:.6rem;color:var(--ink-2);font-family:var(--font-mono);line-height:1}.month-add{display:flex;flex-direction:column;gap:var(--space-2)}.month-task-list{display:flex;flex-direction:column;gap:var(--space-5)}.month-closed{border-top:1px solid var(--line);padding-top:var(--space-2)}.month-closed summary{cursor:pointer;font-size:var(--text-sm);color:var(--ink-2);min-height:40px;display:flex;align-items:center;gap:var(--space-2)}.mini-month-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-2)}.mini-month-title{font-family:var(--font-display);font-size:var(--text-sm)}.mini-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px}.mini-cell{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:44px;min-width:44px;border-radius:4px;font-size:var(--text-xs);color:var(--ink-2);text-decoration:none;font-family:var(--font-mono)}.mini-cell:hover{background:var(--paper-2)}.mini-cell.is-today{color:var(--accent);font-weight:700;outline:1px solid var(--accent)}.mini-cell.is-selected{background:var(--accent-soft);color:var(--accent);font-weight:700}.mini-cell.is-selected.is-today{outline-color:var(--accent);outline-width:2px}.mini-cell.is-empty{background:none}.mini-mood-dot{width:4px;height:4px;border-radius:50%;position:absolute;bottom:2px}.mini-entry-dot{width:4px;height:4px;border-radius:50%;position:absolute;right:4px;bottom:2px;background:var(--ink-3)}.mini-entry-dot.has-open{background:var(--accent);width:5px;height:5px}.future-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-4)}.future-month{display:flex;flex-direction:column;gap:var(--space-2);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-3);min-width:0}.future-month-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.future-month-meta{display:flex;align-items:center;gap:var(--space-1);flex:none}.future-add-toggle{width:36px;height:36px;min-width:36px;min-height:36px}.future-add-panel{animation:future-add-in .14s ease-out}.future-add-panel .quick-add{margin:0}@media(pointer:coarse){.future-add-toggle{width:44px;height:44px;min-width:44px;min-height:44px}}@keyframes future-add-in{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.future-add-panel{animation:none}}.future-month-title{font-family:var(--font-display);font-size:var(--text-base);color:var(--ink);background:none;border:0;padding:var(--space-1) 0;text-align:left;min-height:44px}.future-month-title:hover{color:var(--accent)}.future-empty{margin:var(--space-1) 0}.future-month-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-top:auto;border-top:1px solid var(--line);padding-top:var(--space-2)}.collection-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-3)}@media(min-width:640px){.collection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1024px){.collection-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.collection-card{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);text-decoration:none;color:var(--ink);min-width:0;box-shadow:var(--shadow-1)}.collection-card:hover{border-color:var(--line-strong);background:var(--paper)}.collection-card.is-archived{opacity:.7}.collection-card-head{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.collection-emoji{font-size:var(--text-lg);line-height:1}.collection-name{font-family:var(--font-display);font-size:var(--text-base);overflow-wrap:anywhere}.progress{height:6px;border-radius:var(--radius-pill);background:var(--paper-3);overflow:hidden}.progress-bar{display:block;height:100%;background:var(--study);border-radius:inherit}.collection-meta{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);font-size:var(--text-xs);color:var(--ink-2);flex-wrap:wrap}.collection-detail-head{gap:var(--space-3)}.back-link{align-self:flex-start}.collection-detail-title-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.collection-detail-title{display:flex;align-items:center;gap:var(--space-2)}.collection-detail-actions{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.collection-items{border-top:1px solid var(--line)}.index-section{display:flex;flex-direction:column;gap:var(--space-2)}.index-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden}.index-row{display:flex;align-items:center;gap:var(--space-3);min-height:48px;padding:var(--space-2) var(--space-3);text-decoration:none;color:var(--ink);border-bottom:1px solid var(--line)}.index-list>li:last-child .index-row{border-bottom:0}.index-row:hover{background:var(--paper-2)}.index-icon{width:24px;text-align:center;flex:none;color:var(--ink-2)}.index-label{flex:1;min-width:0;overflow-wrap:anywhere;font-size:var(--text-sm)}.index-meta{font-size:var(--text-xs);color:var(--ink-2);font-family:var(--font-mono);flex:none}.index-chevron{color:var(--ink-3);flex:none}.stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2);margin:0}@media(min-width:640px){.stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.stat-grid>div{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-3)}.stat-grid dt{font-size:var(--text-xs);color:var(--ink-2)}.stat-grid dd{margin:2px 0 0;font-family:var(--font-mono);font-size:var(--text-xl)}.search-field{display:flex;align-items:center;gap:var(--space-2);padding:0 var(--space-3);border:1px solid var(--line-input);border-radius:var(--radius);background:var(--surface);color:var(--ink-2)}.search-field-large{min-height:48px}.search-input{flex:1;min-width:0;min-height:46px;border:0;background:none;color:var(--ink);font-size:var(--text-base);outline:none}.search-filters{display:flex;flex-direction:column;gap:var(--space-2)}.search-results{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;max-height:60dvh;overflow-y:auto}.search-result{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"type title meta" "type snippet meta";align-items:center;column-gap:var(--space-2);row-gap:0;padding:var(--space-2) var(--space-3);border-radius:var(--radius);border:1px solid transparent;background:none;text-align:left;color:var(--ink);min-height:44px}.search-result:hover,.search-result.is-active{background:var(--paper-2);border-color:var(--line)}.search-result-type{grid-area:type;font-size:var(--text-xs);color:var(--ink-2);background:var(--paper-3);border-radius:var(--radius-sm);padding:1px 6px;white-space:nowrap}.search-result-title{grid-area:title;font-size:var(--text-sm);overflow-wrap:anywhere}.search-result-snippet{grid-area:snippet;font-size:var(--text-xs);color:var(--ink-2);overflow-wrap:anywhere}.search-result-meta{grid-area:meta;display:flex;gap:var(--space-2);font-size:var(--text-xs);color:var(--ink-2);white-space:nowrap}.search-result mark{background:var(--accent-soft);color:var(--accent);padding:0 1px;border-radius:2px}.space-settings-list{list-style:none;margin:var(--space-2) 0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.space-settings-row{display:grid;grid-template-columns:64px minmax(0,1fr) 44px;gap:var(--space-2);align-items:center}.space-emoji-input{text-align:center;font-size:1.2rem}.space-settings-actions{justify-content:flex-end}.settings-export-row{flex-wrap:wrap}.collection-templates{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-2)}.collection-template-chips{display:flex;gap:var(--space-1);flex-wrap:wrap}.settings-card{display:flex;flex-direction:column;gap:var(--space-3);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-1)}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.settings-label{margin:0;font-weight:600}.settings-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2);margin:0}@media(min-width:640px){.settings-facts{grid-template-columns:repeat(4,minmax(0,1fr))}}.settings-facts>div{background:var(--paper-2);border-radius:var(--radius);padding:var(--space-2) var(--space-3)}.settings-facts dt{font-size:var(--text-xs);color:var(--ink-2)}.settings-facts dd{margin:0;font-family:var(--font-mono);font-size:var(--text-base);overflow-wrap:anywhere}.theme-options{display:flex;flex-wrap:wrap;gap:var(--space-2)}.theme-option{display:inline-flex;align-items:center;gap:var(--space-2);min-height:44px;padding:var(--space-2) var(--space-4);border-radius:var(--radius);border:1px solid var(--line-input);background:var(--paper);color:var(--ink-2);font-size:var(--text-sm)}.theme-option.is-active{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.install-steps{margin:0;padding-left:1.4em;font-size:var(--text-sm);color:var(--ink-2);line-height:1.9}.legend{display:flex;flex-direction:column;gap:var(--space-3)}.legend-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:minmax(0,1fr);gap:2px}@media(min-width:640px){.legend-list{grid-template-columns:repeat(2,minmax(0,1fr))}}.legend-list li{display:flex;align-items:baseline;gap:var(--space-2);padding:3px 0;font-size:var(--text-sm);min-width:0}.legend-symbol{font-family:var(--font-display);font-size:var(--text-base);width:24px;text-align:center;color:var(--accent);flex:none}.legend-label{font-weight:600;flex:none}.legend-hint{color:var(--ink-2);font-size:var(--text-xs);overflow-wrap:anywhere}.legend-prefixes ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-2)}.legend-prefixes li{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-xs);color:var(--ink-2)}.legend-prefixes code{font-family:var(--font-mono);background:var(--paper-2);border:1px solid var(--line);border-radius:4px;padding:0 5px;color:var(--ink)}.legend-title{font-size:var(--text-sm);margin:0 0 var(--space-2);color:var(--ink-2)}.shortcut-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-1)}.shortcut-list li{display:flex;align-items:baseline;gap:var(--space-3);font-size:var(--text-sm);min-height:28px}.shortcut-list kbd{min-width:88px;text-align:center}.login-page{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:var(--space-5) var(--space-4)}.login-card{width:min(400px,100%);display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-6) var(--space-5);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-2);text-align:center}.login-card .brand-mark{width:44px;height:44px}.login-title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:500;margin:0;letter-spacing:.08em}.login-subtitle{margin:0;color:var(--ink-2);font-size:var(--text-sm)}.login-form{width:100%;text-align:left;margin-top:var(--space-2)}.login-note{display:flex;align-items:center;gap:6px;font-size:var(--text-xs);color:var(--ink-2);margin:0}.onboarding-progress{display:flex;gap:6px;margin-bottom:var(--space-2)}.onboarding-dot{width:22px;height:4px;border-radius:var(--radius-pill);background:var(--line)}.onboarding-dot.is-active{background:var(--accent)}.onboarding-actions{justify-content:space-between}.starter-list,.onboarding-list{list-style:none;margin:0 0 var(--space-3);padding:0;display:flex;flex-direction:column;gap:var(--space-1)}.onboarding-list li{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--ink-2);min-height:32px}.onboarding-symbols .legend-list{margin-top:var(--space-2)}.migration-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);flex-wrap:wrap;margin-bottom:var(--space-2)}.migration-batch-actions{display:flex;align-items:center;gap:var(--space-1);flex-wrap:wrap}.migration-schedule-field{max-width:260px}.migration-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2);max-height:46dvh;overflow-y:auto}.migration-item{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-2) 0;border-bottom:1px solid var(--line)}.migration-item-main{display:flex;flex-direction:column;gap:2px;min-width:0}.migration-item-content{font-size:var(--text-sm);overflow-wrap:anywhere}.migration-item .segmented{align-self:flex-start;flex-wrap:wrap}.more-sheet{position:absolute;left:0;right:0;bottom:0;z-index:1;background:var(--surface);border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:var(--space-3) var(--space-4) calc(var(--space-4) + var(--safe-bottom));box-shadow:var(--shadow-2);display:flex;flex-direction:column;gap:var(--space-3)}.more-sheet-head{display:flex;align-items:center;justify-content:space-between}.more-sheet-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.more-tile{display:flex;align-items:center;gap:var(--space-3);min-height:52px;padding:var(--space-2) var(--space-3);border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);color:var(--ink);font-size:var(--text-sm);text-decoration:none}.more-sheet-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);border-top:1px solid var(--line);padding-top:var(--space-2)}.sync-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--radius-pill);font-size:var(--text-xs);color:var(--ink-2);background:var(--paper-3);min-height:28px;white-space:nowrap}.sync-compact{width:32px;height:32px;padding:0;justify-content:center}.sync-ok{color:var(--ok)}.sync-busy{color:var(--ink-2)}.sync-warn{color:var(--warn-text)}.sync-error{color:var(--danger)}@media(pointer:coarse){.icon-btn{width:44px;height:44px}.side-nav-link,.bottom-nav-link{min-height:46px}.btn,.btn-small,.segmented-btn,.type-btn,.chip-btn,.link-btn,.future-month-title,.toast-action,.toast-close{min-height:44px}.segmented-btn{padding:6px 12px}.mood-option,.habit-chip,.theme-option,.input,.textarea,.select-plain,.quick-add-input,.checkbox-row{min-height:44px}select.input,select.select-plain{height:44px}.entry-symbol,.entry-menu-btn{width:44px;height:44px}.menu-item{min-height:46px}.calendar-cell{min-height:48px}.habit-grid-cell{width:44px;min-width:44px;height:44px}.habit-grid-day{width:44px;min-width:44px}.habit-grid-total{min-width:44px;width:44px}}@media(max-width:420px){.field-row{grid-template-columns:minmax(0,1fr)}.calendar-cell{min-height:44px;aspect-ratio:auto}.day-title,.page-title{font-size:var(--text-xl)}}.overlay[hidden]{display:none!important}img,svg{max-width:100%}.content,.page,.settings-card,.entry,.collection-card,.future-month,.calendar-cell{min-width:0}:where(.page,.settings-card,.entry-content,.search-result){overflow-wrap:anywhere}.habit-grid-section,.mood-summary{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);box-shadow:var(--shadow-1);min-width:0}.habit-grid-scroll{overflow-x:auto;padding-bottom:var(--space-1);margin:0 calc(-1 * var(--space-1));scrollbar-width:thin}.habit-grid{display:flex;flex-direction:column;gap:2px;min-width:max-content}.habit-grid-row{display:flex;align-items:center;gap:2px}.habit-grid-name{width:112px;min-width:112px;min-height:44px;display:inline-flex;align-items:center;font-size:var(--text-xs);color:var(--ink);text-decoration:none;padding-right:var(--space-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}a.habit-grid-name:hover{color:var(--accent)}.habit-grid-head .habit-grid-name,.habit-grid-day,.habit-grid-total{font-size:.68rem;color:var(--ink-2);font-family:var(--font-mono)}.habit-grid-day{width:44px;min-width:44px;text-align:center}.habit-grid-day.is-today{color:var(--accent);font-weight:700}.habit-grid-total{width:40px;min-width:40px;text-align:center;position:sticky;right:0;background:var(--surface);padding-left:2px}.habit-grid-cell{width:44px;height:44px;min-width:44px;border:1px solid var(--line);border-radius:4px;background:var(--paper);color:var(--accent-ink);font-size:.7rem;line-height:1;display:inline-flex;align-items:center;justify-content:center;padding:0}.habit-grid-cell:hover{border-color:var(--line-strong);background:var(--paper-2)}.habit-grid-cell.is-done{background:var(--study);border-color:var(--study);color:#fff}.habit-grid-cell.is-today{outline:1px solid var(--accent);outline-offset:1px}@media(pointer:coarse){.habit-grid-cell{width:44px;height:44px;min-width:44px}.habit-grid-day{width:44px;min-width:44px}.habit-grid-name,.mood-note-date{min-height:44px}}.mood-summary-text{margin:0 0 var(--space-2);font-size:var(--text-sm)}.mood-distribution{display:flex;flex-direction:column;gap:4px;margin-bottom:var(--space-2)}.mood-bar-row{display:grid;grid-template-columns:44px minmax(0,1fr) 28px;align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--ink-2)}.mood-bar-track{height:8px;border-radius:var(--radius-pill);background:var(--paper-3);overflow:hidden}.mood-bar-fill{display:block;height:100%;border-radius:inherit;min-width:2px}.mood-bar-count{text-align:right;font-family:var(--font-mono)}.mood-notes{list-style:none;margin:var(--space-2) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.mood-notes li{display:flex;flex-direction:column;gap:2px;border-top:1px solid var(--line);padding-top:var(--space-1)}.mood-note-date{font-size:var(--text-xs);color:var(--ink-2);font-family:var(--font-mono);min-height:44px;display:inline-flex;align-items:center}.mood-note-text{font-size:var(--text-sm);overflow-wrap:anywhere}.month-insights{display:flex;flex-direction:column;gap:var(--space-4)}.month-review-card{gap:var(--space-2)}.review-page{gap:var(--space-4)}.review-head{gap:var(--space-2)}.review-nav{display:flex;align-items:center;gap:var(--space-2)}.review-title-block{flex:1;min-width:0;text-align:center}.review-toolbar{display:flex;align-items:center;justify-content:center;gap:var(--space-3);flex-wrap:wrap}.review-editor{display:flex;flex-direction:column;gap:var(--space-3);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-1)}.review-editor-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);flex-wrap:wrap}.review-save-status{font-size:var(--text-xs);color:var(--ink-2);font-family:var(--font-mono)}.review-prompt textarea{min-height:96px}.review-stats{display:flex;flex-direction:column;gap:var(--space-3);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-1)}.review-breakdown{display:flex;flex-direction:column;gap:var(--space-1)}.review-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.review-table th,.review-table td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--line)}.review-table th[scope=col]{font-size:var(--text-xs);color:var(--ink-2);font-weight:600}.review-table th[scope=row]{font-weight:500}.review-table td{font-family:var(--font-mono);color:var(--ink-2)}.review-habit-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;font-size:var(--text-sm)}.review-habit-list li{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);border-bottom:1px solid color-mix(in srgb,var(--line) 65%,transparent);padding-bottom:2px}.stat-sub{font-size:var(--text-xs);color:var(--ink-2)}.habit-add-form{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-2);align-items:end}@media(min-width:640px){.habit-add-form{grid-template-columns:minmax(0,2fr) 84px 110px 120px auto}}.habit-add-form .field{margin-bottom:0}.habit-add-submit{min-height:40px}@media(pointer:coarse){.habit-add-submit{min-height:44px}}.habit-manager-list{list-style:none;margin:0;padding:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden}.habit-manager-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--line);flex-wrap:wrap}.habit-manager-item:last-child{border-bottom:0}.habit-manager-item.is-archived{opacity:.65}.habit-manager-main{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.habit-manager-title{font-size:var(--text-base);overflow-wrap:anywhere}.habit-manager-meta{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.habit-manager-actions{display:flex;align-items:center;gap:var(--space-1);flex:none}.push-actions{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.settings-inline-note{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--line);border-radius:var(--radius);background:var(--paper-2);font-size:var(--text-xs);color:var(--ink-2)}.push-daily{display:flex;align-items:flex-end;gap:var(--space-4);flex-wrap:wrap;border-top:1px solid var(--line);padding-top:var(--space-2)}.push-time-field{display:flex;flex-direction:column;gap:4px;max-width:160px}.onboarding-push{display:flex;flex-direction:column;gap:var(--space-2);align-items:flex-start}.due-banner{position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:stretch;gap:var(--space-2);color:var(--ink);font-size:var(--text-sm);animation:due-banner-in .18s ease-out}.due-banner:after{content:"";position:absolute;inset:0;z-index:0;border-radius:inherit;background:var(--accent);opacity:0;pointer-events:none;animation:due-banner-flash 2.4s ease-in-out 1}.due-banner>*{position:relative;z-index:1}@keyframes due-banner-flash{0%,to{opacity:0}12%{opacity:.24}38%{opacity:.06}58%{opacity:.2}82%{opacity:.04}}.due-banner-rail{width:100%;flex:0 0 auto;min-height:min-content;max-height:42dvh;overflow-y:auto;padding:var(--space-3);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-1)}.due-banner-inline{padding:var(--space-2) var(--space-4);background:var(--accent-soft);border-bottom:1px solid var(--line)}.due-banner-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.due-banner-title{display:inline-flex;align-items:center;gap:6px;min-width:0;font-weight:600}.due-banner-count{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:var(--radius-pill);background:var(--paper-2);color:var(--ink-2);font-size:var(--text-xs);font-weight:600}.due-banner-head .icon-btn{flex:none;width:32px;height:32px}.due-list{display:flex;flex-direction:column;gap:0;margin:0;padding:0;list-style:none}.due-item{display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:start;gap:6px;padding:6px 0;border-top:1px solid color-mix(in srgb,var(--line) 65%,transparent)}.due-item:first-child{border-top:0;padding-top:0}.due-item:last-child{padding-bottom:0}.due-item-kind{padding:1px 6px;border-radius:var(--radius-pill);background:var(--paper-2);color:var(--ink-2);font-size:var(--text-xs);font-weight:600;line-height:1.5;white-space:nowrap}.due-item-task .due-item-kind{background:var(--accent-soft);color:var(--accent)}.due-item-agenda .due-item-kind{background:color-mix(in srgb,var(--accent) 12%,var(--paper-2))}.due-item-calendar .due-item-kind{background:var(--paper-2);color:var(--ink-2)}.due-item-time{padding-top:1px;color:var(--ink-2);font-family:var(--font-mono);font-size:var(--text-xs);line-height:1.5;white-space:nowrap}.due-item-body{min-width:0}.due-item-content{display:block;color:var(--ink);font-weight:500;overflow-wrap:anywhere}.due-item-content:hover{color:var(--accent)}.due-item-meta{display:block;margin-top:1px;color:var(--ink-3);font-size:var(--text-xs)}.due-banner-icon{display:inline-flex;flex:none;color:var(--accent);transform-origin:50% 18%;animation:due-clock-swing .9s ease-in-out 1}@keyframes due-clock-swing{0%,to{transform:rotate(0)}18%{transform:rotate(14deg)}38%{transform:rotate(-12deg)}58%{transform:rotate(8deg)}78%{transform:rotate(-4deg)}}@keyframes due-banner-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.due-banner-link{margin:0 4px;color:var(--accent);font-weight:600}@media(prefers-reduced-motion:reduce){.due-banner,.due-banner-icon,.due-banner:after{animation:none}}.update-toast{position:fixed;left:50%;transform:translate(-50%);top:calc(var(--safe-top) + 10px);z-index:140;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-2);font-size:var(--text-sm);width:min(420px,calc(100vw - 24px))}@media(min-width:1024px){.update-toast{left:auto;right:var(--space-5);transform:none}}.content-wide{max-width:none}.calendar-banner{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--warn);color:#fff;font-size:var(--text-sm);border-bottom:1px solid var(--line);flex-wrap:wrap}.calendar-banner-text{flex:1;min-width:0}.calendar-banner .link-btn{color:#fff;text-decoration:underline}.cal-section{gap:var(--space-2)}.cal-readonly-note{display:flex;align-items:flex-start;gap:4px;margin:0}.cal-event-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.cal-event{display:grid;grid-template-columns:92px minmax(0,1fr);align-items:start;gap:var(--space-3);width:100%;min-height:44px;padding:var(--space-2);border-radius:var(--radius);color:var(--ink);text-align:left}.cal-event:hover{background:var(--paper-2)}.cal-event-time{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--ink-2);padding-top:2px;white-space:nowrap;overflow-wrap:anywhere}.cal-event-main{display:flex;flex-direction:column;gap:2px;min-width:0}.cal-event-title{font-size:var(--text-sm);font-weight:600;overflow-wrap:anywhere}.cal-event-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:var(--text-xs);color:var(--ink-2);min-width:0}.cal-event-dot{width:8px;height:8px;border-radius:50%;flex:none;display:inline-block}.cal-event-calendar,.cal-event-location{overflow-wrap:anywhere}.cal-event-flag{padding:0 6px;border-radius:var(--radius-pill);background:var(--paper-3);color:var(--ink-2);font-size:.68rem}@media(max-width:639px){.cal-event{grid-template-columns:76px minmax(0,1fr)}}.calendar-event-dot{display:inline-block;width:7px;height:7px;border-radius:50%;flex:none}.calendar-month-count{font-family:var(--font-mono);font-size:.6rem;line-height:1;color:var(--ink-2)}.calendar-cell.has-events .calendar-day-number{text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:3px}.cal-month-groups{display:flex;flex-direction:column;gap:var(--space-2)}.cal-month-group{display:flex;flex-direction:column;gap:2px}.cal-month-date{margin:0;font-size:var(--text-xs);font-weight:600;color:var(--ink-2);letter-spacing:.02em}.cal-month-date .link-plain{display:inline-flex;align-items:center;min-height:24px;padding-block:2px}.cal-month-group+.cal-month-group{margin-top:var(--space-2)}.link-plain{color:inherit;text-decoration:none}.link-plain:hover{color:var(--accent);text-decoration:underline}.cal-detail{display:flex;flex-direction:column;gap:var(--space-3)}.cal-detail-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2);margin:0}.cal-detail-facts>div{background:var(--paper-2);border-radius:var(--radius);padding:var(--space-2) var(--space-3)}.cal-detail-facts dt{font-size:var(--text-xs);color:var(--ink-2)}.cal-detail-facts dd{margin:0;font-size:var(--text-sm);overflow-wrap:anywhere}.cal-detail-calendar{display:flex;align-items:center;gap:6px}.cal-detail-section{display:flex;flex-direction:column;gap:4px}.cal-detail-desc{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:var(--text-sm);line-height:1.7;max-height:40dvh;overflow-y:auto}.cal-detail-link{align-self:flex-start}.cal-settings{gap:var(--space-3)}.cal-head-actions{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.cal-subtitle{margin:0;font-size:var(--text-sm);font-weight:600;letter-spacing:.03em;color:var(--ink-2)}.cal-error{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--danger);border-radius:var(--radius);background:var(--accent-soft);color:var(--ink);font-size:var(--text-sm)}.cal-error>div{flex:1;min-width:0}.cal-error-title{margin:0;font-weight:600}.cal-accounts,.cal-connect,.cal-list-block{display:flex;flex-direction:column;gap:var(--space-2);border-top:1px solid var(--line);padding-top:var(--space-3)}.cal-account-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.cal-account{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--line);border-radius:var(--radius);background:var(--paper-2);flex-wrap:wrap}.cal-account-main{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.cal-account-head{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.cal-account-provider{font-weight:600;font-size:var(--text-sm)}.cal-account-id{margin:0;font-size:var(--text-sm);overflow-wrap:anywhere}.cal-account-warn{margin:0;color:var(--warn-text);overflow-wrap:anywhere}.cal-device{display:flex;flex-direction:column;gap:var(--space-2);align-items:flex-start;padding:var(--space-3);border:1px dashed var(--line-strong);border-radius:var(--radius);background:var(--paper-2)}.cal-device-code{font-family:var(--font-mono);font-size:var(--text-xl);letter-spacing:.18em;padding:var(--space-2) var(--space-3);border-radius:var(--radius);border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);overflow-wrap:anywhere}.cal-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.cal-list-item{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--line);background:var(--surface)}.cal-list-item:last-child{border-bottom:0}.cal-list-select{gap:var(--space-2)}.cal-list-name{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:600;overflow-wrap:anywhere}.cal-list-controls{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;padding-left:28px}.cal-list-account{flex:1;min-width:120px;overflow-wrap:anywhere}.cal-space{display:inline-flex;align-items:center;gap:6px}.cal-write{cursor:pointer}.month-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-4);align-items:start}.month-calendar-pane,.month-list-pane{min-width:0}@media(min-width:1100px){.month-layout{grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr)}.month-list-pane{position:sticky;top:var(--space-4);max-height:calc(100dvh - var(--space-7));overflow-y:auto;overscroll-behavior:contain;padding-right:var(--space-1)}}.assistant-page{gap:var(--space-4)}.assistant-head{flex-direction:row;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:var(--space-2)}.assistant-sparkle{color:var(--accent)}.assistant-head-actions{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.assistant-setup{gap:var(--space-2)}.assistant-layout{display:block;min-width:0}.assistant-layout.has-history{display:grid;grid-template-columns:260px minmax(0,1fr);gap:var(--space-4);align-items:start}.assistant-layout.has-history .assistant-chat{margin:0;max-width:1000px}.assistant-history{position:sticky;top:var(--space-4);width:100%;max-height:calc(100dvh - var(--space-7));overflow-y:auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-3)}.assistant-history-inner{display:flex;flex-direction:column;gap:var(--space-2)}.assistant-history-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);flex-wrap:wrap}.assistant-conversation-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.assistant-conversation{display:flex;align-items:center;gap:2px;border-radius:var(--radius);border:1px solid transparent}.assistant-conversation.is-active{background:var(--accent-soft);border-color:var(--line)}.assistant-conversation-open{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0;min-height:44px;padding:var(--space-2);border-radius:var(--radius);color:var(--ink);text-align:left}.assistant-conversation-open:hover{background:var(--paper-2)}.assistant-conversation-title{font-size:var(--text-sm);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assistant-conversation-date{font-size:var(--text-xs);color:var(--ink-2);font-family:var(--font-mono)}.assistant-conversation-delete{width:44px;height:44px;color:var(--ink-2)}.assistant-chat{display:flex;flex-direction:column;gap:var(--space-3);min-width:0;width:100%;max-width:1000px;margin:0 auto}.assistant-toolbar{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.assistant-context-chip{display:inline-flex;align-items:center;gap:4px}.assistant-collection-select{max-width:220px}.assistant-messages{display:flex;flex-direction:column;gap:var(--space-3);min-height:360px;max-height:calc(100dvh - 230px);overflow-y:auto;overscroll-behavior:contain;padding:var(--space-3);background:var(--paper-2);border:1px solid var(--line);border-radius:var(--radius-lg)}@media(max-width:899px){.assistant-messages{max-height:54dvh}}.assistant-empty{margin:auto;text-align:center;display:flex;flex-direction:column;gap:var(--space-2);align-items:center;max-width:46ch;padding:var(--space-4) 0}.assistant-empty-title{margin:0;font-family:var(--font-display);font-size:var(--text-lg);color:var(--ink)}.assistant-suggestions{justify-content:center}.assistant-msg{display:flex;flex-direction:column;gap:4px;max-width:92%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-1)}.assistant-msg-user{align-self:flex-end;background:var(--accent-soft);border-color:transparent}.assistant-msg-assistant{align-self:flex-start}.assistant-msg-meta{display:flex;align-items:baseline;gap:var(--space-2);font-size:var(--text-xs);color:var(--ink-2)}.assistant-msg-author{font-weight:600;letter-spacing:.04em}.assistant-msg-status{font-size:var(--text-xs);color:var(--ink-2)}.assistant-msg-body{font-size:var(--text-sm);line-height:1.7;overflow-wrap:anywhere}.assistant-msg-body>p{margin:0}.assistant-md{display:flex;flex-direction:column;gap:var(--space-2)}.assistant-md p,.assistant-md ul,.assistant-md ol,.assistant-md pre{margin:0}.assistant-md ul,.assistant-md ol{padding-left:1.3em;display:flex;flex-direction:column;gap:2px}.assistant-md h1,.assistant-md h2,.assistant-md h3{margin:var(--space-2) 0 var(--space-1);font-family:var(--font-display);font-weight:600;line-height:1.3}.assistant-md h1{font-size:var(--text-lg)}.assistant-md h2{font-size:var(--text-base)}.assistant-md h3{font-size:var(--text-sm)}.entry-content-note .assistant-md h1,.entry-content-note .assistant-md h2,.entry-content-note .assistant-md h3{color:inherit}.assistant-md code{font-family:var(--font-mono);font-size:.88em;background:var(--paper-3);border-radius:4px;padding:0 4px;overflow-wrap:anywhere}.assistant-code{background:var(--paper-3);border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-2);overflow-x:auto;font-family:var(--font-mono);font-size:var(--text-xs)}.assistant-code code{background:none;padding:0}.assistant-typing{color:var(--ink-2);letter-spacing:.2em}.assistant-sources{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}.assistant-source{max-width:100%;overflow:hidden;text-overflow:ellipsis}.assistant-msg-usage{margin:0;font-size:.68rem;color:var(--ink-2);font-family:var(--font-mono)}.assistant-error{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--danger);border-radius:var(--radius);background:var(--accent-soft);font-size:var(--text-sm)}.assistant-error-main{flex:1;min-width:0}.assistant-error-actions{display:flex;gap:var(--space-1);flex-wrap:wrap}.assistant-error .cal-error-title{margin:0}.assistant-action-section{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface)}.assistant-action-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);flex-wrap:wrap}.assistant-action-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.assistant-action-done{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);padding:var(--space-2) var(--space-3)}.assistant-action-done>summary{cursor:pointer;min-height:44px;display:flex;align-items:center;gap:var(--space-1);font-size:var(--text-sm);font-weight:600;list-style-position:inside}.assistant-action-done[open]>summary{margin-bottom:var(--space-2)}.assistant-action-done>summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.assistant-action-section.assistant-action-pending{border-color:color-mix(in srgb,var(--accent) 35%,var(--line))}.assistant-action-card{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--line);border-radius:var(--radius);background:var(--paper-2)}.assistant-action-card.is-destructive{border-color:var(--danger)}.assistant-action-card-head{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.assistant-action-status{margin-left:auto;font-size:var(--text-xs);color:var(--ink-2);font-family:var(--font-mono)}.assistant-action-status[data-status=executed]{color:var(--ok)}.assistant-action-status[data-status=failed]{color:var(--danger)}.assistant-action-preview{margin:0;font-size:var(--text-sm);line-height:1.6;overflow-wrap:anywhere}.assistant-action-card-actions{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.assistant-composer{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface)}.assistant-composer-row{display:flex;align-items:flex-end;gap:var(--space-2)}.assistant-composer-row .assistant-input{flex:1;min-width:0}.assistant-input{min-height:64px;resize:vertical}.assistant-composer-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2)}.assistant-composer-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);flex-wrap:wrap}.assistant-context-controls{display:flex;align-items:center;gap:var(--space-1);flex-wrap:wrap;min-width:0}.assistant-context-chip{flex:none}.assistant-scope-select{flex:none;min-height:52px;max-width:150px;padding:4px 8px;font-size:var(--text-sm)}.assistant-hint{margin:0 0 0 auto}.assistant-usage{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);font-size:var(--text-xs);color:var(--ink-2);font-family:var(--font-mono);padding:0 var(--space-1)}.assistant-usage-model{color:var(--ink);font-weight:600}.assistant-consent-list{margin:0;padding-left:1.3em;font-size:var(--text-sm);line-height:1.8;color:var(--ink-2)}.assistant-delete-previews{margin:0 0 var(--space-2);padding-left:1.3em;font-size:var(--text-sm);color:var(--ink-2);overflow-wrap:anywhere}.assistant-context-facts{margin-bottom:var(--space-3)}.assistant-context-text{margin:0;max-height:46dvh;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;font-family:var(--font-mono);font-size:var(--text-xs);line-height:1.6;background:var(--paper-2);border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-3)}.ai-settings{gap:var(--space-3)}.ai-key-block{display:flex;flex-direction:column;gap:var(--space-2);border-top:1px solid var(--line);padding-top:var(--space-3)}.ai-key-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.ai-settings-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-2) var(--space-3);border-top:1px solid var(--line);padding-top:var(--space-3)}@media(min-width:640px){.ai-settings-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.ai-settings-grid>.field:last-child{grid-column:1 / -1}}.ai-settings-actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.ai-usage-block,.ai-conversations-block{display:flex;flex-direction:column;gap:var(--space-2);border-top:1px solid var(--line);padding-top:var(--space-3)}@media(max-width:639px){.assistant-msg{max-width:100%}.assistant-usage{flex-direction:column;gap:2px}}.assistant-fab{position:fixed;right:var(--space-5);bottom:var(--space-5);z-index:82;width:54px;height:54px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid var(--line);background:var(--accent);color:var(--accent-ink);box-shadow:var(--shadow-2)}.assistant-fab:hover{filter:brightness(1.06)}.assistant-float{position:fixed;right:var(--space-4);bottom:var(--space-4);z-index:81;width:min(400px,calc(100vw - 32px));height:min(640px,calc(100dvh - 32px));display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-2);overflow:hidden}.assistant-float-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--line);background:var(--paper-2)}.assistant-float-title{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:var(--text-sm)}.assistant-float-actions{display:flex;align-items:center;gap:0}.assistant-float-actions .icon-btn{width:36px;height:36px}.assistant-float-body{display:flex;flex-direction:column;min-height:0;flex:1}.assistant-float-messages{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3)}.assistant-float-messages .assistant-msg{max-width:92%;padding:var(--space-2)}.assistant-float-messages .assistant-msg-body{font-size:var(--text-sm)}.assistant-float-empty{margin:auto;text-align:center;padding:var(--space-3)}.assistant-float-note{padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-2);align-items:flex-start}.assistant-float-note p{margin:0}.assistant-float-error{color:var(--danger);display:flex;gap:var(--space-2);align-items:center}.assistant-float-actions-pending{max-height:40%;overflow-y:auto;border-top:1px solid var(--line);padding:var(--space-2) var(--space-3)}.assistant-float-actions-pending>p{margin:0 0 var(--space-1)}.assistant-float-composer{border-top:1px solid var(--line);padding:var(--space-2) var(--space-3) var(--space-3);display:flex;flex-direction:column;gap:var(--space-1)}.assistant-float-composer .assistant-input{min-height:52px;max-height:min(22dvh,180px);resize:none}.assistant-float-composer-actions{display:flex;justify-content:flex-end;gap:var(--space-2)}@media(max-width:899px){.assistant-fab{right:var(--space-4);bottom:calc(var(--nav-height) + var(--space-4) + var(--safe-bottom))}}body.lock-active{overflow:hidden}.app-shell.is-locked{filter:blur(26px) saturate(.75);pointer-events:none;user-select:none}.lock-screen{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:calc(var(--space-5) + env(safe-area-inset-top)) var(--space-4) calc(var(--space-5) + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--paper) 96%,transparent);-webkit-backdrop-filter:blur(32px) saturate(.8);backdrop-filter:blur(32px) saturate(.8)}.lock-card{width:min(360px,100%);display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-5);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-2);text-align:center}.lock-title{margin:0;font-family:var(--font-display);font-size:var(--text-xl);color:var(--ink)}.lock-subtitle{margin:0;color:var(--ink-2);font-size:var(--text-sm);line-height:1.5}.lock-form{width:100%;display:flex;flex-direction:column;gap:var(--space-2);text-align:left}.lock-input{text-align:center;font-family:var(--font-mono);font-size:var(--text-lg);letter-spacing:.12em}.lock-fallback,.lock-logout{justify-content:center;width:100%}.lock-logout{color:var(--ink-2)}.lock-setting-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-3)}.lock-pin-actions{align-items:center}@media(max-width:639px){.lock-setting-grid{grid-template-columns:minmax(0,1fr)}.lock-card{width:100%}}.assistant-head-main{display:flex;align-items:flex-start;gap:var(--space-2);min-width:0}.assistant-head-main>div{min-width:0}.assistant-head-main .assistant-back{flex:none}@media(max-width:639px){.app-shell.is-assistant .top-bar,.app-shell.is-assistant .bottom-nav{display:none}.app-shell.is-assistant .app-body{height:100dvh;overflow:hidden}.app-shell.is-assistant .content{flex:1;min-height:0;width:100%;max-width:none;margin:0;padding:0;overflow:hidden}.assistant-page{height:100%;min-height:0;gap:0}.assistant-head{flex:none;flex-wrap:nowrap;align-items:center;gap:var(--space-2);padding:calc(var(--safe-top) + 8px) var(--space-3) 8px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--paper) 94%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.assistant-head-main{flex:1;align-items:center}.assistant-head .page-title{display:flex;align-items:center;gap:4px;font-size:var(--text-xl);white-space:nowrap}.assistant-head .page-subtitle{display:none}.assistant-head-actions{flex:none;gap:0}.assistant-head-actions .btn{padding-inline:var(--space-2)}.assistant-layout{flex:1;min-height:0;width:100%;max-width:none;display:flex}.assistant-chat{flex:1;min-height:0;width:100%;max-width:none;gap:0}.assistant-toolbar{flex:none;flex-wrap:nowrap;overflow-x:auto;padding:var(--space-2) var(--space-3);border-top:1px solid var(--line);border-bottom:0;background:var(--paper-2)}.assistant-toolbar>*{flex:none}.assistant-messages{flex:1;min-height:0;max-height:none;border-radius:0;border-left:0;border-right:0;padding:var(--space-3)}.assistant-action-section{flex:none;max-height:32dvh;overflow-y:auto;border-radius:0;border-left:0;border-right:0}.assistant-composer{flex:none;border-radius:0;border-left:0;border-right:0;padding:var(--space-2) var(--space-3) calc(var(--space-3) + var(--safe-bottom))}.assistant-composer-row{align-items:flex-end}.assistant-composer-actions{flex:none}.assistant-scope-select{max-width:104px;min-height:36px;padding:4px 6px}.assistant-context-chip{min-width:38px;min-height:36px;padding:4px}.assistant-send-label{display:none}.assistant-composer-actions .btn{width:44px;min-width:44px;padding-inline:0}.assistant-composer-footer{gap:var(--space-1)}.assistant-context-controls{flex-wrap:nowrap;overflow-x:auto}.assistant-input{min-height:52px;max-height:30dvh;resize:none}.assistant-hint,.assistant-usage,.app-shell.is-assistant .due-banner{display:none}}.assistant-action-head-main{display:flex;align-items:center;gap:var(--space-2);flex:1;min-width:0}.assistant-action-toggle{flex:none;white-space:nowrap}.assistant-action-head-actions{display:flex;align-items:center;gap:var(--space-1);flex:none}@media(max-width:639px){.assistant-action-head{flex-wrap:nowrap;align-items:center;gap:var(--space-1)}.assistant-action-head-main{gap:var(--space-1)}.assistant-action-head-main .section-title-small{white-space:nowrap}.assistant-action-head-actions .btn{padding-inline:var(--space-2)}.assistant-action-pending:not(:has(.assistant-action-list)){padding-block:var(--space-2)}}.ai-usage-chart-block{display:flex;flex-direction:column;gap:var(--space-1)}.ai-usage-chart{padding:var(--space-2) var(--space-2) var(--space-1);border:1px solid var(--line);border-radius:var(--radius);background:var(--paper-2);overflow-x:auto}.ai-usage-bars{display:flex;align-items:stretch;gap:3px;height:120px;min-width:240px}.ai-usage-bar{display:flex;flex:1;min-width:8px;height:100%;flex-direction:column;align-items:center;justify-content:flex-end;gap:3px}.ai-usage-bar-fill{width:100%;min-height:2px;border-radius:2px 2px 0 0;background:color-mix(in srgb,var(--accent) 78%,var(--paper))}.ai-usage-bar:hover .ai-usage-bar-fill{background:var(--accent)}.ai-usage-bar-label{height:12px;color:var(--ink-3);font-size:9px;line-height:1;white-space:nowrap}.ai-usage-chart-empty{margin:0;padding:var(--space-3);text-align:center}.ai-usage-bar{max-width:48px}.ai-usage-bars{justify-content:space-between}.entry-time-inline{display:inline-flex;margin-right:6px;color:var(--accent);font-weight:600;text-decoration:none}.quick-add-ai-kind{display:inline-flex;align-items:center;gap:4px;min-height:44px;padding:2px 8px;color:var(--accent);font-size:var(--text-xs);white-space:nowrap}.goal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-3)}.goal-card{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);color:var(--ink)}.goal-card:hover{border-color:var(--accent)}.goal-card-head,.goal-card-meta{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);flex-wrap:wrap}.goal-card-title{margin:0;font-family:var(--font-display);font-size:var(--text-lg)}.goal-card-outcome{margin:0;color:var(--ink-2);font-size:var(--text-sm);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.goal-card-meta{justify-content:flex-start;gap:var(--space-3);color:var(--ink-2);font-size:var(--text-xs)}.goal-outcome{margin:var(--space-2) 0 0;color:var(--ink-2);white-space:pre-wrap}.goal-progress-card{display:flex;gap:var(--space-6);padding:var(--space-4);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);font-size:var(--text-lg)}.goal-inline-form{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.goal-inline-form .input:first-child{flex:1 1 220px}.milestone-list{display:flex;flex-direction:column;gap:var(--space-1);list-style:none;margin:0;padding:0}.milestone-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) 0;border-bottom:1px solid var(--line)}.milestone-item.is-done .milestone-title{text-decoration:line-through;color:var(--ink-3)}.milestone-title{flex:1;min-width:0}.chip-goal{background:var(--accent-soft);color:var(--accent);font-weight:600}.chip-goal-milestone{background:var(--paper-2);color:var(--ink-2)}@media(max-width:639px){.goal-grid{grid-template-columns:minmax(0,1fr)}}.chip-blocked{background:color-mix(in srgb,var(--warn) 14%,transparent);color:var(--warn)}.goal-orphans{margin-top:var(--space-4)}.settings-row-actions{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.goal-template-editor{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-2);border:1px solid var(--line);border-radius:var(--radius-md)}.goal-stage-list{display:flex;flex-direction:column;gap:var(--space-1)}.goal-stage-row{display:flex;align-items:center;gap:var(--space-1)}.goal-stage-row .input:first-child{flex:1;min-width:0}.goal-stage-offset{width:72px;flex:0 0 72px}.goal-template-name{width:150px}.due-push-prompt{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2);margin-bottom:var(--space-2);background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 25%,var(--line));border-radius:var(--radius-md)}.due-push-copy{display:flex;flex:1;flex-direction:column;gap:2px;min-width:0}.due-push-copy strong{font-size:var(--text-sm)}@media(min-width:900px){.app-shell.is-assistant,.app-shell.is-assistant .app-body{height:100dvh;overflow:hidden}.app-shell.is-assistant .content{flex:1;min-height:0;padding:var(--space-4) var(--space-6);overflow:hidden}.assistant-page.is-chat{height:100%;min-height:0;gap:var(--space-3)}.assistant-page.is-chat .assistant-head{flex:none}.assistant-page.is-chat .assistant-layout{display:flex;flex:1;min-height:0}.assistant-page.is-chat .assistant-layout.has-history{display:grid;grid-template-columns:260px minmax(0,1fr);align-items:stretch;min-height:0}.assistant-page.is-chat .assistant-history{position:static;height:100%;max-height:none}.assistant-page.is-chat .assistant-chat{flex:1;height:100%;min-height:0;max-width:1000px;margin:0 auto}.assistant-page.is-chat .assistant-toolbar,.assistant-page.is-chat .assistant-composer,.assistant-page.is-chat .assistant-usage{flex:none}.assistant-page.is-chat .assistant-messages{flex:1;min-height:0;max-height:none}.assistant-page.is-chat .assistant-action-section{flex:none;max-height:28dvh;overflow-y:auto}.assistant-page.is-chat .assistant-composer .assistant-input{min-height:52px;max-height:min(28dvh,240px)}}.due-push-head{display:flex;align-items:center;gap:var(--space-1);flex-wrap:wrap}.due-push-actions{display:flex;flex:none;flex-direction:column;gap:4px}.due-push-error{margin-top:2px;color:var(--danger);font-size:var(--text-xs)}.push-status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2);padding:var(--space-3);background:var(--paper-2);border-radius:var(--radius-md)}.push-status-grid>div{display:flex;flex-direction:column;gap:2px;min-width:0}.push-status-grid strong{font-size:var(--text-sm)}.push-help{padding:var(--space-2) var(--space-3);border:1px solid var(--line);border-radius:var(--radius-md);font-size:var(--text-sm)}.push-help summary{cursor:pointer;color:var(--ink-2);font-weight:600}.push-help ol{margin:var(--space-2) 0 0;padding-left:1.2em;display:flex;flex-direction:column;gap:4px}.due-push-dismiss{align-self:flex-end;flex:none}@media(max-width:639px){.push-status-grid{grid-template-columns:minmax(0,1fr)}.due-push-prompt{align-items:flex-start}}.push-edge-help{align-items:flex-start}.push-edge-help>div{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.push-edge-help ol{margin:0;padding-left:1.2em;display:flex;flex-direction:column;gap:4px}.push-edge-help code{overflow-wrap:anywhere}.push-help-dialog{display:flex;flex-direction:column;gap:var(--space-3)}.push-help-dialog section{display:flex;flex-direction:column;gap:var(--space-1)}.push-help-dialog ol{margin:0;padding-left:1.2em;display:flex;flex-direction:column;gap:4px;font-size:var(--text-sm)}.push-help-dialog code{overflow-wrap:anywhere}.login-tagline{margin:0;color:var(--ink-2);font-family:var(--font-display);font-size:var(--text-md);letter-spacing:.12em}.gantt-card{overflow:hidden}.gantt-scroll{width:100%;overflow-x:auto;padding-bottom:var(--space-1)}.gantt{min-width:680px;display:flex;flex-direction:column}.gantt-axis,.gantt-row{display:grid;grid-template-columns:190px minmax(0,1fr);align-items:stretch}.gantt-axis{min-height:30px;border-bottom:1px solid var(--line)}.gantt-axis-label{display:block}.gantt-axis-track{position:relative;min-height:30px}.gantt-tick{position:absolute;top:6px;transform:translate(-50%);color:var(--ink-3);font-size:var(--text-xs);white-space:nowrap}.gantt-row{min-height:34px;border-bottom:1px solid color-mix(in srgb,var(--line) 55%,transparent)}.gantt-row:last-child{border-bottom:0}.gantt-label{display:flex;flex-direction:column;justify-content:center;gap:1px;min-width:0;padding-top:4px;padding-bottom:4px;padding-right:var(--space-2)}.gantt-label-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-sm)}.gantt-label-detail{color:var(--ink-3);font-size:var(--text-xs)}.gantt-row-goal .gantt-label-text{font-weight:700}.gantt-row-task .gantt-label-text{font-size:var(--text-xs);color:var(--ink-2)}.gantt-track{position:relative;min-height:34px;border-left:1px solid var(--line);background:repeating-linear-gradient(to right,color-mix(in srgb,var(--line) 40%,transparent) 0,color-mix(in srgb,var(--line) 40%,transparent) 1px,transparent 1px,transparent 14.285%)}.gantt-today{position:absolute;top:0;bottom:0;width:0;border-left:1px dashed var(--accent);opacity:.7}.gantt-bar{position:absolute;top:10px;height:14px;min-width:3px;border-radius:var(--radius-pill);background:var(--accent);box-shadow:inset 0 0 0 1px color-mix(in srgb,#000 8%,transparent)}.gantt-bar-goal{height:16px;top:9px;background:var(--accent)}.gantt-bar-milestone{background:color-mix(in srgb,var(--accent) 62%,var(--surface))}.gantt-bar-task{height:8px;top:13px;background:color-mix(in srgb,var(--accent) 45%,var(--surface))}.gantt-row.is-done .gantt-bar{background:color-mix(in srgb,var(--success, #4c7a5a) 65%,var(--surface))}.gantt-row.is-done .gantt-label-text{text-decoration:line-through;color:var(--ink-3)}.gantt-empty{min-height:120px}.theme-color-label{margin-top:var(--space-3);color:var(--ink-2);font-size:var(--text-xs);font-weight:600}.theme-color-options{display:flex;flex-wrap:wrap;gap:var(--space-2)}.theme-color-option{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:6px 10px;color:var(--ink-2);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-pill);font-size:var(--text-sm)}.theme-color-option.is-active{color:var(--ink);border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.theme-color-swatch{width:18px;height:18px;border-radius:50%;border:1px solid color-mix(in srgb,#000 18%,transparent)}.theme-color-default .theme-color-swatch{background:#b0442e}.theme-color-blue .theme-color-swatch{background:#2f5f9e}.theme-color-pink .theme-color-swatch{background:#ad3f6b}.theme-color-gold .theme-color-swatch{background:#8a6418}.theme-color-green .theme-color-swatch{background:#2f6f4e}.lock-screen.has-wallpaper{background-color:#151412}.lock-screen.has-wallpaper .lock-card{background:color-mix(in srgb,var(--paper) 91%,transparent);-webkit-backdrop-filter:blur(18px) saturate(.9);backdrop-filter:blur(18px) saturate(.9)}.lock-wallpaper-credit{margin:var(--space-2) 0 0;color:var(--ink-3);font-size:var(--text-xs);text-align:center;max-width:32ch}.account-switcher{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.user-management{display:grid;gap:var(--space-3)}.user-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-2)}.user-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;padding:var(--space-2) 0;border-top:1px solid var(--border-subtle)}.user-row-main{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.input-small{width:auto;min-width:90px;padding:4px 8px}.btn-small{padding:4px 8px;font-size:.85rem}.link-button{background:none;border:0;padding:0;color:var(--accent);font:inherit;cursor:pointer;text-decoration:underline}.two-factor-secret{display:block;max-width:360px;overflow-wrap:anywhere;padding:4px 8px;border-radius:6px;background:var(--surface-2);font-size:.85rem}@media(max-width:639px){html,body,#root{height:100%}body{overflow:hidden;overscroll-behavior:none}.app-shell{position:relative;height:100dvh;min-height:0}.app-body{height:100%;min-height:0}.content{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.bottom-nav{position:absolute;bottom:0;backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--paper);transform:translateZ(0)}.fab{position:absolute}}.trash-screen{display:grid;gap:var(--space-4)}.trash-head{max-width:60ch}.trash-empty{display:grid;justify-items:center;gap:var(--space-2);padding:var(--space-7) var(--space-4);color:var(--ink-2);text-align:center;border:1px dashed var(--line);border-radius:var(--radius)}.trash-list{list-style:none;padding:0;margin:0;display:grid;gap:var(--space-2)}.trash-row{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-3);flex-wrap:wrap;padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.trash-row-main{min-width:0;flex:1}.trash-row-title{display:flex;align-items:baseline;gap:var(--space-2);flex-wrap:wrap}.trash-kind{flex:none;padding:2px 7px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:var(--text-xs)}.trash-content{overflow-wrap:anywhere}.trash-meta{margin-top:4px}.trash-actions{display:flex;gap:var(--space-1);align-items:center;flex-wrap:wrap}@media(max-width:639px){.app-shell.is-keyboard .bottom-nav,.app-shell.is-keyboard .fab{display:none}.app-shell.is-keyboard .content{padding-bottom:var(--space-6)}}@media(max-width:639px){.app-shell:has(.entry-inline-textarea:focus) .bottom-nav,.app-shell:has(.entry-inline-textarea:focus) .fab{display:none}}.notes-page{display:grid;gap:var(--space-4)}.notes-search{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.notes-search .input{flex:1;border:0;background:transparent;padding:4px}.notes-group{display:grid;gap:var(--space-2)}.settings-page,.system-page{display:grid;gap:var(--space-4)}.settings-system-summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.settings-nav-stack{position:sticky;top:0;z-index:35;display:grid;gap:var(--space-2);padding:var(--space-2) 0;background:color-mix(in srgb,var(--paper) 94%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.settings-search{display:flex;align-items:center;gap:var(--space-2);padding:4px var(--space-3);border:1px solid var(--line-input);border-radius:var(--radius);background:var(--surface)}.settings-search .input{flex:1;min-width:0;border:0;padding:4px;background:transparent}.settings-jump{display:flex;gap:var(--space-1);overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.settings-jump::-webkit-scrollbar{display:none}.settings-jump-chip{display:inline-flex;align-items:center;gap:5px;flex:none;min-height:36px;padding:5px 10px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink-2);font-size:var(--text-sm);cursor:pointer}.settings-jump-chip.is-active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.settings-section{display:grid;gap:var(--space-3);scroll-margin-top:128px}.settings-empty{display:grid;justify-items:center;gap:var(--space-2);padding:var(--space-6) var(--space-4);color:var(--ink-2);text-align:center;border:1px dashed var(--line);border-radius:var(--radius)}.system-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}@media(max-width:639px){.settings-nav-stack{backdrop-filter:none;background:var(--paper)}.settings-section{scroll-margin-top:116px}}.settings-section[hidden]{display:none}.font-scale-options{display:flex;gap:var(--space-1);flex-wrap:wrap}.font-scale-option{min-height:36px;padding:5px 12px;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface);color:var(--ink-2);cursor:pointer}.font-scale-option.is-active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.settings-password-form{display:grid;gap:var(--space-2);max-width:420px;padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius);background:var(--paper-2)}.settings-password-form .btn{justify-self:start}.admin-sessions{display:grid;gap:var(--space-1);width:100%;padding:var(--space-2) 0 0;border-top:1px dashed var(--line)}.admin-session-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.audit-panel,.admin-invites{display:grid;gap:var(--space-2)}.audit-filters{display:flex;gap:var(--space-2);flex-wrap:wrap}.audit-filters .input{flex:1 1 150px;min-width:0}@media(min-width:1600px){.content{max-width:min(1120px,100%)}}@media(min-width:2000px){.content{max-width:min(1280px,100%)}}@media(min-width:1600px){.app-shell.is-month .content{max-width:min(1280px,100%)}}.entry-content{cursor:text}.entry-content:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius)}.entry-content a,.assistant-md a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.entry-content a:hover,.assistant-md a:hover{text-decoration-thickness:2px}.carry-over-actions{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.cal-month-group.is-today{padding:var(--space-2) var(--space-3);border-left:3px solid var(--accent);border-radius:var(--radius);background:color-mix(in srgb,var(--accent) 5%,var(--surface))}.cal-month-group.is-today .cal-month-date{color:var(--accent)}.chip-today{margin-left:var(--space-2);background:var(--accent);color:var(--accent-ink);font-size:.68rem}.cal-month-past{border:1px dashed var(--line);border-radius:var(--radius);padding:var(--space-1) var(--space-2)}.cal-month-past>summary{cursor:pointer;min-height:44px;display:flex;align-items:center;gap:var(--space-1);color:var(--ink-2);font-size:var(--text-sm);font-weight:600}.cal-month-past>summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.cal-month-past-list{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-2) 0 var(--space-1)}.calendar-event-form{display:flex;flex-direction:column;gap:var(--space-2)}.btn-danger{border-color:var(--danger);color:var(--danger)}.btn-danger:hover{background:color-mix(in srgb,var(--danger) 10%,transparent)}.entry.is-priority{margin-inline:calc(var(--space-2) * -1);padding-inline:var(--space-2);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--warn) 4%,transparent)}.entry.is-priority:hover{background:color-mix(in srgb,var(--warn) 7%,transparent)}.entry.is-priority.is-done,.entry.is-priority.status-cancelled{background:color-mix(in srgb,var(--warn) 2.5%,transparent)}.entry-ai-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex:none;align-self:flex-start;margin-top:4px;padding:0;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--ink-3);opacity:0;transition:opacity .12s ease,background .12s ease,color .12s ease;cursor:pointer}.entry:hover .entry-ai-btn,.entry:focus-within .entry-ai-btn,.entry-ai-btn:focus-visible{opacity:1}.entry-ai-btn:hover,.entry-ai-btn:focus-visible{background:var(--accent-soft);color:var(--accent)}@media(hover:none),(pointer:coarse){.entry-ai-btn{display:none}}.cal-event-item{position:relative}.cal-event-item .cal-event{padding-right:44px}.cal-event-ai-btn{position:absolute;top:8px;right:8px;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--ink-3);opacity:0;transition:opacity .12s ease,background .12s ease,color .12s ease;cursor:pointer}.cal-event-item:hover .cal-event-ai-btn,.cal-event-item:focus-within .cal-event-ai-btn,.cal-event-ai-btn:focus-visible{opacity:1}.cal-event-ai-btn:hover,.cal-event-ai-btn:focus-visible{background:var(--accent-soft);color:var(--accent)}@media(hover:none),(pointer:coarse){.cal-event-ai-btn{display:none}}.upcoming-deadlines{border:1px solid color-mix(in srgb,var(--warn) 35%,var(--line));border-radius:var(--radius-lg);background:color-mix(in srgb,var(--warn) 5%,var(--surface));padding:var(--space-3) var(--space-4)}.upcoming-deadlines-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-2)}.upcoming-deadlines-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.upcoming-deadline-item{display:flex;align-items:center;gap:var(--space-2);min-width:0;padding:4px 0;border-top:1px solid color-mix(in srgb,var(--line) 50%,transparent)}.upcoming-deadline-item:first-child{border-top:0}.upcoming-deadline-main{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;flex:1;padding:2px;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.upcoming-deadline-title{font-size:var(--text-sm);font-weight:600;overflow-wrap:anywhere}.upcoming-deadline-date{font-size:var(--text-xs);color:var(--ink-2)}.upcoming-deadline-item.is-overdue .upcoming-deadline-date{color:var(--danger);font-weight:600}.entry-due{font-size:var(--text-xs);color:var(--warn);font-weight:600}.upcoming-deadlines-rail{padding:var(--space-2)}.upcoming-deadlines-rail .upcoming-deadline-open{display:none}.stats-sheet{display:flex;flex-direction:column;gap:var(--space-3)}.upcoming-deadline-groups{display:flex;flex-direction:column;gap:var(--space-2)}.upcoming-deadline-group-title{margin:0 0 2px;font-size:var(--text-xs);font-weight:700;color:var(--ink-2);letter-spacing:.02em}.upcoming-deadline-later{border-top:1px solid color-mix(in srgb,var(--line) 55%,transparent);padding-top:var(--space-2)}.upcoming-deadline-later summary{cursor:pointer;font-size:var(--text-xs);font-weight:700;color:var(--ink-2);padding:4px 0}.upcoming-deadline-later summary:hover{color:var(--accent)}.upcoming-deadline-item{flex-wrap:wrap}.upcoming-deadline-main{flex:1 1 180px}.upcoming-deadlines-rail .upcoming-deadline-item{gap:4px}.upcoming-deadlines-rail .upcoming-deadline-main{flex-basis:150px}.entry.is-highlighted{background:color-mix(in srgb,var(--accent) 14%,transparent);box-shadow:inset 3px 0 var(--accent),0 0 0 1px color-mix(in srgb,var(--accent) 28%,transparent);border-radius:var(--radius-sm);animation:entry-highlight-pulse .7s ease-out}@keyframes entry-highlight-pulse{0%{background:color-mix(in srgb,var(--accent) 26%,transparent)}to{background:color-mix(in srgb,var(--accent) 14%,transparent)}}.toast-action[href]{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.assistant-action-select-all{display:inline-flex;align-items:center;gap:4px;font-size:var(--text-xs);color:var(--ink-2);white-space:nowrap}.assistant-action-select{width:18px;height:18px;accent-color:var(--accent);flex:none}.assistant-action-row{display:flex;align-items:flex-start;gap:var(--space-2)}.assistant-action-row .assistant-action-preview{flex:1;min-width:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.assistant-action-row .assistant-action-preview.is-expanded{display:block;overflow:visible}.assistant-action-expand{flex:none;font-size:var(--text-xs)}.assistant-action-warning{margin:0;color:var(--danger);font-size:var(--text-xs);line-height:1.5}.assistant-action-head-actions{flex-wrap:wrap;justify-content:flex-end;flex:1}.assistant-float-actions-row{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-2)}.assistant-msg-expand{margin-top:var(--space-2);font-size:var(--text-xs)}.day-status-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);box-shadow:var(--shadow-1)}.day-status-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.day-status-mood-head{display:flex;align-items:baseline;gap:var(--space-2);flex-wrap:wrap}.day-status-habit-head{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm)}.day-status-body{display:flex;align-items:flex-start;gap:var(--space-3);margin-top:var(--space-2)}.day-status-mood{flex:0 1 auto;min-width:0}.day-status-habits{display:flex;flex:1 1 120px;flex-direction:column;align-items:flex-end;min-width:0;border-left:1px solid var(--line);padding-left:var(--space-3)}.day-status-habits .habit-dot-row{width:100%}.mood-picker.is-embedded,.habits-strip.is-embedded{background:none;border:0;border-radius:0;padding:0;box-shadow:none}.mood-picker.is-compact{gap:var(--space-1)}.mood-picker.is-compact .mood-options{flex-wrap:nowrap;gap:4px;overflow-x:auto;padding-bottom:2px}.mood-picker.is-compact .mood-option{width:42px;min-width:42px;min-height:44px;padding:2px;border-radius:var(--radius)}.mood-picker.is-compact .mood-emoji{font-size:1.35rem}.mood-picker.is-compact .mood-label{font-size:9px;line-height:1.1}.mood-picker.is-compact .mood-checkins{flex-wrap:nowrap;overflow-x:auto}.habit-dot-row{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:3px}.habit-dot-button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:32px;min-height:32px;padding:3px 8px 3px 6px;border:1px solid transparent;border-radius:var(--radius-pill);background:transparent;color:var(--ink-2);cursor:pointer}.habit-dot-button:hover{border-color:var(--line);background:var(--paper-2)}.habit-dot-label{max-width:7.5em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-xs);line-height:1.2;text-align:left}.habit-dot-button .habit-dot{display:inline-flex;align-items:center;justify-content:center;width:12px;height:12px;border:1.5px solid var(--line-strong);border-radius:50%;background:transparent}.habit-dot-button.is-done .habit-dot{background:var(--study);border-color:var(--study);color:#fff}.habit-dot-tooltip{position:absolute;left:50%;bottom:calc(100% + 6px);z-index:30;display:flex;flex-direction:column;gap:2px;width:max-content;max-width:220px;padding:6px 9px;border-radius:var(--radius-sm);background:var(--ink);color:var(--paper);font-size:var(--text-xs);line-height:1.4;text-align:left;white-space:normal;transform:translate(-50%);opacity:0;visibility:hidden;pointer-events:none;box-shadow:var(--shadow-2)}.habit-dot-tooltip strong{font-size:var(--text-xs);font-weight:700}.habit-dot-button:hover .habit-dot-tooltip,.habit-dot-button:focus-visible .habit-dot-tooltip{opacity:1;visibility:visible}.habit-dot-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(max-width:639px){.day-status-body{gap:var(--space-2)}.day-status-habits{align-items:flex-start;min-width:0;padding-left:var(--space-2)}.habit-dot-row{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;padding-block:2px}.habit-dot-button{width:auto;min-width:44px;height:44px;flex:none}.habit-dot-label{max-width:5.5em}.habit-dot-tooltip{display:none}}.assistant-pending-bar{display:flex;align-items:center;gap:var(--space-2);padding:6px var(--space-3);border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));border-radius:var(--radius);background:var(--accent-soft);font-size:var(--text-sm)}.assistant-pending-bar>span{flex:1;min-width:0;font-weight:600}.assistant-pending-bar .btn{flex:none}.assistant-inline-actions{display:flex;flex-direction:column;gap:var(--space-2);margin-top:calc(var(--space-2) * -1);padding-left:var(--space-3);border-left:2px solid color-mix(in srgb,var(--accent) 40%,transparent)}.assistant-inline-actions-head{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.assistant-inline-actions-title{flex:1;min-width:120px;font-size:var(--text-xs);font-weight:700;color:var(--ink-2)}.assistant-inline-actions .assistant-action-card{background:var(--surface)}.day-timeline-bar{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);padding:0 2px}.day-timeline-label{margin-right:auto;color:var(--ink-3);font-size:var(--text-xs);font-weight:600;letter-spacing:.04em}.entry-progress{display:inline-flex;align-items:center;gap:6px;min-height:22px;color:var(--ink-2);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.entry-progress-track{width:54px;height:5px;overflow:hidden;border-radius:999px;background:var(--paper-2)}.entry-progress-fill{display:block;height:100%;border-radius:inherit;background:var(--accent)}.entry-progress-count{color:var(--ink-3)}.entry-subtask-toggle{padding:0;font-size:var(--text-xs)}.entry-subtasks{list-style:none;margin:0;padding:0 0 var(--space-2) calc(44px + var(--space-2));border-bottom:1px solid color-mix(in srgb,var(--line) 65%,transparent)}.entry-subtask-list .entry{padding:6px 0;border-bottom:0;font-size:var(--text-sm)}.entry-subtask-list .entry-symbol{width:32px;height:32px;font-size:17px}.entry-progress-edit{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.entry-progress-edit input[type=range]{flex:1;min-width:140px;accent-color:var(--accent)}.entry-progress-value{min-width:42px;text-align:right;font-variant-numeric:tabular-nums}.entry-progress-presets{display:flex;gap:4px;flex-wrap:wrap;width:100%}.entry-edit-subtasks{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-2);border:1px solid var(--line);border-radius:var(--radius);background:var(--paper)}.entry-edit-subtasks-head{display:flex;align-items:baseline;justify-content:space-between}.entry-edit-subtask-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.entry-edit-subtask{display:flex;align-items:baseline;gap:var(--space-2);min-width:0;font-size:var(--text-sm)}.entry-edit-subtask-symbol{width:16px;flex:none;color:var(--ink-2)}.entry-edit-subtask-symbol.is-done{color:var(--accent)}.entry-edit-subtask-content{flex:1;min-width:0;overflow-wrap:anywhere}.entry-edit-subtask-add{display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap}.entry-edit-subtask-add .input{flex:1;min-width:130px}.goal-stage-row{padding:8px 0;border-bottom:1px solid var(--line)}.goal-stage-row:last-child{border-bottom:0}.goal-stage-link{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);color:var(--ink);text-decoration:none}.goal-stage-link:hover{color:var(--accent)}.goal-task-groups{display:flex;flex-direction:column;gap:var(--space-4)}.goal-task-group-title{margin:0 0 var(--space-1);font-family:var(--font-display);font-size:var(--text-md);font-weight:500}.goal-milestone-task-group{display:flex;flex-direction:column}.entry-edit-section{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-3) 0;border-top:1px solid var(--line)}.entry-edit-section-title{margin:0;color:var(--ink-2);font-size:var(--text-sm);font-weight:700;letter-spacing:.04em}.entry-edit-section{gap:var(--space-3);margin:0 0 var(--space-3);padding:var(--space-3);border:1px solid var(--line);border-top:1px solid var(--line);border-radius:var(--radius-lg);background:var(--paper)}.entry-edit-section:first-child{padding-top:var(--space-3);border-top:1px solid var(--line)}.entry-edit-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}.entry-edit-section-title{display:flex;align-items:center;gap:var(--space-2);color:var(--ink);font-size:var(--text-md)}.entry-edit-section-title:before{content:"";width:3px;height:1.1em;border-radius:999px;background:var(--accent)}.entry-edit-section-hint{color:var(--ink-3);font-size:var(--text-xs)}.entry-edit-subtasks{padding:0;border:0;border-radius:0;background:transparent}.entry-edit-section{gap:var(--space-3);margin:0 0 var(--space-5);padding:0;border:0;border-radius:0;background:transparent}.entry-edit-section+.entry-edit-section{padding-top:var(--space-4);border-top:1px solid var(--line-strong)}.entry-edit-section:first-child{padding-top:0;border-top:0}.entry-edit-section-head{align-items:center;padding-bottom:var(--space-2);border-bottom:1px solid var(--line)}.entry-edit-section-title{gap:var(--space-2);font-family:var(--font-display);font-size:var(--text-lg);font-weight:500;letter-spacing:.02em}.entry-edit-section-title:before{width:3px;height:1.15em;background:var(--accent)}.entry-edit-subtasks{padding:0;border:0;background:transparent}.blocker-picker{display:flex;flex-direction:column;gap:var(--space-2)}.blocker-chips{display:flex;flex-wrap:wrap;gap:4px}.blocker-chip{display:inline-flex;align-items:center;gap:4px;max-width:100%;padding:3px 6px 3px 8px;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));border-radius:999px;background:var(--accent-soft);color:var(--ink);font-size:var(--text-xs)}.blocker-chip button{border:0;background:transparent;color:var(--ink-2);font-size:15px;line-height:1;cursor:pointer}.blocker-options{display:flex;flex-direction:column;max-height:220px;overflow-y:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.blocker-option{display:flex;align-items:baseline;gap:var(--space-2);padding:7px 9px;border-bottom:1px solid color-mix(in srgb,var(--line) 65%,transparent);font-size:var(--text-sm);cursor:pointer}.blocker-option:last-child{border-bottom:0}.blocker-option:hover{background:var(--paper-2)}.blocker-option input{flex:none}.blocker-option-content{flex:1;min-width:0;overflow-wrap:anywhere}.blocker-option-meta{flex:none;color:var(--ink-3);font-size:var(--text-xs)}.ai-credits{display:flex;flex-direction:column;gap:var(--space-2);border-top:1px solid var(--line);padding-top:var(--space-3)}.ai-credits-head-actions{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.ai-credits-balance{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--paper-2)}.ai-credits-balance.is-low{border-color:var(--warn)}.ai-credits-balance.is-exhausted{border-color:var(--danger)}.ai-credits-amount{display:flex;align-items:baseline;gap:4px;font-family:var(--font-mono);color:var(--ink)}.ai-credits-amount strong{font-size:var(--text-3xl);line-height:1.1}.ai-credits-amount span{font-size:var(--text-sm);color:var(--ink-2)}.ai-credits-facts{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-5);margin:0}.ai-credits-facts>div{display:flex;flex-direction:column}.ai-credits-facts dt{font-size:var(--text-xs);color:var(--ink-2)}.ai-credits-facts dd{margin:0;font-size:var(--text-sm);font-family:var(--font-mono)}.ai-credits-warning{display:flex;align-items:flex-start;gap:6px;flex-basis:100%;margin:0;font-size:var(--text-sm);color:var(--warn-text)}.ai-credits-warning.is-exhausted{color:var(--danger)}.ai-credits-ledger{display:flex;flex-direction:column;gap:var(--space-1)}.ai-credit-entry-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.ai-credit-entry{display:grid;grid-template-columns:minmax(88px,auto) minmax(0,1fr) auto auto;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--line);background:var(--surface);font-size:var(--text-sm)}.ai-credit-entry:last-child{border-bottom:0}.ai-credit-kind{font-weight:600;white-space:nowrap}.ai-credit-kind.is-positive{color:var(--ok)}.ai-credit-kind.is-negative{color:var(--ink-2)}.ai-credit-entry-main{display:flex;flex-direction:column;min-width:0;gap:1px}.ai-credit-note{color:var(--ink-2);font-size:var(--text-xs);overflow-wrap:anywhere}.ai-credit-delta{font-family:var(--font-mono);font-weight:600;white-space:nowrap}.ai-credit-delta.is-positive{color:var(--ok)}.ai-credit-delta.is-negative{color:var(--danger)}.ai-credit-after{font-family:var(--font-mono);white-space:nowrap}.assistant-msg-credits{margin:0;font-size:.68rem;color:var(--ink-2);font-family:var(--font-mono)}.assistant-credits-warn{color:var(--warn-text);font-weight:600}@media(max-width:639px){.ai-credit-entry{grid-template-columns:minmax(0,1fr) auto}.ai-credit-kind{grid-column:1 / 2}.ai-credit-delta{grid-column:2 / 3;grid-row:1;justify-self:end}.ai-credit-entry-main{grid-column:1 / 2}.ai-credit-after{grid-column:2 / 3;justify-self:end}}.ai-admin{gap:var(--space-3)}.ai-admin-head-actions{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.ai-admin-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.ai-admin-row{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--line);background:var(--surface)}.ai-admin-row:last-child{border-bottom:0}.ai-admin-user{display:flex;flex-direction:column;min-width:120px;flex:1}.ai-admin-login{font-weight:600;overflow-wrap:anywhere}.ai-admin-facts{display:flex;gap:var(--space-4);margin:0;flex-wrap:wrap}.ai-admin-facts>div{display:flex;flex-direction:column}.ai-admin-facts dt{font-size:var(--text-xs);color:var(--ink-2)}.ai-admin-facts dd{margin:0;font-family:var(--font-mono);font-size:var(--text-sm)}.ai-admin-actions{display:flex;gap:var(--space-1);flex-wrap:wrap}.ai-admin-usage{display:flex;flex-direction:column;gap:var(--space-2);border-top:1px solid var(--line);padding-top:var(--space-3)}.ai-admin-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius)}.ai-admin-table{width:100%;min-width:420px;border-collapse:collapse;font-size:var(--text-sm)}.ai-admin-table th,.ai-admin-table td{padding:var(--space-2) var(--space-3);text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}.ai-admin-table thead th{font-size:var(--text-xs);color:var(--ink-2);background:var(--paper-2);font-weight:600}.ai-admin-table tbody th{font-weight:600;overflow-wrap:anywhere;white-space:normal}.ai-admin-table tbody tr:last-child th,.ai-admin-table tbody tr:last-child td{border-bottom:0}.ai-admin-table td{font-family:var(--font-mono)}.ai-settings-client,.ai-settings-owner{border-top:1px solid var(--line);padding-top:var(--space-2)}.assistant-float-actions-pending{flex:none;max-height:min(48%,380px);overflow-y:auto;border-top:1px solid var(--line);padding:var(--space-2) var(--space-3) var(--space-3);background:var(--paper-2)}.assistant-float-actions-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);flex-wrap:wrap;margin-bottom:var(--space-2)}.assistant-float-actions-head>p{margin:0}.assistant-float-actions-head .assistant-float-actions-row{margin-top:0}.assistant-float-action-list{margin:0}.assistant-float-action-list .assistant-action-card{background:var(--surface)}
