:root{font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,PingFang SC,Microsoft YaHei UI,Segoe UI,sans-serif;color:var(--ink);background:var(--canvas);font-synthesis:none;text-rendering:optimizeLegibility;--accent-base: #35a779;--accent: var(--accent-base);--accent-dark: color-mix(in srgb, var(--accent-base) 64%, #0a2a1e);--accent-deep: color-mix(in srgb, var(--accent-base) 44%, #08211a);--accent-light: color-mix(in srgb, var(--accent-base) 58%, #ffffff);--accent-wash: color-mix(in srgb, var(--accent-base) 4%, #ffffff);--accent-soft: color-mix(in srgb, var(--accent-base) 9%, #ffffff);--accent-soft-2: color-mix(in srgb, var(--accent-base) 16%, #ffffff);--accent-line: color-mix(in srgb, var(--accent-base) 30%, #ffffff);--focus: color-mix(in srgb, var(--accent-base) 55%, #ffffff);--surface-rgb: 255 255 255;--surface: #ffffff;--surface-2: #f7f8fa;--surface-3: #f1f2f5;--n-fill: #f4f5f7;--n-fill-2: #f7f8f8;--n-fill-soft: #fafbfc;--n-border: #eaecf0;--n-border-soft: #eef0f3;--text-strong: #3c4348;--text-mid: #596961;--text-soft: #8b9690;--text-faint: #aeaeb2;--on-accent: #ffffff;--ink: color-mix(in srgb, var(--accent-base) 12%, #14211d);--muted: color-mix(in srgb, var(--accent-base) 10%, #6a7470);--line: color-mix(in srgb, var(--accent-base) 6%, var(--n-border));--soft-line: color-mix(in srgb, var(--accent-base) 4%, var(--n-border-soft));--canvas: color-mix(in srgb, var(--accent-base) 4%, var(--n-fill));--coral: #ff3b30;--amber: #ff9500;--prio-high: #ff453a;--prio-med: #f5a400;--prio-low: #2eaa70;--danger-ink: #c22f25;--danger-bg: #fff0ef;--danger-bg-strong: #ffdfd8;--danger-line: #f2c9c4;--warn-ink: #a06a12;--warn-bg: #fff9ec;--warn-bg-strong: #ffeac4;--warn-line: #f2c66d;--info-ink: #37566b;--info-ink-strong: #1d3f56;--info-bg: #eef3f8;--info-bg-hover: #e1eaf3;--note-sun-bg: #fff8e1;--note-sun-line: #f2e5b8;--note-rose-bg: #fff0f0;--note-rose-line: #f2d6d5;--note-sky-bg: #ebf5ff;--note-sky-line: #d3e7fa;--tone-blue-a: #fbfcff;--tone-blue-b: #edf2fa;--tone-blue-line: #d6dff1;--tone-sand-a: #fffdf8;--tone-sand-b: #f8f1e5;--tone-sand-line: #eadfc8;--tone-pink-a: #fffafb;--tone-pink-b: #faeef1;--tone-pink-line: #ead6dc;--swatch-sun: #ffedb5;--swatch-rose: #ffdcdc;--swatch-sky: #dcedff;--toast-bg: #1c1c1e;--app-bg: linear-gradient(180deg, color-mix(in srgb, var(--accent-base) 3%, #f8f9fa) 0%, color-mix(in srgb, var(--accent-base) 8%, var(--n-border-soft)) 100%);--r-xs: 6px;--r-sm: 9px;--r-md: 12px;--r-lg: 18px;--motion-fast: .12s;--motion-base: .2s;--motion-slow: .3s;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-in-out: cubic-bezier(.645, .045, .355, 1);--ease-back: cubic-bezier(.12, .4, .29, 1.46);--ease-circ: cubic-bezier(.08, .82, .17, 1);--shadow-card: 0 1px 2px color-mix(in srgb, var(--accent-dark) 4%, transparent), 0 3px 10px color-mix(in srgb, var(--accent-dark) 5%, transparent);--shadow-card-hover: 0 2px 4px color-mix(in srgb, var(--accent-dark) 5%, transparent), 0 8px 22px color-mix(in srgb, var(--accent-dark) 10%, transparent), 0 20px 44px -12px color-mix(in srgb, var(--accent-dark) 9%, transparent);--shadow-dialog: 0 32px 84px color-mix(in srgb, var(--accent-dark) 26%, transparent), 0 3px 12px color-mix(in srgb, var(--accent-dark) 7%, transparent);--shadow-popover: 0 20px 52px color-mix(in srgb, var(--accent-dark) 22%, transparent);letter-spacing:0;-webkit-font-smoothing:antialiased}:root[data-theme=dark]{color-scheme:dark;--surface-rgb: 31 32 34;--surface: #1f2022;--surface-2: #26272a;--surface-3: #2c2d31;--n-fill: #26272a;--n-fill-2: #232427;--n-fill-soft: #232427;--n-border: #353639;--n-border-soft: #2b2c2f;--ink: #e4e6e7;--muted: #9aa0a3;--text-strong: #e8eaeb;--text-mid: #b6bdb9;--text-soft: #8d9390;--text-faint: #6e7275;--line: color-mix(in srgb, var(--accent-base) 10%, #303134);--soft-line: color-mix(in srgb, var(--accent-base) 6%, #2a2b2e);--canvas: color-mix(in srgb, var(--accent-base) 2%, #161718);--app-bg: linear-gradient(180deg, #1b1c1e 0%, color-mix(in srgb, var(--accent-base) 2.5%, #111213) 100%);--accent-wash: color-mix(in srgb, var(--accent-base) 10%, #1f2022);--accent-soft: color-mix(in srgb, var(--accent-base) 16%, #1f2022);--accent-soft-2: color-mix(in srgb, var(--accent-base) 26%, #26272a);--accent-line: color-mix(in srgb, var(--accent-base) 44%, #3a3b3f);--accent-light: color-mix(in srgb, var(--accent-base) 70%, #ffffff);--accent-dark: color-mix(in srgb, var(--accent-base) 52%, #ffffff);--accent-deep: color-mix(in srgb, var(--accent-base) 34%, #ffffff);--focus: color-mix(in srgb, var(--accent-base) 72%, #ffffff);--coral: #ff6b5e;--amber: #ffb340;--prio-high: #ff6b5e;--prio-med: #ffb340;--prio-low: #4bcf92;--danger-ink: #ff8d82;--danger-bg: #3a2422;--danger-bg-strong: #482a26;--danger-line: #6a3a34;--warn-ink: #e8b765;--warn-bg: #36301f;--warn-bg-strong: #453a22;--warn-line: #5d4a28;--info-ink: #9dc1db;--info-ink-strong: #c3ddf0;--info-bg: #232b33;--info-bg-hover: #2b3540;--note-sun-bg: #33301f;--note-sun-line: #4c4527;--note-rose-bg: #352324;--note-rose-line: #4b2f30;--note-sky-bg: #1f2a33;--note-sky-line: #2f4050;--swatch-sun: #4a411f;--swatch-rose: #4a2c2c;--swatch-sky: #22303d;--toast-bg: #34353a;--tone-blue-a: #1e2229;--tone-blue-b: #1a1e25;--tone-blue-line: #2c3542;--tone-sand-a: #211f1a;--tone-sand-b: #1d1b17;--tone-sand-line: #3c3524;--tone-pink-a: #211b1d;--tone-pink-b: #1d1719;--tone-pink-line: #3c2b31;--shadow-card: 0 1px 2px rgb(0 0 0 / 40%), 0 3px 10px rgb(0 0 0 / 26%);--shadow-card-hover: 0 2px 4px rgb(0 0 0 / 40%), 0 8px 22px rgb(0 0 0 / 34%), 0 20px 44px -12px rgb(0 0 0 / 30%);--shadow-dialog: 0 32px 84px rgb(0 0 0 / 62%), 0 3px 12px rgb(0 0 0 / 42%);--shadow-popover: 0 20px 52px rgb(0 0 0 / 56%)}:root[data-theme=dark] .primary:hover{background:color-mix(in srgb,var(--accent) 86%,#000)}:root[data-theme=dark] .dialog-backdrop{background:#00000085;-webkit-backdrop-filter:blur(10px) saturate(105%);backdrop-filter:blur(10px) saturate(105%)}:root[data-theme=dark] .brand-mark{box-shadow:0 5px 14px #00000073,inset 0 0 0 1px #ffffff1f}html.pip-window[data-theme=dark]{--pip-blob-cool: color-mix(in srgb, var(--accent-base) 46%, #2c4a6b);--pip-blob-warm: color-mix(in srgb, var(--accent-base) 16%, #4a3626);background:#141518}html.pip-window[data-theme=dark] body:before{background:radial-gradient(closest-side,#465060d6,#46506000) 4% -4% / 44% 34% no-repeat,radial-gradient(closest-side,#3a4250c7,#3a425000) 62% 26% / 26% 20% no-repeat,radial-gradient(closest-side,var(--pip-blob-cool),rgb(20 21 24 / 0%)) 100% 12% / 44% 38% no-repeat,radial-gradient(closest-side,var(--pip-blob-cool),rgb(20 21 24 / 0%)) 78% 62% / 26% 22% no-repeat,radial-gradient(closest-side,var(--pip-blob-warm),rgb(20 21 24 / 0%)) 24% 104% / 50% 42% no-repeat,radial-gradient(closest-side,#303640c2,#30364000) 88% 96% / 32% 26% no-repeat}:root[data-theme=dark] .task-row.priority-row-high:not(.completed),:root[data-theme=dark] .task-row.priority-row-medium:not(.completed){background:transparent}:root[data-theme=dark] .task-row.priority-row-high:not(.completed){box-shadow:inset 3px 0 var(--prio-high)}:root[data-theme=dark] .task-row.priority-row-medium:not(.completed){box-shadow:inset 3px 0 var(--prio-med)}:root[data-theme=dark] .task-row.priority-row-high:not(.completed):hover,:root[data-theme=dark] .task-row.priority-row-medium:not(.completed):hover{background:color-mix(in srgb,#ffffff 4%,transparent)}:root[data-theme=dark] .priority-select-high{border-color:var(--danger-line);background:color-mix(in srgb,var(--prio-high) 13%,var(--surface))}:root[data-theme=dark] .priority-select-medium{border-color:var(--warn-line);background:color-mix(in srgb,var(--prio-med) 13%,var(--surface))}:root[data-theme=dark] .mobile-todo-submenu{background:color-mix(in srgb,var(--accent-base) 6%,var(--surface))}:root[data-theme=dark] .sidebar{background:linear-gradient(180deg,color-mix(in srgb,var(--accent-base) 3%,#1c1d1f),color-mix(in srgb,var(--accent-base) 2%,#191a1c))}:root[data-theme=dark] .topbar{background:linear-gradient(90deg,color-mix(in srgb,var(--accent-base) 2%,#1d1e20),color-mix(in srgb,var(--accent-base) 3%,#1b1c1e))}:root[data-theme=dark] .segmented button.active,:root[data-theme=dark] .quick-date-tabs button.active,:root[data-theme=dark] .side-nav button.active,:root[data-theme=dark] .list-switch-item.active,:root[data-theme=dark] .mobile-todo-submenu button.active,:root[data-theme=dark] .utility-tile:hover,:root[data-theme=dark] .secondary:hover,:root[data-theme=dark] .topbar .secondary:hover{background:#2e3034}:root[data-theme=dark] .side-nav button.active,:root[data-theme=dark] .list-switch-item.active{box-shadow:0 1px 2px #0006,0 0 0 1px #3a3c40}:root[data-theme=dark] .side-nav button:hover,:root[data-theme=dark] .special-nav button:hover,:root[data-theme=dark] .side-nav .todo-submenu button:hover,:root[data-theme=dark] .mobile-todo-submenu button:hover{background:#26272b}:root[data-theme=dark] .task-row:hover{background:color-mix(in srgb,#ffffff 4%,transparent)}:root[data-theme=dark] .task-row.completed{background:linear-gradient(100deg,#232426,#1f2022)}:root[data-theme=dark] .task-row.completed:hover{background:linear-gradient(100deg,#26272a,#232426)}:root[data-theme=dark] .floating-todo-standalone{background:linear-gradient(158deg,#26282b9e,#1c1e2085 46%,#24262994)}html.desktop-shell-window[data-theme=dark] .floating-todo-standalone{background:linear-gradient(158deg,#202124b8,#18191b9e 46%,#1e1f22ad);box-shadow:0 18px 46px -14px #0009,inset 0 0 0 1px #ffffff24}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-width:320px;min-height:100vh;background:var(--app-bg);transition:background-color .3s ease;background-attachment:fixed}button,input,textarea,select{font:inherit;letter-spacing:0}input,textarea,select{background-color:transparent;accent-color:var(--accent)}button{color:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid color-mix(in srgb,var(--focus) 45%,transparent);outline-offset:2px}.app-shell{min-height:100vh;display:grid;grid-template-columns:256px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100dvh;display:flex;flex-direction:column;gap:16px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch;padding:20px 13px 16px;border-right:1px solid color-mix(in srgb,var(--accent-base) 5%,var(--n-border));background:rgb(var(--surface-rgb) / 74%);box-shadow:none;-webkit-backdrop-filter:blur(20px) saturate(120%);backdrop-filter:blur(20px) saturate(120%)}.brand{display:flex;align-items:center;gap:10px;padding:0 4px;font-size:19px;font-weight:600;line-height:1}.brand-version{margin-left:3px;color:var(--muted);font-size:10px;font-weight:500}.brand-mark{width:32px;height:32px;display:grid;place-items:center;color:#fff;background:linear-gradient(140deg,color-mix(in srgb,var(--accent) 74%,#ffffff) 0%,var(--accent) 46%,var(--accent-dark) 100%);border-radius:8px;box-shadow:0 5px 14px color-mix(in srgb,var(--accent-dark) 22%,transparent),inset 0 0 0 1px #0000000d}button{border:0;cursor:pointer}.primary,.secondary,.danger-text,.text-button{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 15px;border-radius:var(--r-sm);font-size:14px;font-weight:500;white-space:nowrap;transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .12s var(--ease-out)}.primary:active,.secondary:active,.danger-text:active,.text-button:active{transform:scale(.976)}.primary{color:#fff;background:var(--accent);box-shadow:0 4px 14px color-mix(in srgb,var(--accent-dark) 18%,transparent)}.primary:hover{background:var(--accent-dark)}.primary:disabled{opacity:.5;cursor:not-allowed}.primary.wide{width:100%}.secondary{border:1px solid var(--line);background:rgb(var(--surface-rgb) / 88%);-webkit-backdrop-filter:blur(14px) saturate(140%);backdrop-filter:blur(14px) saturate(140%)}.secondary:hover{border-color:var(--accent-line);background:var(--surface)}.sidebar-actions{display:grid;gap:8px}.sidebar-action-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.sidebar-action-pair .secondary{min-width:0;padding:9px 10px;gap:6px;font-size:13px}.sidebar-action-pair .secondary svg{flex:0 0 auto}.sidebar-note-button{color:var(--ink);box-shadow:0 1px 2px color-mix(in srgb,var(--accent-dark) 4%,transparent)}.danger-text{color:var(--coral);background:transparent;padding-inline:6px}.danger-text:hover{background:var(--danger-bg)}.text-button{min-height:36px;color:var(--accent-dark);background:transparent;padding-inline:6px}.sidebar-group{display:grid;gap:6px}.sidebar-group-label{margin:0;padding:0 9px;color:var(--text-soft);font-size:11px;font-weight:600;letter-spacing:.06em}.side-nav{display:flex;flex-direction:column;gap:2px}.side-nav button{width:100%;min-height:38px;display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:10px;padding:8px 11px;border-radius:9px;color:var(--text-strong);font-size:14.5px;font-weight:500;text-align:left;background:transparent;transition:background-color var(--motion-fast) ease,color var(--motion-fast) ease,box-shadow var(--motion-fast) ease}.side-nav button:hover{background:color-mix(in srgb,var(--accent-base) 4%,var(--n-fill))}.side-nav button.active{color:var(--accent-dark);background:var(--surface);box-shadow:0 1px 2px #1018280f,0 0 0 1px var(--n-border-soft)}.side-nav button.active span:not(.nav-count){font-weight:600}.todo-menu-group{display:grid;gap:2px}.todo-parent-row{display:grid;grid-template-columns:minmax(0,1fr) 30px;align-items:center;gap:2px}.side-nav .todo-parent-row .main-menu-item{min-width:0}.side-nav .submenu-toggle{width:30px;min-height:34px;display:grid;grid-template-columns:1fr;place-items:center;padding:0;color:var(--text-mid);background:transparent}.side-nav .submenu-toggle:hover{color:var(--accent-dark);background:var(--accent-soft)}.submenu-toggle svg{transition:transform .16s ease}.submenu-toggle.expanded svg{transform:rotate(180deg)}.todo-submenu{display:grid;gap:1px;margin:1px 0 4px 21px;padding-left:11px;border-left:1px solid var(--accent-soft-2)}.side-nav .todo-submenu button{min-height:33px;grid-template-columns:18px minmax(0,1fr) auto;gap:7px;padding:6px 9px;color:var(--text-mid);font-size:12px;font-weight:500}.side-nav .todo-submenu button:hover{color:var(--accent-dark);background:rgb(var(--surface-rgb) / 68%)}.side-nav .todo-submenu button.active{color:var(--accent-dark);font-weight:600;background:var(--accent-soft);box-shadow:none}.side-nav .todo-submenu button.active span:not(.nav-count){font-weight:600}.mobile-todo-submenu{display:none}.special-nav{display:grid;gap:2px;padding-top:4px;border-top:1px solid var(--soft-line)}.special-nav button{width:100%;min-height:40px;display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 12px;border-radius:6px;color:var(--ink);font-size:14px;text-align:left;background:transparent}.special-nav button:hover{background:rgb(var(--surface-rgb) / 72%)}.special-nav button.active{color:var(--accent-dark);background:linear-gradient(90deg,var(--accent-soft),var(--accent-soft));box-shadow:inset 3px 0 0 var(--accent)}.special-nav button.active span:not(.nav-count){font-weight:600}.nav-count{min-width:24px;color:var(--text-soft);font-size:12px;text-align:right;font-variant-numeric:tabular-nums}.sidebar-spacer{flex:1}.sidebar-utility-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.utility-tile{position:relative;display:grid;gap:5px;place-items:center;padding:10px 4px;border:1px solid var(--soft-line);border-radius:var(--r-md);color:var(--text-mid);background:rgb(var(--surface-rgb) / 62%);font-size:11px;font-weight:500;transition:color .16s ease,border-color .16s ease,background-color .16s ease,transform .12s var(--ease-out)}.utility-tile:hover{color:var(--accent-dark);border-color:var(--accent-line);background:var(--surface)}.utility-tile:active{transform:scale(.97)}.utility-tile.active{color:var(--accent-dark);border-color:var(--accent-line);background:var(--accent-soft)}.utility-tile span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sync-tile.status-error{color:var(--danger-ink);border-color:var(--danger-line);background:var(--danger-bg)}.sync-tile.status-offline{color:var(--warn-ink);border-color:var(--warn-line);background:var(--warn-bg)}.sync-tile.status-syncing,.sync-tile.status-idle{color:var(--accent-dark)}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.main-panel{min-width:0;min-height:100vh;background:rgb(var(--surface-rgb) / 26%)}.topbar{position:sticky;z-index:60;top:0;min-height:64px;display:flex;align-items:center;gap:16px;padding:12px clamp(24px,3.4vw,56px);border-bottom:1px solid color-mix(in srgb,var(--accent-base) 5%,var(--n-border));background:rgb(var(--surface-rgb) / 82%);box-shadow:none;-webkit-backdrop-filter:blur(22px) saturate(130%);backdrop-filter:blur(22px) saturate(130%)}.mobile-brand{display:none}.search-box{width:min(460px,48vw);height:40px;display:flex;align-items:center;gap:9px;padding:0 10px 0 13px;border:1px solid transparent;border-radius:10px;color:var(--text-soft);background:color-mix(in srgb,var(--accent-base) 4%,var(--n-fill));box-shadow:none;transition:background-color var(--motion-fast) ease,box-shadow var(--motion-fast) ease}.search-box:hover{background:color-mix(in srgb,var(--accent-base) 5%,var(--n-fill))}.search-box:focus-within{background:var(--surface);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-base) 14%,transparent),0 1px 2px #1018280d}.search-box input{min-width:0;flex:1;border:0;outline:0;color:var(--ink);background:transparent}.search-box input::placeholder{color:var(--text-faint)}.topbar-actions{margin-left:auto;display:flex;align-items:center;gap:9px}@media(min-width:761px){.topbar-actions .screenshot-import-button{display:none}}.topbar .secondary{color:var(--text-strong);background:rgb(var(--surface-rgb) / 78%)}.floating-todo-widget{position:fixed;z-index:430;right:24px;bottom:24px;width:min(300px,calc(100vw - 48px));overflow:hidden;border:1px solid rgb(var(--surface-rgb) / 60%);border-radius:16px;background:rgb(var(--surface-rgb) / 62%);box-shadow:0 24px 60px -20px #10182857,0 2px 6px #1018280f,inset 0 1px #ffffffb8;-webkit-backdrop-filter:blur(26px) saturate(180%);backdrop-filter:blur(26px) saturate(180%)}.floating-todo-standalone{inset:0;width:100%;height:100%;border:0;border-radius:0;box-shadow:none;background:linear-gradient(158deg,#fff6,#ffffff42 46%,#ffffff57);-webkit-backdrop-filter:blur(34px) saturate(190%);backdrop-filter:blur(34px) saturate(190%)}.floating-todo-standalone .floating-todo-list{max-height:calc(100vh - 34px)}.floating-todo-header{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:42px;padding:5px 8px 5px 13px;border-bottom:1px solid rgb(16 24 40 / 6%);color:var(--accent-deep);background:rgb(var(--surface-rgb) / 42%);cursor:move;touch-action:none}.floating-todo-header strong{display:inline-flex;align-items:center;gap:7px;font-size:13px}.floating-todo-actions{display:inline-flex;align-items:center;gap:2px}.floating-todo-list{max-height:min(360px,calc(100dvh - 150px));overflow-y:auto;padding:5px 0;overscroll-behavior:contain}.floating-todo-group-title{padding:5px 12px 3px;color:var(--text-mid);font-size:11px;font-weight:700;letter-spacing:.02em}.floating-todo-item{display:flex;align-items:center;gap:8px;min-height:34px;padding:3px 12px;border-bottom:1px solid rgb(16 24 40 / 6%)}.floating-todo-item.priority-row-high:not(.completed){background:color-mix(in srgb,#ff453a 9%,transparent);box-shadow:inset 3px 0 var(--prio-high)}.floating-todo-item.priority-row-medium:not(.completed){background:color-mix(in srgb,#f5a400 12%,transparent);box-shadow:inset 3px 0 var(--prio-med)}.floating-todo-item.priority-row-low:not(.completed){background:color-mix(in srgb,var(--accent-base) 9%,transparent);box-shadow:inset 3px 0 var(--prio-low)}.floating-todo-item:last-child{border-bottom:0}.floating-todo-item:hover{background:rgb(var(--surface-rgb) / 52%)}.floating-todo-check{width:16px;height:16px;flex:0 0 16px;padding:0;border:1px solid rgb(16 24 40 / 18%);border-radius:4px;background:rgb(var(--surface-rgb) / 92%)}.floating-todo-check:hover{border-color:var(--accent);background:var(--accent-soft)}.floating-todo-item.priority-row-high .floating-todo-check{border-color:#ff453a}.floating-todo-item.priority-row-medium .floating-todo-check{border-color:#f5a400}.floating-todo-item.priority-row-low .floating-todo-check{border-color:#2eaa70}.floating-todo-item.priority-row-high .floating-todo-check:hover{background:var(--danger-bg-strong)}.floating-todo-item.priority-row-medium .floating-todo-check:hover{background:var(--warn-bg-strong)}.floating-todo-item.priority-row-low .floating-todo-check:hover{background:var(--accent-soft)}.floating-todo-main{display:block;flex:1 1 auto;min-width:0;padding:2px 0;border:0;background:transparent;text-align:left}.floating-todo-title{display:block;min-width:0;overflow:hidden;color:var(--accent-deep);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.floating-todo-main:hover .floating-todo-title{color:var(--accent-dark)}.floating-todo-meta{flex:0 0 auto;display:inline-flex;align-items:center;gap:4px;color:var(--text-mid);font-size:10.5px;white-space:nowrap}.floating-todo-item-actions{flex:0 0 auto;display:inline-flex;align-items:center;gap:0}.floating-todo-act{display:grid;place-items:center;width:22px;height:22px;padding:0;border:0;border-radius:5px;color:var(--text-soft);background:transparent}.floating-todo-act:hover{color:var(--accent-dark);background:var(--accent-soft)}.floating-todo-act.is-danger:hover{color:var(--danger-ink);background:var(--danger-bg)}.floating-todo-prio{width:20px}.floating-todo-empty{margin:0;padding:22px 14px;color:var(--muted);font-size:12px;text-align:center}.sync-refresh-button{color:var(--accent-dark)!important}.mobile-sync{display:none!important}.icon-button{width:38px;height:38px;flex:0 0 38px;display:inline-grid;place-items:center;border-radius:var(--r-sm);color:var(--text-mid);background:transparent;transition:background-color .16s ease,color .16s ease,transform .12s var(--ease-out)}.icon-button:active:not(:disabled){background:var(--accent-soft-2);color:var(--ink)}.icon-button:hover{color:var(--ink);background:var(--accent-soft)}.icon-button:disabled{opacity:.38;cursor:not-allowed}.icon-button.compact{width:28px;height:28px;min-height:28px;flex-basis:28px}.content{width:min(1180px,100%);margin:0 auto;padding:34px clamp(24px,3.2vw,48px) 110px}.content-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px}.content-heading-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px}.report-copy-button{min-height:34px;padding:6px 10px;color:var(--accent-dark);font-size:12px}.eyebrow{margin:0 0 6px;color:var(--text-soft);font-size:12px;font-weight:500;letter-spacing:.01em}h1,h2,h3,h4{font-weight:600}h1{margin:0;font-size:30px;line-height:1.15;letter-spacing:-.01em}.item-count{min-width:30px;height:26px;display:grid;place-items:center;padding:0 9px;border:0;border-radius:999px;color:var(--text-soft);font-size:12px;font-variant-numeric:tabular-nums;background:color-mix(in srgb,var(--accent-base) 4%,var(--n-border-soft))}.quick-add{height:50px;display:flex;align-items:center;gap:12px;margin-bottom:18px;padding:0 6px 0 16px;border:1px solid transparent;border-radius:13px;color:var(--text-faint);background:var(--surface);box-shadow:0 1px 2px #1018280a,0 10px 26px -18px #10182838;transition:border-color var(--motion-base) ease,box-shadow var(--motion-base) var(--ease-out),transform var(--motion-base) var(--ease-out)}.quick-add:focus-within{border-color:var(--focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-dark) 12%,transparent),0 6px 20px color-mix(in srgb,var(--accent-dark) 9%,transparent),0 16px 40px -14px color-mix(in srgb,var(--accent-dark) 14%,transparent);transform:translateY(-1px)}.quick-add input{min-width:0;height:100%;flex:1;border:0;outline:0;color:var(--ink);background:transparent}.quick-add input::placeholder{color:var(--text-faint)}.quick-add-date-trigger{min-width:0;height:32px;display:inline-flex;align-items:center;gap:4px;padding:0 8px;border:1px solid transparent;border-radius:6px;color:var(--text-mid);background:transparent;font-size:11px;font-weight:500;white-space:nowrap}.quick-add-date-trigger:hover,.quick-add-date-trigger.has-value{border-color:var(--accent-line);color:var(--accent-dark);background:var(--accent-soft)}.quick-add-date-trigger span{max-width:76px;overflow:hidden;text-overflow:ellipsis}.quick-date-backdrop{position:fixed;z-index:449;inset:0;width:100%;height:100%;padding:0;border:0;background:transparent}.quick-date-popover{position:fixed;z-index:450;width:min(320px,calc(100vw - 16px));max-height:calc(100dvh - 16px);overflow-y:auto;overscroll-behavior:contain;display:grid;gap:12px;padding:13px;border:1px solid var(--accent-soft-2);border-radius:var(--r-md);background:rgb(var(--surface-rgb) / 98%);box-shadow:var(--shadow-popover);-webkit-backdrop-filter:blur(24px) saturate(140%);backdrop-filter:blur(24px) saturate(140%)}.quick-date-tabs{display:grid;grid-template-columns:1fr 1fr;gap:3px;padding:3px;border-radius:7px;background:var(--soft-line)}.quick-date-tabs button{min-height:32px;display:inline-flex;align-items:center;justify-content:center;gap:5px;border-radius:5px;color:var(--text-mid);background:transparent;font-size:12px;font-weight:500}.quick-date-tabs button.active{color:var(--accent-dark);background:var(--surface);box-shadow:0 1px 5px color-mix(in srgb,var(--accent-dark) 10%,transparent)}.quick-date-shortcuts{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.quick-date-shortcuts button{min-height:30px;border:1px solid var(--line);border-radius:6px;color:var(--text-mid);background:var(--accent-wash);font-size:11px;font-weight:500}.quick-date-shortcuts button:hover{color:var(--accent-dark);border-color:var(--accent-line);background:var(--accent-soft)}.quick-date-picker-row{display:grid;grid-template-columns:30px minmax(0,1fr) 30px;align-items:center;gap:5px}.quick-date-picker-row input{width:100%;height:34px;padding:0 8px;border:1px solid var(--line);border-radius:6px;color:var(--ink);background:var(--surface);text-align:center;color-scheme:light}.quick-calendar{display:grid;gap:8px;padding:8px 4px 2px;border-top:1px solid var(--soft-line);border-bottom:1px solid var(--soft-line)}.quick-calendar-header{display:grid;grid-template-columns:30px minmax(0,1fr) 30px;align-items:center;gap:6px}.quick-calendar-header strong{color:var(--ink);font-size:14px;text-align:center}.quick-calendar-weekdays,.quick-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.quick-calendar-weekdays span{color:var(--text-soft);font-size:10px;font-weight:500;text-align:center}.quick-calendar-grid button{min-width:0;height:29px;border-radius:50%;color:var(--ink);background:transparent;font-size:12px;font-weight:500}.quick-calendar-grid button:hover{color:var(--accent-dark);background:var(--accent-soft)}.quick-calendar-grid button.outside{color:var(--text-faint)}.quick-calendar-grid button.today{box-shadow:inset 0 0 0 1px var(--accent-light)}.quick-calendar-grid button.selected{color:#fff;background:linear-gradient(145deg,var(--accent),var(--accent-dark));box-shadow:0 4px 10px color-mix(in srgb,var(--accent-dark) 23%,transparent)}.quick-time-fields{display:grid;grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr);align-items:end;gap:5px}.quick-time-fields label{min-width:0;display:grid;gap:4px;color:var(--muted);font-size:10px;font-weight:500}.quick-time-fields input{width:100%;height:34px;padding:0 7px;border:1px solid var(--line);border-radius:6px;color:var(--ink);background:var(--surface);color-scheme:light;font-size:12px}.quick-time-separator{padding-bottom:9px;color:var(--muted);font-size:11px;text-align:center}.quick-date-actions{display:flex;justify-content:flex-end;gap:7px;padding-top:2px;border-top:1px solid var(--soft-line)}.quick-date-actions button{min-height:32px;padding:0 13px;font-size:12px}.task-list{overflow:visible;border:1px solid color-mix(in srgb,var(--accent-base) 5%,var(--n-border));border-radius:16px;background:var(--surface);box-shadow:0 1px 2px #1018280a,0 12px 30px -22px #10182842}.sortable-task-list .task-tree{cursor:grab}.sortable-task-list .task-tree:active{cursor:grabbing}.sortable-task-list .task-tree[draggable=true]{touch-action:pan-y}.task-row{position:relative;min-height:54px;display:grid;grid-template-columns:28px minmax(200px,1fr) minmax(132px,max-content) 134px;align-items:center;gap:8px;padding:10px 10px 10px 16px;border-bottom:1px solid color-mix(in srgb,var(--accent-base) 3%,var(--n-fill));transition:background-color var(--motion-fast) ease}.task-row:last-child{border-bottom:0}.task-row:hover{background:color-mix(in srgb,var(--accent-base) 3.5%,var(--n-fill-soft))}.task-row.completed{background:linear-gradient(100deg,var(--n-fill),var(--n-fill-2))}.task-row.completed:hover{background:linear-gradient(100deg,var(--n-fill-2),var(--n-fill))}.task-row.priority-row-high:not(.completed){background:var(--danger-bg);box-shadow:inset 3px 0 var(--prio-high)}.task-row.priority-row-high:not(.completed):hover{background:var(--danger-bg)}.task-row.priority-row-medium:not(.completed){background:var(--warn-bg);box-shadow:inset 3px 0 var(--prio-med)}.task-row.priority-row-medium:not(.completed):hover{background:var(--warn-bg)}.task-row.priority-row-low:not(.completed){background:var(--accent-wash);box-shadow:inset 3px 0 var(--prio-low)}.task-row.priority-row-low:not(.completed):hover{background:var(--accent-soft)}.check-button{width:22px;height:22px;display:grid;place-items:center;padding:0;border:1.5px solid var(--text-faint);border-radius:50%;color:#fff;background:var(--surface);line-height:0}.check-button svg{display:block;margin:0;transform:translateY(-.25px)}.check-button:hover{border-color:var(--accent)}.completed .check-button{border-color:var(--accent);background:var(--accent)}.task-body{grid-column:2;min-width:0;width:100%;height:32px;overflow:hidden;display:block;padding:0;text-align:left;background:transparent}.task-title-line{min-width:0;height:32px;display:flex;align-items:center;gap:5px;overflow:hidden;white-space:nowrap}.task-title-line strong{min-width:52px;flex:1 1 auto;overflow:hidden;font-size:14px;font-weight:500;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.task-title-line svg{flex:0 0 auto;color:var(--accent)}.task-inline-date{min-width:0;display:inline-flex;flex:0 0 auto;align-items:center;gap:3px;color:var(--text-mid);font-size:12px;font-weight:500;line-height:1.4;white-space:nowrap}.task-inline-date.overdue{color:var(--coral)}.task-inline-tag{max-width:62px;flex:0 1 auto;overflow:hidden;color:var(--info-ink);font-size:10px;text-overflow:ellipsis}.task-title-line .reminder-time{min-width:0;display:inline-flex;flex:0 0 auto;align-items:center;gap:3px;color:var(--accent-dark);font-size:11px;font-weight:500;white-space:nowrap}.task-meta{min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:7px 9px;color:var(--text-soft);font-size:12px}.task-meta>span{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.task-meta .overdue{color:var(--coral)}.task-meta .tag{color:var(--info-ink)}.completed-time{min-width:0;display:inline-flex;flex:0 1 auto;align-items:center;gap:3px;overflow:visible;padding:0;color:var(--accent-dark);background:transparent;font-size:11px;font-weight:500;white-space:nowrap}.task-fixed-cell{min-width:0;width:100%;height:32px;display:flex;align-items:center;justify-content:flex-end;gap:4px;overflow:hidden;padding:0;color:inherit;background:transparent;text-align:right;white-space:nowrap}.task-fixed-cell>span{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis}.task-date-cell{grid-column:3}.task-date-cell .task-inline-date{overflow:hidden;flex-shrink:1;text-overflow:ellipsis}.task-date-cell .reminder-time{flex:0 0 auto;display:inline-flex;color:var(--accent-dark)}.task-meta .reminder-time{color:var(--accent-dark);font-weight:500}.task-snippet{min-width:0;flex:0 1 150px;overflow:hidden;color:var(--text-soft);font-size:11px;text-overflow:ellipsis;white-space:nowrap!important}.completed .task-title-line strong{color:var(--text-faint);text-decoration:line-through}.priority{display:block;width:7px;height:7px;border-radius:50%}.priority-low{background:var(--accent)}.priority-medium{background:var(--amber)}.priority-high{background:var(--coral)}.priority-select{border-color:var(--accent-soft-2);transition:border-color var(--motion-fast) ease,background-color var(--motion-fast) ease}.priority-select-high{border-color:var(--danger-line);background:var(--danger-bg)}.priority-select-medium{border-color:var(--warn-line);background:var(--warn-bg)}.priority-select-low{border-color:var(--accent-line);background:var(--accent-wash)}.task-row-actions{position:relative;z-index:1;grid-column:4;width:134px;display:grid;grid-template-columns:repeat(5,26px);align-items:center;justify-content:end;gap:2px;justify-self:end}.task-row-actions .icon-button.compact{width:26px;height:26px;min-height:26px;flex-basis:26px}.row-priority{color:var(--text-mid)}.row-priority:hover{color:var(--accent-dark)}.priority-dot{display:block;width:9px;height:9px;border-radius:50%;background:var(--text-faint)}.priority-dot-none{background:var(--text-faint)}.priority-dot-low{background:var(--prio-low)}.priority-dot-medium{background:var(--prio-med)}.priority-dot-high{background:var(--prio-high)}.priority-menu{width:112px}.priority-menu button{display:flex;align-items:center;gap:8px}.row-postpone-slot,.row-snooze-slot{width:26px;height:26px}.row-more{color:var(--text-faint)}.row-more:hover{color:var(--accent-dark)}.row-snooze{color:var(--accent)}.row-snooze:hover{color:var(--accent-dark)}.row-copy{color:var(--text-faint)}.row-copy:hover{color:var(--accent-dark)}.row-postpone{color:var(--muted)}.row-postpone:hover{color:var(--accent-dark)}.row-delete{justify-self:end;opacity:0}.task-row:hover .row-delete,.task-row:focus-within .row-delete{opacity:1}.postpone-menu-backdrop{position:fixed;z-index:399;inset:0;width:100%;height:100%;padding:0;border:0;border-radius:0;background:transparent;cursor:default}.postpone-menu{position:fixed;z-index:400;width:126px;max-height:calc(100dvh - 16px);overflow-y:auto;display:grid;gap:3px;padding:5px;border:1px solid var(--line);border-radius:7px;background:rgb(var(--surface-rgb) / 99%);box-shadow:0 16px 36px color-mix(in srgb,var(--accent-dark) 22%,transparent)}.postpone-menu button{min-height:30px;padding:0 9px;border-radius:5px;color:var(--ink);background:transparent;font-size:12px;text-align:left}.postpone-menu button:hover{color:var(--accent-dark);background:var(--accent-soft)}.list-move-menu{position:fixed;z-index:400;width:168px;max-height:calc(100dvh - 16px);overflow-y:auto;display:grid;gap:3px;padding:5px;border:1px solid var(--line);border-radius:7px;background:rgb(var(--surface-rgb) / 99%);box-shadow:0 16px 36px color-mix(in srgb,var(--accent-dark) 22%,transparent);overscroll-behavior:contain}.list-move-menu button{min-height:30px;overflow:hidden;padding:0 9px;border-radius:5px;color:var(--ink);background:transparent;font-size:12px;text-align:left;text-overflow:ellipsis;white-space:nowrap}.list-move-menu button:hover{color:var(--accent-dark);background:var(--accent-soft)}.list-move-title{display:flex;align-items:center;gap:5px;margin:0;padding:4px 9px 6px;border-bottom:1px solid var(--soft-line);color:var(--muted);font-size:11px;font-weight:500}.composer-postpone-field{position:relative;display:grid;gap:6px}.composer-postpone-control{position:relative}.composer-postpone-control>button{display:inline-flex;align-items:center;gap:6px}.composer-postpone-menu{position:absolute;z-index:5;top:calc(100% + 5px);left:0;min-width:110px;display:grid;gap:3px;padding:5px;border:1px solid var(--line);border-radius:7px;background:var(--surface);box-shadow:0 12px 28px color-mix(in srgb,var(--accent-dark) 20%,transparent)}.composer-postpone-menu button{min-height:30px;padding:0 9px;border-radius:5px;color:var(--ink);background:transparent;text-align:left}.composer-postpone-menu button:hover{color:var(--accent-dark);background:var(--accent-soft)}.ocr-backdrop{z-index:500}.ocr-dialog{width:min(780px,calc(100vw - 32px));max-height:min(820px,calc(100dvh - 32px));padding:20px;overflow:hidden}.ocr-dialog .dialog-header{align-items:flex-start;margin-bottom:16px}.ocr-dialog .dialog-header h2{margin:2px 0 0;font-size:19px}.dialog-kicker{color:var(--accent-dark);font-size:11px;font-weight:600}.ocr-workspace{display:grid;grid-template-columns:210px minmax(0,1fr);min-height:340px;border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;background:color-mix(in srgb,var(--accent-soft) 82%,transparent)}.ocr-upload{display:flex;min-width:0;min-height:340px;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:14px;border:0;border-right:1px solid var(--line);border-radius:0;color:var(--accent-dark);background:color-mix(in srgb,var(--accent-soft) 75%,transparent);font-size:12px;font-weight:600;overflow:hidden}.ocr-upload:hover{background:color-mix(in srgb,var(--accent-soft) 90%,transparent)}.ocr-upload img{width:100%;max-height:310px;object-fit:contain;border-radius:5px;box-shadow:0 8px 22px color-mix(in srgb,var(--accent-dark) 14%,transparent)}.ocr-upload-icon{display:grid;width:56px;height:56px;place-items:center;border:1px dashed color-mix(in srgb,var(--accent-dark) 48%,transparent);border-radius:8px;background:rgb(var(--surface-rgb) / 70%)}.ocr-result-panel{min-width:0;min-height:340px;padding:14px;overflow:auto}.ocr-empty,.ocr-progress-state,.ocr-error-state{display:flex;min-height:310px;flex-direction:column;align-items:center;justify-content:center;gap:9px;color:var(--muted);text-align:center}.ocr-empty strong,.ocr-progress-state strong,.ocr-error-state strong{color:var(--ink);font-size:14px}.ocr-empty span{font-size:12px}.ocr-scanner{display:grid;width:54px;height:54px;place-items:center;border-radius:50%;color:var(--accent-dark);background:var(--accent-soft)}.ocr-progress-track{width:min(280px,80%);height:6px;border-radius:999px;background:color-mix(in srgb,var(--accent-dark) 10%,transparent);overflow:hidden}.ocr-progress-track span{display:block;height:100%;border-radius:inherit;background:var(--accent);transition:width .18s ease}.ocr-progress-state small{color:var(--accent-dark);font-weight:600}.ocr-error-state svg{color:var(--danger-ink)}.ocr-review-heading{display:flex;align-items:center;justify-content:space-between;margin:0 2px 10px}.ocr-review-heading>div{display:flex;align-items:baseline;gap:8px}.ocr-review-heading strong{font-size:13px}.ocr-review-heading span{color:var(--muted);font-size:11px}.ocr-task-list{display:grid;gap:6px}.ocr-task-row{display:grid;grid-template-columns:24px minmax(130px,1fr) 214px 28px;align-items:center;gap:7px;min-height:48px;padding:6px 7px;border:1px solid var(--line);border-radius:6px;background:rgb(var(--surface-rgb) / 72%);opacity:.62}.ocr-task-row.selected{border-color:color-mix(in srgb,var(--accent-dark) 28%,transparent);background:var(--surface);opacity:1}.ocr-task-check{display:grid;place-items:center}.ocr-task-check input{position:absolute;opacity:0;pointer-events:none}.ocr-task-check span{display:grid;width:20px;height:20px;place-items:center;border:1px solid color-mix(in srgb,var(--accent-base) 38%,transparent);border-radius:5px;color:transparent;background:var(--surface)}.ocr-task-check input:checked+span{border-color:var(--accent);color:var(--on-accent);background:var(--accent)}.ocr-task-title{width:100%;min-width:0;height:34px;padding:0 8px;border:1px solid transparent;border-radius:5px;background:transparent;font-size:13px;font-weight:500}.ocr-task-title:focus{border-color:var(--accent);background:var(--surface);outline:0}.ocr-task-time{display:grid;grid-template-columns:1fr 15px 1fr;align-items:center;gap:3px}.ocr-task-time span{color:var(--muted);font-size:11px;text-align:center}.ocr-task-time input{width:100%;min-width:0;height:32px;padding:0 5px;border:1px solid var(--line);border-radius:5px;color:var(--ink);background:var(--surface);font-size:11px}.ocr-task-delete{color:var(--muted)}.ocr-add-row{display:inline-flex;align-items:center;gap:5px;min-height:30px;margin-top:8px;padding:0 8px;border:0;color:var(--accent-dark);background:transparent;font-size:12px}.ocr-raw-text{margin-top:8px;color:var(--muted);font-size:11px}.ocr-raw-text summary{cursor:pointer}.ocr-raw-text pre{max-height:120px;padding:8px;overflow:auto;border-radius:5px;background:color-mix(in srgb,var(--accent-dark) 5%,transparent);white-space:pre-wrap;word-break:break-word}.ocr-dialog-actions{justify-content:flex-end;margin-top:16px}.task-tree>.task-row{border-bottom:0}.task-tree:not(:last-child){border-bottom:1px solid var(--soft-line)}.task-tree.completed-tree{background:linear-gradient(100deg,var(--n-fill),var(--n-fill-2))}.task-tree.completed-tree>.task-row{background:transparent}.task-tree.completed-tree .child-task-list{color:var(--text-soft)}.child-task-list{display:grid;gap:1px;padding:0 0 8px}.child-task-row{position:relative;min-width:0;display:grid;grid-template-columns:28px minmax(150px,1fr) 116px 132px 48px 82px;align-items:center;gap:8px;min-height:34px;padding:2px 8px 2px 14px;color:var(--text-mid)}.child-branch{position:absolute;top:0;left:22px;width:12px;height:18px;border-bottom:1px solid var(--accent-line);border-left:1px solid var(--accent-line);border-radius:0 0 0 5px;pointer-events:none}.child-check{grid-column:1;width:18px;height:18px;justify-self:center}.child-task-title{min-width:0;grid-column:2;overflow:hidden;padding:0;color:inherit;background:transparent;font-size:12px;text-align:left;text-overflow:ellipsis;white-space:nowrap}.child-task-title:hover{color:var(--accent-dark)}.child-task-row.completed .child-task-title{color:var(--text-soft);text-decoration:line-through}.child-completed-time{min-width:0;grid-column:3;overflow:hidden;color:var(--text-soft);font-size:10px;text-align:right;text-overflow:ellipsis;white-space:nowrap}.child-delete{grid-column:6;justify-self:end;opacity:0;color:var(--text-soft)}.child-task-row:hover .child-delete,.child-task-row:focus-within .child-delete{opacity:1}.trash-list{overflow:hidden;border:1px solid var(--line);border-radius:var(--r-md);background:rgb(var(--surface-rgb) / 96%);box-shadow:0 7px 24px color-mix(in srgb,var(--accent-dark) 6%,transparent)}.trash-row{min-height:64px;display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:11px;padding:10px 14px;border-bottom:1px solid var(--soft-line)}.trash-row:last-child{border-bottom:0}.trash-row-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:8px;color:var(--text-soft);background:var(--n-fill)}.trash-row-copy{min-width:0;display:grid;gap:4px}.trash-row-copy strong{overflow:hidden;color:var(--ink);font-size:14px;text-overflow:ellipsis;white-space:nowrap}.trash-row-copy small{color:var(--muted);font-size:12px}.trash-row-actions{min-width:128px;display:flex;align-items:center;justify-content:flex-end;gap:5px;justify-self:end}.restore-button{min-height:32px;padding:0 10px}.permanent-delete-button{min-height:32px;padding:0 9px;border-radius:6px}.notes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:16px;align-items:start}.note-card{position:relative;min-height:0;overflow:hidden;border:1px solid color-mix(in srgb,var(--accent-base) 5%,var(--n-border));border-radius:14px;background:var(--surface);box-shadow:0 1px 2px #1018280a,0 12px 30px -22px #10182842;transition:border-color var(--motion-base) ease,box-shadow var(--motion-base) var(--ease-out),transform var(--motion-base) var(--ease-out)}.note-card:hover{border-color:color-mix(in srgb,var(--accent-base) 14%,var(--n-border));box-shadow:0 2px 6px #1018280f,0 18px 40px -24px #1018284d;transform:translateY(-1px)}.note-paper{background:var(--surface)}.note-mint{background:var(--accent-soft);border-color:var(--accent-soft-2)}.note-sun{background:var(--note-sun-bg);border-color:var(--note-sun-line)}.note-rose{background:var(--danger-bg);border-color:var(--note-rose-line)}.note-sky{background:var(--note-sky-bg);border-color:var(--note-sky-line)}.note-content{width:100%;min-height:158px;display:flex;flex-direction:column;align-items:stretch;gap:14px;padding:20px 50px 20px 21px;text-align:left;background:transparent;cursor:pointer}.note-content:focus-visible{outline:2px solid var(--focus);outline-offset:-3px}.note-card-header{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:16px}.note-card-header time{flex:0 0 auto;color:var(--text-soft);font-size:11px;white-space:nowrap}.note-title-line{display:flex;align-items:center;gap:8px}.note-title-line{min-width:0}.note-title-line strong{min-width:0;overflow:hidden;font-size:17px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.note-title-line svg{flex:0 0 auto;color:var(--accent)}.note-copy{display:-webkit-box;overflow:hidden;color:var(--text-strong);font-size:14px;line-height:1.75;white-space:pre-wrap;-webkit-line-clamp:6;-webkit-box-orient:vertical}.note-document-preview{min-width:0;display:grid;gap:10px}.note-check-item{min-width:0;width:100%;display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:8px;padding:2px 0;color:var(--ink);background:transparent;text-align:left}.note-check-item>span{width:18px;height:18px;display:grid;place-items:center;border:1.5px solid var(--muted);border-radius:5px;color:var(--on-accent);background:rgb(var(--surface-rgb) / 70%)}.note-check-item strong{min-width:0;overflow:hidden;font-size:13px;font-weight:500;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.note-check-item:hover>span{border-color:var(--accent)}.note-check-item.checked>span{border-color:var(--accent);background:var(--accent)}.note-check-item.checked strong{color:var(--text-soft);text-decoration:line-through}.note-inline-image{width:100%;max-height:180px;overflow:hidden;padding:0;border:1px solid color-mix(in srgb,var(--accent-base) 20%,transparent);border-radius:7px;background:var(--accent-soft)}.note-inline-image img{width:100%;max-height:180px;display:block;object-fit:cover}.note-inline-image:hover img{transform:scale(1.015)}.note-actions{position:absolute;top:10px;right:10px;display:flex;flex-direction:column;gap:2px;opacity:0;transition:opacity var(--motion-base) ease}.note-card:hover .note-actions,.note-card:focus-within .note-actions{opacity:1}.note-actions .icon-button{width:26px;height:26px;border-radius:7px}.note-list-switch{color:var(--muted)}.note-list-switch:hover{color:var(--accent-dark)}.note-actions .note-delete{position:static;opacity:1}.empty-state{min-height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;color:var(--muted);text-align:center;animation:rise-in var(--motion-slow) var(--ease-out) backwards}.empty-state h2{margin:0;color:var(--text-strong);font-size:18px}.empty-icon{width:54px;height:54px;display:grid;place-items:center;border:1px solid var(--accent-soft-2);border-radius:50%;color:var(--accent);background:var(--accent-soft);box-shadow:0 8px 22px -8px color-mix(in srgb,var(--accent-dark) 34%,transparent);animation:empty-float 3.4s var(--ease-in-out) infinite}@keyframes empty-float{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.mobile-nav,.floating-add,.mobile-list-chips{display:none}.list-switcher{display:grid;gap:2px;margin:4px 0 0;padding:0;border:0;background:transparent}.list-switch-item{position:relative;display:flex;align-items:center;gap:9px;width:100%;min-height:36px;padding:7px 9px;border:0;border-radius:9px;color:var(--text-mid);background:transparent;font:inherit;font-size:13.5px;font-weight:500;cursor:pointer;text-align:left;transition:background-color var(--motion-fast) ease,color var(--motion-fast) ease,box-shadow var(--motion-fast) ease}.list-switch-item:hover{color:var(--accent-dark);background:color-mix(in srgb,var(--accent-base) 4%,var(--n-fill))}.list-switch-item.active{color:var(--accent-dark);background:var(--surface);box-shadow:0 1px 2px #1018280f,0 0 0 1px var(--n-border-soft)}.list-switch-item.active .list-switch-name{font-weight:600}.list-switch-item svg{flex:0 0 auto}.list-switch-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-switch-item .nav-count{flex:0 0 auto}.list-switch-tools{flex:0 0 auto;display:flex;gap:1px;opacity:0;transition:opacity var(--motion-fast) ease}.list-switch-item:hover .list-switch-tools,.list-switch-item:focus-within .list-switch-tools{opacity:1}.list-switch-more{display:grid;place-items:center;width:20px;height:20px;border-radius:5px;color:var(--text-soft);cursor:pointer}.list-switch-more:hover{color:var(--accent-dark);background:var(--accent-soft)}.list-switch-add{display:flex;align-items:center;justify-content:flex-start;gap:7px;min-height:32px;margin-top:2px;padding:6px 9px;border:0;border-radius:9px;color:var(--text-soft);background:transparent;font:inherit;font-size:12.5px;font-weight:500;cursor:pointer;transition:background-color var(--motion-fast) ease,color var(--motion-fast) ease}.list-switch-add:hover{color:var(--accent-dark);background:color-mix(in srgb,var(--accent-base) 4%,var(--n-fill))}.space-toggle{display:none;align-items:center;gap:5px;border:1px solid rgba(120,135,160,.22);border-radius:999px;padding:7px 10px;color:var(--accent);background:#ffffff94;font:inherit;font-size:12px;font-weight:600;white-space:nowrap}.personal-sections{display:grid;gap:28px}.task-section-heading{display:flex;align-items:center;gap:9px;margin:0 0 10px 2px}.task-section-heading h2{margin:0;color:var(--ink);font-size:16px;letter-spacing:-.005em}.task-section-heading span{min-width:0;padding:0;border-radius:0;color:var(--text-soft);background:transparent;font-size:12.5px;font-weight:500;text-align:left}.section-empty{display:flex;align-items:center;gap:8px;margin:0;padding:18px 20px;border:1px dashed rgba(120,135,160,.25);border-radius:16px;color:var(--muted);font-size:13px}.section-empty svg{flex:0 0 auto;color:var(--accent-line)}.space-toggle{border-color:var(--line);border-radius:6px;padding:7px 9px;color:var(--accent-dark);background:var(--surface);font-weight:500}.private-space-toggle{width:36px;height:36px;justify-content:center;padding:0;color:var(--text-mid)}.private-space-toggle.active{color:var(--on-accent);border-color:var(--accent);background:var(--accent)}.section-empty{border-color:var(--n-border);border-radius:var(--r-md);background:var(--n-fill-soft)}.special-page{display:grid;gap:16px}.special-page-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:-4px}.special-page-sub{margin:0;color:var(--text-soft);font-size:13px;font-weight:500}.special-page-header h2{margin:0;font-size:20px}.special-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:12px}.special-card{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:13px 12px;border:1px solid var(--line);border-radius:var(--r-md);background:rgb(var(--surface-rgb) / 95%);box-shadow:0 6px 18px color-mix(in srgb,var(--accent-dark) 5%,transparent)}.special-card:hover{border-color:var(--accent-line);box-shadow:0 9px 24px color-mix(in srgb,var(--accent-dark) 9%,transparent)}.special-card-main{min-width:0;display:flex;align-items:center;gap:10px;color:var(--ink);text-align:left;background:transparent}.special-card-icon{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border-radius:9px;color:var(--accent-dark);background:var(--accent-soft)}.special-card-copy{min-width:0;display:grid;gap:4px}.special-card-copy strong{overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.special-card-copy small{overflow:hidden;color:var(--muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.special-card-actions{display:flex;align-items:center;gap:5px}.habit-check{min-height:30px;display:inline-flex;align-items:center;gap:5px;padding:0 8px;border:1px solid var(--accent-line);border-radius:6px;color:var(--accent-dark);background:var(--accent-wash);font-size:12px;font-weight:500}.habit-check.checked{color:var(--on-accent);border-color:var(--accent);background:var(--accent)}.habit-card.is-checked{border-color:var(--accent-line);background:linear-gradient(110deg,var(--accent-wash),var(--surface))}.habit-chart{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(300px,1.3fr);align-items:stretch;gap:22px;min-height:176px;padding:20px 22px 16px;border:1px solid color-mix(in srgb,var(--accent-base) 5%,var(--n-border));border-radius:16px;background:var(--surface);box-shadow:0 1px 2px #1018280a,0 12px 30px -22px #10182842}.habit-chart-summary{display:grid;grid-template-columns:1fr 1fr;align-content:center;gap:12px}.habit-chart-summary>div{min-width:0;display:grid;gap:6px;padding:12px 13px;border:1px solid color-mix(in srgb,var(--accent-base) 4%,var(--n-border-soft));border-radius:12px;background:color-mix(in srgb,var(--accent-base) 2%,var(--n-fill))}.habit-chart-summary small{color:var(--muted);font-size:12px}.habit-chart-summary strong{color:var(--accent-dark);font-size:26px;line-height:1}.habit-chart-summary strong span{color:var(--text-mid);font-size:11px;font-weight:500}.habit-detail-backdrop{z-index:430;padding:16px}.habit-detail-dialog{width:min(620px,100%);max-height:min(860px,calc(100dvh - 32px));overflow:auto;padding:0 20px 18px;border:1px solid color-mix(in srgb,var(--accent-base) 5%,var(--n-border));border-radius:16px;background:var(--surface);box-shadow:0 28px 80px #10182838}.habit-detail-header{position:sticky;z-index:2;top:0;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 -20px 16px;padding:15px 18px;border-bottom:1px solid var(--soft-line);background:color-mix(in srgb,var(--accent-soft) 94%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.habit-detail-heading,.habit-detail-header-actions{display:flex;align-items:center;gap:10px}.habit-detail-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;color:var(--accent-dark);background:var(--accent-soft)}.habit-detail-heading h2{margin:1px 0 0;font-size:19px}.habit-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.habit-stat-grid>div{min-width:0;display:grid;gap:8px;padding:12px 11px;border:1px solid var(--accent-soft-2);border-radius:var(--r-md);background:rgb(var(--surface-rgb) / 82%)}.habit-stat-grid small{color:var(--muted);font-size:11px;white-space:nowrap}.habit-stat-grid strong{color:var(--accent-dark);font-size:23px;line-height:1}.habit-stat-grid strong span{color:var(--text-mid);font-size:10px;font-weight:500}.habit-detail-calendar{margin-top:16px;padding:13px;border:1px solid var(--accent-soft-2);border-radius:9px;background:rgb(var(--surface-rgb) / 78%)}.habit-month-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.habit-month-toolbar strong{font-size:14px}.habit-weekdays,.habit-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.habit-weekdays{margin-bottom:5px;color:var(--text-soft);font-size:10px;text-align:center}.habit-day{min-height:42px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border-radius:7px;color:var(--text-mid);background:var(--accent-wash);font-size:12px}.habit-day.empty{background:transparent}.habit-day.today{box-shadow:inset 0 0 0 1px var(--accent)}.habit-day.checked{color:#fff;background:linear-gradient(145deg,var(--accent-light),var(--accent-dark));box-shadow:0 4px 10px color-mix(in srgb,var(--accent-dark) 18%,transparent)}.habit-day.checked strong{font-weight:600}.habit-detail-chart{margin-top:14px;padding:13px;border:1px solid var(--accent-soft-2);border-radius:9px;background:rgb(var(--surface-rgb) / 78%)}.habit-detail-chart-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;font-size:12px}.habit-detail-chart-heading span{color:var(--muted);font-size:11px}.habit-detail-bars{height:118px;display:grid;grid-template-columns:repeat(14,minmax(0,1fr));align-items:end;gap:5px;padding-top:10px;border-bottom:1px solid var(--soft-line)}.habit-detail-bar{height:100%;display:grid;grid-template-rows:minmax(0,1fr) 16px;align-items:end;gap:5px}.habit-detail-bar i{width:100%;min-height:8px;border-radius:5px 5px 2px 2px;background:var(--accent-soft-2)}.habit-detail-bar i.checked{height:78%;background:linear-gradient(180deg,var(--accent-light),var(--accent))}.habit-detail-bar small{color:var(--text-soft);font-size:9px;text-align:center}.habit-detail-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:15px}.habit-detail-check{min-height:38px;padding-inline:15px}.habit-bars{min-width:0;display:grid;grid-template-columns:repeat(7,minmax(24px,1fr));align-items:end;gap:8px}.habit-bar-column{min-width:0;height:138px;display:grid;grid-template-rows:18px minmax(70px,1fr) 18px;align-items:end;gap:3px;text-align:center}.habit-bar-value{color:var(--ink);font-size:10px;font-weight:600}.habit-bar-track{width:min(22px,80%);height:100%;display:flex;align-items:end;justify-self:center;overflow:hidden;border-radius:5px 5px 3px 3px;background:color-mix(in srgb,var(--accent-base) 10%,transparent)}.habit-bar-track i{width:100%;display:block;border-radius:inherit;background:linear-gradient(180deg,var(--accent-light),var(--accent));box-shadow:0 4px 10px color-mix(in srgb,var(--accent-dark) 18%,transparent);transition:height .2s ease}.habit-bar-column small{color:var(--muted);font-size:10px}.countdown-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}.countdown-card{position:relative;min-width:0;min-height:116px;overflow:hidden;border:1px solid var(--accent-soft-2);border-radius:var(--r-md);background:linear-gradient(145deg,var(--accent-wash),var(--accent-soft));box-shadow:0 6px 16px color-mix(in srgb,var(--accent-dark) 7%,transparent)}.countdown-card:after{content:"";position:absolute;right:-28px;bottom:-40px;width:104px;height:104px;border:18px solid color-mix(in srgb,var(--accent-dark) 8%,transparent);border-radius:50%;pointer-events:none}.countdown-card.tone-1{border-color:var(--tone-blue-line);background:linear-gradient(145deg,var(--tone-blue-a),var(--tone-blue-b))}.countdown-card.tone-2{border-color:var(--tone-sand-line);background:linear-gradient(145deg,var(--tone-sand-a),var(--tone-sand-b))}.countdown-card.tone-3{border-color:var(--tone-pink-line);background:linear-gradient(145deg,var(--tone-pink-a),var(--tone-pink-b))}.countdown-card.is-holiday{border-style:dashed}.countdown-card-main{width:100%;min-height:116px;display:flex;flex-direction:column;align-items:flex-start;padding:12px 38px 11px 14px;color:var(--ink);text-align:left;background:transparent}.countdown-card-title{width:100%;min-width:0;display:flex;align-items:center;gap:7px}.countdown-card-title strong{overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.countdown-badge{flex:0 0 auto;margin-left:auto;padding:1px 6px;border-radius:999px;color:var(--accent-dark);background:color-mix(in srgb,var(--accent-dark) 14%,transparent);font-size:10px;font-weight:600}.countdown-icon{width:24px;height:24px;flex:0 0 24px;display:grid;place-items:center;border-radius:7px;color:var(--accent-dark);background:rgb(var(--surface-rgb) / 76%);box-shadow:0 2px 6px color-mix(in srgb,var(--accent-dark) 8%,transparent)}.countdown-number{margin-top:8px;color:var(--accent-deep);font-size:30px;font-weight:600;line-height:.95;font-variant-numeric:tabular-nums}.countdown-caption{margin-top:2px;color:var(--muted);font-size:11px;font-weight:600}.countdown-date{margin-top:auto;padding-top:6px;color:var(--ink);font-size:11px;font-weight:500}.countdown-note{width:100%;overflow:hidden;margin-top:4px;color:var(--muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.countdown-delete{position:absolute;z-index:2;top:7px;right:7px;padding:4px}.special-dialog{width:min(470px,100%)}.special-dialog .field select{width:100%;height:40px;padding:0 11px;border:1px solid var(--line);border-radius:6px;outline:0;color:var(--ink);background:var(--surface)}.habit-composer-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.habit-composer-fields .field input{width:100%;height:40px;padding:0 11px;border:1px solid var(--line);border-radius:6px;outline:0;color:var(--ink);background:var(--surface)}.special-dialog textarea{width:100%;min-height:88px;resize:vertical;padding:10px 11px;border:1px solid var(--line);border-radius:6px;outline:0;color:var(--ink);background:var(--surface);line-height:1.55}.date-groups{display:grid;gap:16px}.date-group{display:grid;gap:8px}.date-group-heading{display:flex;align-items:center;justify-content:flex-start;gap:8px;padding:0 3px;color:var(--ink);font-size:15px;font-weight:600}.date-group-heading:before{content:"";width:3px;height:13px;margin-right:7px;border-radius:999px;background:color-mix(in srgb,var(--accent-base) 42%,var(--surface))}.date-group-heading span{display:flex;align-items:center;flex:0 1 auto;color:var(--ink)}.date-group-heading small{color:var(--text-soft);font-size:12px;font-weight:500}.date-group-heading>*:last-child:not(small){margin-left:auto}.calendar-view{display:grid;gap:14px}.calendar-panel{overflow:hidden;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);box-shadow:0 6px 20px color-mix(in srgb,var(--accent-dark) 5%,transparent)}.calendar-toolbar{min-height:50px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;border-bottom:1px solid var(--line)}.calendar-navigation{min-width:0;display:flex;align-items:center;gap:4px}.calendar-navigation strong{min-width:0;margin-left:6px;color:var(--ink);font-size:18px;font-weight:600;white-space:nowrap}.calendar-toolbar .icon-button{width:28px;height:28px;flex-basis:28px;color:var(--muted)}.calendar-today{min-height:28px;padding:0 10px;border:1px solid var(--line);border-radius:6px;color:var(--muted);background:var(--surface);font-size:12px;font-weight:500}.calendar-today:hover{color:var(--accent-dark);border-color:var(--accent-line);background:var(--accent-soft)}.calendar-mode-control{flex:0 0 auto;display:grid;grid-auto-flow:column;gap:2px;padding:2px;border-radius:7px;background:var(--accent-wash)}.calendar-mode-control button{min-width:34px;height:26px;padding:0 8px;border-radius:5px;color:var(--muted);background:transparent;font-size:12px}.calendar-mode-control button.active{color:var(--accent-dark);background:var(--surface);font-weight:600;box-shadow:0 1px 4px color-mix(in srgb,var(--accent-dark) 12%,transparent)}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekdays{min-height:32px;align-items:center;border-bottom:1px solid var(--line);color:var(--muted);font-size:13px;font-weight:500}.calendar-weekdays span{padding-left:7px}.calendar-weekdays span:nth-child(6),.calendar-weekdays span:nth-child(7){color:var(--accent);font-weight:600}.calendar-cell{position:relative;min-width:0;display:flex;flex-direction:column;gap:0;overflow:hidden;padding:4px 5px;border-right:1px solid var(--soft-line);border-bottom:1px solid var(--soft-line);color:var(--ink);background:var(--surface);cursor:pointer;isolation:isolate}.calendar-cell:nth-child(7n){border-right:0}.calendar-cell:hover{background:var(--accent-wash)}.calendar-cell.drag-target{z-index:3;background:var(--accent-soft);box-shadow:inset 0 0 0 2px var(--accent)}.calendar-cell.outside-month{background:color-mix(in srgb,var(--soft-line) 45%,var(--surface))}.calendar-cell.outside-month .calendar-day-number{color:var(--muted);opacity:.5}.calendar-cell.outside-month .calendar-event{opacity:.55}.calendar-cell-head{height:24px;display:flex;align-items:center}.calendar-date-button{min-width:0;height:24px;display:flex;align-items:center;gap:6px;padding:0;background:transparent;text-align:left}.calendar-day-number{min-width:22px;height:22px;flex:0 0 auto;display:grid;place-items:center;border-radius:50%;font-size:16px;font-weight:600;font-variant-numeric:tabular-nums}.calendar-lunar{min-width:0;overflow:hidden;color:var(--muted);font-size:12px;line-height:1;text-overflow:ellipsis;white-space:nowrap}.calendar-lunar.is-festival{color:var(--coral);font-weight:600}.calendar-work-status{flex:0 0 auto;min-width:16px;height:16px;display:grid;place-items:center;margin-left:auto;padding:0 3px;border-radius:4px;font-size:11px;font-weight:600;line-height:1}.calendar-work-status.rest{color:var(--accent-dark);background:var(--accent-soft-2)}.calendar-work-status.work{color:var(--coral);background:color-mix(in srgb,var(--coral) 13%,var(--surface))}.calendar-cell.today{background:color-mix(in srgb,var(--accent-soft) 72%,var(--surface))}.calendar-cell.today .calendar-day-number{color:var(--on-accent);background:var(--accent)}.calendar-cell.selected{box-shadow:inset 0 0 0 1.5px var(--accent-line)}.calendar-cell.selected:not(.today) .calendar-day-number{color:var(--accent-dark);background:var(--accent-soft-2)}.calendar-events{position:relative;z-index:1;min-width:0;display:grid;gap:2px}.calendar-event{min-width:0;height:22px;display:flex;align-items:center;gap:4px;overflow:hidden;padding:0 6px;border-radius:4px;color:var(--info-ink);background:var(--info-bg);font-size:13px;line-height:22px;text-align:left;white-space:nowrap;cursor:grab}.calendar-event:active{cursor:grabbing}.calendar-event.dragging{opacity:.45}.calendar-event:hover{color:var(--info-ink-strong);background:var(--info-bg-hover)}.calendar-event time{flex:0 0 auto;color:color-mix(in srgb,var(--info-ink) 72%,var(--surface));font-variant-numeric:tabular-nums}.calendar-event>span:last-child{overflow:hidden;text-overflow:ellipsis}.calendar-event.priority-high{color:var(--danger-ink);background:var(--danger-bg-strong)}.calendar-event.priority-high:hover{background:var(--danger-bg-strong)}.calendar-event.priority-medium{color:var(--warn-ink);background:var(--warn-bg-strong)}.calendar-event.priority-medium:hover{background:var(--warn-bg-strong)}.calendar-event.priority-low{color:var(--accent-dark);background:var(--accent-soft-2)}.calendar-event.priority-low:hover{background:var(--accent-line)}.calendar-event.completed{color:var(--muted);background:color-mix(in srgb,var(--muted) 14%,var(--surface));text-decoration:line-through}.calendar-more{overflow:hidden;height:18px;padding:0 6px;color:var(--muted);font-size:11px;line-height:18px;text-align:left;text-overflow:ellipsis;white-space:nowrap}.calendar-more:hover{color:var(--accent-dark)}.month-grid,.week-grid{position:relative}.week-grid{grid-template-rows:430px}.calendar-task-range-layer{position:absolute;z-index:3;inset:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:repeat(6,132px);pointer-events:none}.week-grid .calendar-task-range-layer{grid-template-rows:430px}.calendar-task-range-bar{height:22px;align-self:start;display:flex;align-items:center;gap:4px;min-width:0;margin:28px 4px 0;overflow:hidden;padding:0 6px;border-radius:4px;color:var(--accent-dark);background:var(--accent-soft-2);font-size:13px;line-height:22px;text-align:left;text-overflow:ellipsis;white-space:nowrap;pointer-events:auto}.calendar-task-range-bar i{width:5px;height:5px;flex:0 0 5px;border-radius:50%;background:var(--accent)}.calendar-task-range-bar:hover{background:var(--accent-line)}.calendar-task-range-bar.completed{color:var(--muted);background:var(--soft-line);text-decoration:line-through}.calendar-task-range-bar.completed i{background:var(--muted)}.week-grid .calendar-cell{min-height:430px}.week-grid .calendar-cell:last-child{border-right:0}.calendar-day-focus{padding:14px}.calendar-day-focus .calendar-cell{min-height:360px;border:1px solid var(--line);border-radius:7px}.calendar-day-focus .calendar-date-button{justify-content:flex-start}.calendar-day-focus .calendar-events{max-width:620px}.calendar-day-focus .calendar-event{height:30px;font-size:13px}.calendar-list-view{padding:16px}.calendar-create-backdrop{z-index:430}.calendar-create-dialog{width:min(430px,100%);padding-bottom:0}.calendar-create-dialog .dialog-header{margin-bottom:16px}.calendar-create-dialog .dialog-header h2{font-size:18px}.calendar-create-time{display:grid;grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr);align-items:end;gap:7px}.calendar-create-time-separator{padding-bottom:25px;color:var(--muted);font-size:12px;text-align:center}.calendar-create-dialog .field input{width:100%;height:42px;padding:0 11px;border:1px solid var(--line);border-radius:6px;outline:0;color:var(--ink);background:var(--surface);color-scheme:light}.calendar-create-dialog .field input:focus{border-color:var(--focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-dark) 10%,transparent)}.calendar-create-dialog .dialog-actions{margin-bottom:0}.calendar-day-heading{display:flex;align-items:end;justify-content:space-between;gap:16px}.calendar-day-heading h2{margin:0;color:var(--ink);font-size:20px}.calendar-agenda-lunar{margin:3px 0 0;color:var(--text-mid);font-size:12px}.calendar-day-heading>span{padding:4px 9px;border-radius:999px;color:var(--muted);background:var(--accent-soft);font-size:12px}.calendar-agenda{min-width:0;display:grid;gap:14px;padding:16px;border:1px solid var(--line);border-radius:var(--r-md);background:rgb(var(--surface-rgb) / 96%);box-shadow:0 8px 26px color-mix(in srgb,var(--accent-dark) 6%,transparent)}.calendar-agenda .personal-sections{gap:16px}.calendar-agenda .date-group-heading{display:none}.calendar-agenda .date-groups{gap:8px}.dialog-backdrop{position:fixed;z-index:100;inset:var(--dialog-viewport-top, 0px) 0 auto;height:min(var(--dialog-viewport-height, 100dvh),100dvh);display:grid;justify-items:center;align-items:start;padding:clamp(36px,12vh,120px) 20px 24px;overflow:hidden;touch-action:none;overscroll-behavior:none;background:color-mix(in srgb,var(--accent-base) 2%,rgb(243 245 247 / 54%));-webkit-backdrop-filter:blur(9px) saturate(105%);backdrop-filter:blur(9px) saturate(105%);animation:fade-in .2s ease-out}.dialog-backdrop:has(.confirm-dialog),.dialog-backdrop:has(.install-dialog),.dialog-backdrop:has(.personal-lock-dialog){align-items:center;padding:20px}.auth-backdrop{overflow:hidden}.auth-backdrop.keyboard-open{place-items:start center;padding-top:max(12px,env(safe-area-inset-top))}.auth-backdrop.keyboard-open .auth-dialog{max-height:calc(100dvh - 16px);scroll-padding-block:24px}@keyframes fade-in{0%{opacity:0}}.dialog{width:min(660px,100%);max-height:min(820px,calc(var(--dialog-viewport-height, 100dvh) - 148px));overflow:auto;touch-action:pan-y;overflow-anchor:none;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:0 22px 20px;border:1px solid color-mix(in srgb,var(--accent-base) 5%,var(--n-border));border-radius:18px;background:var(--surface);box-shadow:0 32px 84px #10182838,0 3px 12px #1018280f;animation:dialog-in .24s var(--ease-out)}@keyframes dialog-in{0%{opacity:0;transform:translateY(14px) scale(.972)}}.dialog-header{position:sticky;z-index:2;top:0;display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 -22px 20px;padding:16px 20px;border-bottom:1px solid var(--soft-line);background:rgb(var(--surface-rgb) / 96%);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.dialog-header h2{margin:0;font-size:20px}.dialog-header>.icon-button{color:var(--text-strong);border:1px solid rgb(174 174 178 / 42%);background:rgb(var(--surface-rgb) / 82%);box-shadow:0 3px 12px #1f263414}.dialog-header>.icon-button:hover{color:var(--accent-dark);border-color:color-mix(in srgb,var(--accent-dark) 32%,transparent);background:var(--accent-soft)}.confirm-backdrop{z-index:220}.confirm-backdrop.raised{z-index:300}.confirm-dialog{width:min(390px,100%);padding:30px 26px 22px;text-align:center}.confirm-icon{width:52px;height:52px;display:grid;place-items:center;margin:0 auto 15px;border:1px solid var(--danger-bg-strong);border-radius:16px;color:var(--danger-ink);background:var(--danger-bg);box-shadow:0 8px 20px #d92d201a}.confirm-dialog h2{margin:0;color:var(--ink);font-size:18px;font-weight:600}.confirm-dialog p{margin:10px auto 22px;color:var(--muted);font-size:13px;line-height:1.65}.confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.confirm-actions button{width:100%}.danger-button{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 12px;border-radius:var(--r-sm);color:#fff;background:var(--danger-ink);font-weight:600;box-shadow:0 5px 14px #d92d202e}.danger-button:hover{background:var(--danger-ink)}.segmented{width:max-content;display:grid;grid-auto-flow:column;gap:2px;padding:3px;border:1px solid var(--n-border);border-radius:var(--r-sm);background:var(--n-fill)}.segmented button{min-width:88px;height:34px;display:flex;align-items:center;justify-content:center;gap:7px;border-radius:6px;color:var(--text-mid);background:transparent}.segmented button.active{color:var(--accent-dark);font-weight:600;background:var(--surface);box-shadow:0 1px 4px #1f26341a}.title-input{width:100%;padding:3px 2px 11px;border:0;border-bottom:1px solid var(--soft-line);outline:0;color:var(--ink);font-size:17px;font-weight:500;line-height:1.45;background-image:linear-gradient(var(--accent),var(--accent));background-repeat:no-repeat;background-position:center bottom;background-size:0% 2px;transition:background-size var(--motion-slow) var(--ease-out),border-color var(--motion-base) ease}.title-input:focus{border-bottom-color:transparent;background-size:100% 2px}.title-hint{display:flex;align-items:center;gap:5px;margin:8px 0 0;color:var(--accent-dark);font-size:12px;font-weight:500;animation:fade-in .22s ease-out}.title-hint svg{flex:0 0 auto}.title-input::placeholder{color:var(--text-soft)}.composer-dialog textarea{width:100%;min-height:108px;resize:vertical;margin:8px 0 12px;padding:10px 2px;border:0;border-bottom:1px solid var(--soft-line);border-radius:0;outline:0;color:var(--ink);font-size:14px;line-height:1.58;background:transparent}.composer-task textarea{height:76px;min-height:62px}.composer-note{width:min(720px,100%)}.composer-note .title-input{padding:8px 2px 14px;font-size:20px}.note-editor{display:grid;align-content:start;gap:10px;margin:12px 0 14px;padding:0;border:1px solid var(--accent-soft-2);border-radius:8px;background:rgb(var(--surface-rgb) / 76%);overflow:hidden}.note-editor-toolbar{min-height:43px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 8px 6px 13px;border-bottom:1px solid var(--accent-soft);color:var(--text-mid);background:var(--accent-wash)}.note-editor-toolbar>span{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600}.note-editor-toolbar>span svg{color:var(--accent)}.note-editor-toolbar button{min-height:32px;display:inline-flex;align-items:center;gap:6px;padding:0 10px;border:1px solid var(--accent-soft-2);border-radius:6px;color:var(--accent-dark);background:var(--accent-wash);font-size:12px;font-weight:600}.note-editor-toolbar button:hover{border-color:var(--accent-line);background:var(--accent-soft)}.note-editor-canvas{min-height:240px;display:grid;align-content:start;gap:10px;padding:4px 18px 18px}.composer-dialog .note-editor .note-text-block{width:100%;resize:none;margin:0;padding:10px 2px;border:0;border-radius:0;background:transparent;font-size:15px;line-height:1.78}.note-check-editor{min-width:0;display:grid;grid-template-columns:24px minmax(0,1fr) 28px;align-items:center;gap:7px;min-height:40px;padding:5px 6px;border:1px solid var(--accent-soft-2);border-radius:7px;background:var(--accent-wash)}.note-check-toggle{width:20px;height:20px;display:grid;place-items:center;padding:0;border:1.5px solid var(--muted);border-radius:5px;color:var(--surface);background:var(--surface)}.note-check-editor.checked .note-check-toggle{border-color:var(--accent);background:var(--accent)}.note-check-editor input{min-width:0;width:100%;height:30px;padding:0 4px;border:0;outline:0;color:var(--ink);background:transparent;font-size:14px}.note-check-editor.checked input{color:var(--text-soft);text-decoration:line-through}.note-check-remove{width:28px;height:28px;display:grid;place-items:center;padding:0;border-radius:5px;color:var(--text-soft);background:transparent}.note-check-remove:hover{color:var(--danger-ink);background:var(--danger-bg)}.note-image-block{position:relative;width:min(100%,520px);overflow:hidden;margin:0;border:1px solid var(--line);border-radius:var(--r-md);background:var(--accent-soft)}.note-image-open{width:100%;display:block;padding:0;background:transparent}.note-image-open img{width:100%;max-height:360px;display:block;object-fit:contain;background:var(--accent-soft)}.note-image-remove{position:absolute;top:7px;right:7px;width:28px;height:28px;display:grid;place-items:center;border:1px solid rgb(255 255 255 / 72%);border-radius:50%;color:#2c2c2e;background:color-mix(in srgb,var(--accent-dark) 68%,transparent);box-shadow:0 2px 8px #00000029;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.note-image-remove:hover{background:var(--danger-ink)}.note-image-error{margin:-2px 0 3px;color:var(--danger-ink);font-size:12px}.note-appearance{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:4px;padding:9px 12px;border:1px solid var(--soft-line);border-radius:8px;background:var(--accent-wash)}.note-appearance .color-field{display:flex;align-items:center;gap:12px;margin:0}.note-appearance .color-field legend{float:left;margin:0;font-size:12px}.note-appearance .swatches{gap:7px}.composer-error{flex:1 1 100%;display:flex;align-items:center;gap:5px;min-width:0;margin:0;color:var(--danger-ink);font-size:12px;line-height:1.5;text-align:left;animation:fade-in .18s ease-out}.composer-error svg{flex:0 0 auto}.dialog-actions:has(.composer-error){flex-wrap:wrap}.image-lightbox{position:fixed;z-index:1000;inset:0;display:grid;place-items:center;padding:max(18px,env(safe-area-inset-top)) 18px max(18px,env(safe-area-inset-bottom));background:color-mix(in srgb,var(--accent-dark) 88%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.image-lightbox img{max-width:min(1200px,96vw);max-height:92vh;display:block;object-fit:contain;border-radius:6px;box-shadow:0 24px 80px #0000006b}.image-lightbox-close{position:fixed;z-index:1;top:max(14px,env(safe-area-inset-top));right:max(14px,env(safe-area-inset-right));width:42px;height:42px;display:grid;place-items:center;border:1px solid rgb(255 255 255 / 24%);border-radius:50%;color:var(--surface);background:color-mix(in srgb,var(--accent-dark) 64%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.image-lightbox-close:hover{background:#ffffff2e}.composer-task{width:min(500px,100%);transition:width .18s ease,max-height .18s ease}.composer-task.is-expanded{width:min(620px,100%)}.composer-task .dialog-header{margin-bottom:14px}.composer-copy-example{width:100%;min-height:24px;display:flex;align-items:center;gap:5px;margin:-6px 0 5px;padding:2px 3px;overflow:hidden;color:var(--text-mid);background:transparent;font-size:11px;text-align:left}.composer-copy-example:hover{color:var(--accent-dark);background:var(--accent-soft)}.composer-copy-example svg{flex:0 0 auto}.composer-copy-example span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.composer-copy-example small{flex:0 0 auto;margin-left:auto;color:var(--text-soft);font-size:10px}.composer-task .title-input{padding-bottom:13px}.composer-section-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:12px 0 2px}.composer-section-tabs button{min-width:0;height:38px;display:grid;grid-template-columns:16px minmax(0,1fr) 14px;align-items:center;gap:5px;padding:0 9px;border:1px solid var(--line);border-radius:7px;color:var(--text-mid);background:color-mix(in srgb,var(--accent-soft) 92%,transparent);font-size:12px;font-weight:500;text-align:left}.composer-section-tabs button>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.composer-section-tabs button>svg:first-child{color:var(--accent)}.composer-section-tabs button>svg:last-child{color:var(--text-soft);transition:transform .16s ease}.composer-section-tabs button:hover{border-color:var(--accent-line);color:var(--accent-dark);background:var(--accent-soft)}.composer-section-tabs button.active{border-color:var(--accent-light);color:var(--accent-deep);background:var(--accent-soft);box-shadow:0 3px 10px color-mix(in srgb,var(--accent-dark) 9%,transparent)}.composer-section-tabs button.active>svg:last-child{transform:rotate(180deg)}.composer-section-panel{margin-top:10px;padding:12px;border:1px solid var(--accent-soft-2);border-radius:10px;background:linear-gradient(145deg,var(--accent-wash),color-mix(in srgb,var(--accent-wash) 92%,var(--n-fill)));box-shadow:inset 0 1px #ffffffe5,0 5px 18px color-mix(in srgb,var(--accent-dark) 4%,transparent);animation:composer-panel-in .16s ease-out}:root[data-theme=dark] .composer-section-panel{box-shadow:inset 0 1px #ffffff0d,0 5px 18px #0000003d}@keyframes composer-panel-in{0%{opacity:0;transform:translateY(-4px)}}.composer-section-panel .form-grid{margin-bottom:0}.composer-section-title{display:inline-flex;align-items:center;gap:6px;color:var(--ink);font-weight:600}.compact-task-options{gap:9px}.composer-details-panel>textarea{height:58px;min-height:52px;margin:-3px 0 11px;padding-top:7px}.composer-details-panel .subtask-editor{margin-bottom:11px;background:var(--surface)}.details-grid{margin-bottom:10px!important}.composer-details-panel>.checkbox-field{margin-top:2px}.composer-task:not(.is-expanded) .dialog-actions{margin-top:14px}.subtask-editor{margin:4px 0 15px;padding:12px;border:1px solid var(--line);border-radius:var(--r-md);background:color-mix(in srgb,var(--accent-soft) 86%,transparent)}.subtask-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;color:var(--ink);font-size:13px;font-weight:600}.subtask-heading small{color:var(--muted);font-size:12px;font-weight:500}.subtask-list{display:grid;gap:3px;margin-bottom:8px}.subtask-row{min-width:0;display:grid;grid-template-columns:20px minmax(0,1fr) 26px 26px;align-items:center;gap:7px;min-height:30px;color:var(--ink);font-size:13px}.subtask-title{min-width:0;overflow:hidden;padding:0;color:var(--ink);background:transparent;text-align:left;text-overflow:ellipsis;white-space:nowrap}.subtask-title:hover{color:var(--accent-dark)}.subtask-title-input{min-width:0;width:100%;height:28px;padding:0 6px;border:1px solid var(--focus);border-radius:5px;outline:0;color:var(--ink);background:var(--surface);font-size:13px}.subtask-row.completed .subtask-title{color:var(--muted);text-decoration:line-through}.subtask-check{width:18px;height:18px;display:grid;place-items:center;border:1px solid var(--text-faint);border-radius:50%;color:#fff;background:var(--surface)}.subtask-check:hover{border-color:var(--accent)}.subtask-row.completed .subtask-check{border-color:var(--accent);background:var(--accent)}.subtask-edit,.subtask-delete{justify-self:end;opacity:0;color:var(--text-soft)}.subtask-edit:hover{color:var(--accent-dark);background:var(--accent-soft)}.subtask-row:hover .subtask-delete,.subtask-row:focus-within .subtask-delete{opacity:1}.subtask-row:hover .subtask-edit,.subtask-row:focus-within .subtask-edit{opacity:1}.subtask-add{height:34px;display:flex;align-items:center;gap:7px;padding:0 7px;border:1px dashed var(--accent-line);border-radius:6px;color:var(--accent);background:var(--surface)}.subtask-add input{min-width:0;flex:1;border:0;outline:0;color:var(--ink);background:transparent;font-size:13px}.subtask-add input::placeholder{color:var(--text-soft)}.title-input:focus-visible{outline:0;border-bottom-color:var(--accent)}.composer-dialog textarea:focus,.field input:focus,.form-grid input:focus,.form-grid select:focus{border-color:var(--focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-dark) 10%,transparent)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px;margin-bottom:12px}.form-grid label,.field,.date-field,.reminder-field,.due-time-field{display:flex;flex-direction:column;gap:7px;color:var(--text-mid);font-size:13px;font-weight:500}.form-grid input,.form-grid select,.field input{width:100%;height:40px;padding:0 11px;border:1px solid var(--line);border-radius:6px;outline:0;color:var(--ink);background:var(--surface)}.date-field,.reminder-field,.completion-field{grid-column:1 / -1}.date-field{gap:9px}.date-field>.composer-section-title{padding-bottom:2px}.date-range-end{display:grid!important;grid-template-columns:112px minmax(0,1fr);align-items:center;gap:8px;margin-top:1px}.date-range-end>span{color:var(--text-mid);font-size:12px;font-weight:500}.date-range-end .date-picker-trigger{min-height:36px}.date-shortcuts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:2px}.date-shortcuts button{min-height:32px;padding:5px 8px;border:1px solid var(--line);border-radius:6px;color:var(--text-mid);background:var(--n-fill-soft);font-size:12px;font-weight:500}.date-shortcuts button:hover{border-color:var(--accent-line);color:var(--accent-dark);background:var(--accent-soft)}.date-shortcuts button.active{border-color:var(--accent);color:var(--on-accent);background:linear-gradient(180deg,var(--accent),var(--accent));box-shadow:0 4px 12px color-mix(in srgb,var(--accent-dark) 22%,transparent)}.date-stepper{height:42px;display:grid;grid-template-columns:42px minmax(0,1fr) 42px;overflow:hidden;border:1px solid var(--accent-soft-2);border-radius:var(--r-md);background:var(--surface);box-shadow:0 2px 8px color-mix(in srgb,var(--accent-dark) 4%,transparent)}.date-stepper button{display:grid;place-items:center;color:var(--accent);background:transparent}.date-stepper button:hover{background:var(--accent-soft)}.date-stepper button:first-child{border-right:1px solid rgb(174 174 178 / 34%)}.date-stepper button:last-child{border-left:1px solid rgb(174 174 178 / 34%)}.date-stepper input{width:100%;min-width:0;height:42px;padding:0 12px;border:0;outline:0;color:var(--ink);text-align:center;background:transparent;color-scheme:light}.date-stepper .date-picker-trigger{min-height:42px;border:0;border-radius:0;box-shadow:none}.date-picker-trigger{width:100%;min-width:0;min-height:40px;display:inline-flex;align-items:center;justify-content:space-between;gap:7px;padding:0 11px;border:1px solid var(--line);border-radius:7px;color:var(--text-mid);background:linear-gradient(180deg,var(--surface),var(--accent-wash));font-size:13px;font-weight:500;text-align:left}.date-picker-trigger span{min-width:0;overflow:hidden;flex:1;text-overflow:ellipsis;white-space:nowrap}.date-picker-trigger:hover,.date-picker-trigger.has-value{border-color:var(--accent-line);color:var(--accent-dark);background:var(--accent-wash)}.date-picker-trigger.compact{min-height:42px;border:0;border-radius:0;background:transparent;box-shadow:none;justify-content:center;flex-direction:row}.date-picker-trigger.compact>svg{display:none}.date-picker-trigger.compact span{flex:0 1 auto;text-align:center}.date-picker-backdrop{position:fixed;z-index:799;inset:0;border:0;background:transparent}.date-picker-popover{position:fixed;z-index:800;width:min(320px,calc(100vw - 16px));max-height:calc(100dvh - 16px);overflow-y:auto;overscroll-behavior:contain;display:grid;gap:11px;padding:14px;border:1px solid var(--accent-soft-2);border-radius:var(--r-md);background:rgb(var(--surface-rgb) / 98%);box-shadow:var(--shadow-popover);-webkit-backdrop-filter:blur(24px) saturate(140%);backdrop-filter:blur(24px) saturate(140%)}.date-picker-toolbar{display:grid;grid-template-columns:32px minmax(0,1fr) 32px;align-items:center;gap:6px}.date-picker-toolbar strong{color:var(--ink);font-size:15px;text-align:center}.date-picker-shortcuts{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.date-picker-shortcuts button{min-height:31px;border:1px solid var(--line);border-radius:7px;color:var(--text-mid);background:var(--accent-wash);font-size:12px;font-weight:500}.date-picker-shortcuts button:hover{border-color:var(--accent-line);color:var(--accent-dark);background:var(--accent-soft)}.date-picker-weekdays,.date-picker-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.date-picker-weekdays span{color:var(--text-soft);font-size:10px;font-weight:500;text-align:center}.date-picker-grid button{min-width:0;height:31px;border-radius:50%;color:var(--ink);background:transparent;font-size:12px;font-weight:500}.date-picker-grid button:hover{color:var(--accent-dark);background:var(--accent-soft)}.date-picker-grid button.outside{color:var(--text-faint)}.date-picker-grid button.today{box-shadow:inset 0 0 0 1px var(--accent-light)}.date-picker-grid button.selected{color:#fff;background:linear-gradient(145deg,var(--accent),var(--accent-dark));box-shadow:0 4px 10px color-mix(in srgb,var(--accent-dark) 23%,transparent)}.date-picker-grid button:disabled{color:var(--text-faint);cursor:not-allowed}.date-picker-footer{display:flex;justify-content:flex-end;gap:8px;padding-top:3px;border-top:1px solid var(--soft-line)}.date-picker-footer button{min-height:32px;padding-inline:14px;font-size:12px}.date-range-value{min-width:0;display:grid;place-items:center;color:var(--accent-deep);background:var(--accent-soft);font-size:13px;font-weight:600}.reminder-field>span,.due-time-field>span{display:inline-flex;align-items:center;gap:6px}.reminder-field>span svg,.due-time-field>span svg{color:var(--accent)}.due-time-field{margin-top:2px}.completion-field>span{display:inline-flex;align-items:center;gap:6px}.completion-field>span svg{color:var(--text-mid)}.reminder-control,.due-time-control{height:42px;display:flex;align-items:center;overflow:hidden;border:1px solid var(--line);border-radius:6px;background:var(--surface)}.date-time-picker-fields{min-width:0;flex:1;display:grid;grid-template-columns:minmax(0,1fr) 92px;align-items:center;gap:4px}.date-time-picker-fields .date-picker-trigger{min-height:40px}.date-time-picker-fields>input[type=time]{min-width:0;width:100%;height:38px;padding:0 7px;border:0;outline:0;color:var(--ink);background:transparent;color-scheme:light;font-size:13px;font-weight:500}.reminder-control:focus-within,.due-time-control:focus-within{border-color:var(--focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-dark) 10%,transparent)}.reminder-control input,.due-time-control input{min-width:0;flex:1;height:40px;border:0!important;box-shadow:none!important;background:transparent;color-scheme:light}.due-time-control{height:auto;gap:8px;padding:6px;overflow:visible;border:0;border-radius:10px;background:var(--accent-soft)}.due-time-range .time-part{position:relative;min-width:0;min-height:58px;flex:1 1 0;display:flex;flex-direction:column;justify-content:center;gap:5px;padding:8px 10px;overflow:hidden;border:1px solid var(--accent-soft-2);border-radius:var(--r-md);color:var(--muted);background:var(--surface);box-shadow:0 2px 8px color-mix(in srgb,var(--accent-dark) 4%,transparent);cursor:pointer;touch-action:manipulation;transition:border-color .14s ease,background .14s ease,box-shadow .14s ease,transform .14s ease}.due-time-range .time-part:hover{border-color:var(--accent-light);background:var(--accent-wash);box-shadow:0 4px 12px color-mix(in srgb,var(--accent-dark) 8%,transparent)}.due-time-range .time-part:active{border-color:var(--accent);background:var(--accent-soft);transform:scale(.995)}.due-time-range .time-part:focus-within{border-color:var(--accent-light);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-dark) 10%,transparent)}.due-time-range .time-part small{font-size:10px;font-weight:500;line-height:1.2}.due-time-range .time-value{min-width:0;display:flex;align-items:center;gap:6px;color:var(--text-soft)}.due-time-range .time-value svg{flex:0 0 auto;color:var(--accent)}.due-time-range .time-value strong{overflow:hidden;font-size:13px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.due-time-range .time-part.has-value .time-value{color:var(--accent-deep)}.due-time-range .time-part.disabled{opacity:.52;background:var(--soft-line);cursor:not-allowed;transform:none}.due-time-range .time-native-input{position:absolute;inset:0;width:100%!important;height:100%!important;padding:0!important;opacity:0;cursor:pointer}.due-time-range .time-range-arrow{width:24px;display:grid;place-items:center;flex:0 0 24px;color:var(--accent)}.due-time-range .time-clear-button{width:32px;align-self:stretch;display:grid;place-items:center;flex:0 0 32px;padding:0;border:0;border-radius:7px;color:var(--text-mid);background:rgb(var(--surface-rgb) / 76%)}.reminder-control>button,.due-time-control>button:not(.time-clear-button){align-self:stretch;padding:0 12px;border-left:1px solid var(--soft-line);color:var(--accent-dark);background:var(--accent-wash);font-size:12px;font-weight:500}.reminder-control>button:hover,.due-time-control>button:not(.time-clear-button):hover{background:var(--accent-soft)}.field{margin-bottom:12px}.tag-options{display:flex;flex-wrap:wrap;gap:6px}.tag-options button{min-height:30px;padding:4px 10px;border:1px solid var(--line);border-radius:6px;color:var(--text-mid);background:var(--accent-wash);font-size:12px;font-weight:500}.tag-options button:hover{border-color:var(--accent-line);color:var(--accent-dark);background:var(--accent-soft)}.tag-options button.active{border-color:var(--accent-light);color:var(--accent-deep);background:var(--accent-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent-dark) 8%,transparent)}.color-field{margin:0 0 17px;padding:0;border:0}.color-field legend{margin-bottom:9px;color:var(--text-mid);font-size:13px;font-weight:500}.swatches{display:flex;gap:9px}.swatch{width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--n-border);border-radius:50%}.swatch.selected{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--accent)}.swatch-paper{background:var(--surface)}.swatch-mint{background:var(--accent-soft-2)}.swatch-sun{background:var(--swatch-sun)}.swatch-rose{background:var(--swatch-rose)}.swatch-sky{background:var(--swatch-sky)}.checkbox-field{width:max-content;display:flex;align-items:center;gap:8px;color:var(--text-strong);font-size:14px;cursor:pointer}.checkbox-field input{width:17px;height:17px;accent-color:var(--accent)}.dialog-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;margin:22px 0 2px}.mobile-keyboard-open .dialog-backdrop{place-items:start center;padding-top:max(8px,env(safe-area-inset-top));overflow:hidden}body.mobile-keyboard-open{overflow:hidden}body.mobile-keyboard-open :is(.date-picker-popover,.quick-date-popover,.postpone-menu){max-height:calc(var(--dialog-viewport-height, 100dvh) - 16px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.mobile-keyboard-open .dialog,.mobile-keyboard-open .habit-detail-dialog{max-height:calc(var(--dialog-viewport-height, 100dvh) - 10px);scroll-padding:72px 0 104px;overscroll-behavior:contain}.mobile-keyboard-open .dialog :is(input,textarea,select,[contenteditable=true]){scroll-margin-block:72px 104px}.mobile-keyboard-open .dialog-actions{position:sticky;z-index:4;bottom:0;margin:14px -17px 0;padding:10px 17px;background:color-mix(in srgb,var(--accent-soft) 97%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.dialog-actions>span{flex:1 1 auto}.dialog-actions>button{flex:0 0 auto}.dialog-delete{min-width:82px}.backup-backdrop{z-index:240}.backup-dialog{width:min(560px,100%)}.backup-section{padding:16px 0;border-bottom:1px solid var(--soft-line)}.backup-section:last-of-type{padding-bottom:4px;border-bottom:0}.backup-section-head{display:flex;align-items:center;gap:8px;margin-bottom:7px;color:var(--accent-dark)}.backup-section-head h3{margin:0;color:var(--ink);font-size:15px;font-weight:500}.backup-section>p{margin:0 0 12px;color:var(--muted);font-size:13px;line-height:1.62}.backup-section>button{min-width:150px}.backup-section>p.backup-empty{margin:0;padding:14px;border:1px dashed var(--line);border-radius:var(--r-md);background:color-mix(in srgb,var(--accent-soft) 70%,transparent);color:var(--text-soft);text-align:center}.snapshot-list{display:grid;gap:6px;max-height:240px;overflow:auto;margin:0;padding:5px;border:1px solid var(--line);border-radius:var(--r-md);background:color-mix(in srgb,var(--accent-soft) 60%,transparent);list-style:none}.snapshot-list>li{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;border-radius:var(--r-sm);background:var(--surface);box-shadow:0 1px 3px color-mix(in srgb,var(--accent-dark) 5%,transparent)}.snapshot-tag{flex:0 0 auto;padding:2px 8px;border-radius:999px;background:var(--accent-soft);color:var(--accent-dark);font-size:11px;font-weight:500}.snapshot-tag.weekly{background:var(--warn-bg);color:var(--warn-ink)}.snapshot-key{flex:1 1 auto;min-width:0;color:var(--ink);font-size:13px;font-weight:500;font-variant-numeric:tabular-nums}.snapshot-count{flex:0 0 auto;color:var(--muted);font-size:12px}.snapshot-actions{flex:0 0 auto;display:inline-flex;align-items:center;gap:2px;margin-left:auto}.snapshot-actions .text-button{min-height:32px;gap:4px;padding-inline:7px;font-size:12.5px}.snapshot-total{margin-left:2px;color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}.snapshot-clear{margin-left:auto;min-height:30px;gap:4px;padding-inline:8px;font-size:12.5px}.backup-section-head:has(.snapshot-clear){gap:7px}.auth-dialog{width:min(440px,100%)}.personal-lock-backdrop{z-index:520}.personal-lock-dialog{width:min(420px,100%)}.personal-lock-heading{display:flex;align-items:center;gap:10px}.personal-lock-heading>span{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;color:var(--accent-deep);background:var(--accent-soft)}.personal-lock-heading small{display:block;margin-bottom:1px;color:var(--text-soft);font-size:10px;font-weight:600}.personal-lock-heading h2{font-size:17px}.personal-lock-copy{margin:2px 0 16px;color:var(--text-mid);font-size:13px;line-height:1.6}.personal-lock-error{margin:-2px 0 10px;color:var(--danger-ink);font-size:12px;font-weight:500}.personal-lock-recover{width:max-content;margin:-3px 0 2px auto;padding:5px 2px;color:var(--accent-dark);background:transparent;font-size:12px;font-weight:500}.personal-lock-recover:hover{color:var(--accent-deep);text-decoration:underline}.personal-lock-manage-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.personal-lock-manage-actions button{justify-content:center;min-height:42px}.personal-lock-manage-actions .danger-text{color:var(--danger-ink)}.personal-lock-manage-actions .danger-text:hover{border-color:var(--danger-line);background:var(--danger-bg)}.auth-dialog{scroll-padding-block:22px}.auth-form{padding-bottom:2px}.auth-mode{width:100%;margin-bottom:20px}.auth-mode button{width:100%}.auth-password-label{display:flex;align-items:center;justify-content:space-between;gap:12px}.auth-password-label small{color:var(--muted);font-size:11px;font-weight:500}.auth-password-input{position:relative;display:block}.auth-password-input input{width:100%;padding-right:44px}.auth-password-toggle{position:absolute;top:50%;right:5px;width:34px;height:34px;display:grid;place-items:center;transform:translateY(-50%);border:0;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer}.auth-password-toggle:hover{background:var(--accent-soft);color:var(--accent)}.auth-remember{display:grid;grid-template-columns:18px 1fr;column-gap:8px;align-items:center;margin-top:12px;color:var(--ink);font-size:13px;cursor:pointer}.auth-remember input{width:16px;height:16px;margin:0;accent-color:var(--accent)}.auth-remember small{grid-column:2;color:var(--muted);font-size:11px;margin-top:2px}.auth-credential-row{display:flex;align-items:flex-end;justify-content:space-between;gap:10px}.auth-load-credential{display:inline-flex;flex:0 0 auto;align-items:center;gap:4px;margin-bottom:1px;font-size:12px}.form-error{display:flex;align-items:flex-start;gap:6px;margin:-4px 0 14px;color:var(--coral);font-size:13px;line-height:1.4}.form-error svg{flex:0 0 auto;margin-top:1px}.auth-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px}.cloud-unconfigured{display:flex;flex-direction:column;align-items:center;gap:10px;padding:18px 10px 24px;text-align:center}.cloud-unconfigured>span{width:54px;height:54px;display:grid;place-items:center;border-radius:50%;color:var(--warn-ink);background:var(--warn-bg)}.cloud-unconfigured p{max-width:330px;margin:0;color:var(--muted);font-size:14px;line-height:1.65}.account-panel{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:13px;padding:10px 0 16px}.account-avatar{width:52px;height:52px;display:grid;place-items:center;border-radius:50%;color:var(--accent);background:var(--accent-soft)}.account-panel strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-panel p{margin:4px 0 0;color:var(--muted);font-size:13px}.account-actions{display:flex;align-items:center;gap:7px}.admin-backdrop{z-index:540}.admin-dialog{width:min(1180px,100%);max-height:min(820px,calc(100dvh - 32px))}.admin-security-note{display:flex;align-items:flex-start;gap:7px;margin:0;padding:10px 12px;border:1px solid var(--accent-soft-2);border-radius:7px;color:var(--accent-dark);background:var(--accent-soft);font-size:12px;line-height:1.55}.admin-security-note svg{flex:0 0 auto;margin-top:1px}.admin-user-list{display:grid;gap:8px;margin-top:14px}.admin-user-summary{color:var(--muted);font-size:12px;text-align:right}.admin-user-row{display:grid;grid-template-columns:minmax(180px,1.2fr) minmax(280px,1.8fr);align-items:center;gap:14px;padding:12px;border:1px solid var(--line);border-radius:7px;background:var(--surface)}.admin-user-main{min-width:0}.admin-user-main strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.admin-user-main code{display:block;overflow:hidden;margin-top:4px;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.admin-user-main>small{display:block;margin-top:5px;color:var(--accent-dark);font-size:11px}.admin-user-row dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}.admin-user-row dl div{min-width:0}.admin-user-row dt{color:var(--muted);font-size:10px}.admin-user-row dd{overflow:hidden;margin:3px 0 0;color:var(--ink);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.admin-reset{min-width:96px}.admin-user-actions{grid-column:1 / -1;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.admin-user-actions button{min-height:34px}.admin-data-preview{display:grid;gap:10px;margin-top:4px;padding:12px;border:1px solid var(--accent-line);border-radius:7px;background:var(--accent-wash)}.admin-data-preview-head{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px}.admin-data-preview-head div{min-width:0}.admin-data-preview-head small{display:block;color:var(--muted);font-size:10px}.admin-data-preview-head strong{display:block;overflow:hidden;margin-top:2px;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.admin-data-preview-head>span{color:var(--muted);font-size:12px}.admin-data-items{display:grid;gap:6px;max-height:min(460px,calc(100dvh - 270px));overflow:auto;overscroll-behavior:contain}.admin-data-section{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.admin-data-section+.admin-data-section{margin-top:6px;padding-top:10px;border-top:1px solid var(--line)}.admin-data-section-head{display:flex;grid-column:1 / -1;align-items:center;justify-content:space-between;gap:10px;padding:0 2px}.admin-data-section-head strong{color:var(--accent-deep);font-size:12px}.admin-data-section-head span{color:var(--muted);font-size:10px}.admin-data-item{display:grid;grid-template-columns:14px minmax(0,1fr) auto;align-items:start;gap:7px;min-width:0;padding:7px 8px;border:1px solid var(--line);border-radius:6px;background:var(--surface)}.admin-data-state{width:14px;height:14px;margin-top:2px;display:grid;place-items:center;border:1px solid var(--line);border-radius:3px;background:var(--surface)}.admin-data-state.is-done{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.admin-data-main{display:grid;gap:2px;min-width:0}.admin-data-item.is-done .admin-data-main strong{color:var(--text-soft);text-decoration:line-through}.admin-data-item strong{overflow-wrap:anywhere;font-size:12px;line-height:1.35}.admin-data-item p{display:-webkit-box;overflow:hidden;margin:0;color:var(--muted);font-size:11px;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:3}.admin-data-item small{color:var(--muted);font-size:9px;line-height:1.3}.install-dialog{width:min(390px,100%);text-align:center}.install-dialog .dialog-header{text-align:left}.install-art{width:66px;height:66px;display:grid;place-items:center;margin:12px auto 16px;border-radius:16px;color:#fff;background:var(--accent)}.install-dialog p{margin:0 auto 22px;color:var(--muted);line-height:1.65}.install-dialog>.primary{width:100%}.toast{position:fixed;z-index:200;left:50%;bottom:28px;min-width:280px;max-width:calc(100vw - 28px);min-height:48px;display:flex;align-items:center;gap:11px;padding:8px 9px 8px 15px;border:1px solid rgb(255 255 255 / 9%);border-radius:var(--r-md);color:#fff;background:var(--toast-bg);box-shadow:0 12px 35px #0000003d,0 3px 10px #00000029;transform:translate(-50%);overflow:hidden;animation:toast-in var(--motion-slow) var(--ease-back)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%) translateY(12px) scale(.97)}}.toast-icon{flex:0 0 auto;display:grid;place-items:center;color:var(--accent-light)}.toast-success .toast-icon{color:var(--accent-light)}.toast-info .toast-icon{color:var(--info-ink)}.toast-warn .toast-icon{color:var(--warn-line)}.toast-error .toast-icon{color:var(--danger-ink)}.toast>span:not(.toast-icon){min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toast>button:not(.icon-button){color:var(--accent-light);font-weight:600;background:transparent}.toast .icon-button{color:var(--text-faint)}.toast .icon-button:hover{color:#fff;background:#ffffff1a}.toast-progress{position:absolute;left:0;bottom:0;height:2px;width:100%;background:currentColor;opacity:.5;transform-origin:left center;animation-name:toast-progress;animation-timing-function:linear;animation-fill-mode:forwards}@keyframes toast-progress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;clip-path:inset(50%)}@media(min-width:761px)and (max-width:1120px){.calendar-view{grid-template-columns:1fr}}@media(max-width:760px){.floating-todo-trigger,.floating-todo-widget{display:none!important}html,body,#root{overflow-x:hidden}.app-shell{display:block}.sidebar{display:none}.main-panel{min-height:100svh}.topbar{min-height:64px;gap:10px;padding:10px 14px}.mobile-brand{display:block}.mobile-brand .brand>span:last-child{display:none}.mobile-brand .brand-mark{width:38px;height:38px}.search-box{width:auto;min-width:0;flex:1}.topbar:has(.search-box:focus-within){gap:0;padding-inline:10px}.topbar:has(.search-box:focus-within) .mobile-brand,.topbar:has(.search-box:focus-within) .space-toggle,.topbar:has(.search-box:focus-within) .topbar-actions{display:none!important}.topbar .search-box:focus-within{width:100%;height:48px;flex:1 1 100%;padding-inline:15px 10px;border-color:var(--accent);border-radius:8px;color:var(--accent-dark);background:var(--surface);box-shadow:0 7px 24px color-mix(in srgb,var(--accent-dark) 18%,transparent),0 0 0 3px color-mix(in srgb,var(--accent-dark) 14%,transparent)}.topbar .search-box:focus-within input{width:100%;font-size:16px}.install-button span,.sync-refresh-button span,.screenshot-import-button span,.new-note-button{display:none}.space-toggle{display:inline-flex}.install-button,.sync-refresh-button,.screenshot-import-button{width:42px;min-height:42px;flex-basis:42px;padding:0}.mobile-sync{display:inline-grid!important;width:42px;min-height:42px;flex-basis:42px}.topbar-actions{margin-left:0;gap:4px}.content{padding:24px 14px 136px}.content-heading{margin-bottom:20px}.mobile-todo-submenu{height:38px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;margin:-8px 0 15px;padding:3px;border:1px solid var(--line);border-radius:7px;background:var(--accent-soft)}.mobile-todo-submenu button{min-width:0;border-radius:5px;color:var(--text-mid);background:transparent;font-size:12px;font-weight:500}.mobile-todo-submenu button.active{color:var(--accent-dark);background:var(--surface);box-shadow:0 1px 5px color-mix(in srgb,var(--accent-dark) 10%,transparent)}.personal-mobile-submenu{grid-template-columns:repeat(3,minmax(0,1fr))}.eyebrow{font-size:12px}h1{font-size:26px}.quick-add{margin-bottom:14px}.quick-add-date-trigger{height:34px;padding-inline:6px}.quick-add-date-trigger span{max-width:52px}.task-list{border-right:0;border-left:0;border-radius:0}.task-row{grid-template-columns:24px minmax(0,1fr) minmax(0,70px) 120px;gap:2px;padding:8px 3px 8px 6px}.task-body,.task-title-line{display:contents}.task-title-line strong{grid-column:2;min-width:0;align-self:center;font-size:13px;line-height:1.45}.task-title-line>svg{display:none}.task-date-cell{grid-column:3}.task-fixed-cell{gap:2px}.task-date-cell .completed-time,.task-date-cell .task-inline-date{font-size:10px}.task-date-cell svg{display:none}.task-inline-date{font-size:11px}.task-inline-date svg{display:none}.due-time-range .time-part{padding-inline:5px}.due-time-range .time-part input{font-size:13px}.due-time-range button{padding-inline:9px}.row-delete,.note-delete,.note-actions{opacity:1}.task-row-actions{grid-column:4;width:120px;grid-template-columns:repeat(5,24px);gap:0}.task-row-actions .icon-button.compact{width:24px;height:24px;min-height:24px;flex-basis:24px}.task-row-actions .icon-button.compact svg{width:14px;height:14px}.row-priority .priority-button-label{display:none}.row-postpone-slot,.row-snooze-slot{width:24px;height:24px}.child-task-list{padding-right:0;padding-left:0}.child-task-row{grid-template-columns:24px minmax(145px,1fr) 0 minmax(0,70px) 72px;gap:2px;padding:2px 3px 2px 6px}.child-completed-time{grid-column:3}.child-delete{grid-column:5}.child-branch{left:15px}.child-completed-time{font-size:9px}.child-delete{opacity:1}.task-snippet{display:none!important}.notes-grid{grid-template-columns:1fr;gap:10px}.note-card,.note-content{min-height:0}.note-content{gap:11px;padding:16px 46px 16px 16px}.note-card-header{gap:10px}.note-card-header time{font-size:10px}.note-title-line strong{font-size:15px}.note-copy{font-size:13px;line-height:1.68;-webkit-line-clamp:5}.mobile-nav{position:fixed;z-index:20;right:0;bottom:0;left:0;height:calc(70px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(7,1fr);padding:7px 6px env(safe-area-inset-bottom);border-top:1px solid var(--line);background:linear-gradient(90deg,color-mix(in srgb,var(--accent-soft) 84%,transparent),color-mix(in srgb,var(--accent-soft) 82%,transparent));box-shadow:0 -8px 28px color-mix(in srgb,var(--accent-dark) 6%,transparent);-webkit-backdrop-filter:blur(28px) saturate(185%);backdrop-filter:blur(28px) saturate(185%)}.mobile-nav button{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border-radius:7px;color:var(--text-soft);font-size:10px;background:transparent}.mobile-nav button span{max-width:100%;overflow:hidden;padding-inline:1px;text-overflow:ellipsis;white-space:nowrap}.mobile-nav button.active{color:var(--accent);font-weight:600;background:var(--accent-soft)}.mobile-nav button:nth-child(4){border-left:1px solid var(--line)}.special-page-header{align-items:center}.special-page-header .primary{min-height:36px;padding-inline:10px;font-size:12px}.special-grid{grid-template-columns:1fr;gap:9px}.special-card{padding:11px 9px}.habit-check{padding-inline:7px;font-size:11px}.habit-chart{grid-template-columns:1fr;gap:14px;min-height:0;padding:15px 12px 12px}.habit-chart-summary{gap:8px}.habit-chart-summary>div{padding:10px}.habit-chart-summary strong{font-size:22px}.habit-bars{gap:4px}.habit-bar-column{height:112px;grid-template-rows:16px minmax(58px,1fr) 17px}.countdown-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.countdown-card,.countdown-card-main{min-height:104px}.countdown-card-main{padding:10px 32px 10px 12px}.countdown-card-title{gap:6px}.countdown-card-title strong{font-size:13px}.countdown-icon{width:22px;height:22px;flex:0 0 22px}.countdown-badge{padding:0 5px;font-size:9px}.countdown-number{margin-top:6px;font-size:26px}.countdown-date{padding-top:5px;font-size:10px}.floating-add{position:fixed;z-index:80;right:18px;bottom:calc(84px + env(safe-area-inset-bottom));width:52px;height:52px;display:grid;place-items:center;border-radius:50%;border:1px solid rgb(var(--surface-rgb) / 68%);color:#fff;background:linear-gradient(145deg,var(--accent),var(--accent-dark))!important;box-shadow:0 9px 26px color-mix(in srgb,var(--accent-dark) 28%,transparent);opacity:1;pointer-events:auto;touch-action:manipulation}.calendar-panel{width:100%;min-width:0;padding:0;overflow-x:hidden}.calendar-agenda{padding:13px 10px}.calendar-toolbar{position:sticky;z-index:3;left:0;min-width:100%;flex-wrap:wrap;gap:8px;padding:9px 10px;background:var(--surface)}.calendar-navigation{flex:1 1 100%}.calendar-navigation strong{margin-left:4px;font-size:17px}.calendar-mode-control{width:100%;grid-template-columns:repeat(4,1fr)}.calendar-mode-control button{min-width:0}.calendar-weekdays,.month-grid,.week-grid{width:100%;min-width:0}.calendar-weekdays{min-height:30px;font-size:11px}.calendar-weekdays span{min-width:0;padding-left:4px;overflow:hidden;white-space:nowrap}.calendar-cell{min-height:84px;gap:2px;padding:3px 2px}.month-grid{grid-template-rows:repeat(6,clamp(84px,14vw,100px))}.month-grid>.calendar-cell{height:auto}.month-grid .calendar-holiday-layer,.month-grid .calendar-task-range-layer{grid-template-rows:repeat(6,clamp(84px,14vw,100px))}.week-grid{grid-template-rows:min(340px,58vh)}.week-grid .calendar-cell{min-height:0;height:auto;overflow:visible}.week-grid .calendar-holiday-layer,.week-grid .calendar-task-range-layer{grid-template-rows:min(340px,58vh)}.calendar-date-button{display:grid;grid-template-columns:20px minmax(0,1fr) auto;gap:2px}.calendar-day-number{width:20px;height:20px;font-size:13px}.calendar-lunar{font-size:9px}.calendar-work-status{width:auto;height:auto;margin-left:0;font-size:9px}.calendar-festival{padding-left:2px;font-size:9px}.calendar-event{height:24px;grid-template-columns:4px minmax(0,1fr);gap:3px;padding:0 3px;font-size:10px;line-height:1.2}.calendar-event time{display:none}.calendar-event-dot{width:4px;height:4px}.calendar-more{padding-inline:2px;font-size:9px}.calendar-holiday-bar{height:22px;margin:30px 2px 0;padding:0 5px;font-size:11px;line-height:22px}.calendar-task-range-bar{height:22px;padding:0 5px;font-size:10px;line-height:22px}.calendar-day-focus,.calendar-list-view{min-width:0;padding:10px}.calendar-create-backdrop{align-items:end;padding:0}.calendar-create-dialog{width:100%;padding:0 17px calc(16px + env(safe-area-inset-bottom));border-radius:var(--r-lg) var(--r-lg) 0 0}.calendar-create-time{gap:5px}.calendar-day-heading h2{font-size:18px}.dialog-backdrop:not(:has(.confirm-dialog,.install-dialog,.personal-lock-dialog)){align-items:start;height:100dvh;padding:0;overflow:hidden}.dialog{width:100%;height:min(var(--dialog-viewport-height, 100dvh),100dvh);max-height:min(var(--dialog-viewport-height, 100dvh),100dvh);padding:0 17px calc(16px + env(safe-area-inset-bottom));border-radius:0;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch}.composer-dialog{height:min(var(--dialog-viewport-height, 100dvh),100dvh);max-height:min(var(--dialog-viewport-height, 100dvh),100dvh);border-radius:0}.composer-dialog .dialog-actions{position:sticky;z-index:4;bottom:0;margin:18px -17px calc(-16px - env(safe-area-inset-bottom));padding:12px 17px calc(12px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--accent-soft) 97%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.dialog-actions button{min-height:46px}.dialog:not(.confirm-dialog) .dialog-actions{position:sticky;z-index:4;bottom:0;margin:18px -17px calc(-16px - env(safe-area-inset-bottom));padding:12px 17px calc(12px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--accent-soft) 97%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.dialog .icon-button,.habit-detail-dialog .icon-button{min-width:42px;min-height:42px}.dialog input,.dialog textarea,.dialog select,.habit-detail-dialog input,.habit-detail-dialog textarea,.habit-detail-dialog select{font-size:16px!important}.mobile-keyboard-open .dialog-backdrop{align-items:start;padding:max(14px,env(safe-area-inset-top)) 0 0}.mobile-keyboard-open .dialog{height:min(var(--dialog-viewport-height, 100dvh),100dvh);max-height:min(var(--dialog-viewport-height, 100dvh),100dvh);min-height:0;overflow-y:auto;padding-bottom:calc(16px + env(safe-area-inset-bottom) + var(--dialog-keyboard-height, 0px));overscroll-behavior:contain;-webkit-overflow-scrolling:touch;border-radius:var(--r-lg)}.mobile-keyboard-open .composer-dialog{height:min(var(--dialog-viewport-height, 100dvh),100dvh);max-height:min(var(--dialog-viewport-height, 100dvh),100dvh);border-radius:0}.mobile-keyboard-open .note-editor,.mobile-keyboard-open .note-editor-canvas{min-height:0}.mobile-keyboard-open .dialog-actions{margin-bottom:0;padding-bottom:12px}.auth-backdrop{align-items:start;padding:max(8px,env(safe-area-inset-top)) 10px 8px}.auth-backdrop .auth-dialog{max-height:100%;border-radius:var(--r-lg)}.auth-backdrop.keyboard-open{align-items:start;padding-top:max(6px,env(safe-area-inset-top))}.auth-backdrop.keyboard-open .auth-dialog{max-height:100%;border-radius:var(--r-lg)}.auth-dialog .dialog-header{position:sticky;top:0}.auth-credential-row{align-items:flex-start;flex-direction:column}.auth-load-credential{margin:1px 0 0 26px}.account-panel{grid-template-columns:44px minmax(0,1fr)}.account-avatar{width:44px;height:44px}.account-actions{grid-column:1 / -1;justify-content:flex-end}.admin-dialog{max-height:100dvh}.admin-data-section{grid-template-columns:1fr}.admin-data-items{max-height:52dvh}.admin-user-row{grid-template-columns:1fr;gap:10px}.admin-user-row dl{grid-column:1}.admin-user-actions{justify-content:stretch}.admin-user-actions button{flex:1 1 120px}.auth-actions{position:sticky;bottom:0;padding:10px 0 calc(4px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--accent-soft) 96%,transparent)}.dialog-header{margin-inline:-17px;padding-inline:15px}.composer-section-tabs{gap:5px}.composer-section-tabs button{grid-template-columns:15px minmax(0,1fr);padding-inline:8px}.composer-section-tabs button>svg:last-child{display:none}.composer-section-panel{padding:10px}.composer-note .title-input{font-size:18px}.note-editor{margin-top:10px}.note-editor-canvas{min-height:210px;padding:2px 12px 14px}.note-appearance{align-items:flex-start;flex-direction:column;gap:10px}.note-appearance .color-field{width:100%;justify-content:space-between}.composer-task textarea{height:auto;min-height:88px}.composer-details-panel>textarea{height:auto;min-height:60px}.form-grid{gap:10px}.dialog-actions{margin:18px -17px calc(-16px - env(safe-area-inset-bottom));padding:12px 17px calc(12px + env(safe-area-inset-bottom))}.ocr-backdrop{align-items:start;height:100dvh;padding:0}.ocr-dialog{width:100%;height:min(var(--dialog-viewport-height, 100dvh),100dvh);max-height:min(var(--dialog-viewport-height, 100dvh),100dvh);padding:0 14px calc(12px + env(safe-area-inset-bottom));border-radius:0;overflow-y:auto}.ocr-dialog .dialog-header{margin-bottom:10px}.ocr-workspace{display:block;min-height:0;max-height:calc(100dvh - 170px);overflow:auto}.ocr-upload{width:100%;min-height:126px;max-height:210px;border-right:0;border-bottom:1px solid var(--line)}.ocr-upload img{max-height:160px}.ocr-result-panel{min-height:260px;padding:10px;overflow:visible}.ocr-empty,.ocr-progress-state,.ocr-error-state{min-height:238px}.ocr-task-row{grid-template-columns:24px minmax(0,1fr) 28px;gap:5px}.ocr-task-time{grid-column:2 / 4;grid-template-columns:minmax(0,1fr) 14px minmax(0,1fr)}.ocr-dialog-actions{margin-top:10px}.quick-date-popover{width:min(320px,calc(100vw - 16px));padding:11px}.habit-detail-backdrop{align-items:start;height:100dvh;padding:0}.habit-detail-dialog{width:100%;height:min(var(--dialog-viewport-height, 100dvh),100dvh);max-height:min(var(--dialog-viewport-height, 100dvh),100dvh);padding:0 14px calc(14px + env(safe-area-inset-bottom));border-radius:0;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch}.mobile-keyboard-open .habit-detail-dialog{height:min(var(--dialog-viewport-height, 100dvh),100dvh);max-height:min(var(--dialog-viewport-height, 100dvh),100dvh);border-radius:0}.habit-detail-header{margin-inline:-14px;padding-inline:14px}.habit-stat-grid{gap:6px}.habit-stat-grid>div{padding:10px 7px}.habit-stat-grid strong{font-size:20px}.habit-day{min-height:38px}.habit-detail-bars{gap:3px}.toast{bottom:calc(82px + env(safe-area-inset-bottom))}}@media(hover:none)and (pointer:coarse){.task-title-meta{display:none}}@media(max-width:420px){.topbar{padding-inline:10px}.mobile-brand{display:none}.search-box{height:40px}.mobile-nav button{font-size:9px}.form-grid,.habit-composer-fields{grid-template-columns:1fr}.account-panel{grid-template-columns:46px minmax(0,1fr)}.account-panel .secondary{grid-column:1 / -1;width:100%}.dialog-actions>span{display:none}.dialog-actions .secondary{display:none}.dialog-actions .primary{min-width:104px}.toast{min-width:0;width:calc(100vw - 24px)}}.crash-screen{display:grid;place-items:center;min-height:100vh;min-height:100dvh;padding:24px;background:var(--canvas)}.crash-card{display:grid;gap:10px;justify-items:center;width:min(420px,100%);padding:30px 26px 22px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-dialog);text-align:center}.crash-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:var(--r-md);background:var(--accent-soft);color:var(--accent-dark)}.crash-title{margin:4px 0 0;font-size:17px;font-weight:600;color:var(--ink)}.crash-desc{margin:0;font-size:13px;font-weight:500;line-height:1.65;color:var(--muted)}.crash-detail{overflow:auto;max-width:100%;max-height:96px;margin:2px 0 0;padding:9px 12px;border-radius:var(--r-sm);background:var(--canvas);color:var(--muted);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11.5px;line-height:1.55;text-align:left;word-break:break-word}.crash-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:9px;margin-top:8px}.crash-button{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 16px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);color:var(--ink);font-family:inherit;font-size:13px;font-weight:500;cursor:pointer;transition:background .16s var(--ease-out),border-color .16s var(--ease-out)}.crash-button:hover:not(:disabled){background:var(--canvas);border-color:var(--focus)}.crash-button:disabled{opacity:.58;cursor:default}.crash-button.primary{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.crash-button.primary:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 84%,#000);border-color:transparent}.crash-note{margin:2px 0 0;font-size:12px;font-weight:500;color:var(--accent-dark)}.crash-version{margin:6px 0 0;font-size:11px;font-weight:500;color:var(--muted);opacity:.72}.monthly-page{width:min(1280px,100%);min-width:0;margin-inline:auto;gap:14px}.monthly-head-actions{display:flex;align-items:center;gap:8px}.monthly-head-actions .secondary{min-height:34px;font-size:12.5px}.monthly-nav{display:flex;align-items:center;gap:9px;padding:7px 10px;border:1px solid var(--soft-line);border-radius:var(--r-md);background:rgb(var(--surface-rgb) / 78%)}.monthly-nav strong{font-size:14px;font-weight:500}.monthly-nav .monthly-today{margin-left:auto;min-height:30px;font-size:12px}.monthly-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.monthly-stat-grid>div{min-width:0;display:grid;gap:7px;padding:12px 11px;border:1px solid var(--accent-soft-2);border-radius:var(--r-md);background:rgb(var(--surface-rgb) / 82%);box-shadow:var(--shadow-card);transition:box-shadow var(--motion-base) var(--ease-out),transform var(--motion-base) var(--ease-out),border-color var(--motion-base) ease}.monthly-stat-grid>div:hover{border-color:var(--accent-line);box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}.monthly-stat-grid small{color:var(--muted);font-size:11px;white-space:nowrap}.monthly-stat-grid strong{color:var(--accent-dark);font-size:23px;line-height:1;font-variant-numeric:tabular-nums}.monthly-stat-grid strong span{color:var(--text-mid);font-size:10px;font-weight:500}.monthly-naming-guide{display:grid;gap:7px;padding:10px 12px;border:1px solid var(--accent-soft-2);border-radius:var(--r-md);color:var(--text-mid);background:rgb(var(--surface-rgb) / 72%);font-size:12px}.monthly-naming-guide strong{color:var(--accent-dark)}.monthly-naming-guide>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 12px}.monthly-naming-guide code{overflow:hidden;color:var(--text-mid);font-family:inherit;font-size:11.5px;text-overflow:ellipsis;white-space:nowrap}.monthly-video-details{padding:13px;border:1px solid var(--soft-line);border-radius:var(--r-md);background:rgb(var(--surface-rgb) / 78%)}.monthly-video-details ul{display:grid;gap:3px;margin:0;padding:0;list-style:none}.monthly-video-details li{display:flex;align-items:center;gap:10px;min-height:32px;padding:4px 8px;border-radius:var(--r-sm);font-size:13px}.monthly-video-details li:hover{background:var(--accent-soft)}.monthly-video-details li span{min-width:0;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.monthly-video-details li strong{flex:0 0 auto;color:var(--accent-dark);font-size:12px;font-weight:600}.monthly-section-head{display:flex;align-items:baseline;gap:8px;margin-bottom:9px}.monthly-section-head strong{font-size:13.5px;font-weight:500}.monthly-section-head small{color:var(--muted);font-size:11.5px}.monthly-tracked{padding:13px;border:1px solid var(--soft-line);border-radius:var(--r-md);background:rgb(var(--surface-rgb) / 78%)}.monthly-work{display:grid;gap:10px;padding:13px;border:1px solid var(--soft-line);border-radius:var(--r-md);background:rgb(var(--surface-rgb) / 78%)}.work-groups{display:grid;gap:9px}.work-group{display:grid;gap:2px;padding:10px 11px 9px;border:1px solid var(--accent-soft);border-left:3px solid var(--accent);border-radius:var(--r-sm);background:rgb(var(--surface-rgb) / 72%)}.work-group-shooting{border-left-color:var(--warn-ink)}.work-group-editing{border-left-color:var(--info-ink)}.work-group-reception{border-left-color:var(--accent)}.work-group-other{border-left-color:var(--text-faint)}.work-group-head{display:flex;align-items:center;gap:7px;margin-bottom:6px}.work-group-dot{flex:0 0 auto;width:7px;height:7px;border-radius:50%;background:var(--accent)}.work-group-shooting .work-group-dot{background:var(--warn-ink)}.work-group-editing .work-group-dot{background:var(--info-ink)}.work-group-reception .work-group-dot{background:var(--accent)}.work-group-other .work-group-dot{background:var(--text-faint)}.work-group-name{font-size:13px;font-weight:600}.work-group-meta{margin-left:auto;color:var(--muted);font-size:11.5px;font-variant-numeric:tabular-nums;white-space:nowrap}.work-list{display:grid;gap:1px;margin:0;padding:0;list-style:none}.work-item{display:grid;grid-template-columns:78px minmax(0,1fr) auto 24px;align-items:center;gap:8px;min-height:30px;padding:2px 4px 2px 0;border-radius:var(--r-xs);transition:background-color var(--motion-fast) ease}.work-item:hover{background:var(--accent-wash)}.work-item-date{color:var(--text-soft);font-size:11px;font-variant-numeric:tabular-nums;white-space:nowrap}.work-item-title{min-width:0;font-size:12.5px;line-height:1.5;overflow-wrap:anywhere}.work-item-badges{display:flex;gap:4px;justify-self:end}.work-badge{padding:1px 6px;border-radius:999px;font-size:10.5px;font-weight:500;font-variant-numeric:tabular-nums;white-space:nowrap}.work-badge.is-video{color:var(--info-ink);background:var(--info-bg)}.work-badge.is-count{color:var(--accent-dark);background:var(--accent-soft)}.work-item-copy{width:24px;height:24px;display:grid;place-items:center;padding:0;border:0;border-radius:var(--r-xs);color:var(--text-soft);background:transparent;cursor:pointer;opacity:0;transition:opacity var(--motion-fast) ease,color var(--motion-fast) ease,background-color var(--motion-fast) ease}.work-item:hover .work-item-copy,.work-item:focus-within .work-item-copy{opacity:1}.work-item-copy:hover{color:var(--accent-dark);background:var(--accent-soft)}.work-item-copy:active{color:var(--accent-dark);background:var(--accent-soft-2)}.work-totals{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 7px;padding:9px 11px;border-radius:var(--r-sm);color:var(--text-mid);background:var(--accent-wash);font-size:12px;font-variant-numeric:tabular-nums}.work-totals strong{color:var(--accent-dark);font-size:13px;font-weight:600}.work-totals-sep{color:var(--line)}.monthly-tracked-list{display:grid;gap:2px}.monthly-tracked-row{display:flex;align-items:center;gap:9px;width:100%;min-height:34px;padding:4px 8px;border:0;border-radius:var(--r-sm);color:inherit;background:transparent;font-size:13px;text-align:left;cursor:pointer}.monthly-tracked-row:hover{background:var(--accent-soft)}.monthly-tracked-title{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.monthly-tracked-count{flex:0 0 auto;color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}.monthly-logs{display:grid;gap:9px}.monthly-day{padding:12px 13px;border:1px solid var(--soft-line);border-radius:var(--r-md);background:rgb(var(--surface-rgb) / 82%)}.monthly-day-head{display:flex;align-items:center;gap:7px;margin-bottom:8px}.monthly-day-date{font-size:13.5px;font-weight:500;font-variant-numeric:tabular-nums}.monthly-day-weekday{color:var(--muted);font-size:11.5px}.monthly-day-today{padding:2px 7px;border-radius:999px;color:var(--accent-dark);background:var(--accent-soft);font-size:10.5px;font-weight:500}.monthly-day-count{margin-left:auto;color:var(--muted);font-size:11.5px;font-variant-numeric:tabular-nums}.monthly-day-list{display:grid;gap:5px;margin:0;padding:0;list-style:none}.monthly-day-list li{display:flex;align-items:flex-start;gap:8px;font-size:13px;line-height:1.5}.monthly-entry-time{flex:0 0 34px;color:var(--muted);font-size:11.5px;font-variant-numeric:tabular-nums;padding-top:2px}.monthly-dot{flex:0 0 7px;width:7px;height:7px;margin-top:7px;border-radius:50%;background:var(--accent)}.monthly-dot.tint-paper{background:#b9b6ad}.monthly-dot.tint-mint{background:var(--accent)}.monthly-dot.tint-sun{background:var(--warn-ink)}.monthly-dot.tint-rose{background:var(--danger-ink)}.monthly-dot.tint-sky{background:var(--info-ink)}.monthly-entry-body{flex:1 1 auto;min-width:0}.monthly-entry-body strong{font-weight:500}.monthly-entry-note{color:var(--muted)}.monthly-entry-done .monthly-entry-time{display:grid;place-items:center;color:var(--accent)}.monthly-entry-done .monthly-entry-body{color:var(--muted)}@media(max-width:760px){.monthly-page{width:100%}.monthly-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.monthly-head-actions{flex:1 1 auto;justify-content:flex-end}.monthly-head-actions .secondary{min-height:32px;padding-inline:9px}.monthly-entry-time{flex-basis:31px}.monthly-naming-guide>div{grid-template-columns:1fr;gap:4px}.monthly-naming-guide code{overflow:visible;white-space:normal}.monthly-video-details,.monthly-work{padding:11px 10px}.work-group{padding:9px 9px 8px}.work-item{grid-template-columns:72px minmax(0,1fr) 26px;grid-template-areas:"date title copy" "date badges copy";row-gap:3px;align-items:start;padding:5px 0}.work-item-date{grid-area:date;align-self:start;padding-top:1px}.work-item-title{grid-area:title}.work-item-badges{grid-area:badges;justify-self:start}.work-item-copy{grid-area:copy;align-self:center}.work-item-copy{opacity:1}.work-totals{font-size:11.5px;padding:8px 10px}.work-totals strong{font-size:12.5px}.mobile-list-chips{display:flex;align-items:center;gap:7px;margin:0 0 12px;padding:2px 1px 4px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}.mobile-list-chips::-webkit-scrollbar{display:none}.mobile-list-chips .chip-wrap{flex:0 0 auto;display:inline-flex;align-items:center;border:1px solid var(--soft-line);border-radius:999px;background:var(--surface);transition:color var(--motion-fast) ease,border-color var(--motion-fast) ease,background-color var(--motion-fast) ease}.mobile-list-chips .chip-wrap.is-active{border-color:var(--accent);background:var(--accent)}.mobile-list-chips button{flex:0 0 auto;display:flex;align-items:center;gap:6px;padding:7px 12px;border:1px solid var(--soft-line);border-radius:999px;color:var(--text-mid);background:var(--surface);font:inherit;font-size:13px;font-weight:500;white-space:nowrap;cursor:pointer;transition:color var(--motion-fast) ease,border-color var(--motion-fast) ease,background-color var(--motion-fast) ease}.mobile-list-chips .chip-wrap button{padding:7px 6px 7px 12px;border:0;border-radius:999px 0 0 999px;background:transparent}.mobile-list-chips .chip-wrap button.chip-more{padding:7px 10px 7px 4px;border-radius:0 999px 999px 0;color:var(--text-soft)}.mobile-list-chips .chip-wrap.is-active button{color:var(--on-accent)}.mobile-list-chips .chip-wrap.is-active button.chip-more{color:#ffffffd1}.mobile-list-chips button.active{color:var(--on-accent);border-color:var(--accent);background:var(--accent)}.mobile-list-chips .chip-count{color:var(--text-soft);font-size:11px;font-variant-numeric:tabular-nums}.mobile-list-chips button.active .chip-count,.mobile-list-chips .chip-wrap.is-active .chip-count{color:rgb(var(--surface-rgb) / 78%)}.mobile-list-chips .chip-add{color:var(--accent-dark);border-style:dashed;border-color:var(--accent-line);background:transparent}}.chip-menu{position:fixed;z-index:700;width:132px;display:grid;gap:2px;padding:5px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow-popover);animation:fade-scale-in var(--motion-fast) var(--ease-out)}.chip-menu.is-closing{animation:fall-out var(--motion-fast) var(--ease-out) forwards}.chip-menu button{display:flex;align-items:center;gap:8px;padding:8px 9px;border:0;border-radius:var(--r-xs);color:var(--ink);background:transparent;font:inherit;font-size:13px;font-weight:500;text-align:left;cursor:pointer}.chip-menu button:hover{background:var(--accent-soft)}.chip-menu button.danger-text{color:var(--danger-ink)}.chip-menu button.danger-text:hover{background:var(--danger-bg)}@keyframes rise-in{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}@keyframes fade-scale-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}@keyframes fall-out{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(6px) scale(.985)}}@keyframes backdrop-out{to{opacity:0}}.stagger-item{animation:rise-in var(--motion-slow) var(--ease-out) backwards;animation-delay:calc(min(var(--stagger-index, 0),12)*26ms)}@keyframes count-up{0%{opacity:0;transform:translateY(6px)}}.dialog-backdrop.is-closing{animation:backdrop-out var(--motion-base) var(--ease-out) forwards}.dialog-backdrop.is-closing>.dialog,.dialog-backdrop.is-closing>.habit-detail-dialog{animation:fall-out var(--motion-base) var(--ease-out) forwards}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;animation-delay:0ms!important}}.list-composer-dialog{max-width:460px}.list-composer-dialog .field-hint{margin:0;padding:10px 12px;border-radius:var(--r-sm);color:var(--muted);background:var(--accent-wash);font-size:12px;line-height:1.6}.date-group-copy{margin-left:auto;display:inline-flex;align-items:center;gap:4px;border:0;background:transparent;color:var(--accent-strong);font:inherit;font-size:12px;cursor:pointer;padding:3px 6px}.date-group-copy:hover{text-decoration:underline}.pip-window .floating-todo-trigger,.pip-window .floating-todo-widget{display:block!important}.pip-window .floating-todo-widget{position:fixed;inset:0;width:100%;height:100%;border:0;border-radius:0;box-shadow:none}.pip-window .floating-todo-header{cursor:default}.pip-window .floating-todo-list{max-height:calc(100vh - 34px);padding-top:0}html.desktop-shell-window,html.desktop-shell-window body{background:transparent!important;overflow:hidden}html.desktop-shell-window .floating-todo-standalone{background:linear-gradient(158deg,rgb(var(--surface-rgb) / 46%),rgb(var(--surface-rgb) / 30%) 46%,rgb(var(--surface-rgb) / 40%));-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:16px;box-shadow:0 18px 46px -14px #00000061,inset 0 0 0 1px #ffffff7a}html.desktop-shell-window .floating-todo-listbar-row{-webkit-app-region:drag}html.desktop-shell-window .floating-todo-listbar-row button,html.desktop-shell-window .floating-todo-list,html.desktop-shell-window .floating-todo-item{-webkit-app-region:no-drag}.pip-window{--pip-blob-cool: color-mix(in srgb, var(--accent-base) 58%, #8fb6e8);--pip-blob-warm: color-mix(in srgb, var(--accent-base) 26%, #ffc79a);background:#a9b6c3}.pip-window body{background:transparent}.pip-window body:before{content:"";position:fixed;z-index:0;inset:-20%;pointer-events:none;background:radial-gradient(closest-side,#fffffffa,#fff0) 4% -4% / 44% 34% no-repeat,radial-gradient(closest-side,#ffffffeb,#fff0) 62% 26% / 26% 20% no-repeat,radial-gradient(closest-side,var(--pip-blob-cool),rgb(255 255 255 / 0%)) 100% 12% / 44% 38% no-repeat,radial-gradient(closest-side,var(--pip-blob-cool),rgb(255 255 255 / 0%)) 78% 62% / 26% 22% no-repeat,radial-gradient(closest-side,var(--pip-blob-warm),rgb(255 255 255 / 0%)) 24% 104% / 50% 42% no-repeat,radial-gradient(closest-side,#ffffffe5,#fff0) 88% 96% / 32% 26% no-repeat}.floating-todo-widget:after{content:"";position:absolute;z-index:5;inset:0;pointer-events:none;opacity:.14;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='g'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter><rect width='140' height='140' filter='url(%23g)'/></svg>");background-size:140px 140px}.pip-window .floating-todo-widget{box-shadow:inset 0 0 0 1px #fff6}.floating-todo-standalone{display:block!important}.floating-todo-listbar-row{display:flex;align-items:center;gap:6px;padding:6px 38px 5px 10px;border-bottom:1px solid rgb(16 24 40 / 6%)}.floating-todo-listbar{display:inline-flex;align-items:center;gap:5px;max-width:100%;padding:3px 7px;border:0;border-radius:6px;color:var(--accent-deep);background:transparent;font-size:12px;font-weight:600}.floating-todo-listbar:hover{background:rgb(var(--surface-rgb) / 55%)}.floating-todo-listbar span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.floating-todo-shell-close{position:absolute;top:5px;right:7px;width:22px;height:22px;display:grid;place-items:center;padding:0;border:0;border-radius:6px;color:var(--text-mid);background:transparent}.floating-todo-shell-close:hover{color:var(--danger-ink);background:rgb(var(--surface-rgb) / 62%)}.list-move-menu button.is-active{color:var(--accent-dark);background:var(--accent-soft)}.floating-todo-editor{display:grid;gap:6px;padding:8px 10px 9px;border-bottom:1px solid rgb(16 24 40 / 6%);background:rgb(var(--surface-rgb) / 46%)}.floating-todo-editor-title{width:100%;height:30px;padding:0 8px;border:1px solid var(--accent-soft-2);border-radius:6px;color:var(--ink);background:var(--surface);font-size:13px}.floating-todo-editor-fields{display:grid;gap:4px}.floating-todo-editor-fields label{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:11px}.floating-todo-editor-fields label span{flex:0 0 26px}.floating-todo-editor-fields input{flex:1 1 auto;min-width:0;height:28px;padding:0 6px;border:1px solid var(--accent-soft-2);border-radius:6px;color:var(--ink);background:var(--surface);font-size:12px;color-scheme:light}.floating-todo-editor-actions{display:flex;justify-content:flex-end;gap:6px}.floating-todo-editor-actions button{min-height:28px;padding:0 12px;border-radius:6px;font-size:12px}.floating-menu-backdrop{z-index:439}.floating-menu{z-index:440}.postpone-menu button.is-danger{color:var(--danger-ink)}.postpone-menu button.is-danger:hover{color:var(--danger-ink);background:var(--danger-bg)}.personal-lock-remember{display:inline-flex;align-items:center;gap:7px;margin-top:2px;color:var(--muted);font-size:12px;cursor:pointer}.personal-lock-remember input{width:15px;height:15px;accent-color:var(--accent)}@media(min-width:761px){.space-toggle.private-space-toggle.active{display:inline-flex}}.floating-todo-flash{position:absolute;z-index:6;left:50%;bottom:12px;transform:translate(-50%);margin:0;padding:6px 12px;border-radius:999px;color:var(--accent-deep);background:color-mix(in srgb,var(--accent-soft) 97%,transparent);box-shadow:0 6px 18px color-mix(in srgb,var(--accent-dark) 18%,transparent);font-size:11px;font-weight:600;white-space:nowrap;animation:floatingFlashIn .18s ease-out}@keyframes floatingFlashIn{0%{opacity:0;transform:translate(-50%,6px)}to{opacity:1;transform:translate(-50%)}}.floating-todo-check{position:relative}.floating-todo-check:after{content:"";position:absolute;inset:-8px}.floating-todo-act{position:relative}.floating-todo-act:after{content:"";position:absolute;inset:-4px 0}:root[data-accent=blue]{--accent-base: #2f7fd1}:root[data-accent=violet]{--accent-base: #7b61c9}:root[data-accent=amber]{--accent-base: #c8781a}:root[data-accent=coral]{--accent-base: #d9504a}:root[data-accent=teal]{--accent-base: #16867f}.appearance-dialog{max-width:460px}.appearance-copy{margin:0;color:var(--muted);font-size:12px;line-height:1.5}.appearance-group{display:grid;gap:8px}.appearance-group h3{margin:0;color:var(--accent-deep);font-size:12px}.appearance-preview{padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--app-bg)}.appearance-preview-card{display:grid;gap:8px;padding:13px 14px;border:1px solid color-mix(in srgb,var(--accent-base) 6%,var(--n-border));border-radius:12px;background:var(--surface);box-shadow:0 8px 20px -16px #10182866}.appearance-preview-title{color:var(--ink);font-size:13px;font-weight:600}.appearance-preview-line{height:7px;width:72%;border-radius:999px;background:color-mix(in srgb,var(--accent-base) 10%,var(--n-fill))}.appearance-preview-line.is-short{width:48%}.appearance-preview-actions{display:flex;align-items:center;gap:8px;margin-top:2px}.appearance-preview-btn{width:54px;height:22px;border-radius:7px;background:var(--accent)}.appearance-preview-dot{width:12px;height:12px;border-radius:50%;border:2px solid var(--accent);background:var(--accent-soft)}.appearance-accents{display:flex;flex-wrap:wrap;gap:8px}.appearance-accent{display:inline-flex;align-items:center;gap:6px;padding:5px 10px 5px 6px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--muted);font-size:11px;cursor:pointer;transition:border-color .18s ease,color .18s ease}.appearance-accent i{width:16px;height:16px;border-radius:50%;box-shadow:inset 0 0 0 1px #00000014}.appearance-accent.active{border-color:var(--accent);color:var(--accent-dark);font-weight:600}.topbar{background:linear-gradient(90deg,rgb(var(--surface-rgb) / 88%),color-mix(in srgb,var(--accent-soft) 86%,transparent))}.sidebar{background:linear-gradient(180deg,color-mix(in srgb,var(--accent-soft) 86%,transparent),color-mix(in srgb,var(--accent-soft) 82%,transparent))}@keyframes content-in{0%{opacity:0;transform:translateY(7px)}}.content>*{animation:content-in .26s cubic-bezier(.22,.61,.36,1) both}.countdown-card,.work-item,.admin-data-item{transition:transform .18s ease,box-shadow .18s ease}.countdown-card:hover{transform:translateY(-2px);box-shadow:0 12px 26px color-mix(in srgb,var(--accent-dark) 12%,transparent)}.work-item:hover{box-shadow:0 6px 16px color-mix(in srgb,var(--accent-dark) 9%,transparent)}.task-row{transition:background-color .16s ease}.icon-button:active,.utility-tile:active,.secondary:active,.auth-password-toggle:active{transform:scale(.96)}.icon-button,.utility-tile,.secondary{transition:transform .12s ease,background-color .16s ease,color .16s ease,border-color .16s ease}@media(prefers-reduced-motion:reduce){.content>*{animation:none}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.lucide{flex:none;stroke-width:2.2}.lucide[width="12"]{stroke-width:2.8}.lucide[width="14"]{stroke-width:2.5}.lucide[width="16"]{stroke-width:2.25}.lucide[width="18"]{stroke-width:2.1}.lucide[width="20"]{stroke-width:1.95}.lucide[width="24"]{stroke-width:1.85}.lucide[width="28"]{stroke-width:1.75}.settings-dialog{width:min(560px,100%)}.settings-tabs{display:flex;gap:4px;margin:0 0 14px;padding:4px;border-radius:var(--r-sm);background:var(--accent-wash)}.settings-tabs button{flex:1 1 0;min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:6px;color:var(--muted);background:transparent;font-size:13px;font-weight:500;transition:color var(--motion-fast) ease,background-color var(--motion-fast) ease}.settings-tabs button:hover{color:var(--accent-dark)}.settings-tabs button.active{color:var(--accent-dark);background:var(--surface);font-weight:600;box-shadow:0 1px 3px color-mix(in srgb,var(--accent-dark) 16%,transparent)}.settings-body{min-height:260px}.appearance-panel{display:grid;gap:16px}.appearance-reset{display:flex;justify-content:flex-end;padding-top:2px}.appearance-modes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:4px;border:1px solid var(--n-border);border-radius:12px;background:var(--n-fill)}.appearance-mode{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:6px 8px;border:1px solid transparent;border-radius:9px;color:var(--text-mid);background:transparent;font:inherit;font-size:13px;font-weight:500;transition:color var(--motion-fast) ease,background-color var(--motion-fast) ease,border-color var(--motion-fast) ease,box-shadow var(--motion-fast) ease}.appearance-mode:hover{color:var(--ink);background:color-mix(in srgb,var(--surface) 74%,transparent)}.appearance-mode.active{color:var(--accent-dark);border-color:var(--accent-line);background:var(--surface);box-shadow:0 1px 2px #10182814}.appearance-mode svg{flex:0 0 auto}.appearance-hint{margin:-4px 0 0;color:var(--text-soft);font-size:12px;line-height:1.55}.appearance-accents{gap:7px}.appearance-accent.active{background:var(--accent-soft)}@media(max-width:760px){.calendar-toolbar{min-height:44px;padding:6px 10px}.calendar-navigation strong{font-size:15px}.calendar-weekdays{min-height:26px;font-size:11px}.calendar-weekdays span{padding-left:5px}.calendar-cell{padding:3px 3px 2px}.calendar-cell-head{height:22px}.calendar-date-button{height:22px;gap:4px}.calendar-day-number{min-width:20px;height:20px;font-size:15px}.calendar-lunar{font-size:11px}.calendar-lunar.is-week{display:none}.calendar-work-status{min-width:14px;height:14px;font-size:10px}.calendar-event{height:21px;padding:0 4px;font-size:12px;line-height:21px;gap:3px}.calendar-more{height:17px;font-size:10.5px;line-height:17px}}
