@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:#fbfaf8;--bg-side:#f4f3f0;--surface:#fff;--surface-2:#f6f5f2;--surface-3:#eeede9;--sunken:#f7f6f3;--overlay:#18161347;--border:#e9e7e2;--border-strong:#dad7d0;--divider:#f0eeea;--text:#1d1c1a;--text-2:#57544e;--text-3:#6b6760;--text-4:#8c8880;--text-inv:#fff;--acc-l:#4b5bd6;--acc-d:#8e9af3;--accent:var(--acc-l);--on-accent:#fff;--accent-soft:color-mix(in srgb, var(--accent) 10%, transparent);--accent-line:color-mix(in srgb, var(--accent) 38%, transparent);--green:#25754b;--amber:#8f5e0e;--red:#b23c30;--blue:#3570c4;--violet:#7652c2;--teal:#1e8580;--rose:#bc4270;--orange:#c0612b;--gray:#8a867e;--green-soft:color-mix(in srgb, var(--green) 11%, transparent);--amber-soft:color-mix(in srgb, var(--amber) 12%, transparent);--red-soft:color-mix(in srgb, var(--red) 10%, transparent);--st-backlog:#a29e96;--st-todo:#7c7870;--st-progress:#c88a14;--st-review:#7652c2;--st-done:#2e8456;--shadow-sm:0 1px 2px #1c19140d;--shadow-card:0 1px 2px #1c19140a, 0 0 0 1px var(--border);--shadow-pop:0 12px 32px -8px #1c191429, 0 2px 6px -2px #1c19140f, 0 0 0 1px var(--border);--shadow-drag:0 16px 36px -10px #1c191447, 0 0 0 1px var(--border-strong);--r-xs:4px;--r-sm:6px;--r:8px;--r-lg:10px;--r-xl:12px;--r-full:999px;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-8:32px;--s-10:40px;--s-12:48px;--font:"Geist Variable", ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono:"Geist Mono Variable", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--fs-2xs:11px;--fs-xs:12px;--fs-sm:12.5px;--fs:13.5px;--fs-md:14.5px;--fs-lg:16px;--fs-xl:19px;--fs-2xl:23px;--h-xs:22px;--h-sm:26px;--h-md:30px;--h-lg:36px;--side-w:252px;--ai-w:400px;--side-row:30px;--row-h:40px;--card-pad:10px;--topbar-h:46px;--ease:cubic-bezier(.23, 1, .32, 1);--ease-drawer:cubic-bezier(.32, .72, 0, 1);--dur:.14s;--ink-mix:60%;--tint-mix:14%;--icon-mix:90%;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#1a1a19;--bg-side:#151514;--surface:#1d1d1c;--surface-2:#252524;--surface-3:#2d2d2b;--sunken:#181817;--overlay:#0000008c;--border:#2c2b29;--border-strong:#3a3936;--divider:#252523;--text:#eceae5;--text-2:#b5b2ab;--text-3:#9a968f;--text-4:#6f6c66;--text-inv:#151514;--accent:var(--acc-d);--on-accent:#12131c;--green:#5cba86;--amber:#d8a443;--red:#e57d70;--blue:#72a5ea;--violet:#a98deb;--teal:#58c0b6;--rose:#e68aab;--orange:#e3925f;--gray:#8f8b84;--st-backlog:#6f6c66;--st-todo:#a6a39c;--st-progress:#d8a443;--st-review:#a98deb;--st-done:#5cba86;--shadow-sm:0 1px 2px #0000004d;--shadow-card:0 0 0 1px var(--border);--shadow-pop:0 16px 40px -10px #0009, 0 0 0 1px var(--border-strong);--shadow-drag:0 18px 40px -10px #000000b3, 0 0 0 1px var(--border-strong);--ink-mix:45%;--tint-mix:18%;--icon-mix:62%;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#1a1a19;--bg-side:#151514;--surface:#1d1d1c;--surface-2:#252524;--surface-3:#2d2d2b;--sunken:#181817;--overlay:#0000008c;--border:#2c2b29;--border-strong:#3a3936;--divider:#252523;--text:#eceae5;--text-2:#b5b2ab;--text-3:#9a968f;--text-4:#6f6c66;--text-inv:#151514;--accent:var(--acc-d);--on-accent:#12131c;--green:#5cba86;--amber:#d8a443;--red:#e57d70;--blue:#72a5ea;--violet:#a98deb;--teal:#58c0b6;--rose:#e68aab;--orange:#e3925f;--gray:#8f8b84;--st-backlog:#6f6c66;--st-todo:#a6a39c;--st-progress:#d8a443;--st-review:#a98deb;--st-done:#5cba86;--shadow-sm:0 1px 2px #0000004d;--shadow-card:0 0 0 1px var(--border);--shadow-pop:0 16px 40px -10px #0009, 0 0 0 1px var(--border-strong);--shadow-drag:0 18px 40px -10px #000000b3, 0 0 0 1px var(--border-strong);--ink-mix:45%;--tint-mix:18%;--icon-mix:62%;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-accent=blue]{--acc-l:#2f6cd4;--acc-d:#74a7f0}:root[data-accent=violet]{--acc-l:#7348cc;--acc-d:#ae93f0}:root[data-accent=teal]{--acc-l:#1a7f7a;--acc-d:#5cc4ba}:root[data-accent=rose]{--acc-l:#b93d68;--acc-d:#ec8dae}:root[data-accent=graphite]{--acc-l:#34332f;--acc-d:#d9d6cf}:root[data-side=compact]{--side-row:26px}:root[data-density=compact]{--row-h:34px;--card-pad:8px}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:var(--fs);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"ss01", "cv11";margin:0;line-height:1.45;overflow:hidden}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;text-align:inherit;background:0 0;border:0;padding:0}button:disabled{cursor:default}a{color:inherit;text-decoration:none}h1,h2,h3,h4,p{margin:0}svg.i{flex-shrink:0;display:block}::selection{background:color-mix(in srgb, var(--accent) 22%, transparent)}input,textarea,[contenteditable]{caret-color:var(--accent)}:focus{outline:none}:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-radius:var(--r-xs)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border-strong);background-clip:padding-box;border:3px solid #0000;border-radius:10px}::-webkit-scrollbar-thumb:hover{background-color:var(--text-4)}::-webkit-scrollbar-track{background:0 0}.skip-link{z-index:300;border-radius:var(--r-sm);background:var(--text);color:var(--text-inv);font-size:var(--fs-sm);transition:top .15s var(--ease);padding:8px 12px;font-weight:500;position:fixed;top:-60px;left:12px}.skip-link:focus{top:calc(8px + env(safe-area-inset-top,0px))}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.mono{font-family:var(--mono);letter-spacing:-.01em;font-size:.92em}.num{font-variant-numeric:tabular-nums}.muted{color:var(--text-2)}.faint{color:var(--text-3)}.trunc{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.row{align-items:center;gap:var(--s-2);display:flex}.col{flex-direction:column;display:flex}.grow{flex:1;min-width:0}.sp{flex:1}.wrap{flex-wrap:wrap}.tone-ok{color:var(--green)}.tone-bad{color:var(--red)}.tone-warn{color:var(--amber)}.link{color:var(--accent);font-weight:500}.link:hover{text-decoration:underline}.eyebrow{font-size:var(--fs-2xs);letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);font-weight:600}kbd,.kbd{font-family:var(--mono);border-radius:var(--r-xs);border:1px solid var(--border);background:var(--surface);min-width:18px;height:18px;color:var(--text-2);border-bottom-width:1.5px;justify-content:center;align-items:center;padding:0 5px;font-size:11px;line-height:1;display:inline-flex}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes popIn{0%{opacity:0;transform:scale(.97)translateY(-2px)}to{opacity:1;transform:none}}@keyframes palIn{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:none}}@keyframes modalIn{0%{opacity:0;transform:translateY(6px)scale(.985)}to{opacity:1;transform:none}}@keyframes drawerIn{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:none}}@keyframes riseIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes routeIn{0%{opacity:0}to{opacity:1}}@keyframes land{0%{box-shadow:0 0 0 2px var(--accent-line)}to{box-shadow:var(--shadow-card)}}@keyframes addFlash{0%{background:var(--accent-soft)}to{background:0 0}}@media (prefers-reduced-motion:reduce){:root:not([data-motion=full]) *,:root:not([data-motion=full]) :before,:root:not([data-motion=full]) :after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}:root[data-motion=reduce] *,:root[data-motion=reduce] :before,:root[data-motion=reduce] :after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.btn{--h:var(--h-md);height:var(--h);border-radius:var(--r-sm);font-size:var(--fs-sm);white-space:nowrap;-webkit-user-select:none;user-select:none;transition:background var(--dur), border-color var(--dur), color var(--dur), box-shadow var(--dur), transform var(--dur);border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:0 11px;font-weight:500;display:inline-flex;position:relative}.btn .i{opacity:.9}.btn:active:not(:disabled){transform:scale(.97)}.btn-sm{--h:var(--h-sm);font-size:var(--fs-xs);padding:0 8px}.btn-lg{--h:var(--h-lg);font-size:var(--fs);padding:0 14px}.btn-block{width:100%}.btn-primary{background:var(--accent);color:var(--on-accent);box-shadow:inset 0 -1px #0000001f}.btn-primary:hover{background:color-mix(in srgb, var(--accent) 88%, var(--text))}.btn-primary:active{background:color-mix(in srgb, var(--accent) 78%, var(--text))}.btn-secondary{background:var(--surface);border-color:var(--border-strong);color:var(--text);box-shadow:var(--shadow-sm)}.btn-secondary:hover{background:var(--surface-2)}.btn-secondary:active{background:var(--surface-3)}.btn-ghost{color:var(--text-2)}.btn-ghost:hover{background:var(--surface-2);color:var(--text)}.btn-ghost:active,.btn-ghost.on{background:var(--surface-3);color:var(--text)}.btn-danger{background:var(--red);color:#fff}.btn-danger:hover{background:color-mix(in srgb, var(--red) 88%, #000)}.btn-danger-ghost{color:var(--red)}.btn-danger-ghost:hover{background:var(--red-soft)}.btn-danger-ghost.bordered{border-color:color-mix(in srgb, var(--red) 35%, transparent)}.btn:disabled,.btn[aria-disabled=true]{background:var(--surface-2);color:var(--text-3);border-color:var(--border);pointer-events:none;box-shadow:none}.btn-ghost:disabled,.btn-ghost[aria-disabled=true]{background:0 0}.btn.is-loading{pointer-events:none;color:#0000!important}.btn.is-loading:after{content:"";border:2px solid var(--on-accent);border-top-color:#0000;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite spin;position:absolute}.btn-secondary.is-loading:after,.btn-ghost.is-loading:after{border-color:var(--text-2);border-top-color:#0000}.btn.state-hover.btn-primary{background:color-mix(in srgb, var(--accent) 88%, var(--text))}.btn.state-hover.btn-secondary,.btn.state-hover.btn-ghost{background:var(--surface-2);color:var(--text)}.btn.state-hover.btn-danger{background:color-mix(in srgb, var(--red) 88%, #000)}.btn.state-active{transform:scale(.97)}.btn.state-focus{outline:2px solid var(--accent);outline-offset:1px}.ibtn{border-radius:var(--r-sm);width:28px;height:28px;color:var(--text-2);transition:background var(--dur), color var(--dur);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;position:relative}.ibtn:hover{background:var(--surface-2);color:var(--text)}.ibtn:active,.ibtn.on{background:var(--surface-3);color:var(--text)}.ibtn:disabled{opacity:.4;pointer-events:none}.ibtn-sm{width:26px;height:26px}.ibtn-xs{border-radius:var(--r-xs);width:20px;height:20px}.input,.select,.textarea{width:100%;height:var(--h-md);border-radius:var(--r-sm);border:1px solid var(--border-strong);background:var(--surface);font-size:var(--fs);transition:border-color var(--dur), box-shadow var(--dur);padding:0 10px}.input::placeholder,.textarea::placeholder{color:var(--text-4)}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.input:disabled,.select:disabled{background:var(--surface-2);color:var(--text-3)}.input-lg{height:var(--h-lg);font-size:var(--fs)}.textarea{resize:vertical;height:auto;min-height:60px;padding:8px 10px;line-height:1.5}.select{appearance:none;cursor:pointer;background-image: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='%238C8880' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 9px center;background-repeat:no-repeat;padding-right:28px}.select-sm{height:var(--h-sm);width:auto;font-size:var(--fs-xs);padding-left:8px}.is-error,.is-error:focus{border-color:var(--red)!important;box-shadow:0 0 0 3px var(--red-soft)!important}.field{flex-direction:column;gap:6px;display:flex}.label{font-size:var(--fs-sm);color:var(--text);font-weight:500}.hint{font-size:var(--fs-xs);color:var(--text-3)}.err{font-size:var(--fs-xs);color:var(--red);align-items:center;gap:5px;display:flex}.inwrap{align-items:center;display:flex;position:relative}.inwrap>.i:first-child{color:var(--text-3);pointer-events:none;position:absolute;left:9px}.inwrap>.input{padding-left:30px}.inwrap>.kbd{position:absolute;right:7px}.search-sm{height:var(--h-sm);width:200px;font-size:var(--fs-sm)}.check,.radio{appearance:none;border:1.5px solid var(--border-strong);background:var(--surface);cursor:pointer;width:15px;height:15px;transition:background var(--dur), border-color var(--dur);border-radius:4px;flex-shrink:0;place-items:center;margin:0;display:inline-grid}.radio,.check.round{border-radius:50%}.check:hover,.radio:hover{border-color:var(--text-4)}.check:checked{background:var(--accent);border-color:var(--accent)}.check.round:checked{background:var(--st-done);border-color:var(--st-done)}.check:checked:after{content:"";border:1.8px solid var(--on-accent);border-top:0;border-right:0;width:8px;height:5px;transform:rotate(-45deg)translate(1px,-1px)}.check.round:checked:after{border-color:var(--surface)}.check:indeterminate{background:var(--accent);border-color:var(--accent)}.check:indeterminate:after{content:"";background:var(--on-accent);width:7px;height:1.8px}.radio:checked{border:4.5px solid var(--accent)}.toggle{appearance:none;background:var(--border-strong);cursor:pointer;width:30px;height:18px;transition:background var(--dur);border-radius:9px;flex-shrink:0;margin:0;position:relative}.toggle:after{content:"";width:14px;height:14px;transition:transform .18s var(--ease);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #00000040}.toggle:checked{background:var(--accent)}.toggle:checked:after{transform:translate(12px)}.toggle:disabled{opacity:.5;cursor:default}.seg{border-radius:var(--r-sm);background:var(--surface-2);border:1px solid var(--border);gap:2px;padding:3px;display:inline-flex}.seg>button{border-radius:var(--r-xs);height:22px;font-size:var(--fs-xs);color:var(--text-2);transition:background var(--dur), color var(--dur);align-items:center;gap:5px;padding:0 8px;font-weight:500;display:inline-flex}.seg>button:hover{color:var(--text)}.seg>button.on,.seg>button[aria-selected=true]{background:var(--surface);color:var(--text);box-shadow:0 1px 2px #00000014, 0 0 0 1px var(--border)}.tabs{border-bottom:1px solid var(--border);scrollbar-width:none;gap:2px;padding-bottom:4px;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tab{height:32px;font-size:var(--fs-sm);color:var(--text-2);white-space:nowrap;flex-shrink:0;align-items:center;gap:6px;padding:0 10px;font-weight:500;display:inline-flex;position:relative}.tab:hover,.tab.on{color:var(--text)}.tab.on:after{content:"";background:var(--text);border-radius:2px;height:2px;position:absolute;bottom:-5px;left:8px;right:8px}.tab .cnt{color:var(--text-3);background:var(--surface-2);border-radius:8px;padding:0 5px;font-size:11px;font-weight:500;line-height:16px}.badge{border-radius:var(--r-full);height:20px;font-size:var(--fs-2xs);background:var(--surface-2);color:var(--text-2);border:1px solid var(--border);white-space:nowrap;align-items:center;gap:4px;padding:0 7px;font-weight:500;display:inline-flex}button.badge:hover{background:var(--surface-3);color:var(--text)}.badge .dot{background:currentColor;border-radius:50%;width:6px;height:6px}.badge.accent{background:var(--accent-soft);color:var(--accent);border-color:var(--accent-line)}.badge.green{background:var(--green-soft);color:var(--green);border-color:#0000}.badge.amber{background:var(--amber-soft);color:var(--amber);border-color:#0000}.badge.red{background:var(--red-soft);color:var(--red);border-color:#0000}.badge.gray{color:var(--text-3)}.pstatus{font-size:var(--fs-xs);color:var(--text-2);white-space:nowrap;align-items:center;gap:6px;font-weight:500;display:inline-flex}.pstatus i{background:var(--c);border-radius:50%;width:7px;height:7px}.lbl{border-radius:var(--r-xs);height:20px;color:var(--text-2);background:color-mix(in srgb, var(--c) 9%, var(--surface));border:1px solid color-mix(in srgb, var(--c) 18%, var(--border));white-space:nowrap;align-items:center;gap:5px;padding:0 7px;font-size:12px;font-weight:500;display:inline-flex}.lbl i{background:var(--c);border-radius:50%;width:6px;height:6px}.pdot{background:var(--c);border-radius:2.5px;flex-shrink:0;width:8px;height:8px;display:inline-block}.pillbtn{border-radius:var(--r-sm);height:26px;font-size:var(--fs-sm);color:var(--text);min-width:0;max-width:100%;transition:background var(--dur);border:1px solid #0000;align-items:center;gap:6px;padding:0 7px;display:inline-flex}button.pillbtn:hover,.pillbtn[data-state=open]{background:var(--surface-2)}.pillbtn.bordered{border-color:var(--border-strong);background:var(--surface)}.pillbtn.bordered:hover{background:var(--surface-2)}.pillbtn.empty{color:var(--text-3)}.pillbtn.over{color:var(--red)}.pillbtn:disabled{cursor:default}button.pillbtn:disabled:hover{background:0 0}.chip{border-radius:var(--r-sm);background:var(--surface);border:1px solid var(--border-strong);height:24px;font-size:var(--fs-xs);color:var(--text-2);align-items:center;gap:2px;padding:0 2px 0 8px;display:inline-flex}.chip b{color:var(--text);font-weight:600}.chip .ibtn{width:20px;height:20px}.depchip{font-family:var(--mono);background:var(--surface-3);color:var(--text-2);border-radius:4px;margin-right:4px;padding:1px 5px;font-size:11px}.av{--sz:24px;width:var(--sz);height:var(--sz);font-size:max(11px, calc(var(--sz) * .42));letter-spacing:-.04em;color:color-mix(in srgb, var(--c) var(--ink-mix), var(--text));background:color-mix(in srgb, var(--c) var(--tint-mix), var(--surface));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--c) 28%, transparent);-webkit-user-select:none;user-select:none;border-radius:50%;flex-shrink:0;place-items:center;font-weight:600;display:inline-grid;position:relative}.av.sm{--sz:22px}.av.md{--sz:28px}.av.lg{--sz:34px}.av.xl{--sz:60px;font-size:21px}.av.empty{box-shadow:inset 0 0 0 1px var(--border-strong);color:var(--text-3);background:0 0;border:1px dashed #0000}.av.more{color:var(--text-2);background:var(--surface-3);box-shadow:none}.av.presence:after{content:"";background:var(--green);width:8px;height:8px;box-shadow:0 0 0 2px var(--bg-side);border-radius:50%;position:absolute;bottom:-1px;right:-1px}.av.xl.presence:after{width:13px;height:13px;box-shadow:0 0 0 3px var(--bg)}.av.agent{border-radius:30%}.av-bot{background:var(--surface);width:12px;height:12px;color:color-mix(in srgb, var(--c) var(--ink-mix), var(--text));box-shadow:0 0 0 1px color-mix(in srgb, var(--c) 35%, var(--border));border-radius:50%;place-items:center;display:grid;position:absolute;bottom:-3px;right:-3px}.av.sm .av-bot,.bar .av .av-bot{display:none}.av.xl .av-bot{width:20px;height:20px;bottom:-4px;right:-4px}.av.xl .av-bot svg{width:12px;height:12px}.avs{align-items:center;display:inline-flex}.avs .av{box-shadow:0 0 0 2px var(--surface), inset 0 0 0 1px color-mix(in srgb, var(--c) 28%, transparent)}.avs .av+.av{margin-left:-2px}.prog{background:var(--surface-3);border-radius:2px;flex:1;min-width:40px;height:4px;display:block;overflow:hidden}.prog>i{background:var(--accent);transform-origin:0;height:100%;transform:scaleX(var(--p,0));transition:transform .4s var(--ease);border-radius:2px;display:block}.prog.green>i{background:var(--green)}.prog.red>i{background:var(--red)}.stackbar{background:var(--surface-3);border-radius:5px;gap:2px;display:flex;overflow:hidden}.stackbar>i{min-width:0;height:100%;display:block}.meter{background:var(--surface-3);border-radius:3px;height:6px;overflow:hidden}.meter>i{background:var(--accent);border-radius:3px;height:100%;display:block}.strength{gap:4px;display:flex}.strength i{background:var(--surface-3);border-radius:2px;flex:1;height:4px}.strength i.on{background:var(--c)}.alert{border-radius:var(--r);font-size:var(--fs-sm);border:1px solid;align-items:flex-start;gap:10px;padding:10px 12px;line-height:1.5;display:flex}.alert>.i{margin-top:1px}.alert.info{background:var(--accent-soft);border-color:var(--accent-line);color:var(--text)}.alert.info>.i{color:var(--accent)}.alert.ok{background:var(--green-soft);border-color:color-mix(in srgb, var(--green) 25%, transparent)}.alert.ok>.i{color:var(--green)}.alert.warn{background:var(--amber-soft);border-color:color-mix(in srgb, var(--amber) 25%, transparent)}.alert.warn>.i{color:var(--amber)}.alert.danger{background:var(--red-soft);border-color:color-mix(in srgb, var(--red) 25%, transparent)}.alert.danger>.i{color:var(--red)}.empty-state{text-align:center;flex-direction:column;align-items:center;gap:6px;padding:44px 20px;display:flex}.empty-state.sm{padding:26px 16px}.empty-state .glyph{color:var(--text-3);place-items:center;margin-bottom:4px;display:grid}.empty-state.err .glyph{color:var(--red)}.empty-state .es-h{font-size:var(--fs-md);font-weight:600}.empty-state p{color:var(--text-2);font-size:var(--fs-sm);max-width:340px}.empty-state .btn{margin-top:10px}.sk{background:linear-gradient(90deg, var(--surface-2) 25%, var(--surface-3) 50%, var(--surface-2) 75%);background-size:200% 100%;border-radius:5px;flex-shrink:0;animation:1.4s linear infinite shimmer;display:block}.spinner{border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;width:16px;height:16px;animation:.7s linear infinite spin;display:inline-block}.pop{background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow-pop);min-width:200px;max-height:min(420px, var(--radix-popper-available-height,420px));z-index:100;animation:popIn .14s var(--ease);font-size:var(--fs-sm);transform-origin:var(--radix-popper-transform-origin);padding:4px;overflow-y:auto}.pop:focus{outline:none}.mi{border-radius:var(--r-sm);width:100%;min-height:30px;color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:var(--fs-sm);outline:none;align-items:center;gap:8px;padding:0 8px;display:flex}.mi:hover,.mi[data-highlighted],.mi:focus-visible{background:var(--surface-2);outline:none}.mi[data-disabled],.mi:disabled{opacity:.45;pointer-events:none}.mi>.i{color:var(--text-2)}.mi.danger,.mi.danger>.i{color:var(--red)}.mi .r{color:var(--text-3);font-size:var(--fs-xs);gap:3px;margin-left:auto;padding-left:12px;display:inline-flex}.mi .ck{color:var(--accent);margin-left:auto;display:inline-flex}.mh{font-size:var(--fs-2xs);color:var(--text-3);letter-spacing:.04em;text-transform:uppercase;padding:6px 8px 4px;font-weight:600}.msep{background:var(--divider);height:1px;margin:4px -4px}.pin{padding:2px 2px 4px}.pin input{border:0;border-bottom:1px solid var(--divider);width:100%;height:28px;font-size:var(--fs-sm);background:0 0;outline:none;padding:0 6px}.tip{background:var(--text);color:var(--text-inv);font-size:var(--fs-xs);border-radius:var(--r-sm);z-index:200;animation:fadeIn .12s var(--ease);align-items:center;gap:6px;max-width:280px;padding:4px 8px;font-weight:500;line-height:1.35;display:flex}.tip kbd{color:inherit;border-color:color-mix(in srgb, var(--text-inv) 30%, transparent);opacity:.8;background:0 0}.toast{border-radius:var(--r-lg);background:var(--text);min-width:300px;max-width:420px;color:var(--text-inv);box-shadow:var(--shadow-pop);font-size:var(--fs-sm);font-family:var(--font);align-items:center;gap:10px;padding:10px 10px 10px 14px;display:flex}.toast .tone-ok{color:color-mix(in srgb, var(--st-done) 70%, var(--text-inv))}.toast .tone-bad{color:color-mix(in srgb, var(--red) 60%, var(--text-inv))}.toast-action{color:var(--text-inv);border-radius:var(--r-sm);background:color-mix(in srgb, var(--text-inv) 14%, transparent);padding:4px 8px;font-weight:600}.toast-action:hover{background:color-mix(in srgb, var(--text-inv) 22%, transparent)}.toast-x{color:inherit;opacity:.6}.toast-x:hover{background:color-mix(in srgb, var(--text-inv) 14%, transparent);color:inherit;opacity:1}.picker{text-align:left;background-image:none;align-items:center;gap:8px;width:auto;padding-right:32px;display:inline-flex;position:relative}.picker>span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.picker-chevron{pointer-events:none;place-items:center;display:grid;position:absolute;right:10px}.picker-menu{z-index:100;min-width:var(--radix-select-trigger-width);max-height:var(--radix-select-content-available-height)}.picker-item{cursor:pointer}.picker-item[data-disabled]{opacity:.5;pointer-events:none}.picker-scroll{height:24px;color:var(--text-2);justify-content:center;align-items:center;display:flex}@media (width<=640px){.picker,.picker-item,.frow .valbtn,.frow .ibtn,.fbuild .badge{min-height:44px}.fbuild .badge{padding:0 10px}.frow{flex-wrap:wrap}.frow .conj{width:auto}.frow .valbtn{flex:75%}.frow .ibtn{min-width:44px}}.date-input{text-align:left;cursor:pointer;align-items:center;gap:8px;display:flex}.date-input>span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}:is(.date-pop,.pop:has(>.date-options)){width:316px;max-width:calc(100vw - 24px)}.date-options .minical{min-width:0;padding:8px}.date-heading{align-items:center;gap:4px;margin-bottom:8px;display:flex}.date-heading b{font-size:var(--fs);flex:1;font-weight:600}.date-heading .ibtn{width:32px;height:32px}.date-week{display:contents}.date-options .g>.date-week>span{padding:6px 0}.date-options .g button{height:38px;font-size:var(--fs-sm)}.date-options .g button:disabled{opacity:.35;cursor:not-allowed}.date-options .g button:disabled:hover{background:0 0}.date-options .g button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.date-quick{border-top:1px solid var(--divider);flex-wrap:wrap;gap:4px;padding:8px;display:flex}.date-quick .btn{font-size:var(--fs-xs)}@media (width<=640px){:is(.date-pop,.pop:has(>.date-options)){width:356px}.date-options .g button,.date-heading .ibtn,.date-quick .btn{min-height:44px}.date-heading .ibtn{min-width:44px}}.picker-menu{max-width:calc(100vw - 16px)}.picker-item>span:first-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.shell{grid-template-columns:var(--side-w) minmax(0, 1fr);height:100%;display:grid}.shell.collapsed{grid-template-columns:52px minmax(0,1fr)}.side{background:var(--bg-side);border-right:1px solid var(--border);-webkit-user-select:none;user-select:none;flex-direction:column;min-height:0;display:flex;overflow:hidden}.side-top{padding:10px 8px 6px}.ws-btn{border-radius:var(--r-sm);flex:1;align-items:center;gap:8px;min-width:0;height:34px;padding:0 6px;display:flex}.ws-btn:hover,.ws-btn[data-state=open]{background:var(--surface-3)}.ws-name{font-weight:600;font-size:var(--fs)}.ws-logo{background:var(--c);color:#fff;border-radius:6px;flex-shrink:0;place-items:center;width:22px;height:22px;font-size:11px;font-weight:700;display:grid;box-shadow:inset 0 0 0 1px #ffffff14}.side-scroll{scrollbar-width:none;flex:1;padding:2px 8px 12px;overflow:hidden auto}.side-scroll::-webkit-scrollbar{display:none}.sitem{width:100%;height:var(--side-row);border-radius:var(--r-sm);color:var(--text-2);font-size:var(--fs);cursor:pointer;transition:background var(--dur), color var(--dur);align-items:center;gap:9px;padding:0 8px;font-weight:450;display:flex;position:relative}.sitem:hover{background:color-mix(in srgb, var(--surface-3) 70%, transparent);color:var(--text)}.sitem.on{background:var(--surface-3);color:var(--text);font-weight:500}.sitem>.i{color:var(--text-3)}.sitem.on>.i{color:var(--text)}.sitem .ct{font-size:var(--fs-2xs);color:var(--text-3);margin-left:auto;font-weight:500}.sitem .ct.dot{background:var(--accent);color:var(--on-accent);border-radius:9px;place-items:center;min-width:18px;height:18px;padding:0 5px;display:grid}.sitem.drop-before:before{content:"";background:var(--accent);border-radius:1px;height:2px;position:absolute;top:-1px;left:6px;right:6px}.sgroup{margin-top:14px}.sgroup-h{height:24px;font-size:var(--fs-2xs);color:var(--text-3);letter-spacing:.05em;text-transform:uppercase;align-items:center;padding:0 8px;font-weight:600;display:flex}.sgroup-h .ibtn{opacity:0;transition:opacity var(--dur)}.sgroup:hover .sgroup-h .ibtn,.sgroup-h .ibtn:focus-visible{opacity:1}.pico{background:color-mix(in srgb, var(--c) 16%, transparent);width:18px;height:18px;color:color-mix(in srgb, var(--c) var(--icon-mix), var(--text));border-radius:5px;flex-shrink:0;place-items:center;display:grid}.sproj .sitem .fav{color:var(--amber);display:inline-flex}.sdot{border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-left:auto}.sproj .hov{gap:1px;margin-left:auto;display:none}.sproj .sitem:hover .hov,.sproj .sitem:focus-within .hov{display:inline-flex}.sproj .sitem:has(.hov [data-state=open]) .hov{display:inline-flex}.sproj .sitem:hover .sdot,.sproj .sitem:focus-within .sdot{display:none}.sproj .sitem:has(.hov [data-state=open]) .sdot{display:none}.sproj .sitem:has(.hov [data-state=open]):not(.on){background:color-mix(in srgb, var(--surface-3) 70%, transparent);color:var(--text)}.chev{transition:transform .15s var(--ease)}.chev.open{transform:rotate(90deg)}.side-sub{padding-left:16px;display:none}.side-sub.open{display:block}.side-sub .sitem{height:28px;font-size:var(--fs-sm)}.side-bot{border-top:1px solid var(--border);flex-direction:column;gap:1px;padding:8px;display:flex}@media (width>=901px){.shell.collapsed .side .trunc,.shell.collapsed .side .ct,.shell.collapsed .side .sgroup-h,.shell.collapsed .side .ws-name,.shell.collapsed .side .chev-d,.shell.collapsed .side .sitem>span:not(.pico):not(.av),.shell.collapsed .side .sproj .hov,.shell.collapsed .side .sdot,.shell.collapsed .side .side-sub{display:none!important}.shell.collapsed .side .sitem{justify-content:center;padding:0}.shell.collapsed .side-scroll,.shell.collapsed .side-top,.shell.collapsed .side-bot{padding-left:6px;padding-right:6px}.shell.collapsed .side-top{flex-direction:column;gap:2px;display:flex}.shell.collapsed .ws-btn{justify-content:center}.shell.collapsed .side .sgroup{border-top:1px solid var(--border);margin-top:10px;padding-top:10px}}.main{background:var(--bg);flex-direction:column;min-width:0;min-height:0;display:flex}.topbar{height:var(--topbar-h);border-bottom:1px solid var(--border);background:var(--surface);z-index:5;flex-shrink:0;align-items:center;gap:6px;padding:0 12px 0 14px;display:flex;position:relative}.crumbs{font-size:var(--fs-sm);align-items:center;gap:2px;min-width:0;display:flex}.crumbs a,.crumbs span.cur{border-radius:var(--r-sm);height:26px;color:var(--text-2);white-space:nowrap;align-items:center;gap:6px;padding:0 6px;display:inline-flex}.crumbs a:hover{background:var(--surface-2);color:var(--text)}.crumbs .cur{color:var(--text);font-weight:500}.crumbs .sep{color:var(--text-4);padding:0 1px}.topsearch{border-radius:var(--r-sm);border:1px solid var(--border);background:var(--surface-2);width:220px;height:28px;color:var(--text-3);font-size:var(--fs-sm);align-items:center;gap:8px;margin-right:4px;padding:0 6px 0 9px;display:flex}.topsearch:hover{border-color:var(--border-strong);color:var(--text-2)}.topsearch .kbd{margin-left:auto}.bell-dot{background:var(--accent);width:7px;height:7px;box-shadow:0 0 0 2px var(--surface);border-radius:50%;position:absolute;top:5px;right:6px}.content{scrollbar-gutter:stable;flex:1;min-height:0;position:relative;overflow:auto}.content:has(>.set){scrollbar-gutter:auto}.content:focus{outline:none}.content.enter>*{animation:routeIn .22s var(--ease)}.offline-bar{background:var(--amber-soft);border-bottom:1px solid color-mix(in srgb, var(--amber) 25%, transparent);font-size:var(--fs-sm);color:var(--text);align-items:center;gap:10px;padding:8px 16px;display:flex}.offline-bar>.i{color:var(--amber)}.bottomnav,.side-scrim{display:none}.mnav-btn{display:none!important}@media (width<=900px){.shell,.shell.collapsed{grid-template-columns:minmax(0,1fr)}.side{z-index:70;width:280px;transition:transform .22s var(--ease);box-shadow:var(--shadow-pop);position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.shell.mnav .side{transform:none}.side-scrim{background:var(--overlay);z-index:69;animation:.2s fadeIn;display:block;position:fixed;inset:0}.mnav-btn{display:inline-flex!important}.topsearch{width:auto}.topsearch .lbltxt,.topsearch .kbd{display:none}.hide-m{display:none!important}}@media (width<=640px){.bottomnav{z-index:40;background:var(--surface);border-top:1px solid var(--border);padding:4px 4px calc(4px + env(safe-area-inset-bottom,0px));display:flex;position:fixed;bottom:0;left:0;right:0}.bottomnav>button,.bottomnav>a{color:var(--text-3);border-radius:var(--r);flex-direction:column;flex:1;align-items:center;gap:2px;padding:6px 0;font-size:11px;display:flex;position:relative}.bottomnav>.on{color:var(--text)}.bottomnav .bdot{background:var(--accent);border-radius:50%;width:7px;height:7px;position:absolute;top:4px;left:calc(50% + 6px)}.content{padding-bottom:64px}.topbar .crumbs>:not(:last-child){display:none}}.only-m{display:none}@media (width<=640px){.only-m{display:block}}.side-search{border-radius:var(--r-sm);border:1px solid var(--border);background:var(--surface);width:100%;height:30px;color:var(--text-3);font-size:var(--fs-sm);text-align:left;transition:border-color var(--dur), color var(--dur), transform var(--dur);align-items:center;gap:8px;margin-bottom:8px;padding:0 6px 0 9px;display:flex}.side-search:hover{border-color:var(--border-strong);color:var(--text-2)}.side-search:active{transform:scale(.99)}.side-search kbd{font-size:11px}.dock{border-radius:var(--r);background:color-mix(in srgb, var(--surface-3) 55%, transparent);grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;padding:3px;display:grid}.dock-t{border-radius:var(--r-sm);min-width:0;height:50px;color:var(--text-2);transition:background var(--dur), color var(--dur), transform var(--dur);flex-direction:column;justify-content:center;align-items:center;gap:3px;text-decoration:none;display:flex}.dock-t:hover{background:var(--surface);color:var(--text)}.dock-t:active{transform:scale(.96)}.dock-t.on{background:var(--surface);color:var(--text);box-shadow:0 1px 2px #00000012, 0 0 0 1px var(--border)}.dock-t.on .dock-i>.i{color:var(--accent)}.dock-i{place-items:center;display:grid;position:relative}.dock-i>.i{color:var(--text-3);transition:color var(--dur)}.dock-t:hover .dock-i>.i{color:var(--text-2)}.dock-b{background:var(--accent);min-width:17px;height:17px;color:var(--on-accent);box-shadow:0 0 0 2px var(--bg-side);border-radius:9px;place-items:center;padding:0 4px;font-size:11px;font-weight:650;display:grid;position:absolute;top:-6px;left:calc(100% - 6px)}.dock-l{white-space:nowrap;text-overflow:ellipsis;max-width:100%;padding:0 2px;font-size:11px;font-weight:500;line-height:1.2;overflow:hidden}.lens-row{cursor:default;gap:0;padding:0}.lens-main{border-radius:var(--r-sm);min-width:0;height:100%;color:inherit;flex:1;align-items:center;gap:9px;padding:0 8px;text-decoration:none;display:flex}.lens-main>.i{color:var(--text-3)}.lens-row.on .lens-main>.i{color:var(--text)}.lens-main .ct{margin-left:auto}.lens-chips{flex-shrink:0;gap:1px;padding-right:3px;display:inline-flex}.lens{width:22px;height:22px;color:var(--text-4);transition:background var(--dur), color var(--dur), transform var(--dur);border-radius:5px;place-items:center;display:grid;position:relative}.lens:hover{color:var(--text);background:color-mix(in srgb, var(--surface) 80%, transparent)}.lens:active{transform:scale(.92)}.lens-row:hover .lens,.lens-row.on .lens{color:var(--text-3)}.lens-row .lens.on{color:var(--accent);background:var(--surface);box-shadow:0 0 0 1px var(--border)}.lens-dot{background:var(--amber);width:6px;height:6px;box-shadow:0 0 0 1.5px var(--bg-side);border-radius:50%;position:absolute;top:2px;right:2px}.lens-main .ct.dot{margin-right:4px}.sgroup-h .sgroup-t{border-radius:var(--r-xs);height:22px;font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;align-items:center;gap:4px;margin-left:-4px;padding:0 4px;display:inline-flex}.sgroup-t:hover{color:var(--text-2);background:color-mix(in srgb, var(--surface-3) 70%, transparent)}.sgroup-t .chev{opacity:0;transition:opacity var(--dur), transform .15s var(--ease)}.sgroup-t:hover .chev,.sgroup-t:focus-visible .chev,.sgroup-t[aria-expanded=false] .chev{opacity:1}.sfold.shut{display:none}.lens-tabs{margin-bottom:10px}.lens-tabs>a{border-radius:var(--r-xs);height:22px;font-size:var(--fs-xs);color:var(--text-2);transition:background var(--dur), color var(--dur);align-items:center;gap:5px;padding:0 8px;font-weight:500;text-decoration:none;display:inline-flex}.lens-tabs>a:hover{color:var(--text)}.lens-tabs>a.on{background:var(--surface);color:var(--text);box-shadow:0 1px 2px #00000014, 0 0 0 1px var(--border)}@media (width>=901px){.shell.collapsed .side .dock{background:0 0;grid-template-columns:minmax(0,1fr);padding:2px}.shell.collapsed .side .dock-t{height:var(--side-row)}.shell.collapsed .side .dock-l,.shell.collapsed .side .lens-chips{display:none!important}.shell.collapsed .side .dock-b{top:-5px;left:calc(100% - 7px)}.shell.collapsed .side .lens-main{justify-content:center;padding:0}.shell.collapsed .side .lens-row{justify-content:center}}.page{width:100%;max-width:1160px;margin:0 auto;padding:28px 32px 72px}.page.wide{max-width:1280px}.page.narrow{max-width:820px}.page.flush{flex-direction:column;max-width:none;min-height:100%;padding:0;display:flex}.page.workspace-page{height:100%;min-height:0;overflow:hidden}.workspace-page>.ph,.workspace-page>.proj-h{flex-shrink:0}.workspace-page>.empty-state,.workspace-page .pbody>.empty-state{flex:1;justify-content:center;min-height:0;overflow:auto}.content:has(>.workspace-page){scrollbar-gutter:auto;overflow:hidden}.workspace-page .pbody>.col{min-height:0}.ph{flex-wrap:wrap;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.ph>div:first-child{flex:1;min-width:220px}.ph h1{font-size:var(--fs-2xl);letter-spacing:-.02em;font-weight:600;line-height:1.25}.ph p{color:var(--text-2);font-size:var(--fs);margin-top:3px}.ph .acts{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ph.pad{margin:0;padding:24px 20px 12px}h2.sec{font-size:var(--fs-md);font-weight:600}.panel{background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow-card);min-width:0}.panel-h{border-bottom:1px solid var(--divider);align-items:center;gap:8px;min-height:48px;padding:8px 14px;display:flex}.panel-h h2{font-size:var(--fs-md);font-weight:600}.panel-h .acts{align-items:center;gap:4px;margin-left:auto;display:flex}.panel-b{padding:12px 14px}.stats{background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow-card);grid-template-columns:repeat(4,minmax(0,1fr));display:grid;overflow:hidden}.stat{border-right:1px solid var(--divider);text-align:left;flex-direction:column;gap:4px;min-width:0;padding:14px 16px;display:flex}.stat:last-child{border-right:0}button.stat:hover{background:var(--surface-2)}.stat .k{font-size:var(--fs-sm);color:var(--text-2);align-items:center;gap:6px;display:flex}.stat .v{letter-spacing:-.025em;font-variant-numeric:tabular-nums;font-size:24px;font-weight:600;line-height:1.2}.stat .d{font-size:var(--fs-xs);color:var(--text-3)}.stat .d.up{color:var(--green)}.stat .d.bad{color:var(--red)}.grid2{grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}.stack{flex-direction:column;gap:16px;min-width:0;display:flex}@media (width<=1100px){.grid2{grid-template-columns:minmax(0,1fr)}}@media (width<=900px){.page{padding:20px 16px 96px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stat:nth-child(2){border-right:0}.stat:nth-child(-n+2){border-bottom:1px solid var(--divider)}.ph.pad{padding:20px 16px 10px}}.mini{border-top:1px solid var(--divider);cursor:pointer;min-height:38px;font-size:var(--fs);transition:background var(--dur);align-items:center;gap:10px;min-width:0;padding:4px 14px;display:flex}.panel>.mini:first-of-type,.panel-h+.mini{border-top:0}.mini:hover{background:var(--surface-2)}.mini .tt{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.mini.done .tt{color:var(--text-3);text-decoration:line-through;-webkit-text-decoration-color:var(--text-4);text-decoration-color:var(--text-4)}.mini .pj{font-size:var(--fs-xs);color:var(--text-2);align-items:center;gap:6px;max-width:150px;display:inline-flex}.mini.static{cursor:default}.mini.static:hover{background:0 0}.due{font-size:var(--fs-xs);color:var(--text-2);white-space:nowrap;font-variant-numeric:tabular-nums;align-items:center;gap:4px;display:inline-flex}.due.over{color:var(--red)}.due.soon{color:var(--amber)}.feed{flex-direction:column;display:flex}.fitem{font-size:var(--fs-sm);align-items:flex-start;gap:10px;padding:8px 0;line-height:1.5;display:flex}.feed.lined .fitem{border-top:1px solid var(--divider)}.feed.lined .fitem:first-child{border-top:0}.fitem b{font-weight:600}.fitem .obj{color:var(--text);cursor:pointer;font-weight:500}.fitem .obj:hover{text-decoration:underline}.fitem time{color:var(--text-3);font-size:var(--fs-xs);white-space:nowrap;margin-left:auto;padding-left:8px}.day-h{font-size:var(--fs-xs);color:var(--text-3);margin:22px 0 8px;font-weight:600}.day-h:first-child{margin-top:4px}.dtable{border-collapse:collapse;width:100%;font-size:var(--fs-sm)}.dtable th{font-size:var(--fs-xs);color:var(--text-3);text-align:center;border-bottom:1px solid var(--divider);white-space:nowrap;padding:10px 8px;font-weight:500}.dtable td{border-bottom:1px solid var(--divider);text-align:center;padding:9px 8px}.dtable tr:last-child td{border-bottom:0}.dtable tbody tr.rowlink{cursor:pointer}.dtable tbody tr.rowlink:hover td{background:var(--surface-2)}.dtable .l{text-align:left}.dtable .r{text-align:right}.dtable td:first-child,.dtable th:first-child{padding-left:14px}.dtable td:last-child,.dtable th:last-child{padding-right:14px}.dl{grid-template-columns:112px minmax(0,1fr);align-items:center;row-gap:2px;margin:0;display:grid}.dl dt{color:var(--text-2);font-size:var(--fs-sm);align-items:center;gap:8px;height:32px;display:flex}.dl dd{align-items:center;min-width:0;min-height:32px;margin:0;display:flex}.pgrid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:12px;display:grid}.pcard{background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow-card);cursor:pointer;transition:box-shadow var(--dur), transform var(--dur);text-align:left;flex-direction:column;gap:12px;min-width:0;padding:14px;display:flex;position:relative}.pcard:hover{box-shadow:0 4px 14px -6px #0000001f, 0 0 0 1px var(--border-strong)}.pcard .desc{color:var(--text-2);font-size:var(--fs-sm);-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:38px;line-height:1.5;display:-webkit-box;overflow:hidden}.pcard .foot{font-size:var(--fs-xs);color:var(--text-3);align-items:center;gap:12px;display:flex}.pcard .card-menu{opacity:0;position:absolute;top:10px;right:10px}.pcard:hover .card-menu,.pcard:focus-within .card-menu{opacity:1}.pcard .card-menu:has([data-state=open]){opacity:1}.pcard:hover .pstatus-slot,.pcard:focus-within .pstatus-slot{visibility:hidden}.pcard:has(.card-menu [data-state=open]) .pstatus-slot{visibility:hidden}.picon{background:color-mix(in srgb, var(--c) 14%, var(--surface));width:30px;height:30px;color:color-mix(in srgb, var(--c) var(--icon-mix), var(--text));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--c) 20%, transparent);border-radius:8px;flex-shrink:0;place-items:center;display:grid}.picon.sm{border-radius:6px;width:22px;height:22px}.picon.lg{border-radius:9px;width:36px;height:36px}.ftype{background:color-mix(in srgb, var(--c) 13%, var(--surface));width:28px;height:28px;color:color-mix(in srgb, var(--c) var(--icon-mix), var(--text));border-radius:7px;flex-shrink:0;place-items:center;display:grid}.fullstate{place-items:center;min-height:100%;padding:40px 20px;display:grid}.fullstate .box{text-align:center;flex-direction:column;align-items:center;gap:10px;max-width:440px;display:flex}.fullstate h1{font-size:var(--fs-2xl);letter-spacing:-.02em;font-weight:600}.fullstate p{color:var(--text-2);line-height:1.55}.fullstate .row{margin-top:8px}.inbox-grid{flex:1;grid-template-columns:minmax(0,400px) minmax(0,1fr);height:100%;min-height:0;display:grid}.inbox-list{border-right:1px solid var(--border);flex-direction:column;min-width:0;min-height:0;display:flex}.inbox-list>.row,.inbox-list>.tabs{flex-shrink:0}.inbox-items{overscroll-behavior:contain;flex:1;min-height:0;overflow-y:auto}.inbox-item .row{overflow-wrap:anywhere;flex-wrap:wrap}.inbox-prev .fullstate{flex:1;min-height:0}.inbox-prev{scrollbar-gutter:stable;flex-direction:column;min-height:0;display:flex;overflow-y:auto}.inbox-item{border-bottom:1px solid var(--divider);cursor:pointer;align-items:flex-start;gap:10px;padding:12px 16px;display:flex;position:relative}.inbox-item:hover,.inbox-item.on{background:var(--surface-2)}.inbox-item .ibtn{opacity:0}.inbox-item:hover .ibtn,.inbox-item .ibtn:focus-visible{opacity:1}.unread-dot{background:var(--accent);border-radius:50%;width:6px;height:6px;position:absolute;top:22px;left:6px}@media (width<=900px){.inbox-grid{grid-template-columns:minmax(0,1fr)}.inbox-prev{display:none}.inbox-grid.has-sel .inbox-prev{z-index:48;background:var(--surface);display:flex;position:fixed;inset:0}}.notif-row{border-top:1px solid var(--divider);cursor:pointer;align-items:flex-start;gap:12px;padding:11px 14px;display:flex}.notif-row:first-child{border-top:0}.notif-row:hover{background:var(--surface-2)}.notif-row.unread{background:color-mix(in srgb, var(--accent) 3.5%, transparent)}.proj-h{border-bottom:1px solid var(--border);background:var(--bg);padding:18px 20px 0}.proj-h .t{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px;display:flex}.proj-h h1{overflow-wrap:anywhere;letter-spacing:-.02em;min-width:0;max-width:100%;font-size:20px;font-weight:600}.proj-h .tabs{border-bottom:0;margin:0 -4px;padding-bottom:0}.proj-h .tab{height:36px}.proj-h .tab.on:after{bottom:-1px}.pbody.enter>*{animation:routeIn .2s var(--ease)}.view-tools{border-bottom:1px solid var(--border);flex-shrink:0}.toolbar{flex-wrap:wrap;align-items:center;gap:12px 16px;padding:12px 20px;display:flex}.toolbar-search,.toolbar-arrange,.toolbar-actions{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.toolbar-search .inwrap{min-width:0}.toolbar-search .search-sm{width:240px}.toolbar-search .input::placeholder{color:var(--text-3)}.toolbar-arrange{border-left:1px solid var(--border);padding-left:16px}.toolbar-actions{margin-left:auto}.toolbar-extra{gap:8px;padding-top:0}.toolbar .btn-ghost{height:30px;font-size:var(--fs-sm);padding:0 8px}.toolbar .btn-ghost.on{background:var(--accent-soft);color:var(--accent)}.chipsbar{font-size:var(--fs-xs);color:var(--text-3);flex-wrap:wrap;align-items:center;gap:6px;padding:0 20px 12px;display:flex}@media (width<=640px){.toolbar,.chipsbar{padding-left:16px;padding-right:16px}.toolbar{gap:8px}.toolbar-search{flex-wrap:nowrap;flex:100%}.toolbar-search .inwrap{flex:1}.toolbar-search .search-sm{width:100%;height:44px;font-size:16px}.toolbar-arrange{border-left:0;gap:4px;padding-left:0}.toolbar .btn,.toolbar .ibtn,.toolbar .seg>button,.toolbar .picker{min-height:44px}.toolbar .ibtn,.toolbar .seg>button{min-width:44px}.chipsbar .chip{max-width:100%;height:auto;min-height:44px}.chipsbar .chip>button,.chipsbar .btn{min-height:44px}.chipsbar .chip>.row{flex-wrap:wrap;min-width:0}.chipsbar .chip>.row>span{overflow-wrap:anywhere}}.fbuild{width:min(560px,100vw - 24px);padding:10px}.frow{align-items:center;gap:6px;margin-bottom:6px;display:flex}.frow .conj{width:44px;font-size:var(--fs-xs);color:var(--text-3);text-align:right;flex-shrink:0}.frow .select{height:28px;font-size:var(--fs-sm);width:auto}.valbtn{border:1px solid var(--border-strong);border-radius:var(--r-sm);min-width:0;height:28px;font-size:var(--fs-sm);background:var(--surface);flex:1;align-items:center;gap:6px;padding:0 8px;display:flex}.valbtn:hover{background:var(--surface-2)}.tlist{font-size:var(--fs);min-width:0}.list-scroll{overscroll-behavior:contain;flex:1;min-height:0;padding:0 20px 24px;overflow:auto}@media (width<=640px){.list-scroll{padding:0 8px 24px}}.thead,.trow{grid-template-columns:var(--cols);align-items:center;gap:0 8px;display:grid}.thead{height:32px;font-size:var(--fs-xs);color:var(--text-3);border-bottom:1px solid var(--border);background:var(--bg);z-index:2;font-weight:500;position:sticky;top:0}.thead>button{height:24px;color:inherit;align-items:center;gap:4px;display:inline-flex}.thead>button:hover{color:var(--text)}.trow{min-height:var(--row-h);border-bottom:1px solid var(--divider);transition:background var(--dur);position:relative}.trow:hover{background:var(--surface-2)}.trow.sel{background:var(--accent-soft)}.trow.added{animation:addFlash 1.2s var(--ease)}.trow.drop-before:before,.trow.drop-after:after{content:"";background:var(--accent);z-index:3;border-radius:1px;height:2px;position:absolute;left:0;right:0}.trow.drop-before:before{top:-1px}.trow.drop-after:after{bottom:-1px}.trow.dragging{opacity:.4}.trow .handle{width:18px;color:var(--text-4);cursor:grab;opacity:0;touch-action:none;place-items:center;display:grid}.trow:hover .handle{opacity:1}.trow .ttl{cursor:pointer;align-items:center;gap:8px;min-width:0;height:100%;display:flex}.trow .key{font-family:var(--mono);color:var(--text-3);flex-shrink:0;font-size:11px}.trow .tt{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.trow.done .tt{color:var(--text-3);text-decoration:line-through;-webkit-text-decoration-color:var(--text-4);text-decoration-color:var(--text-4)}.meta-mini{font-size:var(--fs-2xs);color:var(--text-3);flex-shrink:0;align-items:center;gap:3px;display:inline-flex}.trow .c-more{opacity:0}.trow:hover .c-more,.trow:focus-within .c-more,.c-more [data-state=open]{opacity:1}.inline-in{width:100%;height:28px;font-size:var(--fs);box-shadow:inset 0 0 0 1px var(--accent);background:0 0;border:0;border-radius:4px;outline:none;padding:0 4px}.grp{height:38px;font-size:var(--fs-sm);border-bottom:1px solid var(--divider);align-items:center;gap:8px;margin-top:6px;padding-left:18px;font-weight:600;display:flex}.grp .cnt{color:var(--text-3);font-weight:500}.grp .ibtn:last-child{opacity:0}.grp:hover .ibtn:last-child,.grp .ibtn:last-child:focus-visible{opacity:1}.grp.drop-target{background:var(--accent-soft)}.addrow{width:100%;height:36px;color:var(--text-3);font-size:var(--fs-sm);border-bottom:1px solid var(--divider);align-items:center;gap:8px;padding-left:48px;display:flex}.addrow:hover{color:var(--text);background:var(--surface-2)}.addrow.editing{background:var(--surface-2)}.subrows{border-bottom:1px solid var(--divider);padding:4px 0 6px 74px}.subrow{height:28px;font-size:var(--fs-sm);color:var(--text-2);align-items:center;gap:8px;display:flex}.subrow.done span{color:var(--text-3);text-decoration:line-through}.bulkbar{z-index:45;border-radius:var(--r-xl);background:var(--surface);box-shadow:var(--shadow-pop);font-size:var(--fs-sm);animation:modalIn .18s var(--ease);align-items:center;gap:6px;padding:6px 6px 6px 14px;display:flex;position:fixed;bottom:24px;left:50%;translate:-50%}.bulkbar .sep{background:var(--border);width:1px;height:20px;margin:0 4px}@media (width<=640px){.bulkbar{max-width:calc(100vw - 16px);bottom:76px;overflow-x:auto}}.tbl-wrap{overscroll-behavior:contain;flex:1;min-height:0;padding:0 0 24px;overflow:auto}.tbl{border-collapse:separate;border-spacing:0;table-layout:fixed;font-size:var(--fs-sm)}.tbl th{z-index:2;background:var(--bg);text-align:left;height:34px;color:var(--text-3);font-weight:500;font-size:var(--fs-xs);border-bottom:1px solid var(--border);border-right:1px solid var(--divider);padding:0;position:sticky;top:0}.tbl th .thi{cursor:pointer;align-items:center;gap:4px;width:100%;height:100%;padding:0 10px;display:flex}.tbl th .thi:hover{color:var(--text)}.tbl td{height:var(--row-h);border-bottom:1px solid var(--divider);border-right:1px solid var(--divider);white-space:nowrap;text-overflow:ellipsis;background:var(--bg);padding:0 10px;overflow:hidden}.tbl tr:hover td{background:var(--surface-2)}.tbl .sticky{z-index:1;position:sticky;left:0}.tbl th.sticky{z-index:3}.tbl td.cellbtn{cursor:pointer}.tbl td.editing{box-shadow:inset 0 0 0 1.5px var(--accent);padding:0 4px}.tbl td.editing input{width:100%;height:100%;font-size:var(--fs-sm);background:0 0;border:0;outline:none}.tbl .grp-row td{background:var(--surface-2);height:34px;font-weight:600}.tbl .newrow td{color:var(--text-3);cursor:pointer}.tbl .newrow:hover td{color:var(--text)}.rsz{cursor:col-resize;z-index:4;touch-action:none;width:6px;position:absolute;top:0;bottom:0;right:-3px}.rsz:hover,.rsz.on{background:var(--accent-line)}.tbl th{position:sticky}.tcards{display:none}.task-card-title{overflow-wrap:anywhere}@media (width<=640px){.tbl-wrap{display:none}.tcards{flex-direction:column;flex:1;gap:8px;min-height:0;padding:12px 16px 24px;display:flex;overflow:auto}}.board{flex:1;align-items:flex-start;gap:12px;min-height:0;padding:4px 20px 24px;display:flex;overflow-x:auto}@media (width<=640px){.board{padding:4px 16px 90px}}.bcol{border-radius:var(--r-lg);background:var(--sunken);border:1px solid var(--divider);min-width:0;max-width:320px;max-height:100%;transition:border-color var(--dur), background var(--dur);flex-direction:column;flex:1 0 220px;display:flex}.bcol.over{border-color:var(--accent-line);background:color-mix(in srgb, var(--accent) 4%, var(--sunken))}.bcol-h{height:42px;font-size:var(--fs-sm);align-items:center;gap:8px;padding:0 8px 0 12px;font-weight:600;display:flex}.bcol-h .cnt{color:var(--text-3);font-weight:500}.bcol-h .acts{gap:1px;margin-left:auto;display:flex}.bcol-b{flex-direction:column;gap:6px;min-height:60px;padding:0 8px 8px;display:flex;overflow-y:auto}.bcol.collapsed{cursor:pointer;flex:0 0 44px;align-items:center;gap:10px;padding:12px 0}.bcol.collapsed .vname{writing-mode:vertical-rl;font-size:var(--fs-sm);gap:8px;font-weight:600;display:flex}.kcard{background:var(--surface);border-radius:var(--r);box-shadow:var(--shadow-card);padding:var(--card-pad) calc(var(--card-pad) + 2px);cursor:pointer;transition:box-shadow var(--dur), opacity var(--dur);touch-action:manipulation;text-align:left;flex-direction:column;gap:8px;display:flex;position:relative}.kcard:hover{box-shadow:0 2px 8px -3px #0000001f, 0 0 0 1px var(--border-strong)}.kcard.dragging{opacity:.35}.kcard.moved{animation:land .8s var(--ease)}.kcard.overlay{box-shadow:var(--shadow-drag);cursor:grabbing;transform:rotate(1.5deg)}.kcard .labels{flex-wrap:wrap;gap:4px;display:flex}.kcard .top{align-items:flex-start;gap:6px;display:flex}.kcard .title{font-size:var(--fs);word-break:break-word;font-weight:500;line-height:1.4}.kcard.done .title{color:var(--text-3);text-decoration:line-through}.kcard .subp{font-size:var(--fs-2xs);color:var(--text-3);align-items:center;gap:6px;display:flex}.kcard .meta{font-size:var(--fs-xs);color:var(--text-3);flex-wrap:wrap;align-items:center;gap:4px 8px;min-width:0;display:flex}.kcard .meta .key{font-family:var(--mono);white-space:nowrap;font-size:11px}.kcard .meta .m{border-radius:4px;align-items:center;gap:3px;display:inline-flex}.kcard .meta button.m:hover{background:var(--surface-2)}.kcard .hacts{background:var(--surface);border-radius:var(--r-sm);box-shadow:0 0 0 1px var(--border);gap:1px;padding:1px;display:none;position:absolute;top:6px;right:6px}.kcard:hover .hacts,.kcard:focus-within .hacts{display:flex}.kcard .hacts:has([data-state=open]){display:flex}.drop-line{background:var(--accent);border-radius:1px;flex-shrink:0;height:2px;margin:-4px 2px}.addcard{border-radius:var(--r-sm);height:32px;color:var(--text-3);font-size:var(--fs-sm);align-items:center;gap:6px;padding:0 6px;display:flex}.addcard:hover{background:var(--surface-3);color:var(--text)}.composer{background:var(--surface);border-radius:var(--r);box-shadow:var(--shadow-card), 0 0 0 1.5px var(--accent-line);flex-direction:column;gap:8px;padding:8px;display:flex}.composer textarea{resize:none;font-size:var(--fs);background:0 0;border:0;outline:none;width:100%}.board-hidden-note{font-size:var(--fs-xs);color:var(--text-3);padding:4px 6px}.cal{flex-direction:column;flex:1;min-height:0;display:flex}.cal-toolbar{flex-shrink:0;gap:8px}.cal-canvas{overscroll-behavior:contain;flex-direction:column;flex:1;min-height:0;display:flex;overflow:auto}.cal-canvas.is-week{display:block}.cal-canvas .cal-h{z-index:2;background:var(--bg);flex-shrink:0;position:sticky;top:0}.cal-canvas .cal-g{flex-shrink:0}.cal-toolbar h2{overflow-wrap:anywhere}.cal-toolbar .hide-m{flex-wrap:wrap;min-width:0;max-width:45%}.cal-legend-item{min-width:0;max-width:180px}.cal-legend-item .trunc{min-width:0}.cal-h{border-top:1px solid var(--border);border-bottom:1px solid var(--border);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.cal-h>div{font-size:var(--fs-xs);color:var(--text-3);padding:8px 10px;font-weight:500}.cal-g{flex:1;grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.cday{border-right:1px solid var(--divider);border-bottom:1px solid var(--divider);flex-direction:column;gap:3px;min-width:0;min-height:112px;padding:6px;display:flex;position:relative}.cday:nth-child(7n){border-right:0}.cday.out{background:var(--sunken)}.cday.out .dn{color:var(--text-4)}.cday.over{background:var(--accent-soft)}.cday .dn{font-size:var(--fs-xs);width:22px;height:22px;color:var(--text-2);border-radius:50%;place-items:center;font-weight:500;display:grid}.cday.today .dn{background:var(--accent);color:var(--on-accent);font-weight:600}.cday .add{opacity:0;position:absolute;top:5px;right:5px}.cday:hover .add,.cday .add:focus-visible{opacity:1}.cev{border-radius:var(--r-sm);text-align:left;background:color-mix(in srgb, var(--c) 11%, var(--surface));width:100%;min-width:0;height:22px;color:var(--text);cursor:pointer;align-items:center;gap:6px;padding:0 8px 0 16px;font-size:12px;display:flex;position:relative}.cev:before{content:"";border-radius:var(--r-full);background:var(--c);pointer-events:none;width:2.5px;height:58%;position:absolute;top:50%;left:8px;transform:translateY(-50%)}.cev:hover{background:color-mix(in srgb, var(--c) 18%, var(--surface))}.cev .trunc{color:var(--text);font-weight:500}.cev.done .trunc{color:var(--text-3);font-weight:400;text-decoration:line-through}.cev.event{background:0 0}.cev .num{white-space:nowrap;flex-shrink:0}.cev.event:before{opacity:.5}.cev.event .trunc{font-weight:400}.cmore{font-size:var(--fs-2xs);color:var(--text-2);text-align:left;border-radius:4px;padding:1px 6px}.cmore:hover{background:var(--surface-2)}.week{border-top:1px solid var(--border);grid-template-columns:repeat(7,minmax(150px,1fr));min-height:100%;display:grid}.wcol{border-right:1px solid var(--divider);flex-direction:column;min-height:520px;display:flex}.wcol:last-child{border-right:0}.wcol-h{z-index:1;background:var(--bg);border-bottom:1px solid var(--divider);align-items:center;gap:6px;padding:10px;display:flex;position:sticky;top:0}.wcol-h .n{border-radius:50%;place-items:center;width:28px;height:28px;font-size:17px;font-weight:600;display:grid}.wcol-h.today .n{background:var(--accent);color:var(--on-accent)}.wcol-b{flex-direction:column;flex:1;gap:6px;padding:8px;display:flex}.wcol-b.over{background:var(--accent-soft)}.wcard{border-radius:var(--r);background:color-mix(in srgb, var(--c) 11%, var(--surface));text-align:left;font-size:var(--fs-sm);min-width:0;transition:background var(--dur), transform var(--dur);flex-direction:column;gap:6px;padding:10px 10px 10px 18px;display:flex;position:relative}.wcard:before{content:"";border-radius:var(--r-full);background:var(--c);pointer-events:none;width:2.5px;position:absolute;top:10px;bottom:10px;left:8px}.wcard:hover{background:color-mix(in srgb, var(--c) 18%, var(--surface))}.wcard:active{transform:scale(.98)}.wcard .t{overflow-wrap:anywhere;font-weight:500;line-height:1.4}.wcard .m{font-size:var(--fs-2xs);color:var(--text-3);align-items:center;gap:5px;display:flex}.minical{width:100%;min-width:252px;padding:6px 6px 2px}.minical .g{text-align:center;grid-template-columns:repeat(7,1fr);gap:2px;font-size:11px;display:grid}.minical .g button{font-variant-numeric:tabular-nums;border-radius:6px;height:30px;font-size:12px}.minical .g button:hover{background:var(--surface-2)}.minical .g button.out{color:var(--text-3)}.minical .g button.today{color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent-line);font-weight:600}.minical .g button.on{background:var(--accent);color:var(--on-accent);font-weight:600}.tl{border-top:1px solid var(--border);flex:1;grid-template-columns:300px minmax(0,1fr);min-height:0;display:grid;position:relative;overflow:hidden}@media (width<=640px){.tl{grid-template-columns:150px minmax(0,1fr)}}.tl-left{border-right:1px solid var(--border);background:var(--bg);z-index:2;flex-direction:column;min-height:0;display:flex}.tl-head{border-bottom:1px solid var(--border);height:52px;font-size:var(--fs-xs);color:var(--text-3);background:var(--bg);flex-shrink:0;align-items:flex-end;padding:0 12px 8px;display:flex}.tl-rows{overscroll-behavior:contain;scrollbar-width:none;flex:1;min-height:0;overflow:hidden auto}.tl-row{height:36px;font-size:var(--fs-sm);cursor:pointer;align-items:center;gap:8px;padding:0 12px;display:flex}.tl-row:hover{background:var(--surface-2)}.tl-row.g{cursor:default;background:var(--sunken);font-weight:600}.tl-right{overscroll-behavior:contain;min-height:0;position:relative;overflow:auto}.tl-right .tl-head{z-index:3;flex-direction:column;align-items:stretch;padding:0;position:sticky;top:0}.tl-months{height:26px;display:flex}.tl-months>div{font-size:var(--fs-xs);color:var(--text-2);border-left:1px solid var(--divider);white-space:nowrap;flex-shrink:0;padding:6px 8px;font-weight:600}.tl-months>div>span{text-overflow:ellipsis;width:max-content;max-width:100%;display:block;position:sticky;left:8px;overflow:hidden}.tl-days{height:26px;display:flex}.tl-days>div{text-align:center;color:var(--text-3);font-variant-numeric:tabular-nums;flex-shrink:0;padding-top:6px;font-size:11px}.tl-days>div.today{color:var(--accent);font-weight:700}.tl-grid{min-height:calc(100% - 52px);position:relative;overflow:clip}.tl-rowbg{border-bottom:1px solid var(--divider);height:36px;position:absolute;left:0;right:0}.tl-rowbg.g{background:color-mix(in srgb, var(--sunken) 70%, transparent)}.tl-we{background:color-mix(in srgb, var(--surface-3) 45%, transparent);position:absolute;top:0;bottom:0}.tl-gl{background:var(--divider);width:1px;position:absolute;top:0;bottom:0}.tl-today{background:var(--accent);z-index:2;border-radius:1px;width:2px;position:absolute;top:0;bottom:0}.bar{background:color-mix(in srgb, var(--c) 22%, var(--surface));height:22px;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--c) 45%, transparent);cursor:grab;z-index:1;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:6px;align-items:center;gap:6px;padding:0 6px;font-size:12px;font-weight:500;display:flex;position:absolute;overflow:hidden}.bar .pf{background:color-mix(in srgb, var(--c) 30%, transparent);pointer-events:none;position:absolute;top:0;bottom:0;left:0}.bar>:not(.pf){position:relative}.bar.done{opacity:.6}.bar.dragging{cursor:grabbing;box-shadow:var(--shadow-drag);z-index:5}.bar .av{--sz:18px;letter-spacing:0}.bar .av .av-2{display:none}.bar-lbl,.ms-l{text-overflow:ellipsis;overflow:hidden}.bar-lbl{color:var(--text-2);white-space:nowrap;pointer-events:none;font-size:12px;position:absolute}.ms{background:var(--text-2);z-index:2;border-radius:2px;width:12px;height:12px;position:absolute;transform:rotate(45deg)}.ms-l{white-space:nowrap;font-size:12px;font-weight:500;position:absolute}.tl-deps{pointer-events:none;z-index:1;position:absolute;top:0;left:0}.dropzone{border:1.5px dashed var(--border-strong);border-radius:var(--r-lg);color:var(--text-2);font-size:var(--fs-sm);cursor:pointer;transition:border-color var(--dur), background var(--dur);text-align:center;justify-content:center;align-items:center;gap:8px;padding:18px;display:flex}.dropzone:hover,.dropzone.over{border-color:var(--accent);background:var(--accent-soft);color:var(--text)}.fgrid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;display:grid}.fcard{background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow-card);cursor:pointer;text-align:left;flex-direction:column;display:flex;position:relative;overflow:hidden}.fcard:hover{box-shadow:0 4px 14px -6px #0000001f, 0 0 0 1px var(--border-strong)}.fcard .card-menu{opacity:0;background:var(--surface);box-shadow:0 0 0 1px var(--border);position:absolute;top:6px;right:6px}.fcard:hover .card-menu,.fcard:focus-within .card-menu{opacity:1}.fcard .card-menu:has([data-state=open]){opacity:1}.fprev{aspect-ratio:16/10;background:var(--sunken);border-bottom:1px solid var(--divider);place-items:center;display:grid;position:relative;overflow:hidden}.fprev img{object-fit:cover;width:100%;height:100%}.fprev .art{background:var(--surface);width:62%;height:64%;box-shadow:var(--shadow-card);border-radius:5px;flex-direction:column;gap:5px;padding:9px;display:flex}.fprev .art i{background:var(--surface-3);border-radius:2px;height:4px;display:block}.fprev .art i.h{background:var(--border-strong);width:50%;height:6px}.fprev .ext{font-family:var(--mono);text-transform:uppercase;color:color-mix(in srgb, var(--c) var(--icon-mix), var(--text));background:var(--surface);box-shadow:0 0 0 1px var(--border);border-radius:4px;padding:1px 5px;font-size:11px;font-weight:600;position:absolute;bottom:8px;left:8px}.fi{flex-direction:column;gap:2px;min-width:0;padding:9px 11px;display:flex}.fi .fn{font-weight:500;font-size:var(--fs-sm)}.fi .fm{font-size:var(--fs-2xs);color:var(--text-3)}.upl{border-radius:var(--r);background:var(--surface);box-shadow:var(--shadow-card);font-size:var(--fs-sm);align-items:center;gap:10px;padding:10px 12px;display:flex}.task-meta{display:contents}.row-check{align-items:center;display:flex}@media (width<=640px){.trow{flex-wrap:wrap;align-items:flex-start;gap:0 4px;padding:8px 0;display:flex}.trow .handle{display:none}.trow .row-check{justify-content:center;width:44px;min-height:44px}.trow .ttl{flex:1;order:1;min-height:44px}.trow .ttl>span:empty,.trow .key,.trow .meta-mini{display:none}.trow .tt{white-space:normal;overflow-wrap:anywhere;min-height:44px;line-height:1.4}.trow .ttl .ibtn{min-width:44px;min-height:44px;margin-left:0}.trow .c-more{opacity:1;order:2;width:44px}.trow .c-more .ibtn{width:44px;height:44px}.task-meta{flex-wrap:wrap;order:3;gap:0 8px;width:100%;padding-left:48px;display:flex}.task-meta>div{max-width:100%}.task-meta .pillbtn{min-height:44px;transition:background var(--dur), transform var(--dur)}.task-meta .pillbtn:active{transform:scale(.97)}.thead{gap:8px;height:44px;display:flex}.thead>:first-child,.thead>:nth-last-child(n+2):nth-child(n+4),.thead>:last-child{display:none}.thead>:nth-child(2){justify-content:center;width:44px;display:flex}.thead>button{min-height:44px}.grp{height:48px;padding-left:0}.grp .ibtn{min-width:44px;min-height:44px}.grp .ibtn:last-child{opacity:1}.addrow{min-height:44px;padding-left:48px}.inline-in{min-height:44px;font-size:16px}.subrows{padding-left:48px}.subrow{height:auto;min-height:44px}.subrow span{overflow-wrap:anywhere}.workspace-page .ph .btn,.workspace-page .proj-h .ibtn,.workspace-page .proj-h .pillbtn,.workspace-page .proj-h .tab,.team-detail .btn{min-height:44px}.workspace-page .proj-h .ibtn{min-width:44px}.arrange-menu .mi,.arrange-menu .seg>button,.task-filter-menu .mi,.fbuild .mi{min-height:44px}}.drawer{background:var(--surface);border-left:1px solid var(--border);z-index:50;width:min(620px,100vw);animation:drawerIn .26s var(--ease-drawer);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0;box-shadow:-18px 0 40px -24px #00000040}.drawer:focus{outline:none}.drawer.full{border-radius:var(--r-xl);width:min(1040px,100vw - 48px);box-shadow:var(--shadow-pop);animation:modalIn .2s var(--ease);border:0;top:4vh;bottom:4vh;left:50%;translate:-50%}.drawer-scrim{background:var(--overlay);z-index:49;animation:.18s fadeIn;position:fixed;inset:0}.drawer-h{border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:4px;height:46px;padding:0 10px 0 14px;display:flex}.drawer-b{flex:1;padding:18px 24px 40px;overflow-y:auto}@media (width<=640px){.drawer-b{padding:14px 16px 90px}.drawer.full{border-radius:0;width:100vw;top:0;bottom:0}}.ttl-edit{resize:none;letter-spacing:-.015em;border-radius:var(--r-sm);background:0 0;border:0;width:100%;margin-left:-4px;padding:2px 4px;font-size:21px;font-weight:600;line-height:1.3;overflow:hidden}.ttl-edit:hover{background:var(--surface-2)}.ttl-edit:focus{background:var(--surface);box-shadow:0 0 0 1.5px var(--accent-line);outline:none}.ttl-edit:disabled{color:var(--text);background:0 0}.dsec{margin-top:24px}.dsec-h{align-items:center;gap:8px;margin-bottom:8px;display:flex}.dsec-h h3{font-size:var(--fs);font-weight:600}.dsec-h .cnt{font-size:var(--fs-xs);color:var(--text-3)}.dsec-h .acts{gap:4px;margin-left:auto;display:flex}.rte{border-radius:var(--r);transition:border-color var(--dur);border:1px solid #0000}.rte:hover{border-color:var(--border)}.rte:focus-within{border-color:var(--accent-line)}.rte-tb{opacity:.55;transition:opacity var(--dur);border-bottom:1px solid #0000;gap:1px;padding:3px;display:flex}.rte:focus-within .rte-tb,.rte:hover .rte-tb{opacity:1;border-bottom-color:var(--divider)}.rte-tb .ibtn.on{background:var(--surface-3);color:var(--text)}.rte-body{outline:none;min-height:64px;padding:6px 10px;font-size:14px;line-height:1.65}.rte-body .ProseMirror{outline:none;min-height:52px}.rte-body p{margin:0 0 6px}.rte-body ul,.rte-body ol{margin:0 0 6px;padding-left:22px}.rte-body li p{margin:0}.rte-body h4{margin:8px 0 4px;font-size:15px;font-weight:600}.rte-body a{color:var(--accent);text-decoration:underline}.rte-body p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--text-4);float:left;pointer-events:none;height:0}.subt{border-radius:var(--r-sm);align-items:center;gap:9px;min-height:34px;padding:0 6px;display:flex}.subt:hover{background:var(--surface-2)}.subt .s{text-align:left;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13.5px;overflow:hidden}.subt.done .s{color:var(--text-3);text-decoration:line-through}.subt .x{opacity:0}.subt:hover .x,.subt:focus-within .x{opacity:1}.att{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px;display:grid}.attc{border-radius:var(--r);box-shadow:var(--shadow-card);cursor:pointer;background:var(--surface);text-align:left;position:relative;overflow:hidden}.attc .fprev{aspect-ratio:16/8}.attc .fi{font-size:var(--fs-xs)}.attc .x{opacity:0;background:var(--surface);box-shadow:0 0 0 1px var(--border);position:absolute;top:5px;right:5px}.attc:hover .x,.attc:focus-within .x{opacity:1}.cmt{gap:10px;padding:10px 0;display:flex}.cmt .body{flex:1;min-width:0}.cmt .who{font-size:var(--fs-sm);align-items:center;gap:8px;display:flex}.cmt .who b{font-weight:600}.cmt .who time{color:var(--text-3);font-size:var(--fs-xs)}.cmt .who .ibtn{opacity:0;margin-left:auto}.cmt:hover .who .ibtn,.cmt .who .ibtn:focus-visible{opacity:1}.cmt .txt{white-space:pre-wrap;word-break:break-word;margin-top:2px;font-size:13.5px;line-height:1.55}.mention{color:var(--accent);background:var(--accent-soft);border-radius:4px;padding:0 2px;font-weight:500}.reacts{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.react{border:1px solid var(--border);background:var(--surface);border-radius:11px;align-items:center;gap:4px;height:22px;padding:0 7px;font-size:12px;display:inline-flex}.react:hover{background:var(--surface-2)}.react.mine{border-color:var(--accent-line);background:var(--accent-soft)}.cbox{border:1px solid var(--border-strong);border-radius:var(--r);background:var(--surface);transition:border-color var(--dur), box-shadow var(--dur);padding:8px 8px 6px 10px}.cbox:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.cbox textarea{resize:none;background:0 0;border:0;outline:none;width:100%;min-height:40px;font-size:13.5px;line-height:1.5}.act-line{min-height:32px;font-size:var(--fs-sm);color:var(--text-2);align-items:center;gap:10px;display:flex}.act-line b{color:var(--text);font-weight:600}.act-line .ico{width:20px;color:var(--text-3);place-items:center;display:grid}.scrim{background:var(--overlay);z-index:60;animation:.16s fadeIn;position:fixed;inset:0}.modal-wrap{z-index:61;pointer-events:none;place-items:center;padding:20px;display:grid;position:fixed;inset:0;overflow-y:auto}.modal{pointer-events:auto;background:var(--surface);border-radius:var(--r-xl);width:100%;max-width:560px;box-shadow:var(--shadow-pop);max-height:calc(100vh - 40px);animation:modalIn .2s var(--ease);flex-direction:column;display:flex}.modal:focus{outline:none}.modal.sm{max-width:440px}.modal.lg{max-width:820px}.modal-h{flex-shrink:0;align-items:flex-start;gap:12px;padding:20px 20px 0;display:flex}.modal-h>div{flex:1;min-width:0}.modal-h h2{letter-spacing:-.01em;overflow-wrap:anywhere;font-size:18px;font-weight:600}.modal-b{flex-direction:column;gap:14px;min-height:0;padding:20px;display:flex;overflow-y:auto}.modal-f{border-top:1px solid var(--divider);flex-shrink:0;align-items:center;gap:8px;padding:16px 20px;display:flex}@media (width<=640px){.modal-wrap{place-items:end center;padding:0}.modal,.modal.sm,.modal.lg{border-radius:14px 14px 0 0;max-width:none;max-height:92vh}}.iconpick{grid-template-columns:repeat(8,30px);gap:4px;display:grid}.iconpick button{border-radius:var(--r-sm);width:30px;height:30px;color:var(--text-2);border:1px solid #0000;place-items:center;display:grid}.iconpick button:hover{background:var(--surface-2)}.iconpick button.on{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.swatches{flex-wrap:wrap;gap:6px;display:flex}.sw{background:var(--c);color:#fff;width:24px;height:24px;transition:transform var(--dur);border-radius:50%;place-items:center;display:grid;box-shadow:inset 0 0 0 1px #0000001a}.sw:hover{transform:scale(1.08)}.sw.on{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--c)}.tmpls,.opts{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;display:grid}.opt{border-radius:var(--r);border:1px solid var(--border-strong);background:var(--surface);text-align:left;transition:border-color var(--dur), background var(--dur);flex-direction:column;align-items:flex-start;gap:4px;padding:12px;display:flex}.opt:hover{background:var(--surface-2)}.opt.on{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 1px var(--accent)}.opt>.i{color:var(--text-2);margin-bottom:2px}.opt.on>.i{color:var(--accent)}.opt b{font-size:var(--fs-sm);font-weight:600}.opt span{font-size:var(--fs-xs);color:var(--text-3)}.palette{background:var(--surface);border-radius:var(--r-xl);width:min(640px,100vw - 32px);box-shadow:var(--shadow-pop);z-index:90;transform-origin:50% 0;max-height:72vh;animation:palIn .14s var(--ease);flex-direction:column;display:flex;position:fixed;top:12vh;left:50%;overflow:hidden;translate:-50%}.scrim.pal-scrim{animation-duration:.12s}.palette:focus{outline:none}.pal-in{border-bottom:1px solid var(--divider);align-items:center;gap:10px;height:52px;padding:0 14px;display:flex}.pal-in>.i{color:var(--text-3)}.pal-in input{background:0 0;border:0;outline:none;flex:1;min-width:0;height:100%;font-size:15px}.pal-scope{border-bottom:1px solid var(--divider);gap:4px;padding:8px 12px;display:flex;overflow-x:auto}.pal-scope button{border-radius:var(--r-full);height:26px;font-size:var(--fs-xs);color:var(--text-2);border:1px solid var(--border);white-space:nowrap;align-items:center;gap:5px;padding:0 9px;font-weight:500;display:inline-flex}.pal-scope button:hover{color:var(--text);background:var(--surface-2)}.pal-scope button.on{background:var(--text);color:var(--text-inv);border-color:var(--text)}.pal-list{flex:1;padding:6px;overflow-y:auto}.pal-sec{font-size:var(--fs-2xs);letter-spacing:.05em;text-transform:uppercase;color:var(--text-3);padding:8px 8px 4px;font-weight:600}.pi{border-radius:var(--r-sm);cursor:pointer;height:38px;font-size:var(--fs);align-items:center;gap:10px;min-width:0;padding:0 10px;display:flex}.pi.hl{background:var(--surface-2)}.pi>.i{color:var(--text-2)}.pi .sub{font-size:var(--fs-xs);color:var(--text-3);text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;max-width:40%;overflow:hidden}.pi .r{color:var(--text-3);font-size:var(--fs-xs);align-items:center;gap:3px;margin-left:auto;display:inline-flex}.pi mark,.hl-mark{background:color-mix(in srgb, var(--amber) 25%, transparent);color:inherit;border-radius:2px}.pal-f{border-top:1px solid var(--divider);font-size:var(--fs-2xs);color:var(--text-3);align-items:center;gap:14px;padding:8px 14px;display:flex}.pal-f span{align-items:center;gap:4px;display:inline-flex}.share-modal{max-width:620px}.share-modal .modal-b{gap:24px}.share-modal h3{font-size:var(--fs);margin:0;font-weight:600}.share-invite-section{flex-direction:column;gap:10px;display:flex}.share-invite{grid-template-columns:minmax(0,1fr) 136px auto;gap:8px;display:grid}.share-invite .input,.share-invite .picker,.share-invite .btn{height:36px}.share-invite .input::placeholder{color:var(--text-3)}.share-search{min-width:0}.share-suggestions{background:var(--surface-2);border-radius:var(--r);padding:4px}.share-suggestions .mi{min-height:48px}.share-suggestions .mi b{font-weight:500}.share-suggestions p{overflow-wrap:anywhere;padding:8px}.share-section{flex-direction:column;gap:12px;display:flex}.share-section+.share-section{border-top:1px solid var(--divider);padding-top:20px}.share-section-h{align-items:center;gap:8px;display:flex}.share-people{flex-direction:column;display:flex}.share-person{border-bottom:1px solid var(--divider);grid-template-columns:34px minmax(0,1fr) 136px;align-items:center;gap:12px;min-height:68px;padding:12px 0;display:grid}.share-person:last-child{border-bottom:0;padding-bottom:0}.share-person:first-child{padding-top:0}.share-person-info{min-width:0}.share-person-name{overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;gap:4px;font-weight:500;display:flex}.share-person-name .faint{font-weight:400}.share-person-detail{color:var(--text-3);font-size:var(--fs-xs);overflow-wrap:anywhere;line-height:1.5;display:block}.share-permission{text-align:left;width:100%;font-size:var(--fs-sm)}.share-person>span.share-permission{padding:0 10px}.share-access{grid-template-columns:34px minmax(0,1fr);align-items:start;gap:12px;display:grid}.share-access .ftype{margin-top:2px}.share-access-info{flex-direction:column;gap:8px;min-width:0;display:flex}.share-access-info .picker{width:100%}.share-access-info p,.share-policy{font-size:var(--fs-sm);overflow-wrap:anywhere;margin:0;line-height:1.5}.share-policy{padding-left:46px}.milestone-row{grid-template-columns:minmax(0,1fr) 170px 30px;align-items:center;gap:8px;display:grid}@media (width<=640px){.modal .input,.modal .textarea{font-size:16px}.modal .btn,.modal .ibtn,.modal .select,.modal .picker,.modal .input{min-height:44px}.modal .ibtn{min-width:44px}.share-invite{grid-template-columns:minmax(0,1fr) auto}.share-search{grid-column:1/-1}.share-person{grid-template-columns:34px minmax(0,1fr);gap:4px 12px;padding:14px 0}.share-person>.share-permission{grid-column:2;width:100%}.share-person>span.share-permission{padding:8px 0}.milestone-row{grid-template-columns:minmax(0,1fr) 44px}.milestone-row .date-input{grid-area:2/1}.milestone-row .ibtn{grid-area:1/2/3}}.set{grid-template-columns:220px minmax(0,1fr);height:100%;display:grid}.set-nav{border-right:1px solid var(--border);background:var(--surface);scrollbar-width:none;padding:12px 8px 20px;overflow-y:auto}.set-nav::-webkit-scrollbar{display:none}.set-grp+.set-grp{margin-top:14px}.set-nav .gh{height:24px;font-size:var(--fs-2xs);color:var(--text-3);letter-spacing:.05em;text-transform:uppercase;align-items:center;padding:0 8px;font-weight:600;display:flex}.set-body{scrollbar-gutter:stable;overflow-y:auto}.set-in{max-width:720px;margin:0 auto;padding:32px 40px 80px}.set-in>h1{font-size:var(--fs-2xl);letter-spacing:-.02em;font-weight:600}.set-in>.lead{color:var(--text-2);margin:4px 0 22px}.srow{border-bottom:1px solid var(--divider);align-items:center;gap:20px;padding:14px 0;display:flex}.srow>:first-child{flex:1;min-width:0}.srow .t{font-weight:500;font-size:var(--fs)}.srow .d{font-size:var(--fs-sm);color:var(--text-2);margin-top:2px}.srow .ctl{flex-shrink:0;align-items:center;gap:8px;display:flex}.sblock{margin-top:28px}.sblock>h2{font-size:var(--fs-md);margin-bottom:4px;font-weight:600}.themecards{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.tcard{border-radius:var(--r-lg);border:1px solid var(--border-strong);background:var(--surface);text-align:left;flex-direction:column;gap:10px;padding:10px;display:flex}.tcard:hover{background:var(--surface-2)}.tcard.on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.tprev{aspect-ratio:16/10;box-shadow:0 0 0 1px var(--border);border-radius:6px;grid-template-columns:30% 1fr;display:grid;overflow:hidden}.tprev .s,.tprev .m{flex-direction:column;gap:5px;padding:8px 6px;display:flex}.tprev i{border-radius:3px;height:5px;display:block}.plan{border:1px solid var(--border-strong);border-radius:var(--r-lg);background:var(--surface);flex-direction:column;gap:8px;padding:16px;display:flex}.plan.cur{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.plan .pr{letter-spacing:-.02em;font-size:24px;font-weight:600}.plan ul{font-size:var(--fs-sm);color:var(--text-2);flex-direction:column;flex:1;gap:6px;margin:0;padding:0;list-style:none;display:flex}.plan li{align-items:center;gap:6px;display:flex}.plan li .i{color:var(--green)}.codes{font-family:var(--mono);border:1px solid var(--border);border-radius:var(--r);background:var(--sunken);-webkit-user-select:all;user-select:all;grid-template-columns:repeat(2,max-content);gap:6px 28px;padding:14px;font-size:13px;display:grid}.qr{border:1px solid var(--border);background:#fff;border-radius:8px;flex-shrink:0;width:148px;height:148px;padding:8px}.qr svg{width:100%;height:100%;display:block}@media (width<=900px){.set{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.set-nav{border-right:0;border-bottom:1px solid var(--border);gap:2px;padding:8px 12px;display:flex;overflow-x:auto}.set-grp{display:contents}.set-nav .gh{display:none}.set-nav .sitem{flex-shrink:0;width:auto}.set-in{padding:20px 16px 96px}.themecards{grid-template-columns:repeat(2,minmax(0,1fr))}.srow{flex-wrap:wrap}}.auth{background:var(--bg);flex-direction:column;height:100%;min-height:100%;display:flex;overflow-y:auto}.auth-top{justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.auth-c{flex:1;place-items:center;padding:20px;display:grid}.auth-card{width:100%;max-width:400px;animation:riseIn .3s var(--ease);flex-direction:column;gap:14px;display:flex}.auth-card h1{letter-spacing:-.02em;text-align:center;font-size:22px;font-weight:600}.auth-card .sub{text-align:center;color:var(--text-2);margin-top:-8px}.auth-foot{text-align:center;font-size:var(--fs-sm);color:var(--text-2)}.or{font-size:var(--fs-xs);color:var(--text-3);align-items:center;gap:10px;display:flex}.or:before,.or:after{content:"";background:var(--border);flex:1;height:1px}.social{flex-direction:column;gap:8px;display:flex}.onboarding{grid-template-columns:220px minmax(0,1fr);gap:64px;width:100%;max-width:880px;margin:24px 0;display:grid}.onb-rail{min-width:0}.onb-intro h2{letter-spacing:-.02em;font-size:20px;font-weight:600}.onb-intro p{color:var(--text-2);margin-top:8px;line-height:1.6}.onb-steps{flex-direction:column;gap:8px;margin:32px 0;padding:0;list-style:none;display:flex}.onb-steps button{border-radius:var(--r);width:100%;min-height:52px;color:var(--text-3);transition:color var(--dur), transform var(--dur);align-items:center;gap:12px;padding:6px 0;display:flex}.onb-steps button:not(:disabled):hover{color:var(--text)}.onb-steps button:not(:disabled):active{transform:scale(.98)}.onb-step-marker{border:1px solid var(--border-strong);width:28px;height:28px;font-size:var(--fs-xs);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.onb-step-label{font-weight:500}.onb-step-label small{font-size:var(--fs-xs);color:var(--text-3);margin-top:1px;font-weight:400;display:block}.onb-steps .current button{color:var(--text)}.onb-steps .current .onb-step-marker{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.onb-steps .done button{color:var(--text-2)}.onb-steps .done .onb-step-marker{color:var(--green);background:var(--green-soft);border-color:#0000}.onb-rail-note{border-top:1px solid var(--border);color:var(--text-3);font-size:var(--fs-xs);padding-top:20px;line-height:1.8}.onb-main{min-width:0}.onb-heading{margin-bottom:28px}.onb-heading h1{letter-spacing:-.025em;overflow-wrap:anywhere;font-size:28px;font-weight:600;line-height:1.2}.onb-heading h1:focus{outline:none}.onb-heading p{color:var(--text-2);font-size:var(--fs-md);margin-top:10px;line-height:1.6}.onb-body{flex-direction:column;gap:22px;display:flex}.onb-body .field{gap:8px;min-width:0}.onb-body .hint,.onb-body .err{overflow-wrap:anywhere}.onb-handle{border:1px solid var(--border-strong);border-radius:var(--r);background:var(--surface);align-items:center;display:flex}.onb-handle>span{color:var(--text-2);padding:0 14px;display:flex}.onb-handle .input{min-width:0;box-shadow:none;background:0 0;border:0;padding-left:0}.onb-handle:focus-within{border-color:var(--accent);outline:2px solid var(--accent-line);outline-offset:1px}.onb-handle.is-error{border-color:var(--red)}.onb-context{color:var(--text-2);gap:10px;padding-top:4px;display:flex}.onb-select{width:100%;min-height:40px;font-size:var(--fs);padding:0 12px}.onb-select>span:first-child{text-align:left;text-overflow:ellipsis;flex:1;overflow:hidden}.onb-preview{border-radius:var(--r-xl);background:var(--surface-2);padding:16px 18px}.onb-preview-title{font-size:var(--fs-sm);font-weight:500}.onb-preview ul{flex-direction:column;gap:8px;margin:12px 0;padding:0;list-style:none;display:flex}.onb-preview li{color:var(--text-2);align-items:center;gap:8px;display:flex}.onb-views{border:0;min-width:0;margin:0;padding:0}.onb-views legend{font-weight:500;font-size:var(--fs-sm);margin-bottom:10px}.onb-views>div{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.onb-view{border:1px solid var(--border-strong);border-radius:var(--r);cursor:pointer;min-height:44px;transition:background var(--dur), transform var(--dur), border-color var(--dur);justify-content:center;align-items:center;gap:7px;display:flex;position:relative}.onb-view:hover{background:var(--surface-2)}.onb-view:active{transform:scale(.98)}.onb-view.selected{color:var(--accent);background:var(--accent-soft);border-color:var(--accent)}.onb-view:has(:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.onb-view input{opacity:0;width:1px;height:1px;position:absolute}.onb-views .hint{margin-top:10px;display:block}.onb-plan-note,.onb-ai-note{color:var(--text-2);gap:12px;display:flex}.onb-plan-note>.i,.onb-ai-note>.i{margin-top:2px}.onb-plan-note strong,.onb-ai-note strong{color:var(--text);font-weight:500}.onb-plan-note p,.onb-ai-note p{margin-top:4px;line-height:1.6}.onb-plans{border-top:1px solid var(--border);padding-top:12px}.onb-plans summary{cursor:pointer;min-height:44px;color:var(--text-2);align-items:center;gap:8px;list-style:none;display:flex}.onb-plans summary::-webkit-details-marker{display:none}.onb-plans summary>.i{transition:transform var(--dur) var(--ease)}.onb-plans[open] summary>.i{transform:rotate(180deg)}.onb-plans summary:hover{color:var(--text)}.onb-plan-list{border:1px solid var(--border);border-radius:var(--r-xl);margin:8px 0 12px;overflow:hidden}.onb-plan-row{background:var(--surface);grid-template-columns:minmax(0,1fr) auto;gap:16px;padding:14px 16px;display:grid}.onb-plan-row+.onb-plan-row{border-top:1px solid var(--border)}.onb-plan-row strong{font-weight:600}.onb-plan-row .badge{margin-left:8px}.onb-plan-row p{font-size:var(--fs-sm);color:var(--text-2);margin-top:6px}.onb-price{flex-direction:column;align-items:flex-end;gap:3px;display:flex}.onb-price strong{font-size:20px}.onb-price span{font-size:var(--fs-xs);color:var(--text-2)}.onb-agents{border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.onb-agent{align-items:center;gap:16px;padding:14px 0;display:flex}.onb-agent+.onb-agent{border-top:1px solid var(--border)}.onb-agent>div{min-width:0}.onb-agent-name{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.onb-agent-name strong{font-size:var(--fs-md);font-weight:600}.onb-agent-name span{color:var(--text-3);font-size:var(--fs-sm)}.onb-agent p{color:var(--text-2);margin-top:4px}.onb-ai-choice{cursor:pointer;align-items:flex-start;gap:12px;min-height:44px;display:flex}.onb-ai-choice .check{flex-shrink:0;margin-top:3px}.onb-ai-choice strong{font-weight:500}.onb-ai-choice small{color:var(--text-2);font-size:var(--fs-sm);margin-top:4px;line-height:1.6;display:block}.onb-success{background:var(--green-soft);width:48px;height:48px;color:var(--green);border-radius:var(--r-xl);place-items:center;margin-bottom:16px;display:grid}.onb-summary{border:1px solid var(--border);border-radius:var(--r-xl);background:var(--surface);overflow:hidden}.onb-summary-row{align-items:center;gap:14px;padding:18px;display:flex}.onb-summary-row+.onb-summary-row{border-top:1px solid var(--border)}.onb-summary-row>.i{color:var(--text-2)}.onb-summary-row>div{overflow-wrap:anywhere;flex:1;min-width:0}.onb-summary-row strong{font-weight:500}.onb-summary-row p{color:var(--text-2);font-size:var(--fs-sm);margin-top:4px}.onb-footer{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:28px;padding-top:20px;display:flex}.onb-footer-back{min-width:0}.onb-footer-next{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.onb-complete-links{flex-wrap:wrap;justify-content:center;gap:8px;width:100%;display:flex}@media (width<=760px){.onboarding{grid-template-columns:minmax(0,1fr);gap:24px;max-width:580px;margin:8px 0 24px}.onb-intro,.onb-rail-note{display:none}.onb-steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0;display:grid}.onb-steps button{font-size:var(--fs-xs);text-align:center;flex-direction:column;gap:8px;min-height:60px}.onb-step-label small{display:none}.onb-heading h1{font-size:25px}.onb-heading{margin-bottom:24px}}@media (width<=480px){.auth:has(.onboarding) .auth-top{padding:14px 16px}.auth:has(.onboarding) .auth-c{place-items:start center;padding:16px}.auth:has(.onboarding) .auth-top .btn{min-width:44px;min-height:44px}.auth:has(.onboarding) .ibtn{min-width:44px;min-height:44px}.onb-main .input,.onb-select{min-height:44px;font-size:16px}.onb-main .btn{min-height:44px}.onb-views>div{grid-template-columns:repeat(2,minmax(0,1fr))}.onb-body{gap:18px}.onb-preview{padding:14px 16px}.onb-preview>.hint{display:none}.onb-footer{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:24px;padding-top:16px;display:grid}.onb-footer-back{grid-area:2/1}.onb-footer-back:empty{display:none}.onb-footer-next{display:contents}.onb-footer-next .btn-primary,.onb-footer>.btn-primary{grid-area:1/1/auto/-1}.onb-footer-next .btn-ghost{grid-area:2/2}.onb-complete-links{grid-column:1/-1}.onb-plan-row{grid-template-columns:minmax(0,1fr);gap:8px}.onb-price{flex-direction:row;align-items:baseline;gap:8px}.onb-agent{align-items:flex-start;gap:12px}}.demo-note{font-size:var(--fs-xs);color:var(--text-2);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r);padding:8px 10px;line-height:1.5}.demo-note code{font-family:var(--mono);font-size:12px}.ds-sec{margin-top:32px}.ds-sec>h2{font-size:var(--fs-lg);align-items:baseline;gap:10px;margin-bottom:12px;font-weight:600;display:flex}.ds-sec>h2 span{font-size:var(--fs-sm);color:var(--text-3);font-weight:400}.ds-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.ds-tok{border-radius:var(--r);box-shadow:var(--shadow-card);background:var(--surface);overflow:hidden}.ds-tok .c{background:var(--c);border-bottom:1px solid var(--divider);height:48px}.ds-tok .n{font-size:var(--fs-xs);flex-direction:column;padding:8px 10px;display:flex}.ds-tok code{font-family:var(--mono);color:var(--text-3);font-size:11px}.ds-row{border-bottom:1px solid var(--divider);flex-wrap:wrap;align-items:center;gap:10px;padding:10px 0;display:flex}.ds-row .lab{width:80px;font-size:var(--fs-xs);color:var(--text-3);flex-shrink:0}.states-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;display:grid}.states-grid .panel .cap{border-bottom:1px solid var(--divider);font-size:var(--fs-xs);color:var(--text-3);align-items:center;gap:6px;padding:10px 12px;font-weight:500;display:flex}.public-top{border-bottom:1px solid var(--border);background:var(--surface);align-items:center;gap:10px;padding:14px 24px;display:flex}.ov-row3{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:16px;display:grid}@media (width<=1100px){.ov-row3{grid-template-columns:minmax(0,1fr)}}.team-stats{margin-bottom:16px}.team-portfolio .dtable{table-layout:fixed}.team-portfolio th:first-child{width:32%}.team-portfolio th:nth-child(3){width:24%}.team-project-list{display:none}.team-member{min-height:64px;transition:background var(--dur), transform var(--dur)}.team-member:active,.team-project-row:active{transform:scale(.99)}.team-member-detail{font-size:var(--fs-xs);overflow-wrap:anywhere;margin-top:3px}.team-detail .panel-h .acts{font-size:var(--fs-xs)}@media (width<=640px){.team-portfolio{display:none}.team-project-list{flex-direction:column;display:flex}.team-project-row{border-bottom:1px solid var(--divider);transition:background var(--dur), transform var(--dur);flex-direction:column;gap:10px;padding:14px;display:flex}.team-project-row:last-child{border-bottom:0}.team-project-row:hover{background:var(--surface-2)}.team-project-row .grow{overflow-wrap:anywhere}.team-project-row .muted{font-size:var(--fs-xs)}.team-project-row .muted .prog{flex:1}.team-project-row .muted>span:last-child{white-space:nowrap;margin-left:auto}.team-detail .mini .pj{display:none}.fullstate .btn{min-height:44px}}.shell.ai{grid-template-columns:var(--side-w) minmax(0, 1fr) var(--ai-w)}.shell.ai.collapsed{grid-template-columns:52px minmax(0, 1fr) var(--ai-w)}@media (width>=1101px){:root[data-assistant] .drawer:not(.full){right:var(--ai-w)}}@media (width<=1100px){.shell.ai{grid-template-columns:var(--side-w) minmax(0, 1fr)}.shell.ai.collapsed{grid-template-columns:52px minmax(0,1fr)}.ai-panel{width:min(var(--ai-w), 100vw);z-index:55;position:fixed;top:0;bottom:0;right:0;box-shadow:-18px 0 40px -24px #00000059}}@media (width<=900px){.shell.ai,.shell.ai.collapsed{grid-template-columns:minmax(0,1fr)}}@media (width<=640px){.ai-panel{border-left:0;width:100vw}}.shell.ai .topsearch{width:auto}.shell.ai .topsearch .lbltxt{display:none}.robin{border-radius:50%;flex-shrink:0;display:inline-block;position:relative}@property --vis{syntax:"<length-percentage>";inherits:true;initial-value:46px}.aidock{--vis:46px;z-index:45;pointer-events:none;filter:drop-shadow(0 6px 10px #00000029);width:340px;max-width:calc(100vw - 32px);height:46px;transition:--vis .32s var(--ease);justify-content:flex-end;align-items:center;display:flex;position:fixed;bottom:16px;right:16px}:is(.aidock:has(.aidock-btn:hover),.aidock:has(.aidock-btn:focus-visible)){--vis:121px}.aidock.open{--vis:100%}.aidock-shape{pointer-events:none;position:absolute;inset:0}.aidock-shape:before,.aidock-shape:after{content:"";transition:background var(--dur) var(--ease);position:absolute;inset:0}.aidock-shape:before{background:var(--border);clip-path:inset(0 0 0 calc(100% - var(--vis)) round 23px)}.aidock-shape:after{background:var(--bg-side);clip-path:inset(1px 1px 1px calc(100% - var(--vis) + 1px) round 22px)}.aidock.open .aidock-shape:after{background:var(--surface)}.aidock:has(.aidock-btn:hover) .aidock-shape:after{background:var(--surface)}.aidock:has(.aidock-btn:focus-visible) .aidock-shape:after{background:var(--surface)}.aidock:has(.aidock-btn:focus-visible) .aidock-shape:before{background:var(--accent)}.aidock:has(.aidock-btn:focus-visible) .aidock-shape:after{clip-path:inset(2px 2px 2px calc(100% - var(--vis) + 2px) round 21px)}.aidock.with-attachments{pointer-events:auto;filter:none;background:var(--surface);border-radius:var(--r-lg);width:400px;height:auto;max-height:min(420px,60dvh);box-shadow:var(--shadow-pop);flex-direction:column;align-items:stretch}.aidock.with-attachments .aidock-shape{display:none}.aidock.with-attachments .aidock-bar{clip-path:none;flex-shrink:0;height:46px;min-height:46px}.aidock.with-attachments .ai-attachments{margin:0;padding:10px;overflow:auto}.aidock.with-attachments .ai-attachment-status,.aidock.with-attachments .ai-attachment-error{margin:0;padding:10px}.aidock-btn{--bw:46px;width:var(--bw);white-space:nowrap;height:100%;color:var(--text-2);pointer-events:auto;clip-path:inset(0 0 0 calc(100% - var(--vis)) round 23px);border-radius:23px;align-items:center;gap:8px;padding:0 20px 0 10px;display:flex;position:relative}.aidock-btn:hover,.aidock-btn:focus-visible{--bw:121px}.aidock-btn>*{translate:calc(var(--bw) - var(--vis)) 0;flex-shrink:0}.aidock-btn:focus-visible{outline:none}.aidock-lbl{opacity:0;transition:opacity .18s var(--ease);font-size:12px}.aidock-btn:hover .aidock-lbl,.aidock-btn:focus-visible .aidock-lbl{opacity:1;transition-delay:60ms}.aidock-bar{pointer-events:auto;width:100%;height:100%;clip-path:inset(0 0 0 calc(100% - var(--vis)) round 23px);animation:fadeIn .2s var(--ease);align-items:center;gap:8px;padding:0 10px;display:flex;position:relative}.aidock-input{min-width:0;height:100%;color:var(--text);background:0 0;border:0;outline:none;flex:1;font-size:12px}.aidock-input::placeholder{color:var(--text-2)}.ai-attachments{flex-direction:column;gap:6px;max-height:240px;margin:0 0 8px;padding:0;list-style:none;display:flex;overflow:auto}.ai-attachment{border:1px solid var(--border);border-radius:var(--r);background:var(--surface);flex-wrap:wrap;align-items:center;gap:8px;min-width:0;padding:8px;display:flex}.ai-attachment>img{object-fit:cover;border-radius:4px;width:36px;height:36px}.ai-attachment>.i{color:var(--text-3);flex-shrink:0}.ai-attachment-name{min-width:0;font-size:var(--fs-sm);flex-direction:column;flex:1;gap:2px;display:flex}.ai-attachment-name>span{overflow-wrap:anywhere}.ai-attachment-name>small{color:var(--text-3);font-size:var(--fs-xs)}.ai-attachment-name:hover>span{text-underline-offset:3px;text-decoration:underline}.ai-attachment-note{color:var(--text-3);font-size:var(--fs-xs);overflow-wrap:anywhere;flex-basis:100%;line-height:1.5}.ai-attachment-status{color:var(--text-3);font-size:var(--fs-sm);margin:0 0 8px}.ai-attachment-error{color:var(--red);font-size:var(--fs-sm);overflow-wrap:anywhere;margin:0 0 8px}.ai-msg.user .ai-attachments{max-width:100%;margin-top:6px}.aidock-acts{flex-shrink:0;align-items:center;gap:8px;display:flex}.aidock-ico{width:24px;height:24px;color:var(--text-2);transition:color var(--dur), transform var(--dur);background:0 0;border-radius:6px;flex-shrink:0;place-items:center;margin:0 -4px;display:grid}.aidock-ico:hover,.aidock-ico:focus-visible{color:var(--text)}.aidock-ico:focus-visible{outline:2px solid var(--accent-line);outline-offset:2px}.aidock-ico:active{transform:scale(.96)}.aidock-line{background:var(--text);width:10px;height:1px;-webkit-mask:var(--m) center / 100% 100% no-repeat;mask:var(--m) center / 100% 100% no-repeat;-webkit-mask:var(--m) center / 100% 100% no-repeat;flex-shrink:0;margin:0 -5px;rotate:90deg}@media (width<=640px){.aidock{bottom:calc(70px + env(safe-area-inset-bottom,0px));max-width:calc(100vw - 24px);right:12px}.aidock-ico{width:44px;height:44px}.aidock-input,.ai-box textarea{font-size:16px}.aidock.with-attachments .aidock-bar{gap:4px;padding:0 8px}.ai-attachment .ibtn{min-width:44px;min-height:44px}}@media (prefers-reduced-motion:reduce){.aidock,.aidock-lbl,.aidock-shape:before,.aidock-shape:after{transition:none}.aidock-bar{animation:none}}.ai-panel{background:var(--surface);border-left:1px solid var(--border);min-width:0;height:100%;min-height:0;animation:aiIn .24s var(--ease-drawer);flex-direction:column;display:flex}@keyframes aiIn{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:none}}.ai-h{height:var(--topbar-h);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:6px;padding:0 8px 0 14px;display:flex}.ai-title{font-size:var(--fs);white-space:nowrap;font-weight:600}.ai-model{max-width:150px;font-family:var(--mono);font-size:11px;line-height:18px;display:inline-block}.ai-model:hover{color:var(--text);border-color:var(--border-strong)}.ai-load{flex:1;place-items:center;display:grid}.ai-body{overscroll-behavior:contain;flex:1;min-height:0;padding:14px 14px 8px;overflow-y:auto}.ai-empty{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:34px 8px;display:flex}.ai-empty .glyph{margin-bottom:4px}.ai-empty .es-h{font-size:var(--fs-md);font-weight:600}.ai-empty p{font-size:var(--fs-sm);color:var(--text-2);max-width:320px;line-height:1.55}.ai-empty p.faint{color:var(--text-3)}.ai-empty .btn{margin-top:8px}.ai-welcome{font-size:var(--fs-sm);padding:4px 2px 10px;line-height:1.55}.ai-examples{flex-direction:column;gap:6px;display:flex}.ai-example{text-align:left;border-radius:var(--r);border:1px solid var(--border);background:var(--surface);color:var(--text-2);font-size:var(--fs-sm);transition:background var(--dur), border-color var(--dur), color var(--dur);padding:8px 10px;line-height:1.45}.ai-example:hover{background:var(--surface-2);border-color:var(--border-strong);color:var(--text)}.ai-log{flex-direction:column;gap:14px;display:flex}.ai-msg{min-width:0;animation:riseIn .18s var(--ease);flex-direction:column;gap:6px;display:flex}.ai-msg.user{align-items:flex-end}.ai-bubble{background:var(--surface-3);max-width:88%;color:var(--text);font-size:var(--fs);white-space:pre-wrap;word-break:break-word;border-radius:12px 12px 4px;padding:8px 11px;line-height:1.5}.ai-via{font-size:var(--fs-2xs);color:var(--text-3);align-items:center;gap:4px;display:inline-flex}.ai-text{font-size:var(--fs);color:var(--text);word-break:break-word;line-height:1.6}.ai-text p{margin:0 0 6px}.ai-text p:last-child{margin-bottom:0}.ai-text .ai-hd{margin-top:4px;font-weight:600}.ai-text ul,.ai-text ol{margin:0 0 6px;padding-left:20px}.ai-text li{margin:2px 0}.ai-text code{background:var(--surface-2);border-radius:4px;padding:1px 4px}.ai-step{border-radius:var(--r);background:var(--surface-2);font-size:var(--fs-sm);color:var(--text);align-items:flex-start;gap:8px;padding:6px 9px;line-height:1.45;display:flex}.ai-step>.i{color:var(--text-3);margin-top:2px}.ai-step.done>.i{color:var(--green)}.ai-step.error{background:var(--red-soft)}.ai-step.error>.i{color:var(--red)}.ai-step.declined{color:var(--text-3)}.ai-step.read{color:var(--text-3);font-size:var(--fs-xs);background:0 0;padding-top:2px;padding-bottom:2px}.ai-step.read.done>.i{color:var(--text-4)}.ai-spin{animation:1s linear infinite spin}.ai-link{color:var(--accent);text-align:left;font-weight:500;display:inline}.ai-link:hover{text-decoration:underline}.ai-confirm{border:1px solid color-mix(in srgb, var(--amber) 35%, var(--border));background:var(--amber-soft);border-radius:var(--r);font-size:var(--fs-sm);padding:10px 11px;line-height:1.5}.ai-confirm p{margin-top:2px}.ai-notice{font-size:var(--fs-sm);color:var(--text-2);align-items:flex-start;gap:7px;line-height:1.5;display:flex}.ai-notice>.i{margin-top:2px}.ai-notice.warn>.i{color:var(--amber)}.ai-notice.error{color:var(--red)}.ai-thinking{font-size:var(--fs-sm);color:var(--text-3);align-items:center;gap:8px;display:flex}.ai-dots{gap:3px;display:inline-flex}.ai-dots i{background:var(--text-4);border-radius:50%;width:5px;height:5px;animation:1.2s ease-in-out infinite aiDot}.ai-dots i:nth-child(2){animation-delay:.15s}.ai-dots i:nth-child(3){animation-delay:.3s}@keyframes aiDot{0%,80%,to{opacity:.3;transform:none}40%{opacity:1;transform:translateY(-2px)}}.ai-undo{margin-left:-8px}.ai-undone{font-size:var(--fs-xs);align-items:center;gap:5px;display:inline-flex}.ai-compose{padding:8px 12px calc(10px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--divider);flex-direction:column;flex-shrink:0;gap:6px;display:flex}.ai-box{border:1px solid var(--border-strong);border-radius:var(--r-lg);background:var(--surface);transition:border-color var(--dur), box-shadow var(--dur);align-items:flex-end;gap:6px;padding:8px 6px 6px 11px;display:flex}.ai-box:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.ai-box.listening{border-color:var(--red);box-shadow:0 0 0 3px var(--red-soft)}.ai-box textarea{resize:none;min-width:0;font-size:var(--fs);background:0 0;border:0;outline:none;flex:1;max-height:160px;padding:3px 0;line-height:1.5}.ai-box textarea:disabled{color:var(--text-3);cursor:not-allowed}.ai-tools{flex-shrink:0;align-items:center;gap:4px;display:flex}.ai-mic.on{background:var(--red-soft);color:var(--red)}.ai-send{background:var(--accent);color:var(--on-accent);border-radius:var(--r-full)}.ai-send:hover{background:color-mix(in srgb, var(--accent) 88%, var(--text));color:var(--on-accent)}.ai-send:disabled{background:var(--surface-3);color:var(--text-4);opacity:1}.ai-listening{font-size:var(--fs-xs);color:var(--red);align-items:center;gap:8px;font-weight:500;display:flex}.ai-pulse{background:var(--red);width:8px;height:8px;animation:aiPulse 1.2s infinite var(--ease);border-radius:50%}@keyframes aiPulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--red) 45%, transparent)}to{box-shadow:0 0 0 7px #0000}}.ai-voice-err{font-size:var(--fs-xs);color:var(--text-2);background:var(--amber-soft);border-radius:var(--r-sm);align-items:flex-start;gap:6px;padding:6px 6px 6px 8px;line-height:1.45;display:flex}.ai-voice-err>.i{color:var(--amber);margin-top:1px}.ai-foot{font-size:var(--fs-2xs);flex-wrap:wrap;align-items:center;gap:3px;display:flex}.ai-foot kbd{min-width:16px;height:16px;font-size:11px}.ai-prov{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);padding:14px 16px}.ai-prov+.ai-prov{margin-top:10px}.ai-prov.active{border-color:var(--accent-line);box-shadow:0 0 0 1px var(--accent-line)}.ai-prov-h{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.ai-prov-h b{font-size:var(--fs);font-weight:600}.ai-prov-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:12px;display:grid}.ai-prov-acts{flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;display:flex}.ai-keywrap{align-items:center;display:flex;position:relative}.ai-test{font-size:var(--fs-xs);align-items:center;gap:5px;display:inline-flex}.link .i.ext{vertical-align:-1px;margin-left:3px;display:inline-block}.ai-sub-copy{margin:10px 0 16px;font-size:13px;line-height:1.6}.ai-prov+.alert{margin-top:12px}.ai-connect-methods{grid-template-columns:1fr 1fr;gap:10px;margin:16px 0;display:grid}.ai-connect-methods>button{text-align:left;border:1px solid var(--border);background:var(--surface);color:inherit;cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:14px;display:flex}.ai-connect-methods>button.selected{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, var(--surface))}.ai-connect-methods b,.ai-connect-methods small{display:block}.ai-connect-methods small{color:var(--text-3);margin-top:4px;font-size:12px}.ai-connect-steps{gap:18px;padding-left:22px;font-size:13px;line-height:1.6;display:grid}.ai-connect-steps p{margin:4px 0 8px}.ai-companion-command{border:1px solid var(--border);border-radius:6px;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;display:flex}.ai-companion-command code{overflow-wrap:anywhere}.ai-pair-form{align-items:center;gap:8px;display:flex}.ai-pair-form .input{flex:1;min-width:0}.ai-connector{margin-top:10px}.ai-connector .ai-prov-h{flex-wrap:nowrap;align-items:flex-start}.ai-connector .ai-prov-h>.i{flex-shrink:0;margin-top:2px}.ai-connector-copy{margin-top:8px;font-size:13px;line-height:1.6}.ai-connector .ai-pair-form{flex-wrap:wrap;margin-top:12px}.ai-connector-hint{font-size:var(--fs-xs);flex-basis:100%;margin:0}.ai-connector-err{color:var(--red);font-size:var(--fs-sm);flex-basis:100%;margin:0}.ai-connector-toggle{border:0;margin-top:12px;padding:0}.ai-connector-setup{flex-direction:column;gap:8px;margin-top:12px;display:flex}.ai-connector-setup .seg{align-self:flex-start;max-width:100%;overflow-x:auto}.ai-connector-setup p{font-size:var(--fs-sm);margin:0}.ai-connector-code{border:1px solid var(--border);background:var(--sunken);border-radius:6px;align-items:flex-start;gap:6px;padding:8px 8px 8px 10px;display:flex}.ai-connector-code pre{white-space:pre-wrap;overflow-wrap:anywhere;flex:1;min-width:0;margin:0;font-size:12px;line-height:1.5}.ai-sub-account{border:1px solid var(--border);border-radius:6px;align-items:center;gap:10px;padding:12px;display:flex}.ai-sub-account b,.ai-sub-account span{overflow-wrap:anywhere;font-size:12.5px;display:block}.ai-sub-error{color:var(--red);align-items:start;gap:6px;margin-top:12px;font-size:12.5px;display:flex}@media (width<=560px){.ai-connect-methods{grid-template-columns:1fr}.ai-pair-form{flex-direction:column;align-items:stretch}}.i.spin{animation:1s linear infinite spin}.astatus{max-width:100%;font-size:var(--fs-sm);color:var(--text-2);align-items:center;gap:6px;min-width:0;display:inline-flex}.astatus.blue{color:var(--blue)}.astatus.amber{color:var(--amber)}.astatus.red{color:var(--red)}.astatus-dot{background:var(--gray);border-radius:50%;flex-shrink:0;width:7px;height:7px}.astatus-dot.blue{background:var(--blue)}.astatus-dot.amber{background:var(--amber)}.astatus-dot.red{background:var(--red)}.astatus-dot.live{box-shadow:0 0 0 0 color-mix(in srgb, var(--blue) 45%, transparent);animation:agent-pulse 1.6s var(--ease) infinite}@keyframes agent-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--blue) 45%, transparent)}70%,to{box-shadow:0 0 0 6px #0000}}.ct-pill{border-radius:var(--r-full);background:var(--surface-3);min-width:18px;height:18px;color:var(--text-2);font-size:var(--fs-2xs);vertical-align:1px;place-items:center;margin-left:4px;padding:0 5px;font-weight:600;display:inline-grid}.sec-h{font-size:var(--fs-md);margin:0;font-weight:600}.jsteps{flex-direction:column;gap:1px;margin:4px 0;padding:0;list-style:none;display:flex}.jstep{border-radius:var(--r-sm);font-size:var(--fs-sm);color:var(--text);align-items:baseline;gap:8px;padding:4px 6px;line-height:1.45;display:flex}.jstep time{font-size:var(--fs-2xs);color:var(--text-4);flex-shrink:0}.jstep-i{width:14px;color:var(--green);flex-shrink:0;place-items:center;display:inline-grid;transform:translateY(2px)}.jstep.read{color:var(--text-3)}.jstep.read .jstep-i{color:var(--text-4)}.jstep.running .jstep-i{color:var(--blue)}.jstep.error{color:var(--red);background:var(--red-soft)}.jstep.error .jstep-i{color:var(--red)}.approval{border:1px solid color-mix(in srgb, var(--amber) 35%, var(--border));background:color-mix(in srgb, var(--amber) 6%, var(--surface));border-radius:var(--r);font-size:var(--fs-sm);padding:10px 12px;line-height:1.5}.approval.compact{margin-top:8px;padding:8px 10px}.approval-i{color:var(--amber);flex-shrink:0;place-items:center;width:18px;display:inline-grid;transform:translateY(1px)}.approval-i.q{color:var(--blue)}.jobbar-list{flex-direction:column;gap:6px;margin:4px 0 10px;display:flex}.jobbar-item>.approval.compact{margin-top:4px}.jobbar,.jobcard{border:1px solid var(--border);border-radius:var(--r);background:var(--surface)}.jobbar.working,.jobcard.working{border-color:color-mix(in srgb, var(--blue) 35%, var(--border))}.jobbar.needs_approval,.jobbar.needs_input,.jobcard.needs_approval,.jobcard.needs_input{border-color:color-mix(in srgb, var(--amber) 35%, var(--border))}.jobbar>summary,.jobcard>summary{cursor:pointer;font-size:var(--fs-sm);align-items:center;gap:8px;min-width:0;padding:8px 10px;list-style:none;display:flex}.jobbar>summary::-webkit-details-marker{display:none}.jobcard>summary::-webkit-details-marker{display:none}.jobbar>summary:focus-visible,.jobcard>summary:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:var(--r)}.jobbar-line{font-size:var(--fs-xs);color:var(--text-3);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.jobbar-chev{color:var(--text-4);transition:transform var(--dur) var(--ease);flex-shrink:0}details[open]>summary .jobbar-chev{transform:rotate(180deg)}.jobbar-b,.jobcard-b{border-top:1px solid var(--divider);flex-direction:column;gap:6px;padding:0 10px 10px;display:flex}.jobbar-b>.btn{align-self:flex-start}.jobmeta{flex-direction:column;gap:8px;padding-top:10px;display:flex}.jobmeta p{font-size:var(--fs-sm);white-space:pre-wrap;overflow-wrap:anywhere;margin:2px 0 0;line-height:1.55}.agents-page{flex-direction:column;gap:20px;display:flex}.agents-page .ph{margin-bottom:0}.agents-page .ph p{max-width:65ch}.agent-stats{flex-shrink:0}.agent-lead{align-items:center;gap:24px;padding:20px 24px;display:flex}.agent-lead-copy{flex:1;min-width:0}.agent-lead h2{letter-spacing:-.02em;font-size:22px;font-weight:600}.agent-row-title{flex-wrap:wrap;align-items:center;gap:12px;min-width:0;display:flex}.agent-role{color:var(--text-2);font-size:var(--fs-sm);margin-top:4px}.agent-lead p{color:var(--text-2);overflow-wrap:anywhere;max-width:65ch;margin:10px 0 16px;line-height:1.5}.agent-lead-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.agent-row{border-top:1px solid var(--divider);grid-template-columns:84px minmax(0,1fr) 142px auto;align-items:center;gap:20px;padding:18px 20px;display:grid}.agent-row-main{text-align:left;min-width:0}.agent-row-main h3{font-size:var(--fs-md);overflow-wrap:anywhere;font-weight:600}.agent-row-main:hover h3{color:var(--accent)}.agent-row-main p{color:var(--text-3);font-size:var(--fs-sm);overflow-wrap:anywhere;max-width:65ch;margin:8px 0 0;line-height:1.5}.agent-row-load{font-size:var(--fs-xs);flex-direction:column;gap:6px;display:flex}.agent-row-load b{color:var(--text);font-weight:600}.agent-roster .panel-h .acts{font-size:var(--fs-xs)}.agent-sprite{background-repeat:no-repeat;flex-shrink:0;display:block}.av.agent{box-shadow:none;background:0 0}.agent-mascot{border-radius:var(--r)}.agent-mascot:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@media (width<=1100px){.agent-row{grid-template-columns:84px minmax(0,1fr) auto}.agent-row-load{flex-flow:wrap;grid-column:2}.agent-row-actions{grid-area:1/3/3}}@media (width<=640px){.agent-lead{flex-wrap:wrap;align-items:flex-start;gap:12px;padding:16px}.agent-lead>:first-child{margin:0 auto}.agent-lead-copy{flex-basis:100%}.agent-row{grid-template-columns:84px minmax(0,1fr);gap:12px;padding:16px}.agent-row>:first-child{align-self:start}.agent-row-load{grid-column:2}.agent-row-actions{grid-area:auto/2}.agent-roster .panel-h{flex-wrap:wrap}.agent-roster .panel-h .acts{flex-basis:100%;margin-left:0}.agents-page .btn,.agents-page .seg>button{min-height:44px}}.joblist{margin:0;padding:0;list-style:none}.joblist>li+li{border-top:1px solid var(--divider)}.jobrow{text-align:left;width:100%;font:inherit;font-size:var(--fs-sm);color:var(--text);align-items:center;gap:10px;min-width:0;padding:10px 14px;display:flex}.jobrow:hover{background:var(--surface-2)}.jobrow:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.agent-profile{max-width:1200px}.agent-profile-header{align-items:flex-start}.agent-profile-identity{align-items:flex-start;gap:16px;min-width:0;display:flex}.agent-profile-copy{min-width:0}.agent-profile-copy h1,.agent-profile-copy .muted{overflow-wrap:anywhere}.agent-detail{align-items:start}.agent-job-group{flex-direction:column;gap:8px;display:flex}.agent-job-group h3{font-size:var(--fs-sm);font-weight:600}.agent-about>p{color:var(--text-2);overflow-wrap:anywhere;margin:0 0 18px;line-height:1.6}.agent-facts{font-size:var(--fs-sm);flex-direction:column;gap:14px;margin:0;display:flex}.agent-facts>div{grid-template-columns:115px minmax(0,1fr);align-items:start;gap:12px;display:grid}.agent-facts dt{color:var(--text-3)}.agent-facts dd{overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;gap:6px;margin:0;display:flex}.agent-project>.i{color:var(--text-3)}.agent-about .instr{border-top:1px solid var(--divider);margin:18px -14px 0;padding:14px 14px 0}.instr>summary{align-items:center;gap:6px;list-style:none;display:flex}.instr>summary::-webkit-details-marker{display:none}.instr>summary .i{transition:transform var(--dur) var(--ease)}.instr[open]>summary .i{transform:rotate(90deg)}.instr>summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:var(--r)}.agent-settings{max-width:960px}.agent-settings>form>.panel-b{padding:0 20px}.agent-fields{min-width:0}.agent-form-section{flex-direction:column;gap:16px;margin:0 -20px;padding:22px 20px;display:flex}.agent-form-section+.agent-form-section{border-top:1px solid var(--divider)}.agent-section-heading h3{font-size:var(--fs-md);font-weight:600}.agent-section-heading p{color:var(--text-3);font-size:var(--fs-sm);margin:4px 0 0;line-height:1.5}.agent-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;display:grid}.agent-fields .field{min-width:0}.agent-fields .textarea{resize:vertical;min-height:0;line-height:1.6}.agent-field-note{justify-content:space-between;align-items:start;gap:12px;display:flex}.agent-field-note>.hint:first-child{max-width:65ch}.agent-field-note>.num{white-space:nowrap;flex-shrink:0}.agent-colors{flex-wrap:wrap;gap:4px;display:flex}.agent-color{border-radius:var(--r);width:32px;height:32px;transition:background var(--dur), transform var(--dur);place-items:center;display:grid}.agent-color>span{background:var(--c);color:#fff;border-radius:50%;place-items:center;width:22px;height:22px;display:grid}.agent-color:hover{background:var(--surface-2)}.agent-color.on{outline:2px solid var(--accent);outline-offset:-2px}.agent-color:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.agent-color:active{transform:scale(.95)}.agent-choice-list{border:0;min-width:0;margin:0;padding:0}.agent-choice-list legend{margin-bottom:8px}.agent-options{border:1px solid var(--border);border-radius:var(--r);max-height:200px;overflow:auto}.agent-options .mi{cursor:pointer;min-height:44px}.agent-options .mi+.mi{border-top:1px solid var(--divider)}.agent-permission-note{color:var(--text-3);font-size:var(--fs-sm);align-items:start;gap:8px;margin:0;line-height:1.5;display:flex}.agent-permission-note .i{flex-shrink:0;margin-top:3px}.agent-settings-footer{border-top:1px solid var(--divider);justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;display:flex}.agent-settings-footer p{color:var(--text-3);font-size:var(--fs-sm);margin:0}.give-work-agent{border-bottom:1px solid var(--divider);align-items:center;gap:12px;margin:0 -20px 4px;padding:0 20px 16px;display:flex}.give-work-agent>div{overflow-wrap:anywhere;flex:1;min-width:0}.give-work-agent p{color:var(--text-3);font-size:var(--fs-sm);margin:3px 0 0}.give-work-tasks{width:var(--radix-popover-trigger-width,360px);max-width:calc(100vw - 32px)}.give-work-dialog .modal-f .btn{white-space:normal}@media (width<=900px){.agent-detail{grid-template-columns:minmax(0,1fr)}}@media (width<=640px){.agent-profile-header{gap:16px}.agent-profile-header>.acts{width:100%}.agent-profile .btn,.agent-profile .tab,.agent-profile .ibtn{min-height:44px}.agent-form-grid{grid-template-columns:minmax(0,1fr)}.agent-color{width:44px;height:44px}.agent-settings>form>.panel-b{padding:0 16px}.agent-settings .agent-form-section{margin-inline:-16px;padding-inline:16px}.agent-settings>.panel-h{flex-wrap:wrap}.agent-settings>.panel-h .acts{width:100%;margin-left:0}.agent-fields .input,.agent-fields .textarea,.agent-fields .select,.give-work-dialog .input,.give-work-dialog .textarea{font-size:16px}.agent-fields .select{min-height:44px}.agent-field-note{flex-wrap:wrap;gap:4px}.agent-settings-footer{flex-wrap:wrap;padding:16px}.agent-settings-footer .btn{width:100%}.agent-facts>div{grid-template-columns:100px minmax(0,1fr)}}.kv{font-size:var(--fs-sm);grid-template-columns:max-content 1fr;gap:6px 14px;margin:0;display:grid}.kv dt{color:var(--text-3)}.kv dd{margin:0}.instr{font-size:var(--fs-sm);margin-top:12px}.instr>summary{cursor:pointer;color:var(--text-2)}.instr pre{white-space:pre-wrap;background:var(--sunken);border-radius:var(--r);overflow-wrap:anywhere;margin:8px 0 0;padding:10px 12px;font-family:inherit;line-height:1.55}.agent-dialog{min-width:0}.tplgrid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:6px;display:grid}.tplcard{border-radius:var(--r);border:1px solid var(--border);background:var(--surface);text-align:left;font:inherit;font-size:var(--fs-sm);color:var(--text);align-items:center;gap:10px;min-width:0;padding:8px 10px;display:flex}.tplcard:hover{background:var(--surface-2)}.tplcard.on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);background:var(--accent-soft)}.mi .agent-note{font-size:var(--fs-2xs);color:var(--amber)}@media (width<=640px){.jobbar>summary .btn{padding:0 6px}}:root[data-motion=reduce] .astatus-dot.live,:root[data-motion=reduce] .i.spin{animation:none}@media (prefers-reduced-motion:reduce){.astatus-dot.live,.i.spin{animation:none}.jobbar-chev{transition:none}}.clogo{letter-spacing:-.01em;background:color-mix(in srgb, var(--c) 16%, var(--surface));color:color-mix(in srgb, var(--c) 62%, var(--text));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--c) 24%, transparent);flex-shrink:0;place-items:center;font-weight:650;line-height:1;display:grid}.site-link{min-width:0;max-width:100%;color:var(--text-2);font-size:var(--fs-sm);align-items:center;gap:3px;text-decoration:none;display:inline-flex}.site-link:hover{color:var(--accent);text-underline-offset:2px;text-decoration:underline}.site-link>.i{flex-shrink:0}.client-chip{border-radius:var(--r-full);border:1px solid var(--border);background:var(--surface);min-width:0;max-width:220px;height:24px;color:var(--text-2);font-size:var(--fs-xs);transition:background var(--dur), color var(--dur), transform var(--dur);align-items:center;gap:6px;padding:0 8px 0 4px;font-weight:500;text-decoration:none;display:inline-flex}a.client-chip:hover{background:var(--surface-2);color:var(--text)}a.client-chip:active{transform:scale(.98)}.client-tag{flex-shrink:0;height:18px;font-size:11px}.section-h{font-size:var(--fs-md);align-items:center;gap:8px;font-weight:600;display:flex}div.section-h{margin:26px 0 10px}div.section-h h2{font-size:var(--fs-md);font-weight:600}.section-h .cnt{font-size:var(--fs-xs);color:var(--text-3);font-weight:500}.ccard{gap:12px}.ccard-name{font-size:14px;font-weight:600;display:block}.ccard-site{min-width:0;font-size:var(--fs-sm);margin-top:2px}.ccard-stats{font-size:var(--fs-sm);color:var(--text-2);flex-wrap:wrap;gap:16px;display:flex}.ccard-stats b{color:var(--text);font-weight:600}.client-h .t{align-items:flex-start}.client-h h1{overflow-wrap:anywhere}.client-meta{font-size:var(--fs-sm);color:var(--text-2);flex-wrap:wrap;align-items:center;gap:6px 16px;min-width:0;margin-top:4px;display:flex}.client-body{width:100%;max-width:1080px;margin:0 auto;padding:22px 24px 72px}.client-notes{border:1px solid var(--border);background:var(--surface-2);border-radius:var(--r);color:var(--text-2);font-size:var(--fs-sm);white-space:pre-wrap;overflow-wrap:anywhere;margin-bottom:16px;padding:10px 14px;line-height:1.55}.client-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.cproj{min-height:56px;padding-top:8px;padding-bottom:8px}.cproj-portal{flex-shrink:0;align-items:center;display:inline-flex}.contact-row{min-height:56px}.portal-start{justify-content:center;padding:36px 24px;display:flex}.portal-start-b{flex-direction:column;align-items:flex-start;gap:12px;max-width:520px;display:flex}.portal-start-b h2{font-size:var(--fs-xl);letter-spacing:-.015em;font-weight:600}.portal-start-b p{line-height:1.55}.portal-glyph{background:var(--accent-soft);width:44px;height:44px;color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent-line);border-radius:12px;place-items:center;display:grid}.portal-cando{gap:8px;margin:4px 0 6px;padding:0;list-style:none;display:grid}.portal-cando li{font-size:var(--fs-sm);color:var(--text-2);align-items:flex-start;gap:10px;line-height:1.45;display:flex}.portal-cando li>.i{color:var(--text-3);flex-shrink:0;margin-top:2px}.portal-summary{flex-wrap:wrap;align-items:center;gap:10px;padding:14px 16px;display:flex}.portal-summary p{font-size:var(--fs-sm);color:var(--text-2)}.alert.portal-closed{background:var(--surface-2);border-color:var(--border);flex-wrap:wrap;align-items:center}.alert.portal-closed>.i{color:var(--text-2);margin-top:0}.alert.portal-closed>.grow{flex:240px;min-width:0}.portal-set .srow{margin:0 -14px;padding:14px}.portal-set .srow:first-child{padding-top:6px}.danger-zone{box-shadow:var(--shadow-card), inset 0 0 0 1px color-mix(in srgb, var(--red) 22%, transparent)}.danger-zone .t{font-size:var(--fs);font-weight:600}@media (width<=900px){.client-body{padding:18px 16px 96px}.client-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.client-stats .stat{border-bottom:0;padding:12px}.client-stats .stat:nth-child(2){border-right:1px solid var(--divider)}.client-stats .stat .v{font-size:20px}}@media (width<=640px){.portal-start{padding:24px 18px}.alert.portal-closed{align-items:flex-start}.alert.portal-closed>.i{margin-top:2px}}.portal{background:var(--bg);flex-direction:column;height:100%;min-height:100%;display:flex}.portal-top{border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--bg) 92%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(10px);backdrop-filter:saturate(1.4)blur(10px);z-index:20;flex-shrink:0;align-items:center;gap:6px;height:58px;padding:0 20px;display:flex;position:sticky;top:0}.portal-brand{border-radius:var(--r);min-width:0;color:var(--text);transition:background var(--dur);align-items:center;gap:10px;margin-left:-4px;padding:4px 8px 4px 4px;text-decoration:none;display:flex}.portal-brand:hover{background:var(--surface-2)}.portal-brand-t{flex-direction:column;min-width:0;line-height:1.25;display:flex}.portal-brand-t b{font-size:var(--fs-md);font-weight:600}.portal-brand-t .faint{font-size:var(--fs-xs)}.portal-main{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.portal-main:focus{outline:none}.portal-page{flex:1 0 auto;max-width:1080px}.portal-foot{font-size:var(--fs-xs);color:var(--text-3);text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 10px;padding:18px 20px 26px;display:flex}.portal-welcome{align-items:flex-start;gap:12px;margin-bottom:18px;padding:16px 18px;display:flex}.portal-welcome-t{color:var(--text);font-size:var(--fs);white-space:pre-wrap;overflow-wrap:anywhere;margin-bottom:4px;line-height:1.6}.portal-welcome .faint{font-size:var(--fs-xs)}.portal-feed{padding:6px 14px}.portal-feed .act-line{border-top:1px solid var(--divider);align-items:flex-start;min-height:40px;margin:0 -14px;padding:6px 14px;line-height:1.5}.portal-feed .act-line:first-child{border-top:0}.portal-feed .act-line .ico{padding-top:1px}.portal-feed .act-line .grow{overflow-wrap:anywhere}.portal-feed .act-line time{flex-shrink:0;padding-top:2px}.portal-back{color:var(--text-2);font-size:var(--fs-sm);margin:-6px 0 12px -7px;text-decoration:none}.portal-back:hover{background:var(--surface-2);color:var(--text)}.portal-proj-h{flex-wrap:wrap;align-items:flex-start;gap:12px;display:flex}.portal-proj-h h1{font-size:var(--fs-2xl);letter-spacing:-.02em;overflow-wrap:anywhere;white-space:normal;font-weight:600;line-height:1.25}.portal-proj-d{color:var(--text-2);overflow-wrap:anywhere;max-width:70ch;margin-top:4px;line-height:1.55}.portal-proj-meta{font-size:var(--fs-sm);flex-wrap:wrap;align-items:center;gap:8px 20px;margin:14px 0 18px;display:flex}.portal-proj-meta b{color:var(--text);font-weight:600}.portal-page>.tabs{margin-bottom:16px}.portal-page>.tabs .tab{text-decoration:none}.portal-toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;display:flex}.portal-toolbar .inwrap{flex:1;min-width:180px;max-width:320px}.portal-toolbar .inwrap .input{width:100%}.portal-tl{flex-direction:column;min-height:360px;display:flex;overflow:hidden}.portal-note{font-size:var(--fs-sm);align-items:flex-start;gap:8px;margin-top:14px;line-height:1.5;display:flex}.portal-note>.i{flex-shrink:0;margin-top:2px}.ptask-group{margin-bottom:12px;overflow:hidden}.ptask-gh{height:40px;font-size:var(--fs-sm);color:var(--text-2);border-bottom:1px solid var(--divider);background:var(--surface-2);align-items:center;gap:8px;padding:0 14px;font-weight:600;display:flex}.ptask-gh .cnt{color:var(--text-3);font-weight:500}.ptask{border-top:1px solid var(--divider);text-align:left;width:100%;min-height:46px;color:var(--text);font-size:var(--fs);transition:background var(--dur);align-items:center;gap:10px;padding:6px 14px;display:flex}.ptask-gh+.ptask{border-top:0}.ptask:hover{background:var(--surface-2)}.ptask:active{background:var(--surface-3)}.ptask-s{flex-shrink:0;display:inline-flex}.ptask-t{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.ptask-t .done{color:var(--text-3);text-decoration:line-through;-webkit-text-decoration-color:var(--text-4);text-decoration-color:var(--text-4)}.ptask-m{font-size:var(--fs-xs);color:var(--text-2);flex-shrink:0;align-items:center;gap:12px;display:flex}.ptask-due{text-align:right;min-width:52px}.ptask-due.over{color:var(--red);font-weight:500}.pop.portal-notifs{flex-direction:column;max-height:min(520px,70vh);padding:0;display:flex;overflow:hidden}.portal-notifs-h{border-bottom:1px solid var(--divider);flex-shrink:0;padding:8px 8px 8px 14px}.portal-notifs-l{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;overflow-y:auto}.portal-notifs-l .day-h{margin:10px 14px 4px}.portal-notifs .notif-row{text-align:left;border-top:0;width:100%}.pn-line{display:block}.pn-dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:7px;height:7px;margin-top:8px}.portal-scrim{z-index:49}.drawer.portal-sheet{z-index:50}.portal-sheet .pillbtn{max-width:260px}.pillbtn.static{cursor:default}.pt-origin{font-size:var(--fs-xs);margin-top:2px}.pt-static{min-width:0;min-height:26px;font-size:var(--fs-sm);align-items:center;gap:6px;padding:0 7px;display:inline-flex}.pt-steps{margin:0;padding:0;list-style:none}.pt-steps li{min-height:32px;color:var(--text);align-items:center;gap:9px;padding:0 6px;font-size:13.5px;display:flex}.pt-steps li>.i{color:var(--text-3);flex-shrink:0}.pt-steps li.done{color:var(--text-3)}.pt-steps li.done>.i{color:var(--green)}.pt-steps li.done .grow{text-decoration:line-through;-webkit-text-decoration-color:var(--text-4);text-decoration-color:var(--text-4)}@media (width<=900px){.portal-top{padding:0 12px}.portal-stats .stat .v{font-size:20px}}@media (width<=640px){.portal-brand-t .faint{display:none}.ptask{align-items:flex-start;padding:8px 12px}.ptask-t{flex-wrap:wrap}.ptask-t .trunc{white-space:normal;overflow-wrap:anywhere}.ptask-m{gap:8px;padding-top:2px}.portal-toolbar .inwrap{flex-basis:100%;max-width:none}.portal-toolbar .seg{scrollbar-width:none;max-width:100%;overflow-x:auto}.portal-proj-h .btn-primary{justify-content:center;width:100%}}.join-logo,.join-glyph{justify-content:center;display:flex}.join-glyph>.i{background:var(--surface-2);width:44px;height:44px;color:var(--text-2);box-sizing:border-box;border-radius:12px;padding:12px}.join-email{color:var(--text-2);background:var(--surface-2);cursor:default;align-items:center;gap:8px;min-width:0;display:flex}.join-email>.i{flex-shrink:0}.pt-form .pillbtn.bordered{width:100%;height:var(--h-md);padding:0 10px}@media (width<=640px){.pt-form .pillbtn.bordered{height:auto;min-height:44px}}
