@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-ext-wght-normal-X_5orZeX.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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-wght-normal-DiZS0aHC.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-symbols2-wght-normal-CO5SzqOn.woff2)format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-vietnamese-wght-normal-DadHysG0.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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-ext-wght-normal-Bwz-egvJ.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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-wght-normal-XN7g48iV.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{--bg:#f8f8f6;--bg-sidebar:#f1f1ee;--surface:#fff;--surface-hover:#f3f3f0;--surface-active:#ebebe7;--surface-sunken:#f5f5f2;--overlay:#14161452;--line:#e6e6e1;--line-strong:#d6d6d0;--line-soft:#efefeb;--fg:#1b1d1b;--fg-2:#4f534f;--fg-3:#6e726d;--fg-4:#9a9e98;--fg-inverse:#fff;--accent-light:#2f6f5e;--accent-dark:#6cc3a6;--accent:var(--accent-light);--on-accent:#fff;--accent-tint:color-mix(in srgb, var(--accent) 11%, transparent);--accent-ring:color-mix(in srgb, var(--accent) 35%, transparent);--c-green:#2c7a4b;--c-amber:#9a6410;--c-red:#c2412f;--c-blue:#3d63c9;--c-violet:#7a4fc4;--c-teal:#2b8a87;--c-rose:#c2456e;--c-slate:#7a7e86;--status-backlog:#a3a6a0;--status-todo:#7b7f79;--status-progress:#cf8b17;--status-review:#7a4fc4;--status-done:#2c7a4b;--shadow-xs:0 1px 2px #1214120d;--shadow-card:0 1px 2px #1214120a, 0 0 0 1px var(--line);--shadow-pop:0 14px 34px -10px #12141233, 0 2px 6px -2px #1214120f, 0 0 0 1px var(--line);--shadow-drag:0 18px 36px -12px #1214124d, 0 0 0 1px var(--line-strong);--radius-xs:4px;--radius-sm:6px;--radius:8px;--radius-lg:12px;--font:"Geist Variable", "Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:"Geist Mono Variable", "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--text-2xs:11px;--text-xs:12px;--text-sm:12.5px;--text-base:13.5px;--text-md:14.5px;--text-lg:16px;--text-xl:20px;--text-2xl:24px;--control-sm:26px;--control:30px;--control-lg:36px;--sidebar-w:248px;--topbar-h:48px;--row-h:40px;--card-pad:10px;--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-drawer:cubic-bezier(.32, .72, 0, 1);--spring:cubic-bezier(.34, 1.56, .64, 1);--t-fast:.14s;--t:.18s;--t-enter:.36s;--t-stagger:35ms;--rise:8px;--slide:48px;--pop-scale:.97;--sheet:100%;--tab-scale:.4;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#161816;--bg-sidebar:#121412;--surface:#1b1d1b;--surface-hover:#232623;--surface-active:#2b2e2b;--surface-sunken:#151715;--overlay:#0000008c;--line:#2a2d2a;--line-strong:#383c38;--line-soft:#222522;--fg:#e9ebe7;--fg-2:#b4b8b2;--fg-3:#959a93;--fg-4:#6b706a;--fg-inverse:#121412;--accent:var(--accent-dark);--on-accent:#0e1a15;--c-green:#63c08a;--c-amber:#e0aa4a;--c-red:#ec806f;--c-blue:#7ea0f0;--c-violet:#b195ee;--c-teal:#5cc7c2;--c-rose:#ec8fae;--c-slate:#9ca0a8;--status-backlog:#6b706a;--status-todo:#a7aba5;--status-progress:#e0aa4a;--status-review:#b195ee;--status-done:#63c08a;--shadow-xs:0 1px 2px #0000004d;--shadow-card:0 0 0 1px var(--line);--shadow-pop:0 18px 40px -10px #000000a6, 0 0 0 1px var(--line-strong);--shadow-drag:0 18px 40px -10px #000000b3, 0 0 0 1px var(--line-strong);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-accent=indigo]{--accent-light:#4a55c8;--accent-dark:#9aa3f2}:root[data-accent=blue]{--accent-light:#2e66c8;--accent-dark:#7eaaf0}:root[data-accent=violet]{--accent-light:#7046c2;--accent-dark:#b59cf0}:root[data-accent=rose]{--accent-light:#b83e66;--accent-dark:#ef93b3}:root[data-accent=graphite]{--accent-light:#2f312f;--accent-dark:#d8dad6}:root[data-density=compact]{--row-h:34px;--card-pad:8px}:root[data-motion=reduce]{--rise:0px;--slide:0px;--pop-scale:1;--sheet:0px;--tab-scale:1}:root[data-motion=reduce] *,:root[data-motion=reduce] :before,:root[data-motion=reduce] :after{scroll-behavior:auto!important;transition:none!important}@media (prefers-reduced-motion:reduce){:root{--rise:0px;--slide:0px;--pop-scale:1;--sheet:0px;--tab-scale:1}*,:before,:after{scroll-behavior:auto!important;transition:none!important}}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--fg);font:var(--text-base) / 1.45 var(--font);-webkit-font-smoothing:antialiased;margin:0;overflow:hidden}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}a{color:inherit;text-decoration:none}h1,h2,h3,h4,p{margin:0}::selection{background:color-mix(in srgb, var(--accent) 24%, transparent)}:focus{outline:none}:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-radius:var(--radius-xs)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--line-strong);background-clip:padding-box;border:3px solid #0000;border-radius:10px}::-webkit-scrollbar-track{background:0 0}.mono{font-family:var(--font-mono);letter-spacing:-.01em;font-size:.9em}.tabular{font-variant-numeric:tabular-nums}.muted{color:var(--fg-2)}.faint{color:var(--fg-3)}.truncate{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.hstack{align-items:center;gap:8px;display:flex}.vstack{flex-direction:column;gap:8px;display:flex}.grow{flex:1;min-width:0}.spacer{flex:1}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.eyebrow{font-size:var(--text-2xs);letter-spacing:.06em;text-transform:uppercase;color:var(--fg-3);font-weight:600}kbd{font-family:var(--font-mono);border-radius:var(--radius-xs);border:1px solid var(--line);background:var(--surface);min-width:18px;height:18px;color:var(--fg-2);border-bottom-width:1.5px;justify-content:center;align-items:center;padding:0 5px;font-size:10.5px;line-height:1;display:inline-flex}.btn{--h:var(--control);height:var(--h);border-radius:var(--radius-sm);font-size:var(--text-sm);white-space:nowrap;-webkit-user-select:none;user-select:none;transition:background var(--t-fast), border-color var(--t-fast), color var(--t-fast), transform var(--t-fast) var(--ease-out);border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:0 11px;font-weight:500;display:inline-flex}.btn:disabled{opacity:.45;pointer-events:none}.btn-sm{--h:var(--control-sm);font-size:var(--text-xs);padding:0 8px}.btn-lg{--h:var(--control-lg);font-size:var(--text-base);padding:0 14px}.btn-block{width:100%}.btn-primary{background:var(--accent);color:var(--on-accent);box-shadow:inset 0 -1px #00000024}.btn-primary:hover{background:color-mix(in srgb, var(--accent) 88%, var(--fg))}.btn-secondary{background:var(--surface);border-color:var(--line-strong);box-shadow:var(--shadow-xs)}.btn-secondary:hover{background:var(--surface-hover)}.btn-ghost{color:var(--fg-2)}.btn-ghost:hover,.btn-ghost.is-on{background:var(--surface-hover);color:var(--fg)}.btn-danger{background:var(--c-red);color:#fff}.btn-danger:hover{background:color-mix(in srgb, var(--c-red) 88%, #000)}.icon-btn{width:var(--control);height:var(--control);border-radius:var(--radius-sm);color:var(--fg-2);transition:background var(--t-fast), color var(--t-fast), transform var(--t-fast) var(--ease-out);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover,.icon-btn.is-on{background:var(--surface-hover);color:var(--fg)}.icon-btn.sm{width:var(--control-sm);height:var(--control-sm)}.icon-btn.xs{border-radius:var(--radius-xs);width:22px;height:22px}@media (prefers-reduced-motion:no-preference){:root:not([data-motion=reduce]) .btn:active:not(:disabled){transform:scale(.97)}:root:not([data-motion=reduce]) .icon-btn:active:not(:disabled){transform:scale(.94)}:root:not([data-motion=reduce]) .checkbox:active{transform:scale(.88)}}.field{flex-direction:column;gap:6px;display:flex}.field-label{font-size:var(--text-sm);font-weight:500}.field-hint{font-size:var(--text-xs);color:var(--fg-3)}.field-error{font-size:var(--text-xs);color:var(--c-red)}.input,.select,.textarea{width:100%;height:var(--control);border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--surface);font-size:var(--text-base);transition:border-color var(--t-fast), box-shadow var(--t-fast);padding:0 10px}.textarea{resize:vertical;height:auto;min-height:72px;padding:8px 10px;line-height:1.5}.input::placeholder,.textarea::placeholder{color:var(--fg-4)}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-tint);outline:none}.input.has-error{border-color:var(--c-red)}.select{appearance:none;cursor:pointer;background:var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 9px center;padding-right:28px}.select.sm{height:var(--control-sm);font-size:var(--text-xs);width:auto}.input-icon{align-items:center;display:flex;position:relative}.input-icon>svg{color:var(--fg-4);pointer-events:none;position:absolute;left:9px}.input-icon>.input{padding-left:30px}.input-icon>kbd{position:absolute;right:7px}.input.sm{height:var(--control-sm);font-size:var(--text-sm)}.checkbox{appearance:none;border:1.5px solid var(--line-strong);background:var(--surface);cursor:pointer;width:15px;height:15px;transition:background var(--t-fast), border-color var(--t-fast), transform .12s var(--ease-out);border-radius:4px;flex-shrink:0;place-content:center;margin:0;display:inline-grid}.checkbox:hover{border-color:var(--fg-4)}.checkbox:checked,.checkbox:indeterminate{background:var(--accent);border-color:var(--accent)}.checkbox:checked:after{content:"";border-left:1.8px solid var(--on-accent);border-bottom:1.8px solid var(--on-accent);width:8px;height:4.5px;transform:rotate(-45deg)translate(1px,-1px)}.checkbox:indeterminate:after{content:"";background:var(--on-accent);width:7px;height:1.8px}.checkbox.round{border-radius:50%;width:16px;height:16px}.switch{appearance:none;background:var(--line-strong);cursor:pointer;width:30px;height:18px;transition:background var(--t-fast);border-radius:9px;flex-shrink:0;margin:0;position:relative}.switch:after{content:"";width:14px;height:14px;transition:transform .28s var(--spring);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0003}.switch:checked{background:var(--accent)}.switch:checked:after{transform:translate(12px)}.segmented{border-radius:var(--radius-sm);background:var(--surface-active);gap:2px;padding:2px;display:inline-flex}.segmented button{height:calc(var(--control-sm) - 2px);font-size:var(--text-xs);color:var(--fg-2);border-radius:5px;align-items:center;gap:5px;padding:0 9px;font-weight:500;display:inline-flex}.segmented button:hover{color:var(--fg)}.segmented button.is-on{background:var(--surface);color:var(--fg);box-shadow:0 1px 2px #00000014, 0 0 0 1px var(--line)}.tabs{border-bottom:1px solid var(--line);scrollbar-width:none;gap:2px;display:flex;overflow-x:auto}.tab{height:38px;font-size:var(--text-sm);color:var(--fg-2);white-space:nowrap;align-items:center;gap:6px;padding:0 10px;font-weight:500;display:inline-flex;position:relative}.tab:hover,.tab.is-on{color:var(--fg)}.tab.is-on:after{content:"";background:var(--fg);height:2px;animation:tab-in .26s var(--ease-out);border-radius:2px;position:absolute;bottom:-1px;left:8px;right:8px}.tab .count{font-size:var(--text-2xs);color:var(--fg-3)}.badge{height:20px;font-size:var(--text-xs);white-space:nowrap;color:var(--c,var(--fg-2));background:color-mix(in srgb, var(--c,var(--fg-3)) 11%, transparent);border-radius:5px;align-items:center;gap:5px;padding:0 7px;font-weight:500;display:inline-flex}.badge>i{background:currentColor;border-radius:50%;width:6px;height:6px}.label-chip{height:20px;font-size:var(--text-xs);color:var(--fg-2);border:1px solid var(--line);background:var(--surface);white-space:nowrap;border-radius:5px;align-items:center;gap:5px;padding:0 7px 0 6px;display:inline-flex}.label-chip>i{background:var(--c);border-radius:2px;width:6px;height:6px}.count-pill{background:var(--accent);min-width:16px;height:16px;color:var(--on-accent);border-radius:8px;place-items:center;padding:0 4px;font-size:10.5px;font-weight:600;display:inline-grid}.prop-btn{height:var(--control-sm);border-radius:var(--radius-sm);font-size:var(--text-sm);white-space:nowrap;max-width:100%;transition:background var(--t-fast);align-items:center;gap:6px;padding:0 7px;display:inline-flex}.prop-btn:hover{background:var(--surface-hover)}.prop-btn.is-empty{color:var(--fg-3)}.prop-btn.is-danger{color:var(--c-red)}.prop-btn.bordered{border:1px solid var(--line)}.due-chip{font-size:var(--text-xs);color:var(--fg-3);font-variant-numeric:tabular-nums;align-items:center;gap:4px;display:inline-flex}.due-chip.is-soon{color:var(--c-amber)}.due-chip.is-overdue{color:var(--c-red)}.avatar{--size:22px;width:var(--size);height:var(--size);font-size:calc(var(--size) * .4);-webkit-user-select:none;user-select:none;background:color-mix(in srgb, var(--c) 18%, var(--surface));color:color-mix(in srgb, var(--c) 60%, var(--fg));box-shadow:0 0 0 1.5px var(--surface);border-radius:50%;flex-shrink:0;place-items:center;font-weight:600;line-height:1;display:inline-grid}.avatar.is-empty{border:1.3px dashed var(--line-strong);color:var(--fg-4);box-shadow:none;background:0 0}.avatar-stack{display:inline-flex}.avatar-stack .avatar+.avatar{margin-left:-5px}.progress{background:var(--surface-active);border-radius:4px;flex:1;min-width:40px;height:4px;overflow:hidden}.progress>i{background:var(--c,var(--accent));height:100%;width:calc(var(--p) * 100%);transform-origin:0;transition:width .3s var(--ease-out);border-radius:4px;display:block}.page{width:100%;max-width:1180px;margin:0 auto;padding:28px 32px 48px}.page.is-wide{max-width:none}.page.is-flush{flex-direction:column;max-width:none;min-height:100%;padding:0;display:flex}.page-header{flex-wrap:wrap;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.page-header h1{font-size:var(--text-2xl);letter-spacing:-.02em;font-weight:600}.page-header p{color:var(--fg-3);margin-top:4px}.page-header .actions{align-items:center;gap:8px;margin-left:auto;display:flex}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg)}.panel-header{flex-wrap:wrap;align-items:center;gap:8px;padding:12px 14px 10px;display:flex}.panel-header h2,.panel-header h3{font-size:var(--text-base);font-weight:600}.panel-body{padding:0 14px 14px}.stat-grid{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);grid-template-columns:repeat(auto-fit,minmax(170px,1fr));display:grid;overflow:hidden}.stat{border-right:1px solid var(--line);padding:14px 16px}.stat:last-child{border-right:0}.stat .k{font-size:var(--text-sm);color:var(--fg-2);align-items:center;gap:6px;display:flex}.stat .v{letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin-top:6px;font-size:26px;font-weight:600}.stat .s{font-size:var(--text-xs);color:var(--fg-3)}.grid-2{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}.card-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;display:grid}.content>.page>*,.pp-settings-body>:not(.pp-settings-head){animation:rise-in var(--t-enter) var(--ease-out) backwards}.content>.page>:nth-child(2){animation-delay:var(--t-stagger)}.content>.page>:nth-child(3){animation-delay:calc(var(--t-stagger) * 2)}.content>.page>:nth-child(n+4){animation-delay:calc(var(--t-stagger) * 3)}.sk{background-size:220% 100%;background-image:linear-gradient(90deg, var(--sk-base,var(--surface-active)) 0%, var(--sk-shine,var(--surface-hover)) 40%, var(--sk-base,var(--surface-active)) 80%);border-radius:5px;display:block}.toolbar{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:6px;padding:10px 20px;display:flex}.toolbar .chips{flex-wrap:wrap;gap:6px;display:flex}.filter-chip{height:var(--control-sm);border-radius:var(--radius-sm);font-size:var(--text-xs);background:var(--accent-tint);border:1px solid var(--accent-ring);align-items:center;gap:6px;padding:0 4px 0 8px;display:inline-flex}.empty{text-align:center;flex-direction:column;align-items:center;gap:6px;padding:48px 24px;display:flex}.empty .glyph{background:var(--surface-hover);width:40px;height:40px;color:var(--fg-3);border-radius:10px;place-items:center;margin-bottom:6px;display:grid}.empty h3{font-size:var(--text-md);font-weight:600}.empty p{color:var(--fg-3);max-width:340px}.empty .btn{margin-top:10px}.feed-item{font-size:var(--text-sm);align-items:flex-start;gap:10px;padding:9px 0;display:flex}.feed-item b{font-weight:600}.feed-item .obj{cursor:pointer;font-weight:500}.feed-item .obj:hover{text-decoration:underline}.feed-item time{color:var(--fg-3);font-size:var(--text-xs);white-space:nowrap;margin-left:auto;padding-left:8px}@keyframes fade-in{0%{opacity:0}}@keyframes rise-in{0%{opacity:0;transform:translateY(var(--rise))}}@keyframes pop-in{0%{opacity:0;transform:translateY(calc(var(--rise) / -2)) scale(var(--pop-scale))}}@keyframes modal-in{0%{opacity:0;transform:translateY(var(--rise)) scale(var(--pop-scale))}}@keyframes slide-in-right{0%{opacity:0;transform:translateX(var(--slide))}}@keyframes toast-in{0%{opacity:0;transform:translateY(calc(var(--rise) * 1.75)) scale(var(--pop-scale))}}@keyframes toast-out{to{opacity:0;transform:translateY(calc(var(--rise) / 2))}}@keyframes tab-in{0%{opacity:0;transform:scaleX(var(--tab-scale))}}@keyframes done-wash{0%{background-color:color-mix(in srgb, var(--c-green) 16%, transparent)}}@keyframes done-ring{0%{box-shadow:0 0 0 2px var(--c-green), var(--shadow-card)}}@keyframes add-wash{0%{background-color:var(--accent-tint)}}@keyframes add-ring{0%{box-shadow:0 0 0 2px var(--accent-ring), var(--shadow-card)}}@keyframes strike-in{0%{text-decoration-color:#0000}}@keyframes grow-x{0%{transform:scaleX(0)}}@keyframes pop-check{0%{transform:scale(.55)}55%{transform:scale(1.2)}to{transform:scale(1)}}@keyframes land{0%{box-shadow:var(--shadow-drag);transform:scale(1.04)rotate(-1.2deg)}}@keyframes shimmer{0%{background-position:120% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion:no-preference){:root:not([data-motion=reduce]) .content .progress>i{animation:grow-x .8s .12s var(--ease-out) backwards}:root:not([data-motion=reduce]) .sk{animation:1.3s ease-in-out infinite shimmer}:root:not([data-motion=reduce]) :is(.pg-mini.fx-done .checkbox,.tv-row.fx-done .status-icon){animation:pop-check .42s var(--spring)}}.shell{grid-template-columns:var(--sidebar-w) minmax(0, 1fr);height:100%;display:grid}.shell.is-collapsed{grid-template-columns:56px minmax(0,1fr)}.main{flex-direction:column;min-width:0;min-height:0;display:flex}.content{flex:1;min-height:0;position:relative;overflow:auto}.sidebar{background:var(--bg-sidebar);border-right:1px solid var(--line);-webkit-user-select:none;user-select:none;flex-direction:column;min-height:0;display:flex;overflow:hidden}.sidebar-top{align-items:center;gap:4px;padding:8px 8px 4px;display:flex}.ws-switch{border-radius:var(--radius-sm);text-align:left;flex:1;align-items:center;gap:8px;min-width:0;padding:5px 6px;display:flex}.ws-switch:hover{background:var(--surface-active)}.ws-logo{color:#fff;border-radius:6px;flex-shrink:0;place-items:center;width:22px;height:22px;font-size:11px;font-weight:700;display:grid}.menu-item .ws-logo{border-radius:4px;width:16px;height:16px;font-size:9px}.ws-name{font-weight:600}.sidebar-scroll{scrollbar-width:thin;flex:1;padding:4px 8px 12px;overflow:hidden auto}.nav-group{margin-top:14px}.nav-group-h{align-items:center;height:24px;padding:0 8px;display:flex}.nav-group-h .icon-btn{opacity:0;margin-left:auto}.nav-group:hover .nav-group-h .icon-btn{opacity:1}.nav-group-toggle{border-radius:var(--radius-sm);text-align:left;gap:4px;width:100%}.nav-group-toggle:hover,.nav-group-link:hover{color:var(--fg)}.nav-group-toggle svg{color:var(--fg-4)}.nav-group-link{color:inherit;border-radius:var(--radius-xs)}.nav-group-link.is-on{color:var(--fg)}.nav-item{border-radius:var(--radius-sm);width:100%;height:30px;color:var(--fg-2);font-size:var(--text-base);text-align:left;white-space:nowrap;transition:background var(--t-fast), color var(--t-fast);align-items:center;gap:9px;padding:0 8px;display:flex;position:relative}.nav-item>svg{color:var(--fg-4)}.nav-item:hover{background:var(--surface-active);color:var(--fg)}.nav-item:hover>svg,.nav-item.is-on>svg{color:var(--fg-2)}.nav-item.is-on{background:var(--surface);color:var(--fg);box-shadow:0 1px 2px #0000000d, 0 0 0 1px var(--line);font-weight:500}:root[data-theme=dark] .nav-item.is-on{background:var(--surface-active);box-shadow:none}.nav-item .end{font-size:var(--text-2xs);color:var(--fg-3);align-items:center;gap:4px;margin-left:auto;display:flex}.nav-item.is-drop-target:before{content:"";background:var(--accent);border-radius:2px;height:2px;position:absolute;top:-1px;left:6px;right:6px}.nav-sub{border-left:1px solid var(--line);margin-left:18px;padding-left:8px}.nav-sub .nav-item{height:28px;font-size:var(--text-sm)}.sidebar-foot{border-top:1px solid var(--line);padding:8px}@media (width>=861px){.shell{transition:grid-template-columns .22s var(--ease-out)}.shell.is-collapsed .nav-item{justify-content:center;padding:0}.shell.is-collapsed .nav-item>:not(svg):not(.proj-ico),.shell.is-collapsed .nav-group-h,.shell.is-collapsed .nav-sub,.shell.is-collapsed .ws-name,.shell.is-collapsed .ws-switch>svg{display:none}.shell.is-collapsed .sidebar-top{flex-direction:column}}.topbar{height:var(--topbar-h);border-bottom:1px solid var(--line);background:var(--bg);flex-shrink:0;align-items:center;gap:8px;padding:0 12px 0 16px;display:flex}.crumbs{min-width:0;font-size:var(--text-sm);align-items:center;gap:2px;display:flex}.crumbs a,.crumbs span{border-radius:var(--radius-sm);color:var(--fg-2);white-space:nowrap;align-items:center;gap:6px;padding:3px 6px;display:inline-flex}.crumbs a:hover{background:var(--surface-hover);color:var(--fg)}.crumbs .is-current{color:var(--fg);font-weight:500}.crumbs .sep{color:var(--fg-4);padding:0 2px}.search-trigger{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface);width:240px;height:30px;color:var(--fg-3);font-size:var(--text-sm);align-items:center;gap:8px;padding:0 6px 0 10px;display:flex}.search-trigger:hover{border-color:var(--line-strong)}.search-trigger kbd{margin-left:auto}.notif-dot{background:var(--accent);width:7px;height:7px;box-shadow:0 0 0 2px var(--bg);border-radius:50%;position:absolute;top:6px;right:6px}:root{--bottomnav-h:0px}.mobile-only,.bottom-nav{display:none}@media (width<=1100px){:root{--sidebar-w:224px}.search-trigger{width:190px}}.boot{grid-template-columns:var(--sidebar-w) minmax(0, 1fr);height:100%;animation:.2s .15s backwards fade-in;display:grid}.boot-side{--sk-base:var(--line-strong);--sk-shine:var(--surface-active);background:var(--bg-sidebar);border-right:1px solid var(--line);flex-direction:column;gap:14px;padding:14px 16px;display:flex}.boot-ws{width:120px;height:16px;margin-bottom:10px}.boot-nav{height:10px}.boot-main{flex-direction:column;min-width:0;display:flex}.boot-top{height:var(--topbar-h);border-bottom:1px solid var(--line);flex-shrink:0;align-items:center;padding:0 16px;display:flex}.boot-crumb{width:160px;height:10px}.boot-page{flex-direction:column;width:100%;max-width:1180px;margin:0 auto;padding:28px 32px;display:flex}.boot-title{width:220px;height:20px}.boot-lead{width:320px;max-width:70%;height:10px;margin:12px 0 22px}.boot-row{border-bottom:1px solid var(--line-soft);align-items:center;gap:12px;height:40px;display:flex}.boot-row>.sk{height:9px}.boot-row>.boot-dot{border-radius:4px;flex-shrink:0;width:14px;height:14px}.boot-row>.boot-meta{flex-shrink:0;width:64px;margin-left:auto}@media (width<=860px){:root{--bottomnav-h:calc(56px + env(safe-area-inset-bottom));--topbar-h:52px}html,body{overscroll-behavior:none}.shell,.shell.is-collapsed{grid-template-columns:minmax(0,1fr);height:100dvh}.sidebar{z-index:90;width:min(300px,86vw);transition:transform .24s var(--ease-drawer);padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.shell.is-mobile-nav .sidebar{box-shadow:var(--shadow-pop);transform:none}.sidebar .nav-item{height:38px}.sidebar .nav-sub .nav-item{height:34px}.sidebar-scrim{background:var(--overlay);z-index:89;animation:.18s fade-in;position:fixed;inset:0}.boot{grid-template-columns:minmax(0,1fr);height:100dvh}.boot-side{display:none}.boot-top{padding-top:env(safe-area-inset-top);height:calc(var(--topbar-h) + env(safe-area-inset-top))}.boot-page{padding:20px 16px}.mobile-only{display:inline-flex}.hide-mobile{display:none!important}.topbar{padding:env(safe-area-inset-top) 8px 0 4px;height:calc(var(--topbar-h) + env(safe-area-inset-top));gap:2px}.topbar .icon-btn{width:40px;height:40px}.crumbs{font-size:var(--text-md);flex:1}.topbar>.spacer{display:none}.crumbs .is-current{min-width:0;font-weight:600;overflow:hidden}.crumbs .is-current>.truncate{display:block}.search-trigger{width:40px;height:40px;color:var(--fg-2);background:0 0;border:0;justify-content:center;padding:0}.content{padding-bottom:var(--bottomnav-h);-webkit-overflow-scrolling:touch}.page{padding:20px 16px 32px}.page-header h1,.page-header .pg-feed-switch a{font-size:var(--text-xl)}.page-header .actions{flex-wrap:wrap;width:100%;margin-left:0}.grid-2{grid-template-columns:minmax(0,1fr)}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.stat:nth-child(2n){border-right:0}.stat:last-child:nth-child(odd){border-right:0;grid-column:1/-1}.tabs{scroll-snap-type:x proximity}.tab{scroll-snap-align:start}.bottom-nav{z-index:60;height:var(--bottomnav-h);padding-bottom:env(safe-area-inset-bottom);background:color-mix(in srgb, var(--bg) 92%, transparent);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--line);grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav a,.bottom-nav button{color:var(--fg-3);-webkit-tap-highlight-color:transparent;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:10.5px;font-weight:500;display:flex}.bottom-nav .is-on{color:var(--fg)}.bottom-nav .is-on .bottom-nav-icon{background:var(--accent-tint);color:var(--accent)}.bottom-nav-icon{width:44px;height:26px;transition:background var(--t-fast), color var(--t-fast);border-radius:13px;place-items:center;display:grid;position:relative}.bottom-nav .notif-dot{box-shadow:0 0 0 2px var(--bg);top:1px;right:9px}}@media (width<=600px){.hide-phone{display:none!important}.page{padding:16px 14px 28px}.stat{padding:12px 14px}.stat .v{font-size:22px}}@media (hover:none){.nav-group-h .icon-btn{opacity:1}[data-tip]:hover:after,.nav-item kbd,.search-trigger kbd{display:none}}.popover{z-index:120;background:var(--surface);border-radius:var(--radius);min-width:200px;max-width:320px;max-height:min(420px,70vh);box-shadow:var(--shadow-pop);animation:pop-in .16s var(--ease-out);padding:4px;position:fixed;overflow:auto}.popover-search{border-bottom:1px solid var(--line-soft);margin:-4px -4px 4px;padding:4px 4px 6px}.popover-search input{width:100%;height:32px;font-size:var(--text-sm);background:0 0;border:0;padding:0 8px}.menu-item{border-radius:var(--radius-sm);width:100%;height:30px;font-size:var(--text-sm);text-align:left;color:var(--fg);white-space:nowrap;transition:background var(--t-fast), color var(--t-fast);align-items:center;gap:9px;padding:0 8px;display:flex}.menu-item svg{color:var(--fg-3);flex-shrink:0}.menu-item:hover,.menu-item.is-active{background:var(--surface-hover)}.menu-item.is-danger,.menu-item.is-danger svg{color:var(--c-red)}.menu-item .check{color:var(--accent);margin-left:auto}.menu-item .hint{color:var(--fg-3);font-size:var(--text-xs);margin-left:auto}.menu-sep{background:var(--line-soft);height:1px;margin:4px -4px}.menu-heading{padding:6px 8px 4px}.scrim{background:var(--overlay);z-index:80;animation:.18s fade-in;position:fixed;inset:0}.modal-wrap{z-index:81;place-items:start center;padding:10vh 16px 16px;display:grid;position:fixed;inset:0;overflow-y:auto}.modal{background:var(--surface);border-radius:var(--radius-lg);width:min(560px,100%);box-shadow:var(--shadow-pop);animation:modal-in .26s var(--ease-out);flex-direction:column;display:flex}.modal.is-wide{width:min(760px,100%)}.modal.is-narrow{width:min(420px,100%)}.modal-header{align-items:flex-start;gap:10px;padding:16px 18px 6px;display:flex}.modal-header h2{font-size:var(--text-lg);letter-spacing:-.01em;font-weight:600}.modal-header .icon-btn{margin-top:-4px;margin-left:auto;margin-right:-6px}.modal-body{flex-direction:column;gap:14px;padding:10px 18px 16px;display:flex}.modal-footer{border-top:1px solid var(--line-soft);align-items:center;gap:8px;padding:12px 18px;display:flex}.modal-footer .spacer{flex:1}.drawer{z-index:70;background:var(--surface);border-left:1px solid var(--line);width:min(640px,100vw);animation:slide-in-right .34s var(--ease-drawer);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0;box-shadow:-18px 0 40px -24px #00000040}.drawer.is-full{border-radius:var(--radius-lg);width:min(1040px,100vw);box-shadow:var(--shadow-pop);animation:drawer-full-in .26s var(--ease-out);border:0;top:4vh;bottom:4vh;left:50%;transform:translate(-50%)}@keyframes drawer-full-in{0%{opacity:0;transform:translateX(-50%) translateY(var(--rise)) scale(var(--pop-scale))}}.drawer-scrim{z-index:69;background:var(--overlay);animation:.18s fade-in;position:fixed;inset:0}.dr-layout>*{animation:rise-in .38s var(--ease-out) backwards}.dr-layout>:nth-child(2){animation-delay:var(--t-stagger)}.dr-layout>:nth-child(n+3){animation-delay:calc(var(--t-stagger) * 2)}.toasts{bottom:calc(var(--bottomnav-h,0px) + 18px);z-index:200;pointer-events:none;flex-direction:column;align-items:center;gap:8px;max-width:calc(100vw - 24px);display:flex;position:fixed;left:50%;transform:translate(-50%)}.toast{pointer-events:auto;border-radius:var(--radius);background:var(--fg);min-height:38px;color:var(--fg-inverse);font-size:var(--text-sm);box-shadow:var(--shadow-pop);animation:toast-in .28s var(--ease-out);align-items:center;gap:10px;padding:6px 8px 6px 12px;display:flex}.toast.is-leaving{pointer-events:none;animation:.16s forwards toast-out}.toast .toast-action{border-radius:var(--radius-sm);color:var(--fg-inverse);padding:4px 8px;font-weight:600}.toast .toast-action:hover{background:color-mix(in srgb, var(--fg-inverse) 14%, transparent)}.toast.is-error svg{color:var(--c-red)}.toast.is-success svg{color:var(--accent-dark)}.palette{background:var(--surface);border-radius:var(--radius-lg);width:min(620px,100%);box-shadow:var(--shadow-pop);animation:pop-in .16s var(--ease-out);overflow:hidden}.palette-input{border-bottom:1px solid var(--line);align-items:center;gap:10px;height:50px;padding:0 14px;display:flex}.palette-input input{min-width:0;font-size:var(--text-md);background:0 0;border:0;flex:1;height:100%}.palette-input input:focus-visible{outline-width:1px}.palette-list{max-height:min(440px,60vh);padding:6px;overflow-y:auto}.palette-item{border-radius:var(--radius-sm);width:100%;height:36px;font-size:var(--text-base);text-align:left;align-items:center;gap:10px;padding:0 10px;display:flex}.palette-item svg{color:var(--fg-3)}.palette-item.is-active{background:var(--surface-hover)}.palette-item .meta{color:var(--fg-3);font-size:var(--text-xs);align-items:center;gap:4px;margin-left:auto;display:flex}.palette-footer{border-top:1px solid var(--line);font-size:var(--text-xs);color:var(--fg-3);align-items:center;gap:14px;padding:8px 14px;display:flex}[data-tip]{position:relative}[data-tip]:hover:after{content:attr(data-tip);background:var(--fg);color:var(--fg-inverse);white-space:nowrap;z-index:210;pointer-events:none;border-radius:5px;padding:5px 7px;font-size:11px;font-weight:500;line-height:1;animation:.12s .35s both fade-in;position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%)}[data-tip-side=right]:hover:after{top:50%;left:calc(100% + 8px);transform:translateY(-50%)}@keyframes sheet-up{0%{opacity:0;transform:translateY(var(--sheet))}}@media (width<=860px){.drawer,.drawer.is-full{width:auto;box-shadow:none;animation:slide-in-right .34s var(--ease-drawer);border:0;border-radius:0;inset:0;transform:none}.drawer-scrim{display:none}}@media (width<=600px){.popover{max-width:calc(100vw - 16px);max-height:min(420px,70dvh)}.menu-item{height:36px}.modal-wrap{padding:calc(8px + env(safe-area-inset-top)) 0 0;place-items:end stretch;overflow:hidden}.modal,.modal.is-wide,.modal.is-narrow{border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-height:92dvh;animation:sheet-up .32s var(--ease-drawer)}.modal:before{content:"";background:var(--line-strong);border-radius:2px;flex-shrink:0;width:36px;height:4px;margin:8px auto 0}.modal-header{flex-shrink:0;padding:10px 16px 6px}.modal-body{overscroll-behavior:contain;flex:auto;min-height:0;padding:10px 16px 16px;overflow-y:auto}.modal-body:last-child{padding-bottom:calc(16px + env(safe-area-inset-bottom))}.modal-footer{padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:var(--surface);flex-wrap:wrap;flex-shrink:0}.palette{width:100%}.palette-list{max-height:50dvh}.palette-item{height:42px}.toasts{max-width:none;left:12px;right:12px;transform:none}.toast{max-width:100%}}.tv-toolbar{background:var(--bg)}.tv-search{width:220px}.tv-swatch{border-radius:2px;flex-shrink:0;width:8px;height:8px}.tv-chip-body{height:100%;font-size:var(--text-xs);gap:5px;min-width:0}.tv-chip-values{max-width:180px;font-weight:500}.tv-toggle{font-size:var(--text-sm);color:var(--fg-2);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;gap:7px;padding:0 4px}.tv-toolbar .select.sm{min-width:0}.tv-toolbar-row{display:contents}.tv-meta{font-size:var(--text-xs);color:var(--fg-3);font-variant-numeric:tabular-nums;white-space:nowrap;align-items:center;gap:3px;display:inline-flex}.tv-meta.is-complete{color:var(--c-green)}.tv-more-count{font-size:var(--text-xs)}.tv-rename{flex:1;min-width:120px;height:26px}.tv-quick-add{box-shadow:none;background:0 0;border-color:#0000;flex:1;padding:0 4px}.tv-quick-add:focus{box-shadow:none;border-color:#0000}.tv-drop-line{background:var(--accent);z-index:1;pointer-events:none;border-radius:2px;height:2px;margin:-1px 8px;position:relative}.tv-drop-line:before{content:"";border:2px solid var(--accent);background:var(--surface);box-sizing:border-box;border-radius:50%;width:8px;height:8px;position:absolute;top:-3px;left:-4px}.tv-list{padding:4px 0 96px}.tv-group+.tv-group{margin-top:2px}.tv-group.is-drop{background:var(--accent-tint)}.tv-group-h{z-index:2;background:color-mix(in srgb, var(--bg) 92%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid var(--line-soft);align-items:center;gap:4px;height:36px;padding:0 20px 0 8px;display:flex;position:sticky;top:0}.tv-group-toggle{border-radius:var(--radius-sm);height:28px;font-size:var(--text-sm);align-items:center;gap:8px;padding:0 6px;display:inline-flex}.tv-group-toggle:hover{background:var(--surface-hover)}.tv-group-name{font-weight:600}.tv-chevron{color:var(--fg-3);transition:transform var(--t-fast) var(--ease-out)}.tv-chevron.is-closed{transform:rotate(-90deg)}.tv-group-add{opacity:0;transition:opacity var(--t-fast)}.tv-group-h:hover .tv-group-add,.tv-group-add:focus-visible{opacity:1}.tv-row-check{flex-shrink:0;justify-content:center;width:24px;display:inline-flex}.tv-row-check .checkbox{opacity:0;transition:opacity var(--t-fast)}.tv-group-h:hover .tv-row-check .checkbox,.tv-row:hover .tv-row-check .checkbox,.tv-row:focus-visible .tv-row-check .checkbox,.tv-list.is-selecting .tv-row-check .checkbox,.tv-row-check .checkbox:checked,.tv-row-check .checkbox:indeterminate{opacity:1}.tv-row{height:var(--row-h);border-bottom:1px solid var(--line-soft);background:var(--surface);cursor:default;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;padding:0 20px 0 8px;display:flex;position:relative}.tv-row:hover{background:var(--surface-hover)}.tv-row:focus-visible{box-shadow:inset 2px 0 0 var(--accent);background:var(--surface-hover);border-radius:0;outline:none}.tv-row.is-selected{background:var(--accent-tint)}.tv-row.is-done .tv-row-title{color:var(--fg-3)}.tv-list.is-dragging .tv-row{cursor:grabbing}.tv-row[draggable=true]{cursor:grab}.tv-row-main{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.tv-row-title{font-size:var(--text-base);cursor:pointer;min-width:0;font-weight:500}.tv-row-key{font-size:var(--text-xs);white-space:nowrap;flex-shrink:0}.tv-row-labels{flex-shrink:0;align-items:center;gap:4px;max-width:260px;display:inline-flex;overflow:hidden}.tv-row-project{width:140px;font-size:var(--text-xs);color:var(--fg-2);flex-shrink:0;align-items:center;gap:6px;display:inline-flex}.tv-row-due{justify-content:flex-end;min-width:76px;padding:0 6px}.tv-row-due.is-empty{opacity:0}.tv-row:hover .tv-row-due.is-empty,.tv-row-due.is-empty:focus-visible{opacity:1}.tv-row-assignee{border-radius:50%;flex-shrink:0;place-items:center;width:28px;height:28px;display:inline-grid}.tv-row-assignee:hover{background:var(--surface-active)}.tv-row-more{opacity:0}.tv-row:hover .tv-row-more,.tv-row-more:focus-visible,tr:hover .tv-row-more{opacity:1}.tv-add-row{width:100%;height:calc(var(--row-h) - 4px);color:var(--fg-3);font-size:var(--text-sm);text-align:left;border-bottom:1px solid var(--line-soft);align-items:center;gap:8px;padding:0 20px 0 38px;display:flex}.tv-add-row:hover{color:var(--fg);background:var(--surface-hover)}.tv-add-row.is-editing{background:var(--surface);color:var(--fg-3)}.tv-bulk{left:50%;bottom:calc(var(--bottomnav-h,0px) + 20px);z-index:60;border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-pop);animation:tv-bulk-in .2s var(--ease-out);align-items:center;gap:2px;max-width:calc(100vw - 24px);padding:5px 6px 5px 14px;display:flex;position:fixed;overflow-x:auto;transform:translate(-50%)}@keyframes tv-bulk-in{0%{opacity:0;transform:translate(-50%,10px)}}.tv-bulk-count{font-size:var(--text-sm);color:var(--fg-2);white-space:nowrap;padding-right:6px}.tv-bulk-count b{color:var(--fg);font-weight:600}.tv-bulk-sep{background:var(--line);flex-shrink:0;width:1px;height:18px;margin:0 4px}.tv-bulk .btn-ghost.tv-bulk-danger,.tv-bulk .btn-ghost.tv-bulk-danger svg{color:var(--c-red)}.tv-board{height:calc(100dvh - var(--topbar-h) - var(--bottomnav-h,0px) - 150px);flex:1 0 auto;align-items:stretch;gap:12px;min-height:360px;padding:14px 20px 20px;display:flex;overflow-x:auto}.tv-col{border-radius:var(--radius-lg);background:var(--surface-sunken);border:1px solid var(--line-soft);width:280px;min-height:0;transition:background var(--t-fast), border-color var(--t-fast);flex-direction:column;flex:0 0 280px;display:flex}.tv-col.is-over{border-color:var(--accent-ring);background:color-mix(in srgb, var(--accent) 5%, var(--surface-sunken))}.tv-col-h{height:40px;font-size:var(--text-sm);flex-shrink:0;align-items:center;gap:7px;padding:0 6px 0 12px;display:flex}.tv-col-name{font-weight:600}.tv-col-body{flex-direction:column;flex:1;gap:6px;min-height:0;padding:2px 8px 8px;display:flex;overflow-y:auto}.tv-col-empty{text-align:center;font-size:var(--text-xs);color:var(--fg-4);border:1px dashed var(--line);border-radius:var(--radius);padding:18px 8px}.tv-col-add{border-radius:var(--radius-sm);height:30px;color:var(--fg-3);font-size:var(--text-sm);flex-shrink:0;align-items:center;gap:6px;padding:0 8px;display:flex}.tv-col-add:hover{background:var(--surface-active);color:var(--fg)}.tv-card-slot{flex-direction:column;gap:6px;display:flex}.tv-card-slot>.tv-drop-line,.tv-col-body>.tv-drop-line{margin:0 2px}.tv-card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:var(--card-pad);cursor:pointer;-webkit-user-select:none;user-select:none;transition:box-shadow var(--t-fast), opacity var(--t-fast), transform .18s var(--ease-out);animation:rise-in .32s var(--ease-out) backwards;flex-direction:column;gap:7px;display:flex}.tv-col:nth-child(2) .tv-card{animation-delay:30ms}.tv-col:nth-child(3) .tv-card{animation-delay:60ms}.tv-col:nth-child(n+4) .tv-card{animation-delay:90ms}.tv-card:hover{box-shadow:0 2px 6px -2px #1214121f, 0 0 0 1px var(--line-strong)}.tv-card:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.tv-card[draggable=true]:active{cursor:grabbing}.tv-card.is-done{opacity:.62}.tv-card.is-done .tv-card-title{text-decoration:line-through;-webkit-text-decoration-color:var(--fg-4);text-decoration-color:var(--fg-4)}.tv-card.is-dragging{opacity:.35;box-shadow:none;outline:1px dashed var(--line-strong)}@media (hover:hover) and (prefers-reduced-motion:no-preference){:root:not([data-motion=reduce]) .tv-card:hover:not(.is-dragging){transform:translateY(-1px)}:root:not([data-motion=reduce]) .tv-card:active:not(.is-dragging){transform:none}}.tv-card.fx-done{animation:done-ring 1s var(--ease-out)}.tv-card.fx-done .tv-card-title{animation:strike-in .38s .1s var(--ease-out) backwards}.tv-card.fx-added{animation:rise-in .3s var(--ease-out), add-ring 1.4s var(--ease-out)}.tv-row.fx-done{animation:done-wash 1s var(--ease-out)}.tv-row.fx-added{animation:rise-in .3s var(--ease-out), add-wash 1.4s var(--ease-out)}@media (prefers-reduced-motion:no-preference){:root:not([data-motion=reduce]) .tv-card.fx-moved{animation:land .5s var(--spring)}}.tv-card-labels{flex-wrap:wrap;gap:4px;display:flex}.tv-card-title{font-size:var(--text-base);word-break:break-word;font-weight:500;line-height:1.4}.tv-card-project{font-size:var(--text-xs);color:var(--fg-3);align-items:center;gap:6px;min-width:0;display:flex}.tv-card-foot{flex-wrap:wrap;align-items:center;gap:8px;min-height:22px;display:flex}.tv-card-foot .mono{font-size:var(--text-xs)}.tv-mini-progress{width:28px;margin-left:2px;display:inline-flex}.tv-mini-progress .progress{min-width:0;height:3px}.tv-card-more{opacity:0;margin-right:-4px}.tv-card:hover .tv-card-more,.tv-card-more:focus-visible{opacity:1}.tv-composer{cursor:default;padding:4px}.tv-composer .tv-quick-add{height:30px}.tv-table-shell{flex-direction:column;flex:1 0 auto;min-width:0;display:flex}.tv-table-bar{align-items:center;gap:8px;padding:6px 20px;display:flex}.tv-table-wrap{min-height:200px;max-height:calc(100dvh - var(--topbar-h) - var(--bottomnav-h,0px) - 190px);border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface);flex:auto;overflow:auto}.tv-table{--tv-title-w:380px;border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%;font-size:var(--text-sm)}.tv-table th{z-index:2;text-align:left;height:34px;color:var(--fg-3);background:var(--surface-sunken);border-bottom:1px solid var(--line);border-right:1px solid var(--line-soft);white-space:nowrap;padding:0 8px;font-weight:500;position:sticky;top:0}.tv-table td{height:var(--row-h);border-bottom:1px solid var(--line-soft);border-right:1px solid var(--line-soft);background:var(--surface);padding:0 4px;overflow:hidden}.tv-table tbody tr:hover td{background:var(--surface-hover)}.tv-table tr.is-done .tv-title-btn{color:var(--fg-3)}.tv-table .tv-sticky{z-index:1;box-shadow:1px 0 0 var(--line);position:sticky;left:0}.tv-table th.tv-sticky{z-index:3}.tv-th-btn{border-radius:var(--radius-xs);height:24px;color:inherit;font-weight:inherit;align-items:center;gap:4px;margin-left:-4px;padding:0 4px;display:inline-flex}.tv-th-btn:hover{background:var(--surface-hover);color:var(--fg)}.tv-th-btn.is-on{color:var(--fg)}.tv-title-cell{align-items:center;gap:8px;min-width:0;padding:0 4px 0 8px;display:flex}.tv-title-btn{text-align:left;font-weight:500;font-size:var(--text-base);flex:1;padding:4px 0}.tv-title-btn:hover{text-decoration:underline;-webkit-text-decoration-color:var(--fg-4);text-decoration-color:var(--fg-4);text-underline-offset:2px}.tv-cell-btn{justify-content:flex-start;width:100%;overflow:hidden}.tv-cell-static{height:var(--control-sm);align-items:center;padding:0 7px;display:inline-flex}.tv-cell-empty{color:var(--fg-4)}.tv-table-empty{text-align:center;color:var(--fg-3);height:96px!important}.tv-table-foot{font-size:var(--text-xs);font-variant-numeric:tabular-nums;padding:8px 20px}@media (width<=1100px){.tv-row-labels{max-width:180px}.tv-row-project{width:120px}.tv-table{--tv-title-w:300px}}@media (width<=860px){.tv-search{flex:100%;width:100%}.tv-row,.tv-group-h,.tv-add-row{padding-right:12px}.tv-row-project{width:auto}.tv-row-project>.truncate{display:none}.tv-bulk>*{flex-shrink:0}.tv-board{padding:12px}.tv-col{flex-basis:260px;width:260px}.tv-table{--tv-title-w:240px}.tv-table-bar{padding:6px 12px}.tv-table-foot{padding:8px 12px}}@media (width<=600px){.tv-toolbar{padding:8px 12px}.tv-toolbar-row{scrollbar-width:none;flex:1 1 0;align-items:center;gap:6px;min-width:0;margin:-2px 0;padding:2px 0;display:flex;overflow-x:auto}.tv-toolbar-row::-webkit-scrollbar{display:none}.tv-toolbar-row>*{flex-shrink:0}.tv-toolbar-row>.spacer{flex:1 0 0}.tv-toolbar-row .chips{flex-wrap:nowrap}.tv-chip-values{max-width:120px}.tv-row{gap:4px;padding:0 8px 0 4px}.tv-group-h{padding:0 8px 0 4px}.tv-add-row{padding:0 12px 0 30px}.tv-row-check{width:20px}.tv-row-key,.tv-row-main .tv-meta,.tv-row-labels{display:none}.tv-row-due{min-width:0;padding:0 4px}.tv-row-due.is-empty{display:none}.tv-row-assignee{width:26px;height:26px}.tv-bulk{max-width:calc(100vw - 16px);padding-left:12px}.tv-bulk-label{display:none}.tv-board{scroll-snap-type:x mandatory;gap:10px;scroll-padding:0 12px}.tv-col{scroll-snap-align:start;flex:0 0 min(85vw,300px);width:min(85vw,300px)}.tv-table{--tv-title-w:170px}.tv-title-cell{gap:4px;padding-left:6px}}@media (hover:none){.tv-group-add,.tv-row-more,.tv-card-more,.tv-row-check .checkbox,.tv-row-due.is-empty{opacity:1}.tv-row .icon-btn.xs,.tv-group-add,.tv-card-more,.tv-table .tv-row-more{width:28px;height:28px}}.sch-page{height:100%}.sch-page-head{margin-bottom:14px;padding:24px 20px 0}.cal{flex-direction:column;flex:1 1 0;min-width:0;min-height:520px;display:flex}.cal-bar{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;padding:10px 20px;display:flex}.cal-title{font-size:var(--text-lg);letter-spacing:-.01em;font-variant-numeric:tabular-nums;min-width:180px;font-weight:600}.cal-nav{gap:2px}.cal-body{flex:1;min-height:0;display:flex;position:relative}.cal-month{flex:1;grid-template-rows:auto repeat(6,minmax(104px,1fr));grid-template-columns:repeat(7,minmax(0,1fr));min-width:0;display:grid;overflow:auto}.cal-weekday{z-index:1;background:var(--bg);font-size:var(--text-2xs);letter-spacing:.06em;text-transform:uppercase;color:var(--fg-3);border-bottom:1px solid var(--line);border-right:1px solid var(--line-soft);padding:6px 10px;font-weight:600;position:sticky;top:0}.cal-day{border-right:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);min-width:0;min-height:0;transition:background var(--t-fast);flex-direction:column;gap:3px;padding:4px 6px 6px;display:flex;position:relative;overflow:hidden}.cal-weekday:nth-child(7n),.cal-day:nth-child(7n){border-right:0}.cal-day.is-weekend{background:var(--surface-sunken)}.cal-day.is-outside .cal-num{color:var(--fg-4)}.cal-day.is-outside .cal-items{opacity:.72}.cal-day.is-over,.cal-col.is-over{background:var(--accent-tint);box-shadow:inset 0 0 0 1.5px var(--accent-ring)}.cal-day-head{flex-shrink:0;align-items:center;height:22px;display:flex}.cal-num{min-width:22px;height:22px;font-size:var(--text-xs);color:var(--fg-2);white-space:nowrap;border-radius:11px;place-items:center;padding:0 5px;font-weight:500;display:inline-grid}.is-today .cal-num{background:var(--accent);color:var(--on-accent);font-weight:600}.cal-add{opacity:0;transition:opacity var(--t-fast);margin-left:auto}.cal-day:hover .cal-add,.cal-col:hover .cal-add,.cal-add:focus-visible{opacity:1}.cal-items{flex-direction:column;gap:2px;min-height:0;display:flex}.cal-chip{border-radius:var(--radius-xs);background:var(--surface);min-width:0;height:22px;font-size:var(--text-xs);cursor:pointer;-webkit-user-select:none;user-select:none;box-shadow:inset 2.5px 0 0 var(--pc), 0 0 0 1px var(--line);transition:background var(--t-fast), box-shadow var(--t-fast);flex-shrink:0;align-items:center;gap:5px;padding:0 6px 0 7px;display:flex}.cal-chip:hover{background:var(--surface-hover);box-shadow:inset 2.5px 0 0 var(--pc), 0 0 0 1px var(--line-strong)}.cal-chip:active{cursor:grabbing}.cal-chip.is-detailed{height:28px;font-size:var(--text-sm);gap:6px}.cal-chip-title{flex:1}.cal-chip.is-done .cal-chip-title{color:var(--fg-3);text-decoration:line-through}.cal-event{border-radius:var(--radius-xs);min-width:0;height:22px;font-size:var(--text-xs);cursor:default;color:color-mix(in srgb, var(--c-blue) 72%, var(--fg));background:color-mix(in srgb, var(--c-blue) 9%, transparent);border:1px dashed color-mix(in srgb, var(--c-blue) 38%, transparent);flex-shrink:0;align-items:center;gap:5px;padding:0 6px;display:flex}.cal-event svg{flex-shrink:0}.cal-event-time{opacity:.85;font-size:10.5px}.cal-more{border-radius:var(--radius-xs);font-size:var(--text-xs);color:var(--fg-3);align-self:flex-start;padding:1px 6px;font-weight:500}.cal-more:hover{background:var(--surface-hover);color:var(--fg)}.cal-week{flex:1;grid-template-columns:repeat(7,minmax(0,1fr));min-width:0;min-height:0;display:grid}.cal-col{border-right:1px solid var(--line-soft);min-width:0;min-height:0;transition:background var(--t-fast);flex-direction:column;display:flex}.cal-col:last-child{border-right:0}.cal-col.is-weekend{background:var(--surface-sunken)}.cal-col-head{border-bottom:1px solid var(--line);flex-shrink:0;align-items:center;gap:6px;padding:8px 8px 8px 10px;display:flex}.cal-col-dow{font-size:var(--text-2xs);letter-spacing:.06em;text-transform:uppercase;color:var(--fg-3);font-weight:600}.cal-col .cal-num{font-size:var(--text-md);border-radius:13px;min-width:26px;height:26px}.cal-col-body{flex-direction:column;flex:1;gap:4px;min-height:0;padding:8px 6px;display:flex;overflow-y:auto}.cal-col-empty{font-size:var(--text-xs);color:var(--fg-4);padding:4px}.cal-side{border-left:1px solid var(--line);background:var(--surface-sunken);width:264px;min-height:0;transition:background var(--t-fast);flex-direction:column;flex-shrink:0;display:flex}.cal-side.is-over{background:var(--accent-tint)}.cal-side-head{align-items:center;gap:6px;padding:10px 10px 4px 14px;display:flex}.cal-side-hint{font-size:var(--text-xs);color:var(--fg-3);padding:0 14px 10px}.cal-side-list{flex-direction:column;flex:1;gap:4px;min-height:0;padding:0 10px 12px;display:flex;overflow-y:auto}.cal-side-empty{text-align:center;font-size:var(--text-xs);color:var(--fg-3);flex-direction:column;align-items:center;gap:6px;padding:28px 8px;display:flex}.cal-pop-head{align-items:baseline;gap:8px;padding:6px 6px 8px;display:flex}.cal-pop-date{font-size:var(--text-sm);font-weight:600}.cal-pop-list{flex-direction:column;gap:4px;padding:0 2px 2px;display:flex}.tl{--tl-weekend:color-mix(in srgb, var(--fg) 3.5%, transparent);--tl-head-h:82px;--tl-row:36px;flex-direction:column;flex:1 1 0;min-width:0;min-height:420px;display:flex}.tl-bar{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:8px 20px;display:flex}.tl-group{font-size:var(--text-sm);gap:6px}.tl-body{flex:1;min-height:0;display:flex}.tl-left{border-right:1px solid var(--line);background:var(--bg);flex-direction:column;flex-shrink:0;width:300px;min-height:0;display:flex}.tl-left-head{height:var(--tl-head-h);border-bottom:1px solid var(--line);flex-direction:column;flex-shrink:0;display:flex}.tl-left-title{border-bottom:1px solid var(--line-soft);height:48px;font-size:var(--text-xs);flex-shrink:0;align-items:flex-end;gap:6px;padding:0 14px 8px;display:flex}.tl-left-ms{font-size:var(--text-xs);color:var(--fg-3);flex:1;align-items:center;gap:6px;padding:0 14px;font-weight:500;display:flex}.tl-left-rows{scrollbar-width:none;flex:1;min-height:0;overflow:hidden auto}.tl-left-rows::-webkit-scrollbar{display:none}.tl-left-pad{height:calc(var(--tl-row) + 20px)}.tl-lrow{width:100%;height:var(--tl-row);border-bottom:1px solid var(--line-soft);font-size:var(--text-sm);text-align:left;cursor:pointer;transition:background var(--t-fast);align-items:center;gap:8px;padding:0 12px 0 14px;display:flex}.tl-lrow.is-nested{padding-left:34px}.tl-lrow:hover,.tl-lrow.is-hover{background:var(--surface-hover)}.tl-lrow.is-group{background:var(--surface-sunken);gap:7px;font-weight:600}.tl-lrow.is-group:hover{background:var(--surface-active)}.tl-lrow.is-done .tl-ltitle{color:var(--fg-3)}.tl-chev{color:var(--fg-3);transition:transform var(--t-fast)}.tl-chev.is-closed{transform:rotate(-90deg)}.tl-sub{color:var(--fg-3);flex-shrink:0;align-items:center;gap:3px;font-size:11px;display:inline-flex}.tl-empty{font-size:var(--text-sm);color:var(--fg-3);padding:24px 14px}.tl-right{flex:1;min-width:0;position:relative;overflow:auto}.tl-canvas{min-height:100%;position:relative}.tl-head{z-index:4;height:var(--tl-head-h);background:var(--bg);border-bottom:1px solid var(--line);position:sticky;top:0}.tl-months{border-bottom:1px solid var(--line-soft);height:24px;position:relative}.tl-month{border-left:1px solid var(--line);font-size:var(--text-xs);align-items:center;font-weight:600;display:flex;position:absolute;top:0;bottom:0}.tl-month>span{white-space:nowrap;padding:0 8px;position:sticky;left:0}.tl-days{height:24px;position:relative}.tl-tick{color:var(--fg-3);font-variant-numeric:tabular-nums;white-space:nowrap;justify-content:center;align-items:center;gap:2px;font-size:10.5px;display:flex;position:absolute;top:0;bottom:0}.tl-tick.is-week{border-left:1px solid var(--line-soft);justify-content:flex-start;padding-left:4px}.tl-tick.is-weekend{color:var(--fg-4)}.tl-tick.is-today{color:var(--accent);font-weight:700}.tl-dow{opacity:.7;font-size:9px}.tl-today-pip{background:var(--accent);z-index:1;border-radius:50%;width:6px;height:6px;position:absolute;bottom:-3px;transform:translate(-50%)}.tl-ms-row{height:33px;position:relative}.tl-ms{max-width:180px;color:var(--fg-2);cursor:default;align-items:center;gap:6px;font-size:11px;font-weight:500;display:flex;position:absolute;top:0;bottom:0;transform:translate(-5px)}.tl-ms>i{background:var(--mc);width:10px;height:10px;box-shadow:0 0 0 2px var(--bg);border-radius:2px;flex-shrink:0;transform:rotate(45deg)}.tl-ms-none{line-height:33px;font-size:var(--text-xs);color:var(--fg-4);padding-left:12px;position:sticky;left:0}.tl-grid{z-index:0;position:relative}.tl-rrow{height:var(--tl-row);border-bottom:1px solid var(--line-soft);transition:background var(--t-fast);position:absolute;left:0;right:0}.tl-rrow.is-group{background:color-mix(in srgb, var(--surface-sunken) 70%, transparent)}.tl-rrow.is-hover{background:color-mix(in srgb, var(--fg) 3%, transparent)}.tl-summary{background:var(--fg-4);opacity:.4;border-radius:3px;height:6px;position:absolute;top:15px}.tl-bar-item{z-index:2;background:color-mix(in srgb, var(--pc) 16%, var(--surface));height:24px;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--pc) 45%, transparent);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;transition:box-shadow var(--t-fast);border-radius:6px;align-items:center;display:flex;position:absolute;top:6px}.tl-bar-item:hover{box-shadow:inset 0 0 0 1px var(--pc), var(--shadow-xs)}.tl-bar-item.is-dragging{cursor:grabbing;z-index:5;box-shadow:inset 0 0 0 1px var(--pc), var(--shadow-drag)}.tl-bar-item.is-done{opacity:.7}.tl-fill{width:var(--p);border-radius:inherit;background:color-mix(in srgb, var(--pc) 38%, transparent);pointer-events:none;position:absolute;top:0;bottom:0;left:0}.tl-label{font-size:var(--text-xs);white-space:nowrap;pointer-events:none;align-items:center;gap:5px;padding:0 8px 0 4px;font-weight:500;display:flex;position:relative}.tl-label>.truncate{max-width:260px}.tl-edge{z-index:1;cursor:ew-resize;width:8px;position:absolute;top:0;bottom:0}.tl-edge.is-start{left:-2px}.tl-edge.is-end{right:-2px}.tl-edge:after{content:"";background:var(--pc);opacity:0;width:2px;transition:opacity var(--t-fast);border-radius:1px;position:absolute;top:7px;bottom:7px;left:3px}.tl-bar-item:hover .tl-edge:after,.tl-bar-item.is-dragging .tl-edge:after{opacity:1}.tl-drag-tip{white-space:nowrap;pointer-events:none;background:var(--fg);color:var(--fg-inverse);border-radius:5px;padding:3px 6px;font-size:11px;font-weight:500;position:absolute;top:calc(100% + 4px);left:0}.tl-schedule{border:1px dashed var(--line-strong);height:22px;color:var(--fg-4);white-space:nowrap;opacity:.55;transition:opacity var(--t-fast), color var(--t-fast), background var(--t-fast), border-color var(--t-fast);border-radius:6px;align-items:center;gap:5px;padding:0 8px;font-size:11px;display:inline-flex;position:absolute;top:7px}.tl-rrow.is-hover .tl-schedule,.tl-schedule:focus-visible{opacity:1;color:var(--fg-2);border-color:var(--fg-4)}.tl-schedule:hover{background:var(--accent-tint);color:var(--accent);border-color:var(--accent-ring)}.tl-arrows{z-index:3;pointer-events:none;position:absolute;top:0;left:0;overflow:visible}.tl-arrows>path{fill:none;stroke:var(--fg-4);stroke-width:1.4px}.tl-arrows>path.is-conflict{stroke:var(--c-red);stroke-dasharray:4 3}.tl-today{z-index:4;background:var(--accent);opacity:.8;pointer-events:none;width:2px;margin-left:-1px;position:absolute;top:0;bottom:0}.tl-right-pad{height:var(--tl-row)}@media (width<=1100px){.cal-side{width:232px}.tl-left{width:240px}}@media (width<=860px){.sch-page{height:auto;min-height:100%}.sch-page-head{padding:18px 16px 0}.cal-bar,.tl-bar{padding:8px 12px}.tl-bar{flex-wrap:wrap}.cal-title{min-width:0;font-size:var(--text-md)}.cal-side{z-index:3;background:var(--surface);width:min(300px,88%);box-shadow:var(--shadow-pop);position:absolute;top:0;bottom:0;right:0}.cal-month{grid-template-rows:auto repeat(6,minmax(84px,1fr))}.cal-week{grid-template-columns:repeat(7,minmax(150px,1fr));overflow-x:auto}.tl-left{width:190px}}@media (width<=600px){.sch-page-head{margin-bottom:10px;padding:14px 12px 0}.sch-page-head p{display:none}.cal{min-height:440px}.tl{min-height:380px}.cal-bar{gap:6px 8px}.cal-title{flex:100%}.cal-side-label{display:none}.cal-month{grid-template-rows:auto repeat(6,minmax(64px,1fr))}.cal-weekday{text-align:center;letter-spacing:.02em;padding:6px 0}.cal-day{cursor:pointer;gap:3px;padding:3px 3px 4px}.cal-day-head{justify-content:center;height:20px}.cal-month .cal-num{min-width:20px;height:20px;padding:0 4px;font-size:11px}.cal-day .cal-add{display:none}.cal-day .cal-items{gap:3px}.cal-day .cal-chip,.cal-day .cal-event{height:4px;box-shadow:none;pointer-events:none;border:0;border-radius:2px;gap:0;padding:0;overflow:hidden}.cal-day .cal-chip>*,.cal-day .cal-event>*{display:none}.cal-day .cal-chip{background:var(--pc)}.cal-day .cal-chip.is-done{opacity:.4}.cal-day .cal-event{background:color-mix(in srgb, var(--c-blue) 55%, transparent)}.cal-day .cal-more{align-self:center;padding:0 3px;font-size:10px;line-height:14px}.cal-week{grid-template-columns:minmax(0,1fr);grid-auto-rows:auto;align-content:start;overflow:hidden auto}.cal-col{border-right:0;border-bottom:1px solid var(--line-soft);flex-direction:row;min-height:56px}.cal-col-head{border-bottom:0;border-right:1px solid var(--line-soft);flex-direction:column;flex-shrink:0;justify-content:flex-start;gap:2px;width:52px;padding:8px 4px}.cal-col-head>.spacer{display:none}.cal-col .cal-add{margin-left:0}.cal-col-body{min-width:0;padding:6px 8px;overflow:visible}.tl-bar{gap:6px}.tl-group>.faint{display:none}.tl-left{width:132px}.tl-left-title,.tl-left-ms{padding-left:8px;padding-right:8px}.tl-lrow{gap:6px;padding:0 6px 0 8px}.tl-lrow.is-nested{padding-left:14px}.tl-lrow:not(.is-group)>.tl-sub,.tl-lrow:not(.is-group)>.avatar{display:none}.tl-label>.truncate{max-width:160px}}@media (hover:none){.cal-add{opacity:1}.cal-add,.cal-side-head .icon-btn.xs{width:28px;height:28px}.tl-schedule{opacity:.8}.tl-edge:after{opacity:.6}}.pg-section{margin-top:20px}.page-header+.pg-section{margin-top:0}.pg-col{align-items:stretch;gap:16px}.pg-narrow{max-width:880px}.pg-strong{color:var(--fg);font-weight:550}.pg-block{display:block}.pg-wrap{flex-wrap:wrap}.pg-late{color:var(--c-red)}.pg-group-h{align-items:center;gap:6px;margin:0 2px 8px;display:flex}.pg-section-h{font-size:var(--text-md);align-items:baseline;gap:8px;margin-bottom:10px;font-weight:600;display:flex}.pg-more{width:100%;font-size:var(--text-xs);color:var(--fg-3);text-align:left;padding:8px 14px;display:block}.pg-more:hover{color:var(--fg)}.pg-progress-cell{gap:8px;min-width:120px}.pg-progress-cell .tabular{text-align:right;min-width:30px;font-size:var(--text-xs)}.pg-mini-list{padding:0 6px 6px}.pg-mini-list>.empty{padding:28px 16px}.pg-mini{border-radius:var(--radius-sm);cursor:pointer;height:36px;font-size:var(--text-sm);transition:background var(--t-fast);align-items:center;gap:9px;padding:0 8px;display:flex}.pg-mini:hover,.pg-mini:focus-visible{background:var(--surface-hover)}.pg-mini-title{color:var(--fg);flex:1}.pg-mini.is-done .pg-mini-title{color:var(--fg-3);text-decoration:line-through;-webkit-text-decoration-color:var(--fg-4);text-decoration-color:var(--fg-4)}.pg-mini.fx-done{animation:done-wash 1s var(--ease-out)}.pg-mini.fx-done .pg-mini-title{animation:strike-in .38s .1s var(--ease-out) backwards}.pg-mini.fx-added{animation:rise-in .3s var(--ease-out), add-wash 1.4s var(--ease-out)}.pg-mini-project{max-width:150px;font-size:var(--text-xs);color:var(--fg-3);white-space:nowrap;flex-shrink:0;align-items:center;gap:5px;display:inline-flex;overflow:hidden}.pg-mini-due{flex-shrink:0;justify-content:flex-end;min-width:64px;display:inline-flex}.pg-deadline-group+.pg-deadline-group{margin-top:10px}.pg-deadline-h{justify-content:space-between;padding:4px 2px 6px;display:flex}.pg-deadline{border-radius:var(--radius-sm);text-align:left;cursor:pointer;align-items:center;gap:10px;width:100%;padding:6px;display:flex}.pg-deadline:hover{background:var(--surface-hover)}.pg-deadline-bar{background:var(--fg-4);border-radius:2px;flex-shrink:0;align-self:stretch;width:3px}.pg-deadline-title{font-size:var(--text-sm);font-weight:500;display:block}.pg-deadline-meta{font-size:var(--text-xs);display:block}.pg-deadline-h.is-danger,.pg-deadline-meta.is-danger{color:var(--c-red)}.pg-deadline-group .pg-more{padding:4px 6px 0 19px}.pg-take{flex-shrink:0;gap:5px}.pg-tasks-all{margin-left:auto}.pg-proj-list{padding:0 6px 6px}.pg-proj-row{border-radius:var(--radius-sm);height:38px;font-size:var(--text-sm);align-items:center;gap:10px;padding:0 8px;display:flex}.pg-proj-row:hover{background:var(--surface-hover)}.pg-proj-bar{flex-shrink:0;width:72px;display:block}.pg-proj-pct{text-align:right;width:32px;font-size:var(--text-xs)}.pg-feed .feed-item+.feed-item{border-top:1px solid var(--line-soft)}.pg-feed-panel{padding-top:4px;padding-bottom:4px}.pg-feed-body{color:var(--fg-2);overflow-wrap:anywhere;line-height:1.5}.pg-feed-body b{color:var(--fg)}.pg-feed-task{color:var(--fg);text-align:left;font-size:inherit}.pg-feed-project{color:var(--fg);align-items:center;gap:5px;display:inline-flex}.pg-stacked{background:var(--surface);border-radius:6px;gap:2px;height:12px;display:flex;overflow:hidden}.pg-stacked>span{min-width:4px;transition:flex-grow .3s var(--ease-out);flex-basis:0}.pg-legend{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px 16px;margin:14px 0 0;padding:0;list-style:none;display:grid}.pg-legend li{font-size:var(--text-sm);align-items:center;gap:7px;display:flex}.pg-legend i{border-radius:3px;flex-shrink:0;width:9px;height:9px}.pg-legend b{margin-left:auto;font-weight:600}.pg-legend .faint{text-align:right;min-width:34px;font-size:var(--text-xs)}.pg-bar-row{border-radius:var(--radius-sm);text-align:left;width:100%;font-size:var(--text-sm);grid-template-columns:24px minmax(110px,170px) 1fr 86px;align-items:center;gap:10px;padding:6px;display:grid}.pg-bar-row:not(.is-static):hover{background:var(--surface-hover)}.pg-bar-row.is-static{grid-template-columns:16px minmax(90px,140px) 1fr 40px}.pg-bar-label{flex-direction:column;min-width:0;line-height:1.3;display:flex}.pg-bar-label .faint{font-size:var(--text-xs)}.pg-bar-track{background:var(--surface-active);border-radius:4px;height:8px;overflow:hidden}.pg-bar{background:var(--c,var(--accent));height:100%;width:calc(var(--w) * 100%);transition:width .3s var(--ease-out);border-radius:4px;justify-content:flex-end;display:flex}.pg-bar-late{height:100%;width:calc(var(--w) * 100%);background:var(--c-red);display:block}@media (prefers-reduced-motion:no-preference){:root:not([data-motion=reduce]) :is(.pg-bar,.pg-stacked>span){transform-origin:0;animation:grow-x .8s .12s var(--ease-out) backwards}}.pg-bar-n{text-align:right;font-size:var(--text-xs);color:var(--fg-2);white-space:nowrap}.pg-risk{border-radius:var(--radius-sm);align-items:center;gap:10px;padding:8px 6px;display:flex}.pg-risk:hover{background:var(--surface-hover)}.pg-risk+.pg-risk{border-top:1px solid var(--line-soft)}.pg-risk-meta{font-size:var(--text-xs);gap:8px;margin-top:6px}.pg-risk-meta .progress{max-width:120px}.pg-flush-head{flex-wrap:wrap;align-items:center;gap:10px;padding:18px 20px 12px;display:flex}.pg-flush-head h1{font-size:var(--text-xl);letter-spacing:-.015em;font-weight:600}.pg-flush-head p{color:var(--fg-3);font-size:var(--text-sm);margin-top:2px}.pg-fill{flex-direction:column;flex:1;min-height:0;display:flex}.pg-fill>*{flex:1;min-height:0}.pg-buckets{padding-bottom:40px}.pg-bucket-h{width:100%;height:36px;font-size:var(--text-sm);background:var(--surface-sunken);border-bottom:1px solid var(--line);z-index:2;align-items:center;gap:7px;padding:0 20px;font-weight:600;display:flex;position:sticky;top:0}.pg-bucket-h:hover{background:var(--surface-hover)}.pg-bucket-h .pg-chev{color:var(--fg-3);transition:transform var(--t-fast)}.pg-bucket-h[aria-expanded=true] .pg-chev{transform:rotate(90deg)}.pg-bucket.is-overdue .pg-bucket-h>svg:nth-child(2){color:var(--c-red)}.pg-bucket.is-today .pg-bucket-h>svg:nth-child(2){color:var(--c-amber)}.pg-bucket.is-done .pg-bucket-h>svg:nth-child(2){color:var(--status-done)}.pg-notif-list{overflow:hidden}.pg-notif{cursor:pointer;transition:background var(--t-fast);align-items:center;gap:12px;padding:11px 12px 11px 8px;display:flex;position:relative}.pg-notif+.pg-notif{border-top:1px solid var(--line-soft)}.pg-notif:hover,.pg-notif:focus-visible{background:var(--surface-hover)}.pg-notif.is-unread{background:color-mix(in srgb, var(--accent) 4%, transparent)}.pg-notif.is-unread:hover{background:var(--surface-hover)}.pg-notif>time{font-size:var(--text-xs);white-space:nowrap}.pg-notif .icon-btn{opacity:0}.pg-notif:hover .icon-btn,.pg-notif:focus-within .icon-btn{opacity:1}.pg-unread-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.is-unread>.pg-unread-dot{background:var(--accent)}.pg-notif-avatar{flex-shrink:0;display:inline-flex;position:relative}.pg-notif-kind{background:var(--surface);width:16px;height:16px;color:var(--fg-2);box-shadow:0 0 0 1px var(--line);border-radius:50%;place-items:center;display:grid;position:absolute;bottom:-3px;right:-3px}.pg-notif-sys{background:var(--surface-active);width:30px;height:30px;color:var(--fg-2);border-radius:50%;flex-shrink:0;place-items:center;display:inline-grid}.pg-notif-sys.is-sm{width:26px;height:26px}.pg-notif-text{font-size:var(--text-sm);color:var(--fg-2);line-height:1.45;display:block}.pg-notif-text b{color:var(--fg);font-weight:600}.pg-notif-meta{font-size:var(--text-xs);align-items:center;gap:10px;min-width:0;margin-top:3px;display:flex}.pg-inbox{grid-template-columns:minmax(320px,400px) minmax(0,1fr);display:grid;position:absolute;inset:0}.pg-inbox-list{border-right:1px solid var(--line);background:var(--surface);flex-direction:column;min-height:0;display:flex}.pg-inbox-head{align-items:center;gap:10px;padding:16px 12px 8px 16px;display:flex}.pg-feed-switch{align-items:baseline;gap:14px;margin-right:auto;display:flex}.pg-feed-switch a{font-size:var(--text-xl);letter-spacing:-.02em;color:var(--fg-4);transition:color var(--t-fast);font-weight:600}.pg-feed-switch a:hover,.pg-feed-switch a[aria-current]{color:var(--fg)}.page-header .pg-feed-switch a{font-size:var(--text-2xl)}.pg-inbox-unread{font-size:var(--text-sm);color:var(--fg-2);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:7px;display:inline-flex}.pg-inbox-tabs{flex-shrink:0;padding:0 10px}.pg-inbox-tabs .tab{height:38px;padding:0 7px}.pg-inbox-items{flex:1;overflow-y:auto}.pg-inbox-row{border-bottom:1px solid var(--line-soft);transition:background var(--t-fast);align-items:flex-start;display:flex;position:relative}.pg-inbox-row:hover{background:var(--surface-hover)}.pg-inbox-row.is-on{background:color-mix(in srgb, var(--fg) 5%, var(--surface))}.pg-inbox-row>.pg-unread-dot{position:absolute;top:22px;left:6px}.pg-inbox-main{text-align:left;flex:1;align-items:flex-start;gap:10px;min-width:0;padding:12px 4px 12px 18px;display:flex}.pg-inbox-main .pg-notif-sys.is-sm{width:28px;height:28px}.pg-inbox-line{font-size:var(--text-sm);color:var(--fg-2);line-height:1.45;display:block}.pg-inbox-line b{color:var(--fg);font-weight:600}.pg-inbox-excerpt{font-size:var(--text-sm);color:var(--fg-2);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;display:block;overflow:hidden}.pg-inbox-meta{font-size:var(--text-xs);color:var(--fg-3);white-space:nowrap;align-items:center;gap:6px;min-width:0;margin-top:5px;display:flex}.pg-inbox-meta>svg{color:var(--fg-4);flex-shrink:0}.pg-inbox-toggle{opacity:0;margin:10px 10px 0 0}.pg-inbox-row:hover .pg-inbox-toggle,.pg-inbox-row.is-on .pg-inbox-toggle,.pg-inbox-toggle:focus-visible{opacity:1}.pg-inbox-preview{background:var(--surface);min-height:0;overflow-y:auto}.pg-inbox-placeholder{place-items:center;height:100%;display:grid}.pg-convo{flex-direction:column;min-height:100%;display:flex}.pg-convo-bar{z-index:2;background:var(--surface);border-bottom:1px solid var(--line-soft);align-items:center;gap:8px;min-height:48px;padding:0 12px 0 8px;display:flex;position:sticky;top:0}.pg-convo-bar .mono{font-size:var(--text-xs);white-space:nowrap}.pg-convo-crumb{min-width:0;font-size:var(--text-sm);color:var(--fg-2);align-items:center;gap:7px;display:inline-flex}.pg-convo-crumb:hover{color:var(--fg)}.pg-convo-body{width:100%;max-width:760px;animation:rise-in .26s var(--ease-out);flex-direction:column;gap:14px;padding:22px 24px 48px;display:flex}.pg-convo-title{font-size:var(--text-xl);letter-spacing:-.015em;word-break:break-word;font-weight:600;line-height:1.3}.pg-convo-props{font-size:var(--text-sm);color:var(--fg-2);flex-wrap:wrap;align-items:center;gap:8px 16px;display:flex}.pg-convo-props>span{align-items:center;gap:6px;display:inline-flex}.pg-convo-label{margin-top:10px}.pg-convo-desc{color:var(--fg-2);white-space:pre-wrap;line-height:1.6}.pg-convo-body>.dr-composer{padding-top:0}.pg-fav-card{transition:border-color var(--t-fast), box-shadow var(--t-fast);flex-direction:column;gap:12px;padding:14px;display:flex}.pg-fav-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow-xs)}.pg-fav-desc{font-size:var(--text-sm);-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.5;display:-webkit-box;overflow:hidden}.pg-fav-foot{font-size:var(--text-xs);gap:6px}.pg-star.is-on{color:var(--c-amber)}.pg-star.is-on svg{fill:currentColor}.pg-fav-task{align-items:center;gap:4px;display:flex}.pg-fav-task .pg-star{opacity:0}.pg-fav-task:hover .pg-star,.pg-fav-task .pg-star:focus-visible{opacity:1}.pg-mini-list:first-child{padding-top:6px}.pg-search-box>svg{left:13px}.pg-search-box>.input{height:46px;font-size:var(--text-lg);border-radius:var(--radius);box-shadow:var(--shadow-xs);padding-left:40px}.pg-search-box+*{margin-top:12px}.pg-result-h{align-items:center;gap:8px;margin:0 2px 8px;display:flex}.pg-result-h .btn{margin-left:auto}.pg-results{padding:4px}.pg-result{border-radius:var(--radius-sm);text-align:left;width:100%;font-size:var(--text-sm);align-items:center;gap:10px;padding:8px;display:flex}.pg-result:hover:not(:disabled){background:var(--surface-hover)}.pg-result>.faint{font-size:var(--text-xs);white-space:nowrap}.pg-result-title{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.pg-result-sub{font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;display:block;overflow:hidden}.pg-hl{background:color-mix(in srgb, var(--c-amber) 26%, transparent);color:inherit;border-radius:2px;padding:0 1px}.pg-file-ico{border-radius:var(--radius-sm);background:var(--surface-active);width:28px;height:28px;color:var(--fg-2);flex-shrink:0;place-items:center;display:grid}.pg-filters{flex-wrap:wrap;margin-bottom:18px}.pg-filters .select{min-width:160px}.pg-load-more{justify-content:center;margin-top:20px;display:flex}.pg-phone-only{display:none}@media (width<=860px){.pg-mini-project{display:none}.pg-bar-row{grid-template-columns:24px minmax(80px,120px) 1fr 70px}.pg-inbox{bottom:var(--bottomnav-h);grid-template-columns:minmax(0,1fr)}.pg-inbox-preview,.pg-inbox.has-selection .pg-inbox-list{display:none}.pg-inbox.has-selection .pg-inbox-preview{display:block}.pg-convo-body{padding:18px 16px 32px}.pg-flush-head{padding:14px 16px 10px}.pg-bucket-h{padding:0 16px}.pg-seg-scroll{scrollbar-width:none;max-width:100%;overflow-x:auto}.pg-seg-scroll::-webkit-scrollbar{display:none}.pg-seg-scroll>button{white-space:nowrap;flex-shrink:0}}@media (width<=600px){.pg-phone-only{display:inline-flex}.pg-phone-grow{flex:1}.page-header .actions>.pg-phone-only{width:var(--control);padding:0}.pg-tasks-head h2{white-space:nowrap}.pg-tasks-head .segmented{order:3;width:100%}.pg-tasks-head .segmented button{flex:1;justify-content:center;padding:0 6px}.pg-progress-cell{min-width:90px}.pg-mini{gap:7px;height:40px;padding:0 6px}.pg-mini-due{min-width:0}.pg-risk-meta{flex-wrap:wrap;row-gap:4px}.pg-notif{align-items:flex-start;gap:10px;padding:11px 6px 11px 4px}.pg-notif>time{margin-top:2px}.pg-notif .icon-btn{margin-top:-4px}.pg-notif-meta>.hstack{white-space:nowrap;min-width:0;overflow:hidden}.pg-filters{gap:8px}.pg-filters .select{flex:1;min-width:0}.pg-filters .spacer{display:none}.pg-search-box>.input{font-size:var(--text-md);height:44px}.pg-result>.faint{display:none}.pg-legend{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px 12px}.pg-fav-foot{flex-wrap:wrap;row-gap:6px}}@media (hover:none){.pg-notif .icon-btn,.pg-fav-task .pg-star,.pg-inbox-toggle{opacity:1}}.pj-small{font-size:var(--text-xs)}.pj-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.pj-link{color:var(--accent-dark);cursor:pointer;font-weight:500}.pj-link:hover{text-decoration:underline}.pj-star{color:var(--fg-4)}.pj-star.is-on,.pj-star.is-on:hover{color:var(--c-amber)}.pj-star.is-on svg{fill:currentColor}.pj-filters{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;display:flex}.pj-search{width:240px;max-width:100%}.pj-view{flex-direction:column;flex:1;min-height:0;display:flex}.pj-pagehead{flex-wrap:wrap;align-items:center;gap:16px;padding:20px 24px 14px;display:flex}.pj-pagehead h1{font-size:var(--text-xl);letter-spacing:-.02em;font-weight:600}.pj-pagehead p{font-size:var(--text-sm);margin-top:2px}.pj-card{cursor:pointer;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);transition:border-color var(--t-fast), box-shadow .2s var(--ease-out), transform .2s var(--ease-out);flex-direction:column;gap:12px;padding:16px;display:flex}.pj-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow-card)}@media (hover:hover) and (prefers-reduced-motion:no-preference){:root:not([data-motion=reduce]) .pj-card:hover{transform:translateY(-2px)}:root:not([data-motion=reduce]) .pj-card:active{transform:translateY(1px)}}.pj-card-top{align-items:center;gap:10px;display:flex}.pj-card-top h3{font-size:var(--text-md);letter-spacing:-.01em;font-weight:600}.pj-card-top .mono{font-size:var(--text-2xs)}.pj-card-top .icon-btn{opacity:.7}.pj-card:hover .pj-card-top .icon-btn,.pj-card-top .pj-star.is-on{opacity:1}.pj-card-desc{color:var(--fg-2);font-size:var(--text-sm);-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.9em;display:-webkit-box;overflow:hidden}.pj-card-foot{border-top:1px solid var(--line-soft);justify-content:space-between;align-items:center;padding-top:10px;display:flex}.pj-table-wrap{overflow-x:auto}.pj-table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.pj-table th{text-align:left;font-weight:500;font-size:var(--text-xs);color:var(--fg-3);border-bottom:1px solid var(--line);white-space:nowrap;padding:9px 12px}.pj-table td{border-bottom:1px solid var(--line-soft);white-space:nowrap;height:46px;padding:0 12px}.pj-table tbody tr{cursor:pointer;transition:background var(--t-fast)}.pj-table tbody tr:hover{background:var(--surface-hover)}.pj-table tbody tr:last-child td{border-bottom:0}.pj-table td:first-child{max-width:320px}.pj-row-name{font-weight:500}.pj-row-progress{width:160px}.pj-archived{font-size:var(--text-sm);background:color-mix(in srgb, var(--c-amber) 12%, var(--surface));color:var(--fg-2);border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:8px 24px;display:flex}.pj-archived .btn{margin-left:auto}.pj-head{flex-wrap:wrap;align-items:center;gap:12px;padding:18px 24px 12px;display:flex}.pj-head-title{min-width:180px}.pj-head-title h1{font-size:var(--text-xl);letter-spacing:-.02em;cursor:text;border-radius:var(--radius-xs);margin-left:-4px;padding:0 4px;font-weight:600;line-height:1.35}.pj-head-title h1:hover{background:var(--surface-hover)}.pj-name-input{font-size:var(--text-xl);letter-spacing:-.02em;border-radius:var(--radius-xs);background:var(--surface);width:100%;box-shadow:0 0 0 2px var(--accent-ring);border:0;margin-left:-4px;padding:0 4px;font-weight:600;line-height:1.35}.pj-head-meta{gap:10px;margin-top:3px}.pj-head-meta .mono{font-size:var(--text-xs)}.pj-status-btn{cursor:pointer}.pj-status-btn:hover{background:color-mix(in srgb, var(--c) 18%, transparent)}.pj-head-actions{gap:6px}.pj-head-actions>a{padding:0 4px;display:inline-flex}.pj-tabs{flex-shrink:0;padding:0 16px}.pj-body{padding-top:22px}.pj-desc{text-align:left;white-space:pre-wrap;width:100%;color:var(--fg-2);border-radius:var(--radius-sm);cursor:text;min-height:40px;transition:background var(--t-fast);margin:0 -10px;padding:8px 10px;line-height:1.6;display:block}.pj-desc:hover{background:var(--surface-hover)}.pj-desc-input{min-height:110px}.pj-breakdown{background:var(--surface-active);border-radius:5px;gap:2px;height:10px;display:flex;overflow:hidden}.pj-breakdown i{min-width:4px;display:block}.pj-legend{font-size:var(--text-xs);color:var(--fg-2);flex-wrap:wrap;gap:6px 16px;margin-top:12px;display:flex}.pj-legend span{align-items:center;gap:6px;display:inline-flex}.pj-legend i{border-radius:2px;width:8px;height:8px}.pj-legend b{color:var(--fg);font-weight:600}.pj-kv{min-height:34px;font-size:var(--text-sm);justify-content:space-between;align-items:center;gap:8px;display:flex}.pj-sub{border-top:1px solid var(--line-soft);margin:14px 0 6px;padding-top:12px}.pj-milestones{margin:0;padding:0;list-style:none}.pj-milestones li{min-height:32px;font-size:var(--text-sm);border-radius:var(--radius-sm);align-items:center;gap:8px;margin:0 -6px;padding:0 4px 0 6px;display:flex}.pj-milestones li>svg{color:var(--accent);flex-shrink:0}.pj-milestones li.is-past>svg{color:var(--c-green)}.pj-milestones li.is-past .truncate{color:var(--fg-3)}.pj-milestones li:hover{background:var(--surface-hover)}.pj-milestones li .icon-btn{opacity:0}.pj-milestones li:hover .icon-btn,.pj-milestones li .icon-btn:focus-visible{opacity:1}.pj-milestone-form{border-radius:var(--radius);background:var(--surface-sunken);flex-direction:column;gap:6px;margin-top:8px;padding:10px;display:flex}.pj-people{flex-direction:column;gap:2px;display:flex}.pj-person{border-radius:var(--radius-sm);font-size:var(--text-sm);transition:background var(--t-fast);align-items:center;gap:10px;margin:0 -8px;padding:6px 8px;display:flex}.pj-person:hover{background:var(--surface-hover)}.pj-person .grow{flex-direction:column;display:flex}.pj-person b{font-weight:500}.pj-drop{cursor:pointer;border:1.5px dashed var(--line-strong);border-radius:var(--radius-lg);color:var(--fg-2);font-size:var(--text-sm);transition:background var(--t-fast), border-color var(--t-fast);align-items:center;gap:14px;margin-bottom:16px;padding:18px 20px;display:flex}.pj-drop>svg{color:var(--fg-3);flex-shrink:0}.pj-drop:hover{background:var(--surface-hover)}.pj-drop.is-over{border-color:var(--accent);background:var(--accent-tint)}.pj-drop.is-over>svg{color:var(--accent)}.pj-drop b{color:var(--fg);font-weight:600}.pj-files{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;display:grid}.pj-file{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);transition:border-color var(--t-fast), box-shadow var(--t-fast);overflow:hidden}.pj-file:hover{border-color:var(--line-strong);box-shadow:var(--shadow-card)}.pj-file-thumb{width:100%;height:96px;color:var(--c);background:color-mix(in srgb, var(--c) 9%, var(--surface));border-bottom:1px solid var(--line-soft);flex-direction:column;justify-content:center;align-items:center;gap:6px;display:flex}.pj-file-thumb .mono{font-size:var(--text-2xs);letter-spacing:.04em;opacity:.8;font-weight:600}.pj-file-meta{padding:8px 6px 10px 12px}.pj-file-name{font-size:var(--text-sm);font-weight:500}.pj-preview{flex-direction:column;gap:10px;padding:6px;display:flex}.pj-preview-art{border-radius:var(--radius);height:120px;color:var(--c);background:color-mix(in srgb, var(--c) 10%, var(--surface));place-items:center;display:grid}.pj-preview-name{word-break:break-word;font-weight:600}.pj-preview dl{font-size:var(--text-xs);grid-template-columns:auto 1fr;gap:5px 14px;margin:0;display:grid}.pj-preview dt{color:var(--fg-3)}.pj-preview dd{color:var(--fg-2);min-width:0;margin:0}.pj-preview dd .pj-link{text-align:left}.pj-feed{max-width:760px}.pj-feed section+section{margin-top:18px}.pj-feed section>h3{border-bottom:1px solid var(--line-soft);margin-bottom:4px;padding-bottom:6px}.pj-comment{border-radius:var(--radius-sm);background:var(--surface-sunken);color:var(--fg-2);white-space:pre-wrap;margin-top:6px;padding:8px 10px;line-height:1.5}.pj-archive{overflow:hidden}.pj-archive-row{border-bottom:1px solid var(--line-soft);align-items:center;gap:10px;min-height:48px;padding:0 12px;display:flex}.pj-archive-row:last-child{border-bottom:0}.pj-archive-row:hover{background:var(--surface-hover)}.pj-archive-row .mono{font-size:var(--text-xs)}.pj-archive-title{text-align:left;font-weight:500;font-size:var(--text-sm)}.pj-archive-title:hover{text-decoration:underline}@media (width<=1100px){.pj-table th:nth-child(6),.pj-table td:nth-child(6){display:none}}@media (width<=860px){.pj-table th:nth-child(5),.pj-table td:nth-child(5){display:none}.pj-tabs{overscroll-behavior-x:contain;scroll-padding-inline:24px;-webkit-mask-image:linear-gradient(90deg,#0000,#000 14px calc(100% - 14px),#0000);mask-image:linear-gradient(90deg,#0000,#000 14px calc(100% - 14px),#0000)}.pj-tabs::-webkit-scrollbar{display:none}.pj-archive-tabs::-webkit-scrollbar{display:none}}@media (width<=760px){.pj-head{padding:14px 16px 10px}.pj-tabs{padding:0 8px}.pj-pagehead{padding:16px 16px 10px}.pj-search{width:100%}.pj-archive-row{flex-wrap:wrap;padding:8px 12px}}@media (width<=600px){.pj-collapse-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.segmented button:has(>.pj-collapse-label){padding:0 10px}.pj-filters{gap:6px}.pj-filters>.select{flex:1 1 0;min-width:0}.pj-filters>.spacer{display:none}.card-grid:has(>.pj-card){grid-template-columns:minmax(0,1fr)}.pj-card{gap:10px;padding:14px}.pj-table th,.pj-table td{padding:0 8px}.pj-table th{padding-block:9px}.pj-table th:nth-child(4),.pj-table td:nth-child(4),.pj-table th:nth-child(7),.pj-table td:nth-child(7){display:none}.pj-table td:first-child{width:100%;max-width:0}.pj-row-progress{width:auto}.pj-row-progress>.progress{display:none}.pj-head{gap:10px}.pj-head-title{flex:1 1 0;min-width:0}.pj-head-title h1,.pj-name-input{font-size:var(--text-lg)}.pj-head-actions{flex-wrap:wrap;flex-basis:100%;min-width:0}.pj-head-actions>.btn{padding-inline:8px}.pj-archived{flex-wrap:wrap;padding:8px 16px}.pj-stats{background:var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px}.pj-stats .stat{background:var(--surface);border:0;min-width:0;padding:12px 14px}.pj-drop{gap:12px;padding:14px 16px}.pj-files{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.pj-file-thumb{height:76px}.pj-file-meta{padding:8px 4px 8px 10px}.pj-archive-tabs{flex-wrap:wrap}.pj-archive-tabs>.spacer{display:none}.pj-archive-tabs>.pj-search{flex-basis:100%;order:-1;margin-bottom:8px}.pj-archive-row{gap:8px}.pj-archive-row .btn-sm{padding-inline:8px}.pj-archive-row:has(>.mono){row-gap:2px}.pj-archive-row:has(>.mono):after{content:"";flex-basis:100%;order:1}.pj-archive-row:has(>.mono)>.pj-archive-meta{order:2}.pj-archive-row:has(>.mono)>:not(.pj-archive-meta)+.pj-archive-meta{margin-left:22px}.pj-archive-meta{min-width:0;max-width:60%}}@media (hover:none){.pj-card-top .icon-btn,.pj-milestones li .icon-btn{opacity:1}.pj-milestones li .icon-btn,.pj-archive-row .icon-btn,.pj-table .icon-btn{min-width:32px;min-height:32px}}.dr{overflow:hidden}.dr-top{border-bottom:1px solid var(--line-soft);height:52px;font-size:var(--text-sm);flex-shrink:0;align-items:center;gap:6px;padding:0 12px 0 16px;display:flex}.dr-crumb{border-radius:var(--radius-sm);align-items:center;gap:7px;max-width:180px;height:28px;margin-left:-6px;padding:0 6px;font-weight:500;display:inline-flex}.dr-crumb:hover{background:var(--surface-hover)}.dr-nav{margin-left:6px}.dr-nav .icon-btn:disabled{opacity:.35;pointer-events:none}.dr-count{font-size:var(--text-xs);margin-left:4px}.dr-done{background:color-mix(in srgb, var(--c-green) 14%, transparent);color:var(--c-green);border-color:color-mix(in srgb, var(--c-green) 30%, transparent)}.dr-done:hover{background:color-mix(in srgb, var(--c-green) 20%, transparent)}.icon-btn.dr-fav,.icon-btn.dr-fav:hover{color:var(--c-amber)}.dr-scroll{overscroll-behavior:contain;flex:1;overflow-y:auto}.dr-layout{grid-template-columns:minmax(0,1fr);grid-template-areas:"head""props""main";gap:14px;padding:18px 22px 40px;display:grid}.dr-head{grid-area:head}.dr-props{grid-area:props}.dr-main{flex-direction:column;grid-area:main;gap:22px;min-width:0;display:flex}.drawer.is-full .dr-layout{grid-template-columns:minmax(0,1fr) 300px;grid-template-areas:"head props""main props";align-items:start;column-gap:32px;padding:26px 32px 48px}.drawer.is-full .dr-props{border:1px solid var(--line-soft);border-radius:var(--radius-lg);background:var(--surface-sunken);grid-template-columns:96px minmax(0,1fr);padding:12px;position:sticky;top:0}@media (width<=760px){.drawer.is-full .dr-layout{grid-template-columns:minmax(0,1fr);grid-template-areas:"head""props""main";padding:18px 18px 40px}.drawer.is-full .dr-props{position:static}}.dr-title{resize:none;width:100%;font-size:var(--text-xl);letter-spacing:-.015em;border-radius:var(--radius-sm);background:0 0;border:0;margin:0 -4px;padding:2px 4px;font-weight:600;line-height:1.3;overflow:hidden}.dr-title:hover{background:var(--surface-hover)}.dr-title:focus{box-shadow:0 0 0 2px var(--accent-tint);background:0 0;outline:none}.dr-props{grid-template-columns:116px minmax(0,1fr);align-items:center;gap:2px 8px;display:grid}.dr-more-fields{border-radius:var(--radius-sm);height:28px;font-size:var(--text-xs);color:var(--fg-3);grid-column:1/-1;justify-self:start;align-items:center;gap:6px;margin-top:2px;padding:0 8px 0 4px;display:inline-flex}.dr-more-fields:hover{background:var(--surface-hover);color:var(--fg)}.dr-prop-label{color:var(--fg-3);font-size:var(--text-sm);min-height:var(--control-sm);align-items:center;gap:8px;display:flex}.dr-prop-label svg{color:var(--fg-4)}.dr-prop-value{min-width:0;display:flex}.dr-prop-value>.prop-btn{max-width:calc(100% + 7px);margin-left:-7px;overflow:hidden}.prop-btn.dr-wrap{height:auto;min-height:var(--control-sm);white-space:normal;flex-wrap:wrap;gap:4px;padding-top:3px;padding-bottom:3px}.dr-blockers{flex-wrap:wrap;align-items:center;gap:4px;margin-left:-2px;display:flex}.dr-blockers .prop-btn{margin-left:0}.dr-blocker{height:22px;font-size:var(--text-xs);background:color-mix(in srgb, var(--c-red) 9%, transparent);color:var(--fg-2);border:1px solid color-mix(in srgb, var(--c-red) 22%, transparent);border-radius:5px;align-items:center;gap:5px;padding:0 7px;display:inline-flex}.dr-blocker:hover{background:color-mix(in srgb, var(--c-red) 15%, transparent);color:var(--fg)}.dr-section{flex-direction:column;gap:8px;display:flex}.dr-section-head{align-items:center;gap:10px;min-height:26px;display:flex}.dr-section-head h3{font-size:var(--text-sm);font-weight:600}.dr-quiet{font-size:var(--text-sm);padding:10px 0}.dr-hover{opacity:0;transition:opacity var(--t-fast)}:is(.dr-subtask,.dr-file,.dr-comment):hover .dr-hover,.dr-hover:focus-visible{opacity:1}@media (hover:none){.dr-hover{opacity:1}}.dr-desc{white-space:pre-wrap;word-break:break-word;border-radius:var(--radius);cursor:text;min-height:44px;color:var(--fg);transition:background var(--t-fast);margin:0 -10px;padding:8px 10px;line-height:1.6}.dr-desc:hover{background:var(--surface-hover)}.dr-desc.is-empty{color:var(--fg-4)}.textarea.dr-desc-edit{resize:none;min-height:110px;line-height:1.6;overflow:hidden}.dr-subtasks{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.dr-subtask{border-radius:var(--radius-sm);align-items:center;gap:8px;height:32px;margin-left:-18px;padding:0 4px 0 0;display:flex}.dr-subtask:hover{background:var(--surface-hover)}.dr-subtask.is-dragging{opacity:.4}.dr-grip{color:var(--fg-4);cursor:grab;opacity:0;flex-shrink:0}.dr-subtask:hover .dr-grip{opacity:1}.dr-subtask-title{border-radius:var(--radius-xs);min-width:0;height:26px;font-size:var(--text-base);background:0 0;border:0;flex:1;padding:0 4px}.dr-subtask-title:focus{background:var(--surface);box-shadow:0 0 0 2px var(--accent-tint);outline:none}.dr-subtask-title.is-done{color:var(--fg-3);text-decoration:line-through}.dr-add-subtask{height:32px;color:var(--fg-3);align-items:center;gap:8px;display:flex}.dr-add-subtask input{height:28px;font-size:var(--text-base);background:0 0;border:0;flex:1}.dr-add-subtask input::placeholder{color:var(--fg-3)}.dr-files{border-radius:var(--radius);transition:background var(--t-fast), box-shadow var(--t-fast)}.dr-files.is-over{background:var(--accent-tint);box-shadow:0 0 0 8px var(--accent-tint)}.dr-file-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;display:grid}.dr-file{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);align-items:center;gap:10px;min-width:0;padding:8px 8px 8px 10px;display:flex}.dr-file .grow{flex-direction:column;display:flex}.dr-file-icon{border-radius:var(--radius-sm);background:var(--surface-hover);width:30px;height:30px;color:var(--fg-2);flex-shrink:0;place-items:center;display:grid}.dr-file-name{font-size:var(--text-sm);font-weight:500;display:block}.dr-dropzone{border:1.5px dashed var(--line-strong);border-radius:var(--radius);height:46px;color:var(--fg-3);font-size:var(--text-sm);transition:border-color var(--t-fast), color var(--t-fast);justify-content:center;align-items:center;gap:8px;display:flex}.dr-dropzone:hover,.dr-files.is-over .dr-dropzone{border-color:var(--accent);color:var(--accent)}.dr-tabs{margin-bottom:4px}.dr-comments{flex-direction:column;display:flex}.dr-comment{gap:10px;padding:10px 0;display:flex}.dr-comment+.dr-comment{border-top:1px solid var(--line-soft)}.dr-comment-name{font-size:var(--text-sm);font-weight:600}.dr-comment-body{white-space:pre-wrap;word-break:break-word;margin-top:3px;line-height:1.55}.dr-mention{color:var(--accent);background:var(--accent-tint);border-radius:4px;padding:0 3px;font-weight:500}.dr-reactions{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.dr-reaction{height:24px;font-size:var(--text-xs);border:1px solid var(--line);background:var(--surface);color:var(--fg-2);border-radius:12px;align-items:center;gap:4px;padding:0 8px;display:inline-flex}.dr-reaction:hover{border-color:var(--line-strong)}.dr-reaction.is-on{background:var(--accent-tint);border-color:var(--accent-ring);color:var(--fg)}.dr-emoji-grid{grid-template-columns:repeat(6,32px);gap:2px;display:grid}.dr-emoji{border-radius:var(--radius-sm);width:32px;height:32px;transition:transform var(--t-fast);place-items:center;font-size:17px;display:grid}.dr-emoji:hover{background:var(--surface-hover);transform:scale(1.12)}.dr-emoji.is-on{background:var(--accent-tint)}.dr-activity .feed-item{padding:7px 0}.dr-composer{gap:10px;padding-top:12px;display:flex}.dr-composer-box{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);min-width:0;transition:border-color var(--t-fast), box-shadow var(--t-fast);flex:1;position:relative}.dr-composer-box:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-tint)}.dr-composer-box textarea{resize:none;background:0 0;border:0;outline:none;width:100%;min-height:40px;padding:9px 11px 4px;line-height:1.5;display:block;overflow:hidden}.dr-composer-foot{align-items:center;gap:8px;padding:4px 6px 6px 11px;display:flex}.dr-mentions{z-index:5;background:var(--surface);border-radius:var(--radius);width:min(300px,100%);box-shadow:var(--shadow-pop);animation:pop-in .12s var(--ease-out);padding:4px;position:absolute;bottom:calc(100% + 6px);left:0}@media (width<=860px){.dr-top{height:calc(52px + env(safe-area-inset-top));padding:env(safe-area-inset-top) max(8px, env(safe-area-inset-right)) 0 max(6px, env(safe-area-inset-left));gap:4px}.dr-back{margin-right:2px}.dr-crumb{flex:0 auto;min-width:0;max-width:none;margin-left:0}.dr-key,.dr-count{white-space:nowrap;flex-shrink:0}.dr-nav{flex-shrink:0;margin-left:2px}.dr-nav .icon-btn.xs{width:30px;height:30px}.drawer .dr-layout,.drawer.is-full .dr-layout{padding:16px max(16px, env(safe-area-inset-right)) calc(32px + env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left))}.dr-props,.drawer.is-full .dr-props{grid-template-columns:104px minmax(0,1fr)}.dr-grip{display:none}.dr-subtask{height:36px;margin-left:0}.dr-file-grid{grid-template-columns:minmax(0,1fr)}}@media (width<=600px){.dr-count{display:none}}@media (hover:none){.dr-kbd-hint{display:none}}.md-title-input.input{height:40px;font-size:var(--text-md);font-weight:500}.md-note{border-radius:var(--radius);font-size:var(--text-sm);background:color-mix(in srgb, var(--c-blue) 9%, transparent);color:var(--fg-2);align-items:center;gap:10px;padding:10px 12px;display:flex}.md-note .btn{margin-left:auto}.md-chips{flex-wrap:wrap;gap:6px;display:flex}.md-chips .prop-btn{font-size:var(--text-xs);gap:5px}.md-grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}@media (width<=620px){.md-grid-2{grid-template-columns:minmax(0,1fr)}}.md-icon-grid{grid-template-columns:repeat(8,1fr);gap:4px;display:grid}.md-icon{aspect-ratio:1;border-radius:var(--radius-sm);color:var(--fg-3);transition:background var(--t-fast), color var(--t-fast);border:1px solid #0000;place-items:center;display:grid}.md-icon:hover{background:var(--surface-hover);color:var(--fg)}.md-icon.is-on{color:var(--c);background:color-mix(in srgb, var(--c) 14%, transparent);border-color:color-mix(in srgb, var(--c) 35%, transparent)}.md-swatches{flex-wrap:wrap;gap:8px;display:flex}.md-swatch{width:24px;height:24px;transition:transform var(--t-fast);border-radius:50%;box-shadow:inset 0 0 0 1px #0000001a}.md-swatch:hover{transform:scale(1.1)}.md-swatch.is-on{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--fg-2)}.md-templates{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px;display:grid}.md-template{text-align:left;font-size:var(--text-xs);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);transition:border-color var(--t-fast), background var(--t-fast);flex-direction:column;align-items:flex-start;gap:4px;padding:10px 12px;display:flex}.md-template b{font-size:var(--text-sm);font-weight:600}.md-template:hover{border-color:var(--line-strong)}.md-template.is-on{border-color:var(--accent);background:var(--accent-tint);box-shadow:0 0 0 1px var(--accent)}.md-template-count{color:var(--accent);margin-top:2px;font-weight:500}.md-members{border:1px solid var(--line-strong);border-radius:var(--radius-sm);max-height:220px;padding:4px;overflow-y:auto}.md-members .popover-search{background:var(--surface);z-index:1;position:sticky;top:-4px}.md-members .menu-item{cursor:pointer}.md-errors{flex-direction:column;gap:2px;margin:-4px 0 0;padding:0;list-style:none;display:flex}.textarea.has-error{border-color:var(--c-red)}.md-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 28px;display:grid}@media (width<=620px){.md-shortcuts{grid-template-columns:minmax(0,1fr)}}.md-shortcuts h3{margin-bottom:6px}.md-shortcut-table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.md-shortcut-table td{border-bottom:1px solid var(--line-soft);padding:5px 0}.md-shortcut-table tr:last-child td{border-bottom:0}.md-shortcut-table td:last-child{text-align:right}.md-shortcut-table td:last-child>span{justify-content:flex-end}@media (width<=600px){.md-icon-grid{grid-template-columns:repeat(6,1fr)}.md-templates{grid-template-columns:repeat(auto-fill,minmax(136px,1fr))}.md-note{flex-wrap:wrap}.md-kbd-hint,.modal-footer .btn kbd{display:none}}@media (hover:none){.md-kbd-hint,.modal-footer .btn kbd{display:none}}.cp-scrim{z-index:100;background:var(--overlay);animation:.14s fade-in;position:fixed;inset:0}.cp-wrap{z-index:101;place-items:start center;padding:12vh 16px 16px;display:grid;position:fixed;inset:0}.cp-heading{padding:10px 10px 4px}.palette-list>div:first-child .cp-heading{padding-top:4px}.palette-item .meta{max-width:50%}.cp-close{margin-right:-8px;display:none}@media (width<=600px){.cp-wrap{padding:calc(8px + env(safe-area-inset-top)) 8px 8px}.cp-wrap .palette-input>kbd{display:none}.cp-close{display:inline-flex}}@media (hover:none){.cp-wrap .palette-input>kbd,.cp-wrap .palette-footer,.cp-wrap .palette-item .meta kbd{display:none}.cp-close{display:inline-flex}}.pp-tabs{margin-bottom:16px}.pp-name{font-weight:500;font-size:var(--text-base)}.pp-email{font-size:var(--text-xs)}.pp-none{font-size:var(--text-sm);padding:4px 0 2px}.pp-filters{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.pp-search{flex:1;min-width:200px;max-width:340px}.pp-search .input{width:100%}.pp-role-filter{width:140px}.pp-count{font-size:var(--text-sm);margin-left:auto}.pp-table-wrap{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);overflow-x:auto}.pp-table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.pp-table th{text-align:left;font-weight:500;font-size:var(--text-xs);color:var(--fg-3);border-bottom:1px solid var(--line);background:var(--surface-sunken);white-space:nowrap;padding:9px 12px}.pp-table td{border-bottom:1px solid var(--line-soft);vertical-align:middle;padding:9px 12px}.pp-table tbody tr:last-child td{border-bottom:0}.pp-table tr.is-link{cursor:pointer;transition:background var(--t-fast)}.pp-table tr.is-link:hover{background:var(--surface-hover)}.pp-table .pp-actions{text-align:right;width:44px}.pp-table tr.is-link .pp-actions .icon-btn{opacity:0}.pp-table tr.is-link:hover .pp-actions .icon-btn,.pp-table tr.is-link .pp-actions .icon-btn:focus-visible{opacity:1}.pp-server-note{font-size:var(--text-xs);max-width:640px;margin:12px 2px 0}.pp-person{gap:10px;min-width:220px}.pp-team-link{border-radius:var(--radius-xs);white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.pp-team-link:hover{text-decoration:underline}.pp-center{text-align:center!important}.pp-matrix th:first-child,.pp-matrix td:first-child{min-width:240px}.pp-role-head{align-items:center;gap:4px;font-weight:400}.pp-perm{width:22px;height:22px;color:var(--fg-4);border-radius:50%;place-items:center;display:inline-grid}.pp-perm.is-ok{color:var(--c-green);background:color-mix(in srgb, var(--c-green) 12%, transparent)}.pp-role-blurb{font-size:var(--text-xs);text-align:center;max-width:160px;line-height:1.4;vertical-align:top!important}.pp-matrix tfoot td{border-top:1px solid var(--line);background:var(--surface-sunken);border-bottom:0}.pp-profile{flex-wrap:wrap;align-items:flex-start;gap:18px;margin-bottom:22px;display:flex}.pp-profile h1{font-size:var(--text-2xl);letter-spacing:-.02em;font-weight:600}.pp-profile>.grow>p{font-size:var(--text-md);margin-top:2px}.pp-meta{font-size:var(--text-sm);color:var(--fg-2);flex-wrap:wrap;gap:6px 16px;margin-top:10px;display:flex}.pp-meta-item{gap:5px}.pp-meta-item>svg{color:var(--fg-4)}a.pp-meta-item:hover{color:var(--fg);text-decoration:underline}.pp-stats{margin-bottom:16px}.pp-list{flex-direction:column;display:flex}.pp-proj-row,.pp-member-row{border-radius:var(--radius-sm);font-size:var(--text-sm);transition:background var(--t-fast);align-items:center;gap:10px;margin:0 -8px;padding:7px 8px;display:flex}.pp-proj-row:hover,.pp-member-row:hover{background:var(--surface-hover)}.pp-team-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);transition:border-color var(--t-fast), box-shadow var(--t-fast), transform var(--t-fast);flex-direction:column;gap:14px;padding:14px;display:flex;position:relative;overflow:hidden}.pp-team-card:before{content:"";background:var(--c);opacity:.8;height:3px;position:absolute;inset:0 0 auto}.pp-team-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow-xs);transform:translateY(-1px)}.pp-team-card h3{font-size:var(--text-md);font-weight:600}.pp-team-card p{font-size:var(--text-sm);margin-top:1px}.pp-team-foot{font-size:var(--text-xs);border-top:1px solid var(--line-soft);align-items:center;gap:12px;padding-top:12px;display:flex}.pp-proj-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;display:grid}.pp-proj-card{border:1px solid var(--line);border-radius:var(--radius);transition:border-color var(--t-fast), background var(--t-fast);flex-direction:column;align-items:flex-start;gap:10px;padding:12px;display:flex}.pp-proj-card>.hstack{width:100%}.pp-proj-card:hover{border-color:var(--line-strong);background:var(--surface-hover)}.pp-settings{grid-template-columns:200px minmax(0,1fr);align-items:start;gap:40px;max-width:1040px;display:grid}.pp-settings-nav{flex-direction:column;gap:18px;display:flex;position:sticky;top:0}.pp-settings-group{flex-direction:column;gap:1px;display:flex}.pp-settings-group .eyebrow{padding:0 8px 6px}.pp-settings-body{min-width:0;max-width:720px}.pp-settings-head{margin-bottom:20px}.pp-settings-head h1{font-size:var(--text-2xl);letter-spacing:-.02em;font-weight:600}.pp-settings-head p{color:var(--fg-3);margin-top:4px}.srows{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface)}.srow{border-bottom:1px solid var(--line-soft);align-items:center;gap:24px;padding:14px 16px;display:flex}.srow:last-child{border-bottom:0}.srow-text{flex:1;min-width:0}.srow-title{font-weight:500}.srow-desc{font-size:var(--text-sm);color:var(--fg-3);margin-top:2px}.srow-control{flex-shrink:0;align-items:center;gap:8px;display:flex}.srow-control>.input{width:260px}.pp-select{width:160px}.pp-profile-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);align-items:center;gap:14px;margin-bottom:16px;padding:14px 16px;display:flex}.pp-themes{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}.pp-theme{border-radius:var(--radius-lg);border:1px solid var(--line);background:var(--surface);text-align:left;transition:border-color var(--t-fast), box-shadow var(--t-fast);flex-direction:column;gap:10px;padding:8px 8px 10px;display:flex}.pp-theme:hover{border-color:var(--line-strong)}.pp-theme.is-on{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint)}.pp-theme-label{font-size:var(--text-sm);align-items:center;gap:8px;padding:0 2px;font-weight:500;display:flex}.pp-radio{border:1.5px solid var(--line-strong);width:14px;height:14px;transition:border var(--t-fast);border-radius:50%;flex-shrink:0}.pp-theme.is-on .pp-radio{border:4.5px solid var(--accent)}.pp-theme-preview{--pv-bg:#f8f8f6;--pv-side:#f1f1ee;--pv-surface:#fff;--pv-line:#e6e6e1;--pv-ink:#d6d6d0;border-radius:var(--radius);border:1px solid var(--pv-line);background:var(--pv-bg);height:84px;display:flex;overflow:hidden}.pp-theme-preview.is-dark{--pv-bg:#161816;--pv-side:#121412;--pv-surface:#1b1d1b;--pv-line:#2a2d2a;--pv-ink:#383c38}.pp-theme-preview.is-system{background:linear-gradient(115deg,#f8f8f6 50%,#161816 50%)}.pp-theme-preview.is-system .pv-side{background:#f1f1ee;border-right-color:#e6e6e1}.pp-theme-preview.is-system .pv-main{background:linear-gradient(115deg,#fff 42%,#1b1d1b 42%);border-color:#2a2d2a}.pp-theme-preview.is-system .pv-main i{opacity:.5;background:#9a9e98}.pv-side{background:var(--pv-side);border-right:1px solid var(--pv-line);flex-direction:column;gap:5px;width:28%;padding:10px 7px;display:flex}.pv-side i,.pv-main i{background:var(--pv-ink);border-radius:3px;height:5px;display:block}.pv-side i:first-child{width:70%}.pv-main{background:var(--pv-surface);border:1px solid var(--pv-line);border-bottom:0;border-right:0;border-radius:6px 0 0;flex-direction:column;flex:1;gap:6px;margin:10px 0 0 10px;padding:10px;display:flex}.pv-main i.pv-accent{width:40%;height:7px;background:var(--accent)!important;opacity:1!important}.pv-main i.pv-short{width:55%}.pp-swatches{flex-wrap:wrap;gap:8px;display:flex}.pp-swatch{background:var(--c);color:#fff;width:24px;height:24px;transition:transform var(--t-fast), box-shadow var(--t-fast);border-radius:50%;flex-shrink:0;place-items:center;display:inline-grid;box-shadow:inset 0 0 0 1px #0000001f}.pp-swatch:hover{transform:scale(1.08)}.pp-swatch.is-on{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--c)}.pp-swatch.sm{border-radius:5px;width:16px;height:16px}.pp-swatch-pop{max-width:160px;padding:10px}.pp-ws-mark{background:var(--c);color:#fff;width:44px;height:44px;font-weight:600;font-size:var(--text-lg);border-radius:11px;flex-shrink:0;place-items:center;display:grid}.pp-label-add{gap:8px;margin-bottom:12px;display:flex}.pp-label-add .input{max-width:320px}.pp-label-row,.pp-status-row{border-bottom:1px solid var(--line-soft);align-items:center;gap:12px;padding:8px 12px 8px 16px;display:flex}.pp-label-row:last-child,.pp-status-row:last-child{border-bottom:0}.pp-status-row.is-hidden>:not(:last-child){opacity:.5}.switch:disabled{opacity:.5;cursor:not-allowed}.pp-inline-input{height:var(--control-sm);border-radius:var(--radius-xs);background:0 0;border:1px solid #0000;outline:0;margin-left:-6px;padding:0 6px;font-weight:500}.pp-inline-input:hover{background:var(--surface-hover)}.pp-inline-input:focus{background:var(--surface);border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-tint);outline:none}.pp-label-row .icon-btn{opacity:.55}.pp-label-row:hover .icon-btn{opacity:1}.pp-data-stats{margin-bottom:16px}.pp-data-stats .stat{padding:12px 14px}.pp-data-stats .v{margin-top:2px;font-size:22px}@media (width<=860px){.pp-settings{grid-template-columns:minmax(0,1fr);gap:20px}.pp-settings-nav{flex-flow:wrap;gap:16px;position:static}.pp-settings-group{flex-flow:wrap;align-items:center}.pp-settings-group .eyebrow{width:100%}.pp-settings-group .nav-item{width:auto}.srow{flex-wrap:wrap;gap:10px}.srow-control,.srow-control>.input{width:100%}.srow:has(>.srow-control>.switch:only-child){flex-wrap:nowrap}.srow:has(>.srow-control>.switch:only-child) .srow-control{width:auto}.pp-matrix th:first-child,.pp-matrix td:first-child{z-index:1;background:var(--surface);box-shadow:inset -1px 0 0 var(--line-soft);position:sticky;left:0}.pp-matrix th:first-child,.pp-matrix tfoot td:first-child{background:var(--surface-sunken)}}@media (width<=600px){.pp-filters{flex-wrap:wrap}.pp-search{flex:1 1 0;min-width:0;max-width:none}.pp-role-filter{flex-shrink:0;width:118px}.pp-count{width:100%;margin-left:0}.pp-dir,.pp-dir tbody{display:block}.pp-dir thead{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.pp-dir tr{border-bottom:1px solid var(--line-soft);flex-wrap:wrap;align-items:center;gap:6px 8px;padding:10px 8px 10px 12px;display:flex}.pp-dir tbody tr:last-child{border-bottom:0}.pp-dir td{border-bottom:0;min-width:0;padding:0;display:block}.pp-dir .pp-c-name{flex:1 0 calc(100% - 48px);order:0}.pp-dir .pp-actions{flex-shrink:0;order:1;width:auto}.pp-dir .pp-c-role{order:2;margin-left:40px}.pp-dir .pp-c-status{order:3}.pp-dir .pp-c-team{font-size:var(--text-xs);color:var(--fg-3);flex:0 auto;order:4;overflow:hidden}:is(.pp-dir .pp-c-team:not(:has(a)),.pp-dir .pp-c-title,.pp-dir .pp-c-loc){display:none}.pp-dir .pp-team-link{max-width:100%;display:flex}.pp-person{min-width:0}.pp-matrix th:first-child,.pp-matrix td:first-child{white-space:normal;min-width:150px;max-width:170px}.pp-profile{flex-direction:column;gap:12px;margin-bottom:18px}.pp-profile>.grow{width:100%}.pp-profile h1{font-size:var(--text-xl)}.pp-meta{gap:6px 12px}.pp-meta>*{overflow-wrap:anywhere;min-width:0}.pp-stats,.pp-data-stats{background:var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:1px}.pp-stats .stat,.pp-data-stats .stat{background:var(--surface);border:0;min-width:0;padding:10px 12px}.pp-data-stats .stat:last-child:nth-child(3n+2){grid-column:span 2}.pp-stats .v{font-size:22px}.pp-stats .k{font-size:var(--text-xs)}.pp-stats .k>svg{display:none}.pp-team-foot{gap:10px}.pp-team-head{gap:12px}.pp-team-head h1{font-size:var(--text-xl);overflow-wrap:anywhere}.pp-team-head .actions{flex-basis:100%;margin-left:0}.pp-settings{gap:16px}.pp-settings-nav{scrollbar-width:none;overscroll-behavior-x:contain;flex-wrap:nowrap;gap:6px;margin:0 -14px;padding:2px 14px 4px;scroll-padding-inline:14px;overflow-x:auto}.pp-settings-nav::-webkit-scrollbar{display:none}.pp-settings-group{display:contents}.pp-settings-group .eyebrow{display:none}.pp-settings .pp-settings-nav .nav-item{height:32px;font-size:var(--text-sm);box-shadow:inset 0 0 0 1px var(--line);border-radius:999px;flex-shrink:0;justify-content:flex-start;gap:6px;padding:0 12px}.pp-settings-nav .nav-item.is-on{box-shadow:inset 0 0 0 1px var(--line-strong)}.pp-settings-nav .nav-item .end{margin-left:0}.pp-settings-head{margin-bottom:16px}.pp-settings-head h1{font-size:var(--text-xl)}.srow{flex-direction:column;align-items:stretch;gap:10px;padding:12px 14px}.srow:has(>.srow-control>.switch:only-child){flex-direction:row;align-items:center}.srow-control{flex-wrap:wrap}.pp-select{width:100%}.pp-profile-card{flex-wrap:wrap;gap:12px;padding:12px 14px}.pp-profile-card .pp-email{overflow-wrap:anywhere}.pp-themes{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;overflow:visible}.pp-theme{gap:8px;min-width:0;padding:6px 6px 8px}.pp-theme-preview{height:56px}.pv-side{gap:4px;padding:7px 5px}.pv-side i,.pv-main i{height:4px}.pv-main{gap:4px;margin:7px 0 0 7px;padding:7px}.pv-main i.pv-accent{height:5px}.pp-theme-label{font-size:var(--text-xs);gap:6px}.pp-label-add .input{flex:1;min-width:0;max-width:none}.pp-label-row,.pp-status-row{gap:8px;padding:6px 8px 6px 12px}.pp-inline-input{min-width:0}}@media (hover:none){.pp-table tr.is-link .pp-actions .icon-btn,.pp-label-row .icon-btn{opacity:1}.pp-dir .pp-actions .icon-btn,.pp-label-row .icon-btn{min-width:32px;min-height:32px}}.acc-auth{height:100%;padding:max(24px, env(safe-area-inset-top)) 16px max(24px, env(safe-area-inset-bottom));background:radial-gradient(60% 50% at 50% 0%, var(--accent-tint), transparent 70%), var(--bg);place-items:center;display:grid;overflow-y:auto}.acc-card{background:var(--surface);border-radius:var(--radius-lg);width:min(380px,100%);box-shadow:var(--shadow-pop);animation:fade-in .24s var(--ease-out);flex-direction:column;gap:14px;padding:28px 28px 22px;display:flex}.acc-card>*{animation:rise-in .42s var(--ease-out) backwards}.acc-card>:nth-child(2){animation-delay:40ms}.acc-card>:nth-child(3){animation-delay:80ms}.acc-card>:nth-child(n+4){animation-delay:.12s}.acc-card-head{text-align:center;flex-direction:column;align-items:center;gap:8px;margin-bottom:6px;display:flex}.acc-card-head h1{font-size:var(--text-xl);letter-spacing:-.02em;margin-top:6px;font-weight:600}.acc-card-head p{font-size:var(--text-sm)}.acc-logo{box-shadow:var(--shadow-xs);border-radius:10px;display:block}.acc-card .input{height:var(--control-lg)}.acc-card[aria-busy=true] .btn-primary:disabled{opacity:.8}.acc-foot{font-size:var(--text-xs);text-align:center;margin-top:2px}@media (width<=600px){.acc-auth{padding-top:max(10vh, env(safe-area-inset-top));place-items:start center}.acc-card{box-shadow:none;border:1px solid var(--line);padding:22px 18px 18px}.acc-card .input{font-size:16px}}.acc-error{border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--c-red);background:color-mix(in srgb, var(--c-red) 9%, transparent);align-items:flex-start;gap:8px;padding:8px 10px;display:flex}.acc-error>svg{flex-shrink:0;margin-top:1px}@keyframes acc-spin{to{transform:rotate(360deg)}}.acc-spin{animation:.8s linear infinite acc-spin}.icon-btn:disabled{opacity:.45;pointer-events:none}.acc-pass-row{align-items:center;gap:6px;min-width:0;display:flex}.acc-pass{flex:1;min-width:0;position:relative}.acc-pass>.input{padding-right:34px}.acc-pass-eye{position:absolute;top:50%;right:3px;transform:translateY(-50%)}.acc-card .acc-pass-eye{right:5px}.srow-control>.acc-pass-row{width:260px}.acc-pop-form{flex-direction:column;gap:12px;padding:8px;display:flex}.acc-pop-form p{font-size:var(--text-xs);white-space:normal;margin-top:2px}@media (width<=860px){.srow-control>.acc-pass-row{width:100%}}@media (width<=600px){.modal .acc-pass-row{flex-wrap:wrap}.modal .acc-pass{flex-basis:100%}.modal .acc-pass-row>.btn{flex:1}}.acc-settings-block{margin-top:28px}.acc-subhead{font-size:var(--text-md);margin-bottom:10px;font-weight:600}.acc-settings-actions{justify-content:flex-end;align-items:flex-start;gap:12px;margin-top:12px;display:flex}@media (width<=600px){.acc-settings-actions{flex-direction:column;align-items:stretch}}.acc-lock{color:var(--fg-3);flex-shrink:0;display:inline-flex}.acc-private-badge{--c:var(--fg-2);cursor:pointer;gap:4px}.acc-private-badge:hover{background:color-mix(in srgb, var(--fg) 10%, transparent)}.acc-vis{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.md-members .menu-item.acc-fixed{cursor:default}.md-members .menu-item.acc-fixed .checkbox{opacity:.6;cursor:default}@media (width<=600px){.acc-vis{grid-template-columns:minmax(0,1fr)}}.pj-drop.is-uploading{border-color:var(--accent);background:var(--accent-tint)}.pj-drop.is-uploading>svg{color:var(--accent)}.pj-file-thumb.has-image{background:var(--surface-sunken);padding:0;overflow:hidden}.pj-file-thumb img,.pj-preview-art img{object-fit:cover;width:100%;height:100%;display:block}.pj-preview-art.has-image{background:var(--surface-sunken);height:180px;overflow:hidden}.pj-preview-art.has-image img{object-fit:contain}.dr-file-open{text-align:left;border-radius:var(--radius-sm);flex:1;align-items:center;gap:10px;min-width:0;display:flex}.dr-file-open .grow{flex-direction:column;display:flex}.dr-file-open:hover .dr-file-name{text-decoration:underline}.dr-file-icon.has-image{padding:0;overflow:hidden}.dr-file-icon img{object-fit:cover;width:100%;height:100%;display:block}.dr-file{gap:6px}.dr-dropzone.is-uploading{border-color:var(--accent);color:var(--accent)}
