@font-face{font-family:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/instrument-sans-latin-ext-wght-normal-B5bTHO_g.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/instrument-sans-latin-wght-normal-BbzFLZTg.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-cyrillic-ext-wght-normal-DHTKMUil.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-cyrillic-wght-normal-B1g8a0vD.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-greek-wght-normal-BpXpdlRW.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-vietnamese-wght-normal-BsaNuasd.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-latin-ext-wght-normal-BVZ5su8S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-latin-wght-normal-DMe4EKeb.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-cyrillic-ext-wght-italic-y6hTrs-Y.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-cyrillic-wght-italic-CRzqOTyj.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-greek-wght-italic-CUp-f2uw.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-vietnamese-wght-italic-D3EGHrWW.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-latin-ext-wght-italic-B_cmBfNX.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-latin-wght-italic-B-rCj6ir.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-ui:"Instrument Sans Variable", "Helvetica Neue", Arial, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--font-note:"Source Serif 4 Variable", Georgia, "Times New Roman", serif;--text-xs:11px;--text-sm:12.5px;--text-md:14px;--text-lg:16px;--text-xl:20px;--text-2xl:26px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--radius-xs:2px;--radius-s:4px;--radius-m:6px;--control-sm:28px;--control-md:32px;--control-lg:40px;--radius-control:6px;--radius-box:8px;--radius-inner:4px;--control-border:var(--rule-strong);--focus-ring:0 0 0 3px color-mix(in srgb, var(--accent) 20%, transparent);--sidebar-w:248px;--detail-w:460px;--row-h:42px;--bg:#f4f6f9;--surface:#fff;--surface-sunk:#eef1f5;--sidebar:#eceff4;--hover:#eef1f6;--hover-strong:#e4e8ef;--ink:#141a24;--ink-2:#485263;--ink-3:#78818f;--ink-4:#a3abb7;--rule:#dfe3ea;--rule-strong:#c8cfd9;--scrim:#10162261;--accent:#213f99;--accent-hover:#1a3380;--accent-ink:#fff;--accent-text:#213f99;--accent-soft:#e5eaf7;--focus:#2f56c9;--red:#d64545;--orange:#e07a1f;--yellow:#c99a06;--green:#2e9958;--teal:#1c93a1;--blue:#3366e0;--purple:#8a55d6;--pink:#d2468c;--gray:#737985;--st-todo:var(--gray);--st-in_progress:var(--blue);--st-in_review:var(--purple);--st-blocked:var(--red);--st-done:var(--green);--st-todo-bg:#e8eaee;--st-in_progress-bg:#dde6fb;--st-in_review-bg:#ebe2f9;--st-blocked-bg:#fadcdc;--st-done-bg:#d6f0df;--pr-1:var(--gray);--pr-2:var(--yellow);--pr-3:var(--orange);--pr-4:var(--red);--danger:#c23434;--danger-soft:#fbe3e3;--late:#c93a3a;--note-red:#d64545;--note-orange:#e07a1f;--note-yellow:#c99a06;--note-green:#2e9958;--note-teal:#1c93a1;--note-blue:#3366e0;--note-purple:#8a55d6;--note-pink:#d2468c;--note-gray:#737985;--hl-red:#fad4d4;--hl-orange:#fbe0c4;--hl-yellow:#fff1a8;--hl-green:#cdefd8;--hl-teal:#c6ecf0;--hl-blue:#d3e0fb;--hl-purple:#e4d7f8;--hl-pink:#f8d3e6;--hl-gray:#e3e5e9;--hl-ink:inherit;--shadow-pop:0 1px 2px #1018280f, 0 8px 24px -6px #1018282e;--shadow-drag:0 10px 28px -8px #10182859;--ease:cubic-bezier(.2, .7, .2, 1);--dur:.14s}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0d1015;--surface:#141820;--surface-sunk:#10141a;--sidebar:#0f1218;--hover:#1a1f29;--hover-strong:#222835;--ink:#e5e9ef;--ink-2:#aab2bf;--ink-3:#7b8494;--ink-4:#566070;--rule:#232a35;--rule-strong:#323b4a;--scrim:#0000008c;--accent:#3d5fc4;--accent-hover:#4a6cd1;--accent-ink:#fff;--accent-text:#93abf0;--accent-soft:#1b2440;--focus:#7d9bf2;--st-todo-bg:#73798538;--st-in_progress-bg:#3366e03d;--st-in_review-bg:#8a55d63d;--st-blocked-bg:#d645453d;--st-done-bg:#2e99583d;--st-todo:#9aa1ad;--st-in_progress:#6f93ee;--st-in_review:#ad86ea;--st-blocked:#ec7272;--st-done:#4fbf7c;--danger:#ec7272;--danger-soft:#d645452e;--late:#ef7a7a;--note-red:#ee8080;--note-orange:#f0a35e;--note-yellow:#e2c050;--note-green:#5fc58a;--note-teal:#55c0cc;--note-blue:#86a6f2;--note-purple:#b893ee;--note-pink:#ec85b8;--note-gray:#a2a8b3;--hl-red:#d6454557;--hl-orange:#e07a1f57;--hl-yellow:#c99a065c;--hl-green:#2e99585c;--hl-teal:#1c93a161;--hl-blue:#3366e061;--hl-purple:#8a55d661;--hl-pink:#d2468c5c;--hl-gray:#73798561;--shadow-pop:0 1px 2px #0006, 0 10px 28px -6px #0009;--shadow-drag:0 12px 30px -8px #000000b3}}@media (prefers-reduced-motion:reduce){:root{--dur:0s}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:transparent}html,body{background:var(--bg);height:100%;color:var(--ink);font-family:var(--font-ui);font-size:var(--text-md);font-feature-settings:"ss01" 0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;line-height:1.45}#root{height:100%}h1,h2,h3,h4,p{margin:0}button,input,textarea,select{font:inherit;color:inherit;letter-spacing:inherit}button{cursor:pointer;text-align:inherit;background:0 0;border:0;margin:0;padding:0}button:disabled{cursor:default}a{color:inherit}img,svg{display:block}input[type=text],input[type=email],input[type=password],input[type=date],input:not([type]){font-size:max(16px,1em)}@media (width>=760px){input[type=text],input[type=email],input[type=password],input[type=date],input:not([type]){font-size:inherit}}::selection{background:color-mix(in srgb, var(--accent) 24%, transparent)}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}:focus:not(:focus-visible){outline:none}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{z-index:100;background:var(--accent);color:var(--accent-ink);border-radius:var(--radius-control);padding:8px 12px;text-decoration:none;position:absolute;top:-40px;left:8px}.skip-link:focus{top:8px}*{scrollbar-width:thin;scrollbar-color:var(--rule-strong) transparent}html.is-dragging,html.is-dragging *{cursor:grabbing!important;-webkit-user-select:none!important;user-select:none!important}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.shell{grid-template-columns:var(--sidebar-w) minmax(0, 1fr);background:var(--surface);height:100dvh;display:grid;overflow:hidden}.shell.has-detail{grid-template-columns:var(--sidebar-w) minmax(0, 1fr) var(--detail-w)}.main{background:var(--surface);outline:none;grid-column:2;min-width:0;overflow:clip auto}.drawer-scrim,.icon-btn.drawer-btn,.icon-btn.drawer-close,.detail-back{display:none}@media (width<=1279px){:root{--detail-w:420px}}@media (width<=999px){.shell.has-detail{grid-template-columns:var(--sidebar-w) minmax(0, 1fr)}.shell.has-detail .main{visibility:hidden}.detail{inset:0 0 0 var(--sidebar-w);z-index:30;position:fixed}.detail-back{display:inline-flex}.icon-btn.detail-close{display:none}}@media (width<=759px){.shell,.shell.has-detail{grid-template-columns:minmax(0,1fr)}.main{grid-column:1}.sidebar{z-index:50;visibility:hidden;width:min(300px,86vw);transition:transform var(--dur) var(--ease), visibility 0s linear var(--dur);position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.drawer-open .sidebar{visibility:visible;box-shadow:var(--shadow-pop);transition:transform var(--dur) var(--ease);transform:none}.drawer-open .drawer-scrim{z-index:45;background:var(--scrim);display:block;position:fixed;inset:0}.icon-btn.drawer-btn,.icon-btn.drawer-close{display:inline-grid}.icon-btn.drawer-close{margin-left:auto}.detail{inset:0}}.splash{height:100dvh;color:var(--ink-2);background:var(--surface);place-content:center;justify-items:center;gap:14px;display:grid}.sidebar{background:var(--sidebar);border-right:1px solid var(--rule);flex-direction:column;grid-column:1;min-height:0;padding:14px 10px 10px;display:flex;overflow-y:auto}.brand{align-items:center;gap:8px;padding:4px 8px 16px;display:flex}.brand-name{letter-spacing:-.015em;font-size:16px;font-weight:650}.nav-list{flex-direction:column;gap:1px;margin:0;padding:0;list-style:none;display:flex}.nav-item{width:100%;height:var(--control-md);border-radius:var(--radius-control);color:var(--ink-2);transition:background var(--dur) var(--ease);align-items:center;gap:10px;padding:0 8px;font-size:13.5px;font-weight:500;text-decoration:none;display:flex}.nav-item svg{color:var(--ink-3);flex-shrink:0}.nav-item:hover{background:var(--hover-strong);color:var(--ink)}.nav-item.is-active{background:var(--surface);color:var(--ink);box-shadow:inset 0 0 0 1px var(--rule);font-weight:600}.nav-item.is-active svg{color:var(--accent-text)}.nav-item.is-drop-target{background:var(--accent-soft);color:var(--ink);box-shadow:inset 0 0 0 2px var(--accent)}.nav-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.nav-count{font-family:var(--font-mono);color:var(--ink-3);font-variant-numeric:tabular-nums;font-size:11px}.nav-count.is-today{color:var(--accent-text);font-weight:500}.nav-section{margin-top:24px}.nav-heading{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);justify-content:space-between;align-items:center;padding:0 2px 6px 8px;font-size:10.5px;font-weight:500;display:flex}.nav-heading .icon-btn{width:var(--control-sm);height:var(--control-sm)}.nav-progress{align-items:center;gap:6px;display:inline-flex}.nav-progress-num{font-family:var(--font-mono);color:var(--ink-3);font-variant-numeric:tabular-nums;font-size:10.5px}.nav-add{color:var(--ink-3);margin-top:2px}.nav-add svg{margin:0 -1px}.nav-new{height:var(--control-md);border:1px solid var(--accent);border-radius:var(--radius-control);background:var(--surface);box-shadow:var(--focus-ring);align-items:center;gap:10px;margin-top:2px;padding:0 8px;display:flex}.nav-new input{background:0 0;border:0;outline:none;flex:1;min-width:0;font-size:13.5px}.nav-group{border-radius:var(--radius-control);transition:background var(--dur) var(--ease), box-shadow var(--dur) var(--ease)}.nav-group+.nav-group{margin-top:16px}.nav-group.is-group-target{background:var(--accent-soft);box-shadow:0 0 0 2px var(--accent)}.nav-group-head{gap:4px;min-height:30px;padding-bottom:2px}.nav-group-toggle{border-radius:var(--radius-inner);min-width:0;height:24px;font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;text-align:left;flex:1;align-items:center;gap:5px;margin-left:-3px;padding:0 3px;display:flex}.nav-group-toggle:hover{color:var(--ink)}.nav-chevron{transition:rotate var(--dur) var(--ease);flex-shrink:0}.nav-group-toggle[aria-expanded=false] .nav-chevron{rotate:-90deg}.nav-group-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.nav-group-count{color:var(--ink-4)}.nav-group-actions{opacity:0;transition:opacity var(--dur) var(--ease);align-items:center;display:flex}.nav-group:hover .nav-group-actions,.nav-group-actions:focus-within{opacity:1}@media (hover:none){.nav-group-actions{opacity:1}}.nav-rename{flex:1;min-width:0}.nav-rename input{border:1px solid var(--accent);border-radius:var(--radius-inner);background:var(--surface);width:100%;height:24px;box-shadow:var(--focus-ring);font-family:var(--font-ui);letter-spacing:0;text-transform:none;color:var(--ink);outline:none;padding:0 6px;font-size:12.5px}.nav-empty{color:var(--ink-3);margin:0;padding:4px 8px 6px;font-size:12.5px}.nav-section-add{margin-top:14px}.nav-item.nav-project.is-dragging{opacity:.4}.account{border-top:1px solid var(--rule);margin-top:auto;padding-top:10px}.account-btn{border-radius:var(--radius-control);text-align:left;align-items:center;gap:10px;width:100%;padding:6px 8px;display:flex}.account-btn:hover{background:var(--hover-strong)}.avatar{background:var(--accent);width:26px;height:26px;color:var(--accent-ink);border-radius:50%;flex-shrink:0;place-items:center;font-size:12px;font-weight:650;display:grid}.account-text{flex-direction:column;min-width:0;line-height:1.25;display:flex}.account-name{font-size:13px;font-weight:600}.account-email{color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.page{min-width:0;max-width:980px;margin:0 auto;padding:24px clamp(16px,4vw,40px) 96px}.project-page{max-width:1180px}.page-head{border-bottom:1px solid var(--ink);padding-bottom:16px}.page-head-row{flex-wrap:wrap;align-items:center;gap:12px;min-width:0;display:flex}.page-title{font-size:var(--text-2xl);letter-spacing:-.02em;min-width:0;font-weight:650;line-height:1.2}.page-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.page-meta{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-top:8px;font-size:11px}@media (width<=759px){.page{padding-top:12px}.page-title{font-size:22px}.page-head-row .page-actions{flex-basis:100%;order:5;margin-left:0}.drawer-btn{margin-left:-8px}}.btn{height:var(--control-md);border-radius:var(--radius-control);white-space:nowrap;transition:background var(--dur) var(--ease), border-color var(--dur) var(--ease);border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-size:13px;font-weight:600;display:inline-flex}.btn:disabled{opacity:.55}.btn-primary{background:var(--accent);color:var(--accent-ink)}.btn-primary:not(:disabled):hover{background:var(--accent-hover)}.btn-danger{color:#fff;background:#c23434}.btn-danger:hover{background:#a92a2a}.btn-quiet{border-color:var(--control-border);color:var(--ink);background:var(--surface)}.btn-quiet:hover{border-color:var(--ink-4);background:var(--hover)}.btn-sm{height:var(--control-sm);padding:0 10px;font-size:12.5px}.btn-block{width:100%}.icon-btn{width:var(--control-md);height:var(--control-md);border-radius:var(--radius-control);color:var(--ink-3);transition:background var(--dur) var(--ease), color var(--dur) var(--ease);flex-shrink:0;place-items:center;text-decoration:none;display:inline-grid}.icon-btn:hover,.icon-btn[aria-expanded=true]{background:var(--hover-strong);color:var(--ink)}.link-btn{color:var(--accent-text);text-underline-offset:2px;text-decoration:underline;text-decoration-thickness:1px}.chip{height:var(--control-sm);border:1px solid var(--control-border);border-radius:var(--radius-control);padding:0 10px;font-size:12.5px;font-weight:500}.chip:hover{border-color:var(--ink-4);background:var(--hover)}.chip.is-on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-text)}.field{flex-direction:column;gap:6px;display:flex}.field-label{color:var(--ink-2);font-size:12px;font-weight:600}.field-hint{color:var(--ink-3);font-weight:400}.field input,.date-field input,.link-panel input{height:var(--control-lg);border:1px solid var(--control-border);border-radius:var(--radius-control);background:var(--surface);width:100%;transition:border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);outline:none;padding:0 12px}.date-field input,.link-panel input{height:var(--control-md);padding:0 10px}.field input:focus,.date-field input:focus,.link-panel input:focus{border-color:var(--accent);box-shadow:var(--focus-ring)}@media (hover:none){.quick-add .kbd{display:none}}.kbd{font-family:var(--font-mono);border:1px solid var(--rule-strong);border-radius:var(--radius-inner);color:var(--ink-3);border-bottom-width:2px;padding:3px 5px 2px;font-size:10.5px;font-weight:500;line-height:1}.quick-add{height:var(--control-lg);border:1px solid var(--control-border);border-radius:var(--radius-control);background:var(--surface);transition:border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);align-items:center;gap:10px;margin:16px 0;padding:0 12px;display:flex}.quick-add:focus-within{border-color:var(--accent);box-shadow:var(--focus-ring)}.quick-add-icon{color:var(--ink-3);flex-shrink:0}.quick-add:focus-within .quick-add-icon{color:var(--accent-text)}.quick-add input{background:0 0;border:0;outline:none;flex:1;min-width:0}.quick-add input::placeholder{color:var(--ink-3)}.quick-add-hint{font-family:var(--font-mono);letter-spacing:.06em;color:var(--ink-3);white-space:nowrap;font-size:10.5px}.date-input{flex:1;min-width:0;display:flex;position:relative}.date-input input{z-index:1;background:0 0;flex:1;min-width:0;padding:0;position:relative}.date-input-mirror{pointer-events:none;color:#0000;font:inherit;letter-spacing:inherit;align-items:center;display:flex;position:absolute;inset:0;overflow:hidden}.date-input-mirror>span{white-space:pre}.date-input-mirror mark{color:#0000;background:var(--accent-soft);box-shadow:0 0 0 2px var(--accent-soft);border-radius:3px}.date-chip{background:var(--accent-soft);height:24px;color:var(--accent-text);white-space:nowrap;border-radius:999px;flex-shrink:0;align-items:center;gap:5px;padding:0 3px 0 8px;font-size:12px;font-weight:600;display:inline-flex}.date-chip-x{width:18px;height:18px;color:inherit;border-radius:50%;place-items:center;display:grid}.date-chip-x:hover,.date-chip-x:focus-visible{background:color-mix(in srgb, var(--accent) 22%, transparent)}.list-controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ctl-btn{height:var(--control-sm);border:1px solid var(--control-border);border-radius:var(--radius-control);background:var(--surface);color:var(--ink-2);white-space:nowrap;transition:border-color var(--dur) var(--ease), background var(--dur) var(--ease);align-items:center;gap:6px;padding:0 10px;font-size:12.5px;display:inline-flex}.ctl-btn:hover,.ctl-btn[aria-expanded=true]{border-color:var(--ink-4);background:var(--hover)}.ctl-value{color:var(--ink);font-weight:600}.ctl-box{border:1.5px solid var(--ink-3);border-radius:3px;place-items:center;width:13px;height:13px;display:grid}.ctl-btn.is-on .ctl-box{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.st-todo{--st:var(--st-todo);--st-bg:var(--st-todo-bg)}.st-in_progress{--st:var(--st-in_progress);--st-bg:var(--st-in_progress-bg)}.st-in_review{--st:var(--st-in_review);--st-bg:var(--st-in_review-bg)}.st-blocked{--st:var(--st-blocked);--st-bg:var(--st-blocked-bg)}.st-done{--st:var(--st-done);--st-bg:var(--st-done-bg)}.check{border-radius:var(--radius-inner);width:22px;height:22px;color:var(--st);flex-shrink:0;place-items:center;margin:-1px;display:grid}.check svg{width:17px;height:17px}.check-sm svg{width:15px;height:15px}.check-box{fill:var(--surface);stroke:currentColor;stroke-width:1.5px;transition:fill var(--dur) var(--ease)}.check.st-todo .check-box{stroke:var(--ink-4)}.check:hover .check-box{stroke-width:2px;fill:var(--st-bg)}.check-mark-fill{fill:currentColor;opacity:.75}.check-mark-line{stroke:currentColor;stroke-width:1.7px;stroke-linecap:round}.check.st-done .check-box{fill:var(--st-done);stroke:var(--st-done)}.check-mark-tick{fill:none;stroke:var(--surface);stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round}.prio{flex-shrink:0}.prio rect.off{fill:var(--rule-strong)}.prio-1 rect.on{fill:var(--pr-1)}.prio-2 rect.on{fill:var(--pr-2)}.prio-3 rect.on{fill:var(--pr-3)}.prio-4 rect.on{fill:var(--pr-4)}.prio-slot,.stamp-slot{display:block}.prio-slot{width:14px}.stamp{font-family:var(--font-mono);letter-spacing:.07em;border:1px solid var(--rule-strong);border-radius:var(--radius-xs);color:var(--ink-2);white-space:nowrap;font-variant-numeric:tabular-nums;justify-self:end;padding:4px 6px 3px;font-size:10.5px;font-weight:500;line-height:1;display:inline-block}.stamp-soon{color:var(--ink);border-color:var(--ink-3)}.stamp-today{color:var(--accent-ink);background:var(--accent);border-color:var(--accent)}.stamp-late{color:var(--late);border-color:color-mix(in srgb, var(--late) 60%, transparent);background:color-mix(in srgb, var(--late) 7%, transparent)}.stamp-done{color:var(--ink-4);border-style:dashed}.pill{white-space:nowrap;background:var(--st-bg);height:22px;color:color-mix(in srgb, var(--st) 78%, var(--ink));border-radius:999px;align-items:center;gap:6px;padding:0 9px 0 7px;font-size:12px;font-weight:600;display:inline-flex}.pill-compact{height:20px;font-size:11.5px}.pill-dot{background:var(--st);border-radius:50%;width:6px;height:6px}.color-dot{border-radius:50%;flex-shrink:0;display:inline-block}.ring{flex-shrink:0}.list-wrap{min-width:0;container-type:inline-size}.rows{border-top:1px solid var(--rule)}.row-wrap{position:relative}.row{min-height:var(--row-h);border-bottom:1px solid var(--rule);transition:background var(--dur) var(--ease);grid-template-columns:22px minmax(0,1fr) auto 14px 70px;grid-template-areas:"check main meta prio due";align-items:center;column-gap:12px;padding:0 10px 0 12px;display:grid}.row.has-handle{grid-template-columns:18px 22px minmax(0,1fr) auto 14px 70px;grid-template-areas:"handle check main meta prio due";column-gap:10px;padding-left:2px}.row:hover{background:var(--hover)}.row.is-selected{background:var(--accent-soft);box-shadow:inset 2px 0 0 var(--accent)}.row.is-dragging{opacity:.35}.row-handle{width:18px;height:var(--control-sm);border-radius:var(--radius-inner);color:var(--ink-4);cursor:grab;touch-action:none;opacity:0;transition:opacity var(--dur) var(--ease);grid-area:handle;place-items:center;display:grid}.row:hover .row-handle,.row-handle:focus-visible{opacity:1}@media (hover:none){.row-handle{opacity:.7}}.row>.check{grid-area:check}.row-main{min-width:0;min-height:var(--row-h);text-align:left;flex-direction:column;grid-area:main;justify-content:center;gap:2px;padding:6px 0;display:flex}.row-main:focus-visible{outline-offset:-2px}.row-title{-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;font-size:14px;line-height:1.35;display:-webkit-box;overflow:hidden}.row.is-done .row-title{color:var(--ink-3);text-decoration:line-through;-webkit-text-decoration-color:var(--ink-4);text-decoration-color:var(--ink-4)}.row-context{color:var(--ink-3);flex-wrap:wrap;gap:2px 12px;min-width:0;font-size:12px;display:flex}.ctx{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:5px;min-width:0;max-width:100%;display:inline-flex;overflow:hidden}.row>.row-meta{grid-area:meta}.row-meta{font-family:var(--font-mono);color:var(--ink-3);font-variant-numeric:tabular-nums;justify-content:flex-end;align-items:center;gap:10px;font-size:11.5px;display:inline-flex}.meta{white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.meta.is-complete{color:var(--st-done)}.meta-toggle{border-radius:var(--radius-inner);cursor:pointer;transition:background var(--dur) var(--ease), color var(--dur) var(--ease);margin:-3px -5px;padding:3px 5px}.meta-toggle:hover{background:var(--hover-strong);color:var(--ink)}.meta-chevron{transition:rotate var(--dur) var(--ease);rotate:-90deg}.meta-toggle[aria-expanded=true] .meta-chevron{rotate:0deg}.subrows .row{background:color-mix(in srgb, var(--hover) 55%, transparent);min-height:36px}.subrows .row:hover{background:var(--hover)}.subrows .row.is-selected{background:var(--accent-soft)}.subrows .row-title{font-size:13px}.row>.prio,.row>.prio-slot{grid-area:prio}.row>.stamp,.row>.stamp-slot{grid-area:due}.row-wrap.drop-before:before,.row-wrap.drop-after:after{content:"";background:var(--accent);z-index:2;pointer-events:none;height:2px;position:absolute;left:0;right:0}.row-wrap.drop-before:before{top:-1px}.row-wrap.drop-after:after{bottom:-1px}@container (width<=520px){.row{grid-template-columns:22px minmax(0,1fr) 14px auto;grid-template-areas:"check main prio due"".meta meta meta";column-gap:10px;padding-right:6px}.row.has-handle{grid-template-columns:18px 22px minmax(0,1fr) 14px auto;grid-template-areas:"handle check main prio due"". .meta meta meta";column-gap:8px}.row>.row-meta{justify-content:flex-start}.row>.row-meta:not(:empty){margin-top:-4px;padding-bottom:8px}}.empty{color:var(--ink-3);border-top:1px solid var(--rule);padding:36px 4px;font-size:13.5px}.rows-loading{border-top:1px solid var(--rule);background:repeating-linear-gradient(to bottom, transparent 0 41px, var(--rule) 41px 42px);opacity:.7;height:168px}.drag-ghost{z-index:90;pointer-events:none;background:var(--surface);border:1px solid var(--accent);border-radius:var(--radius-control);box-shadow:var(--shadow-drag);white-space:nowrap;text-overflow:ellipsis;padding:10px 12px;font-size:13.5px;font-weight:500;position:fixed;overflow:hidden;rotate:-1deg}@media (prefers-reduced-motion:reduce){.drag-ghost{rotate:none}}.ghost-move{color:var(--accent-text);margin-top:2px;font-size:12px;font-weight:600;display:block}.popover{z-index:70;background:var(--surface);border:1px solid var(--rule-strong);border-radius:var(--radius-box);min-width:190px;max-width:calc(100vw - 16px);box-shadow:var(--shadow-pop);animation:pop-in .12s var(--ease);padding:4px;position:fixed;overflow:auto}@keyframes pop-in{0%{opacity:0;transform:translateY(-3px)}}.menu-items{flex-direction:column;display:flex}.menu-item{width:100%;min-height:var(--control-md);border-radius:var(--radius-inner);color:var(--ink);text-align:left;align-items:center;gap:8px;padding:6px 10px 6px 8px;font-size:13.5px;display:flex}.menu-item:hover:not(:disabled),.menu-item:focus-visible{background:var(--hover-strong);outline:none}.menu-item:disabled{color:var(--ink-4)}.menu-icon{width:16px;color:var(--ink-3);flex-shrink:0;justify-content:center;display:inline-flex}.menu-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.menu-hint{font-family:var(--font-mono);color:var(--ink-3);font-size:11px}.menu-check{color:var(--accent-text)}.menu-item.is-danger,.menu-item.is-danger .menu-icon{color:var(--danger)}.menu-heading{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;padding:8px 10px 4px;font-size:10.5px;font-weight:500;overflow:hidden}.menu-divider{background:var(--rule);height:1px;margin:4px 2px}.move-target{display:inline-block}.date-panel{flex-direction:column;gap:12px;width:264px;padding:8px;display:flex}.date-quick{flex-wrap:wrap;gap:8px;display:flex}.date-field{flex-direction:column;gap:6px;display:flex}.date-field input{font-family:var(--font-mono)}.date-long{color:var(--ink-3);margin-top:-4px;font-size:12px}.date-clear{align-self:flex-start}.swatches{grid-template-columns:repeat(5,28px);gap:8px;padding:8px;display:grid}.swatch{border:1px solid color-mix(in srgb, var(--ink) 12%, transparent);border-radius:50%;width:28px;height:28px}.swatch.is-on{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--ink-2)}.color-trigger{width:var(--control-md);height:var(--control-md);border-radius:var(--radius-control);flex-shrink:0;place-items:center;display:grid}.color-trigger:hover,.color-trigger[aria-expanded=true]{background:var(--hover-strong)}.props{flex-wrap:wrap;gap:8px;display:flex}.prop-btn{height:var(--control-md);border:1px solid var(--control-border);border-radius:var(--radius-control);background:var(--surface);white-space:nowrap;transition:border-color var(--dur) var(--ease), background var(--dur) var(--ease);align-items:center;gap:6px;padding:0 8px 0 10px;font-size:13px;display:inline-flex}.prop-btn:hover,.prop-btn[aria-expanded=true]{border-color:var(--ink-4);background:var(--hover)}.prop-btn .pill{margin-left:-3px}.prop-caret,.prop-icon,.prop-muted{color:var(--ink-3)}.detail{background:var(--surface);border-left:1px solid var(--rule);flex-direction:column;grid-column:3;min-width:0;min-height:0;display:flex}.detail-bar{border-bottom:1px solid var(--rule);flex-shrink:0;align-items:center;gap:4px;min-width:0;height:52px;padding:0 12px 0 16px;display:flex}.detail-bar-spacer{flex:1}.detail-back{height:var(--control-md);border-radius:var(--radius-control);color:var(--accent-text);flex-shrink:0;align-items:center;gap:4px;margin-left:-8px;padding:0 8px 0 4px;font-size:13.5px;font-weight:600}.detail-back:hover{background:var(--hover-strong)}.crumbs{white-space:nowrap;min-width:0;color:var(--ink-3);align-items:center;font-size:12.5px;display:flex;overflow:hidden}.crumb-wrap{align-items:center;min-width:0;display:inline-flex}.crumb{border-radius:var(--radius-inner);max-width:180px;color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:5px;padding:4px 6px;text-decoration:none;display:inline-flex;overflow:hidden}.crumb:hover{background:var(--hover-strong);color:var(--ink)}.crumb-sep{color:var(--ink-4);flex-shrink:0}.detail-scroll{flex:1;min-height:0;padding:24px 24px 56px;overflow-y:auto}.detail-title-row{align-items:flex-start;gap:12px;display:flex}.detail-title-row>.check{margin-top:3px}.inline-title{border-radius:var(--radius-control);resize:none;width:100%;font:inherit;color:inherit;transition:background var(--dur) var(--ease);background:0 0;border:0;outline:none;margin:-2px -5px;padding:2px 5px;display:block;overflow:hidden}.inline-title:hover{background:var(--hover)}.inline-title:focus{background:var(--surface-sunk);box-shadow:0 0 0 2px var(--focus)}.title-dates-wrap{flex:1;min-width:0}.title-dates{border-radius:var(--radius-control);transition:background var(--dur) var(--ease);margin:-2px -5px;position:relative}.title-dates:hover{background:var(--hover)}.title-dates:focus-within{background:var(--surface-sunk);box-shadow:0 0 0 2px var(--focus)}.title-dates .inline-title,.title-dates .inline-title:hover,.title-dates .inline-title:focus{z-index:1;box-shadow:none;background:0 0;margin:0;position:relative}.title-dates-mirror{white-space:pre-wrap;overflow-wrap:break-word;color:#0000;pointer-events:none;position:absolute;inset:0;overflow:hidden}.title-dates-mirror mark{color:#0000;background:color-mix(in srgb, var(--accent) 24%, transparent);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 24%, transparent);border-radius:3px}.title-dates-chip{margin-top:8px}.detail-title{letter-spacing:-.015em;font-size:20px;font-weight:650;line-height:1.3}.detail-scroll>.props{margin:16px 0 0 34px}.detail-empty,.detail-loading{color:var(--ink-3);padding:40px 24px}.detail-foot{letter-spacing:.08em;color:var(--ink-4);margin-top:36px;font-size:10.5px}@media (width<=759px){.detail-scroll{padding:16px 16px 56px}.detail-scroll>.props{margin-left:0}}.section{margin-top:32px}.section-head{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;padding-bottom:8px;display:flex}.section-title{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);align-items:center;gap:8px;font-size:11px;font-weight:500;line-height:1;display:flex}.section-count{color:var(--ink-2);font-variant-numeric:tabular-nums}.sub-rows{margin:0;padding:0;list-style:none}.sub-row{border-bottom:1px solid var(--rule);grid-template-columns:22px minmax(0,1fr) auto 28px 28px;align-items:center;gap:8px;min-height:36px;display:grid}.sub-title{text-align:left;overflow-wrap:anywhere;min-width:0;padding:7px 0;font-size:13.5px}.sub-row.is-done .sub-title{color:var(--ink-3);text-decoration:line-through;-webkit-text-decoration-color:var(--ink-4);text-decoration-color:var(--ink-4)}.sub-row .icon-btn{width:var(--control-sm);height:var(--control-sm)}.sub-delete{opacity:0}.sub-row:hover .sub-delete,.sub-delete:focus-visible{opacity:1}@media (hover:none){.sub-delete{opacity:1}}.sub-add{height:var(--control-md);border:1px solid var(--control-border);border-radius:var(--radius-control);background:var(--surface);color:var(--ink-3);transition:border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);align-items:center;gap:8px;margin-top:8px;padding:0 10px;display:flex}.sub-add input{background:0 0;border:0;outline:none;flex:1;min-width:0;height:100%;font-size:13.5px}.sub-add:focus-within{color:var(--accent-text);border-color:var(--accent);box-shadow:var(--focus-ring)}.dropzone{border:1px dashed var(--rule-strong);border-radius:var(--radius-box);color:var(--ink-2);transition:background var(--dur) var(--ease), border-color var(--dur) var(--ease);flex-wrap:wrap;align-items:center;gap:8px 12px;padding:12px 16px;font-size:13px;display:flex}.dropzone.is-over{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-text);border-style:solid}.dropzone-icon{color:var(--ink-3)}.dropzone-hint{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin-left:auto;font-size:10.5px}.uploads{flex-direction:column;gap:8px;margin:8px 0 0;padding:0;list-style:none;display:flex}.upload-top{align-items:center;gap:8px;font-size:13px;display:flex}.upload-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.upload-pct{color:var(--ink-3);font-size:11px}.upload.is-error .upload-pct,.upload-error{color:var(--danger)}.upload-error{font-size:12px}.upload .icon-btn{width:var(--control-sm);height:var(--control-sm)}.bar{background:var(--rule);border-radius:2px;height:3px;margin-top:4px;overflow:hidden}.bar span{background:var(--accent);height:100%;transition:width .12s linear;display:block}.files{margin:6px 0 0;padding:0;list-style:none}.file{border-bottom:1px solid var(--rule);grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:12px;padding:8px 0;display:grid}.file-thumb{border:1px solid var(--rule);border-radius:var(--radius-inner);background:var(--surface-sunk);width:40px;height:40px;color:var(--ink-3);flex-direction:column;justify-content:center;align-items:center;gap:1px;display:flex;position:relative;overflow:hidden}.file-thumb.is-image{background:var(--hover)}.file-thumb img{object-fit:cover;width:100%;height:100%}.file-ext{font-family:var(--font-mono);letter-spacing:.04em;max-width:36px;font-size:8.5px;font-weight:500;line-height:1;overflow:hidden}.file-body{flex-direction:column;gap:2px;min-width:0;display:flex}.file-name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:500;text-decoration:none;overflow:hidden}.file-name:hover{color:var(--accent-text);text-underline-offset:2px;text-decoration:underline}.file-meta{letter-spacing:.03em;color:var(--ink-3);font-size:11px}.file-rename{height:var(--control-sm);border:1px solid var(--accent);border-radius:var(--radius-control);box-shadow:var(--focus-ring);background:var(--surface);outline:none;min-width:0;margin-left:-8px;padding:0 8px;font-size:13.5px}.file-actions{align-items:center;gap:1px;display:flex}.file-actions .icon-btn{width:var(--control-sm);height:var(--control-sm)}.files-empty{color:var(--ink-3);padding:12px 0 4px;font-size:13px}.attachments{flex-direction:column;display:flex}.project-head .page-head-row{flex-wrap:nowrap}.project-title{font-size:var(--text-2xl);letter-spacing:-.02em;flex:1;font-weight:650;line-height:1.2}.project-props{flex-wrap:wrap;align-items:center;gap:12px 24px;margin-top:12px;display:flex}.progress{flex:180px;align-items:center;gap:10px;max-width:340px;margin-left:auto;display:flex}.progress-bar{background:var(--rule);border-radius:2px;flex:1;height:4px;overflow:hidden}.progress-bar span{height:100%;transition:width .24s var(--ease);display:block}.progress-num{letter-spacing:.06em;color:var(--ink-2);white-space:nowrap;font-size:11px}@media (width<=759px){.project-title{font-size:22px}.project-head .page-head-row .page-actions{flex-basis:auto;order:0;margin-left:auto}.progress{flex-basis:100%;max-width:none;margin-left:0}}.tabs{border-bottom:1px solid var(--rule);scrollbar-width:none;gap:4px;margin-top:16px;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tab{color:var(--ink-3);white-space:nowrap;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-1px;padding:10px 12px 9px;font-size:13.5px;font-weight:600;text-decoration:none;display:inline-flex}.tab:hover{color:var(--ink)}.tab.is-active{color:var(--ink);border-bottom-color:var(--accent)}.tab.is-active svg{color:var(--accent-text)}.tab-toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin:16px 0;display:flex}.tab-toolbar .quick-add{flex:300px;margin:0}.project-page .page-head{border-bottom:0;padding-bottom:0}.board{scroll-snap-type:x proximity;grid-auto-columns:minmax(196px,1fr);grid-auto-flow:column;align-items:start;gap:12px;margin-top:16px;padding-bottom:12px;display:grid;overflow-x:auto}.column{background:var(--surface-sunk);border:1px solid var(--rule);border-radius:var(--radius-box);min-height:220px;box-shadow:inset 0 2px 0 var(--st);scroll-snap-align:start;transition:background var(--dur) var(--ease), border-color var(--dur) var(--ease);flex-direction:column;display:flex}.column.is-over{border-color:var(--st);background:color-mix(in srgb, var(--st) 7%, var(--surface-sunk))}.column-head{align-items:center;gap:8px;padding:8px 8px 8px 12px;display:flex}.column-count{color:var(--ink-3);font-size:11px}.column-add{width:var(--control-sm);height:var(--control-sm);margin-left:auto}.cards{flex-direction:column;flex:1;gap:8px;margin:0;padding:0 8px 8px;list-style:none;display:flex}.card{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius-control);-webkit-user-select:none;user-select:none;transition:border-color var(--dur) var(--ease);grid-template-columns:16px minmax(0,1fr);grid-template-areas:"handle title"".foot";gap:6px;padding:8px 10px 8px 4px;display:grid}.card:hover{border-color:var(--rule-strong)}.card.is-selected{border-color:var(--accent);box-shadow:inset 2px 0 0 var(--accent)}.card.is-dragging{opacity:.35}.card.is-done .card-title{color:var(--ink-3)}.card-handle{height:20px;color:var(--ink-4);cursor:grab;touch-action:none;border-radius:var(--radius-inner);grid-area:handle;place-items:center;display:grid}.card-title{text-align:left;overflow-wrap:anywhere;grid-area:title;font-size:13.5px;font-weight:500;line-height:1.35}.card-foot{grid-area:foot;align-items:center;gap:8px;min-height:18px;display:flex}.card-foot .prio-slot{display:none}.card-foot .row-meta{justify-content:flex-start}.card-spacer{flex:1}.card-new{padding:6px;display:block}.card-new input{background:0 0;border:0;outline:none;width:100%;padding:4px;font-size:13.5px}.card-ghost{white-space:normal}.column-empty{text-align:center;color:var(--ink-4);border:1px dashed var(--rule);border-radius:var(--radius-control);padding:18px 6px;font-size:12px}@media (width<=759px){.board{grid-auto-columns:minmax(240px,82%)}}.documents{margin-top:6px}.doc-section{margin-top:24px}.doc-section .dropzone{margin-bottom:4px}.doc-group{margin-top:16px}.doc-group-head{flex-wrap:wrap;align-items:center;gap:4px 6px;margin-bottom:2px;font-size:13.5px;display:flex}.doc-path{color:var(--ink-3);align-items:center;gap:4px;display:inline-flex}.doc-path-link{color:var(--ink-2);text-decoration:none}.doc-path-link:hover{text-decoration:underline}.doc-task{text-align:left;font-weight:600}.doc-task:hover{color:var(--accent-text);text-underline-offset:2px;text-decoration:underline}.project-notes{margin-top:16px}.dialog-scrim{z-index:80;background:var(--scrim);animation:fade-in .12s var(--ease);place-items:center;padding:16px;display:grid;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}}.dialog{background:var(--surface);border:1px solid var(--rule-strong);border-radius:var(--radius-box);width:min(420px,100%);box-shadow:var(--shadow-pop);padding:24px 24px 20px}.dialog-title{overflow-wrap:anywhere;margin-bottom:8px;font-size:16px;font-weight:650;line-height:1.35}.dialog-body{color:var(--ink-2);font-size:13.5px;line-height:1.5}.shortcuts-dialog{width:min(640px,100%);max-height:min(86vh,760px);overflow-y:auto}.shortcuts-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.shortcuts{border-collapse:collapse;width:100%;margin-top:14px;font-size:13px}.shortcuts th,.shortcuts td{text-align:left;vertical-align:middle;padding:6px 8px 6px 0}.shortcuts thead th{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);border-bottom:1px solid var(--rule);font-size:10.5px;font-weight:500}.shortcuts-group th{color:var(--ink);padding-top:14px;font-weight:650}.shortcuts td{border-bottom:1px solid var(--rule);color:var(--ink-2)}.shortcut-keys{white-space:nowrap;flex-wrap:wrap;align-items:center;gap:4px;display:inline-flex}.shortcut-or{color:var(--ink-3);font-size:12px}.dialog-actions{justify-content:flex-end;gap:8px;margin-top:24px;display:flex}.toasts{left:50%;bottom:max(16px, env(safe-area-inset-bottom));z-index:95;pointer-events:none;flex-direction:column;gap:8px;width:min(440px,100vw - 32px);display:flex;position:fixed;transform:translate(-50%)}.toast{border-radius:var(--radius-box);background:var(--ink);color:var(--surface);box-shadow:var(--shadow-pop);pointer-events:auto;align-items:center;gap:12px;padding:8px 8px 8px 16px;font-size:13px;display:flex}.toast span{flex:1}.toast-error{box-shadow:inset 3px 0 0 var(--red), var(--shadow-pop)}.toast .icon-btn{color:inherit;opacity:.7;width:var(--control-sm);height:var(--control-sm)}.toast .icon-btn:hover{background:color-mix(in srgb, var(--surface) 15%, transparent);color:inherit}.auth{background:repeating-linear-gradient(to bottom, transparent 0 31px, color-mix(in srgb, var(--rule) 70%, transparent) 31px 32px), var(--bg);flex-direction:column;justify-content:center;align-items:center;gap:20px;min-height:100dvh;padding:24px 16px;display:flex}.auth-card{background:var(--surface);border:1px solid var(--rule-strong);border-top:3px solid var(--accent);border-radius:var(--radius-box);width:min(380px,100%);padding:32px 28px 28px;box-shadow:0 1px 2px #1018280a}.auth-brand{align-items:center;gap:8px;margin-bottom:24px;display:flex}.auth-title{letter-spacing:-.02em;font-size:22px;font-weight:650}.auth-sub{color:var(--ink-3);margin:4px 0 20px;font-size:13.5px}.auth-form{flex-direction:column;gap:16px;display:flex}.auth-form .btn{height:var(--control-lg);margin-top:4px}.form-error{color:var(--danger);background:var(--danger-soft);border-radius:var(--radius-control);padding:8px 12px;font-size:13px}.auth-error{color:var(--ink-2);flex-direction:column;align-items:flex-start;gap:12px;display:flex}.auth-loading{height:200px}.code-input{font-family:var(--font-mono);letter-spacing:.4em;text-align:center;font-variant-numeric:tabular-nums;height:52px!important;font-size:24px!important}.auth-email{color:var(--ink);overflow-wrap:anywhere;font-weight:600}.auth-note{color:var(--ink-3);font-size:12.5px;line-height:1.6}.auth-foot{letter-spacing:.12em;color:var(--ink-3);font-size:10.5px}.notes{flex-direction:column;display:flex}.notes-head{z-index:3;background:var(--surface);border-bottom:1px solid var(--rule);align-items:flex-start;gap:8px;padding:4px 0;display:flex;position:sticky;top:-20px}.toolbar{flex-wrap:wrap;flex:1;align-items:center;gap:2px 0;min-width:0;display:flex}.tb-group{border-right:1px solid var(--rule);gap:1px;padding:0 6px;display:flex}.tb-group:first-child{padding-left:0}.tb-group:last-child{border-right:0}.tb-btn{width:var(--control-sm);height:var(--control-sm);border-radius:var(--radius-control);color:var(--ink-2);transition:background var(--dur) var(--ease), color var(--dur) var(--ease);place-items:center;display:grid;position:relative}.tb-btn:hover:not(:disabled),.tb-btn[aria-expanded=true]{background:var(--hover-strong);color:var(--ink)}.tb-btn.is-active{background:var(--accent-soft);color:var(--accent-text)}.tb-btn:disabled{opacity:.35}.tb-color-bar{border-radius:1px;height:3px;position:absolute;bottom:3px;left:8px;right:8px}.tb-btn:has(.tb-color-bar) svg{margin-top:-3px}.save-state{text-align:right;min-width:62px;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);white-space:nowrap;flex-shrink:0;padding-top:8px;font-size:10.5px}.save-saved{color:var(--ink-3)}.save-error,.save-error .link-btn{color:var(--danger)}.swatch-panel{padding:4px}.swatch-title{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);padding:4px 8px 0;font-size:10.5px}.swatch-text,.swatch-default{border-radius:var(--radius-inner);background:var(--surface);border:1px solid var(--rule);font-family:var(--font-note);place-items:center;font-size:16px;font-weight:650;display:grid}.swatch-default{color:var(--ink)}.swatch-none{background:linear-gradient(to top right, transparent calc(50% - 1px), var(--red) calc(50% - 1px) calc(50% + 1px), transparent calc(50% + 1px)), var(--surface)}.link-panel{flex-direction:column;gap:6px;width:280px;padding:10px;display:flex}.link-actions{justify-content:flex-end;gap:6px;margin-top:4px;display:flex}.notes-content{border-radius:var(--radius-control);margin-top:8px}.notes-content:has(.notes-body:focus-visible){outline:2px solid var(--focus);outline-offset:2px}.notes-body{min-height:140px;font-family:var(--font-note);color:var(--ink);overflow-wrap:break-word;word-break:break-word;outline:none;padding:8px 2px 16px;font-size:16px;line-height:1.6;position:relative}.notes-page{max-width:720px;min-height:52vh;font-size:17px}.notes-body:has(>p:only-child>br.ProseMirror-trailingBreak:only-child):before{content:attr(data-placeholder);color:var(--ink-4);pointer-events:none;font-style:italic;position:absolute;top:8px;left:2px}.notes-body>*+*{margin-top:.55em}.notes-body p{margin:0}.notes-body h1,.notes-body h2,.notes-body h3{font-family:var(--font-ui);color:var(--ink);letter-spacing:-.015em;line-height:1.25}.notes-body h1{margin-top:1em;font-size:1.45em;font-weight:650}.notes-body h2{margin-top:.9em;font-size:1.2em;font-weight:650}.notes-body h3{margin-top:.8em;font-size:1em;font-weight:650}.notes-body>:first-child{margin-top:0}.notes-body ul,.notes-body ol{margin:.4em 0;padding-left:1.4em}.notes-body li+li{margin-top:.15em}.notes-body li>p{margin:0}.notes-body li::marker{color:var(--ink-3)}.notes-body ol li::marker{font-family:var(--font-mono);font-size:.85em}.notes-body ul[data-type=taskList]{padding-left:.1em;list-style:none}.notes-body ul[data-type=taskList]>li{align-items:flex-start;gap:.55em;display:flex}.notes-body ul[data-type=taskList]>li>label{-webkit-user-select:none;user-select:none;flex-shrink:0;align-items:center;height:1.6em;display:flex;position:relative}.notes-body ul[data-type=taskList]>li>label input{width:15px;height:15px;accent-color:var(--accent);cursor:pointer;margin:0}.notes-body ul[data-type=taskList]>li>div{flex:1;min-width:0}.notes-body ul[data-type=taskList]>li[data-checked=true]>div{color:var(--ink-3);text-decoration:line-through;-webkit-text-decoration-color:var(--ink-4);text-decoration-color:var(--ink-4)}.notes-body blockquote{border-left:3px solid var(--rule-strong);color:var(--ink-2);margin:.6em 0;padding:.1em 0 .1em 1em}.notes-body pre{background:var(--surface-sunk);border:1px solid var(--rule);border-radius:var(--radius-control);font-family:var(--font-mono);white-space:pre;word-break:normal;margin:.6em 0;padding:10px 12px;font-size:13px;line-height:1.55;overflow-x:auto}.notes-body pre code{font:inherit;background:0 0;border:0;padding:0}.notes-body code{font-family:var(--font-mono);background:var(--surface-sunk);border:1px solid var(--rule);border-radius:var(--radius-inner);padding:.1em .3em;font-size:.82em}.notes-body a{color:var(--accent-text);text-underline-offset:2px;cursor:text;text-decoration:underline;text-decoration-thickness:1px}.notes-body mark{background:var(--hl-yellow);color:inherit;-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:2px;padding:0 1px}.notes-body hr{border:0;border-top:1px solid var(--rule-strong);margin:1.2em 0}.notes-body hr.ProseMirror-selectednode{border-top-color:var(--accent)}.notes-loading{min-height:160px}@media (width<=759px){.notes-head{top:-16px}.tb-group{border-right:0;padding:0 4px 0 0}}
